aboutsummaryrefslogtreecommitdiffstats
path: root/src/copyparty/mod.rs (unfollow)
Commit message (Expand)AuthorFilesLines
5 daysevents: track voice channel movessalmonik1-0/+16
5 daystts: initialize piper exactly oncesalmonik1-42/+39
5 daysmusic: keep preparation out of the guild lock and requeue failed connectssalmonik1-99/+119
5 daysdocs: sync with current behaviorsalmonik5-40/+57
5 daysconfig: harden the shared temp directorysalmonik3-8/+65
5 daysdocker: pin and verify a week-old yt-dlp releasesalmonik2-6/+13
5 daysleaderboard: use competition ranks consistentlysalmonik1-1/+8
5 daysweb: percent-encode UTF-8 query bytessalmonik1-7/+22
5 daysautocomplete: key results by extension filter and reject the placeholdersalmonik3-7/+27
5 dayscron: validate expressions and allocate ids atomicallysalmonik4-19/+19
5 daysmusic: reject live streams on the yt-dlp pathsalmonik2-0/+9
5 daysmusic: decode compressed playback without a temp filesalmonik2-12/+34
5 daystts: attach the generated WAV without a temp filesalmonik1-11/+3
5 daysqr: cap image dimensions and allocationsalmonik1-2/+12
5 daysdownloads: cap yt-dlp media sizesalmonik2-0/+27
5 daysnet: drop unused importsalmonik1-1/+1
5 daysconfig: make voice recording opt-insalmonik1-4/+4
5 daysnet: block private and link-local URLssalmonik8-1/+151
5 daysdocker: install ImageMagick for image compress/convertsalmonik2-0/+2
5 daysmusic: announce a directly started track oncesalmonik1-8/+10
5 dayscron: simplify the first-fire lookupsalmonik1-8/+1
5 daysrecording: reject a zero-length windowsalmonik2-2/+16
5 dayscron/triggers: keep pre-scoping rows manageablesalmonik2-8/+15
5 daystts: run piper loading and synthesis on blocking threadssalmonik1-16/+28
5 daysprocesses: add timeouts and keep decoding off the runtimesalmonik4-29/+53
5 dayshttp: add connect and request timeoutssalmonik5-3/+21
5 daystts: bound the audio cache and request lengthsalmonik1-5/+86
5 daysautocomplete: bound the in-memory cachessalmonik1-6/+24
5 daysevents: never join or move voice just to play TTSsalmonik1-8/+16
5 daysrecording: keep one buffer per guildsalmonik3-34/+41
5 daystriggers: scope groups to the guild that created themsalmonik4-24/+64
5 dayscron: scope jobs to the guild that created themsalmonik2-19/+47
5 dayscommands: gate admin, trigger, cron and recording behind permissionssalmonik4-14/+18
5 daysutilities: sanitize filenames and isolate temp operationssalmonik1-48/+105
5 daysyt-dlp: ignore configs and stop option injectionsalmonik2-3/+16
5 dayscopyparty: never send the password to foreign hostssalmonik4-28/+165
6 dayssay: do not abort if the ephemeral ack is already gonesalmonik1-1/+3
6 dayscron: keep scheduled audio silentsalmonik3-3/+12
6 dayssay: post text as a normal message after an invisible acksalmonik1-7/+15
11 daysdocker: bake espeak-ng data for Piper TTSsalmonik5-9/+47
12 dayscontextual play should add to the last in the queuesalmonik1-8/+6
12 daysdocker: build and run on Debian trixiesalmonik4-0/+156
12 daysmusic: group playback commands under /musicsalmonik5-31/+66
12 daysmusic: add per-guild queue with now/next/last, skip and queuesalmonik6-269/+790
2026-09-09silence songbird udp_rx decode noisesalmonik1-1/+6
2026-09-09record: 2x gain on mp3 encodesalmonik1-0/+5
2026-09-09test recorder ring semantics; extract mix_ticksalmonik1-50/+187
2026-09-09wire recording into voice manager, config, events, /record commandsalmonik8-5/+158
2026-09-09first draftsalmonik2-0/+410
2026-09-09/grajcuj plays video-like extensions toosalmonik2-9/+9