Commit Graph

  • e6cd882b32 fix: crash and graceful shutdown improvements main Jacob 2026-06-13 00:10:54 -04:00
  • ce77590777 fix: watchdog panicking Jacob 2026-06-12 23:53:17 -04:00
  • 50fc35883d chore: remove "this process is still alive" that I forgot to delete Jacob 2026-06-12 23:45:30 -04:00
  • fa0093d582 feat: announce disconnection upon deadlock detection Jacob 2026-06-12 20:29:50 -04:00
  • c7300a9e6d feat: watchdog for detecting tokio runtime deadlock (I wish I could prevent it, but I don't know what's causing it) Jacob 2026-06-12 20:01:46 -04:00
  • a0a0632a1d chore: raise default audio sample rate to 24 khz Jacob 2026-06-12 00:02:56 -04:00
  • a22965a3be feat: make reconnecting after discord disconnect faster (not obligate an entire process restart) Jacob 2026-06-12 00:01:04 -04:00
  • c8d676693d fix: reduce rebuilding from extraneous files Jacob 2026-06-12 00:00:07 -04:00
  • ba0450e999 fix: coerce sample_rate to u64 correctly Jacob 2026-06-01 23:27:46 -04:00
  • a7f11a7202 fix: cast sample_rate to u64 in calculations Jacob 2026-06-01 23:23:43 -04:00
  • 4fa25305b5 fix: use u64 to prevent overflowing (I can't believe I was stupid enough to think u32 could fit it) and add logging in case I was mistaken Jacob 2026-06-01 23:18:55 -04:00
  • 65611d676d chore: reduce logging of unnecessary things in initialize_vcs Jacob 2026-05-31 16:11:38 -04:00
  • c8fd99cdf1 fix: in /info move the user mention to the description field (where mentions are allowed) Jacob 2026-05-31 15:30:04 -04:00
  • c03ccc9d39 chore: add more logging in /render to debug Jacob 2026-05-31 15:28:16 -04:00
  • 5e989289bd feat: don't block bot startup waiting to initialize vcs Jacob 2026-05-31 14:24:09 -04:00
  • f5b6dc5c76 chore: remove /join and /leave to prevent confusion Jacob 2026-05-31 02:46:47 -04:00
  • 03689f4764 fix: don't log interaction in /render Jacob 2026-05-30 01:08:59 -04:00
  • 20bb0e4c31 fix: switch to async read-write lock instead of sync mutex in call handler to try to prevent deadlock Jacob 2026-05-29 22:22:55 -04:00
  • c6aa8e5d13 fix: scope borrow in heat seeking to try to prevent deadlock Jacob 2026-05-29 22:22:15 -04:00
  • eb17c0a33b chore: log more in /render so I can check if the number of recordings used is as expected Jacob 2026-05-29 01:21:15 -04:00
  • 98a7a1e6fd chore: reduce amount of logging while recording in case my home server has been struggling to keep up with it Jacob 2026-05-28 12:52:58 -04:00
  • b27d0f32c2 fix: encode renders as wav instead of opus to address errors Jacob 2026-05-28 12:32:31 -04:00
  • c85e420a75 chore: use Display when logging an opus encode error in rendering instead of Debug so I can get a better look Jacob 2026-05-28 12:15:37 -04:00
  • 8dad5648f5 fix: sample rate doesn't need to be part of the estimated max size calculation cause samples already covers that Jacob 2026-05-28 12:07:41 -04:00
  • e6c2342e1a chore: debug the estimated max size in rendering Jacob 2026-05-28 11:59:21 -04:00
  • 8f29c30bec fix: more realistic estimated max size in rendering Jacob 2026-05-28 11:47:17 -04:00
  • 6198387cc4 fix: use the encoded bytes instead of mistakenly discarding them Jacob 2026-05-28 11:35:08 -04:00
  • 7b5be35112 fix: encode to a new vec instead of an empty one when rendering, log more stuff for debugging Jacob 2026-05-28 11:30:48 -04:00
  • c351358947 chore: log more stuff around rendering to debug Jacob 2026-05-28 02:45:16 -04:00
  • 4463ff7b3a fix: constrain seconds and milliseconds in between Jacob 2026-05-28 02:35:07 -04:00
  • 0c052ea303 chore: log recording details in /render to try to debug why so many are falling out of range Jacob 2026-05-28 02:23:57 -04:00
  • 31d53c1e58 fix: don't log state in /render Jacob 2026-05-28 02:14:33 -04:00
  • 24ef5a67c4 feat: implement rendering Jacob 2026-05-28 01:48:52 -04:00
  • 862a333131 chore: rename data managers to just managers Jacob 2026-05-28 00:50:20 -04:00
  • b5a56b1273 chore: initialize samples array to write to later in render Jacob 2026-05-28 00:17:28 -04:00
  • 0137f97788 feat: implement RecordingDataManager::between and between_in_vc, start using it in /render Jacob 2026-05-27 21:48:31 -04:00
  • 23f86ace3b feat: support reading recordings, address some warnings Jacob 2026-05-27 01:56:47 -04:00
  • e72633f26a chore: refactor into a RecordingDataManager, lay the ground work for a RenderManager Jacob 2026-05-27 01:28:47 -04:00
  • f86c094dda feat: more work on /render Jacob 2026-05-26 00:10:52 -04:00
  • 453208ff17 chore: satisfy warnings about async fn in traits Jacob 2026-05-26 00:10:28 -04:00
  • cfe6ddf218 fix: look on the right side for text channels when posting the join notice in heat seeking Jacob 2026-05-24 20:03:21 -04:00
  • 6529fa02b5 feat: in the default heat algorithm, check if the bot owner is undeafened to decide if the score should be capped (so that if another vc has another unmuted person it prioritizes that one) Jacob 2026-05-24 19:34:44 -04:00
  • b2222384f5 chore: address clippy concern for readability Jacob 2026-05-24 19:28:19 -04:00
  • 581a747cac fix: let heatseeking tasks be cancelled Jacob 2026-05-24 16:46:18 -04:00
  • c351511c8a fix: set the cancellation token when discord disconnects Jacob 2026-05-24 16:35:37 -04:00
  • d373352ae1 chore: don't log stuff that clogs the logs up Jacob 2026-05-24 14:29:35 -04:00
  • 5cb938aa24 chore: format Jacob 2026-05-24 13:28:02 -04:00
  • 56ec8aaf8c feat: allow anyone in a VC being recorded to make the bot leave Jacob 2026-05-24 13:27:53 -04:00
  • b598adb498 feat: heatseeking Jacob 2026-05-24 13:20:43 -04:00
  • e1aab0a8fb feat: get first or last (left) element with data of OneToManyUniqueBTreeMapWithData Jacob 2026-05-23 20:49:44 -04:00
  • 97763877d8 feat: laying the groundwork for heat seeking Jacob 2026-05-21 00:59:05 -04:00
  • 48a0c8250b chore: refactor joining and recording into a reusable function Jacob 2026-05-21 00:58:52 -04:00
  • 4ed8d6d241 feat: get first or last element of OneToManyUniqueBTreeMap Jacob 2026-05-20 22:02:44 -04:00
  • c04338155b feat: error messages for ParseGuildVCToTextChannelError Jacob 2026-05-20 16:00:47 -04:00
  • 8f433a065e fix: spawn songbird processing the event to try to address deadlock issue Jacob 2026-05-19 23:18:07 -04:00
  • 97acdac467 fix: shorten the description of render to try to make Discord accept it Jacob 2026-05-15 00:56:15 -04:00
  • 6befbf280e chore: very beginning of making a /render command Jacob 2026-05-14 00:59:45 -04:00
  • b2af146360 fix: remove handlers after failing to join call Jacob 2026-05-14 00:54:34 -04:00
  • c20bab2761 chore: go back to only listening for relevant events Jacob 2026-05-14 00:48:09 -04:00
  • f548955d16 fix: add event handlers before joining call Jacob 2026-05-14 00:47:06 -04:00
  • 298799d43a chore: update lockfile Jacob 2026-05-14 00:41:35 -04:00
  • 65e35e2403 fix: (hopefully) listen for all types of events Jacob 2026-05-13 23:34:12 -04:00
  • b1888af842 chore: more logging in call handler to try to see why all users are unknown so far Jacob 2026-05-13 22:58:40 -04:00
  • 949ce5b38b chore: move call configuration to after handler instantiation to reduce time between them Jacob 2026-05-13 22:25:05 -04:00
  • a64e7190fd fix: (hopefully) scope the lock so it ends earlier Jacob 2026-05-13 22:21:51 -04:00
  • 8416ef0609 style: cargo fmt --all Jacob 2026-05-12 23:37:20 -04:00
  • 3d2df64ffe fix: scope the vcs_watcher borrow to possibly fix deadlock Jacob 2026-05-12 23:37:08 -04:00
  • 09107bc97b chore: add a watchdog task that tells me if the process is still running while I debug why the bot dies sometimes without existing Jacob 2026-05-07 02:32:17 -04:00
  • c53a3620f2 chore: downgrade voice_tick log to debug Jacob 2026-05-07 02:21:03 -04:00
  • 491159224d chore: single line refactor Jacob 2026-05-07 02:20:16 -04:00
  • 9b1e263312 chore: remove now_utc log that has served its purpose Jacob 2026-05-07 01:47:46 -04:00
  • 52adf9ec4c chore: Arc the uri internal to and rarely used by Storage so that cloning it is cheaper Jacob 2026-05-07 01:41:51 -04:00
  • cfa81784b7 feat: divide logging into stdout and stderr by verbosity Jacob 2026-05-06 22:06:28 -04:00
  • 9441204f9f feat: make logging non-blocking Jacob 2026-05-06 21:52:34 -04:00
  • 2dbc0a2e87 chore: format Jacob 2026-05-06 21:40:14 -04:00
  • 44c7aa60c2 feat: cache user data in memory to make access faster, simplifies code Jacob 2026-05-06 21:40:06 -04:00
  • fa61d5a4b6 fix: depend on zlib-static Jacob 2026-05-06 20:45:49 -04:00
  • a752838a46 feat: shorten the /join message and report the git revision in the /info command for more transparency Jacob 2026-05-06 20:21:27 -04:00
  • fcd856b61a feat: make VCsWatcher, a watch channel of VCs Jacob 2026-05-06 19:49:08 -04:00
  • fa88bd495f chore: refactor VCs to use a watch channel internally (but I'm going to rework this in the next commit anyway) Jacob 2026-05-06 19:27:36 -04:00
  • bb51f1cc63 chore: embed build time information with shadow-rs Jacob 2026-05-06 19:24:13 -04:00
  • 906ddec843 chore: update lockfile Jacob 2026-04-26 18:38:08 -04:00
  • 48e92d1736 fix: make /opt-in and /opt-out's responses ephemeral Jacob 2026-04-25 20:58:35 -04:00
  • 733e8f73ea feat: create a BotDataManager abstraction by copying and pasting then editing UserDataManager Jacob 2026-04-25 20:56:41 -04:00
  • 2c0d5c8479 feat: advertise opt in and opt out commands Jacob 2026-04-22 12:11:36 -04:00
  • 9b479d1236 feat: respect consent to be recorded Jacob 2026-04-22 11:57:57 -04:00
  • 29f97f82c4 fix: move title to author field cause you can't @mention users in the title Jacob 2026-04-22 01:05:34 -04:00
  • dd17de79de fix: close the writer instead of merely dropping it Jacob 2026-04-22 00:45:59 -04:00
  • bb96724454 fix: check for NotFound error at the correct site in OperatorExt::async_reader_if_exists Jacob 2026-04-22 00:27:11 -04:00
  • 4dae5bac7a fix: specify webpki roots for tokio-websockets dependencies Jacob 2026-04-21 23:31:11 -04:00
  • 37753fe37c chore: revert opendal to before reqwest 0.13 upgrade to see if it'll run in a SCRATCH container now Jacob 2026-04-21 21:45:32 -04:00
  • 7fe6980867 feat: inspect user data Jacob 2026-04-21 15:06:56 -04:00
  • 0ce26fc0e5 feat: user consent setting and retrieving (NOTE: does not affect recording yet) Jacob 2026-04-21 03:11:27 -04:00
  • 62399c2046 feat: allow setting a corresponding text channel for a voice channel Jacob 2026-04-17 01:19:09 -04:00
  • 612a696829 feat: mute Jacob 2026-04-16 23:13:45 -04:00
  • 2bf42e47c5 chore: eliminate rocksdb which makes everything better Jacob 2026-04-16 19:29:21 -04:00
  • 50230c43b8 chore: update lockfile Jacob 2026-04-16 17:59:58 -04:00
  • e4e274a543 fix: have to use match to detect ReceiveMessageErrorType Jacob 2026-04-16 02:03:52 -04:00
  • 6cd7f00028 fix: detect gateway close and failure to reconnect Jacob 2026-04-16 02:01:50 -04:00
  • 6a1d8f060f fix: I REALLY did this without rust-analyzer so THIS TIME fix the gateway close error path Jacob 2026-04-16 01:57:30 -04:00