Commit Graph
61 Commits
Author SHA1 Message Date
mmacierzanka 6e39bfab12 feat: users, administrator role, selective access to server, login screen, admin dashboard with user and access management 2026-09-30 19:29:38 +02:00
mmacierzanka 1584b5fbd0 feat: introduce universal database migration system 2026-09-30 17:55:35 +02:00
mmacierzanka 6f50fce3f9 feat: introduce database as a persistent storage for settings and history
refactor: arrange persistence layer as a port-adapter schema
2026-09-30 17:42:09 +02:00
mmacierzanka dadb5f8b0e refactor: track background tasks in application lifecycle and clean up codebase
Backend / Lint i formatowanie (pull_request) Successful in 15s
Backend / Testy i kontrakt API (pull_request) Successful in 26s
Panel / Lint, typy i build (pull_request) Failing after 36s
Backend / Testowy build obrazu (pull_request) Successful in 1m34s
2026-09-13 16:58:46 +02:00
mmacierzanka 55578a0463 refactor: remove description property from audio effects and UI 2026-09-13 16:37:09 +02:00
mmacierzanka f7f820691b feat: add voice channel cleanup and signal handling during application shutdown 2026-09-13 16:29:31 +02:00
mmacierzanka 210f03b0d3 feat: validate bot voice channel permissions 2026-09-13 16:14:38 +02:00
mmacierzanka 2513aa2b28 refactor: remove effect badges and clear active effects on player reset 2026-09-13 15:51:14 +02:00
mmacierzanka a1ae8dbc4a tune: increase FourthDensityEffect pitch modulation depth by 10% (350.0 -> 385.0) 2026-09-11 02:16:42 +02:00
mmacierzanka 51418a2d88 feat: add Robot (ring modulation) and Dźwięk z tostera (8-bit bitcrusher) player audio effects 2026-09-11 02:13:21 +02:00
mmacierzanka 39403b8238 refactor: remove legacy volume_boost references in favor of generalized player effects API 2026-09-11 01:57:26 +02:00
mmacierzanka a12b726648 feat: add player audio effects module with real-time pipeline, distortion, fourth density, and UI controls 2026-09-11 01:54:42 +02:00
mmacierzanka 3dd30804dc feat: implement volume boost functionality with signal-based multiplier and audio processing override 2026-09-11 01:46:16 +02:00
mmacierzanka 9143c6029a fix: prevent overwriting saved queue with empty track lists in repository and music player 2026-09-11 01:29:31 +02:00
mmacierzanka 708e3591ed feat: add bot restart functionality via API and Discord command 2026-09-11 01:21:26 +02:00
mmacierzanka 7e78e3cd19 feat: add dashboard icon
Backend / Lint i formatowanie (push) Successful in 4s
Backend / Testy i kontrakt API (push) Successful in 5s
Panel / Lint, typy i build (push) Successful in 19s
Backend / Testowy build obrazu (push) Successful in 14s
2026-08-21 21:53:32 +02:00
mmacierzanka 9faf27f83d chore: bump project version 2026-08-21 21:32:12 +02:00
mmacierzanka 80470c411e fix: require voice connection to restore queue 2026-08-21 21:14:01 +02:00
mmacierzanka ca17c742c9 feat: add tooltip for progress bar seeking 2026-08-21 21:12:24 +02:00
mmacierzanka 7ef0a43693 feat: add playback seeking
Backend / Lint i formatowanie (pull_request) Successful in 4s
Backend / Testy i kontrakt API (pull_request) Successful in 4s
Backend / Testowy build obrazu (pull_request) Successful in 11s
Panel / Lint, typy i build (pull_request) Successful in 21s
2026-08-21 18:53:38 +02:00
mmacierzanka ed13d4af06 fix: advance playback after track completion
Backend / Lint i formatowanie (pull_request) Successful in 4s
Backend / Testy i kontrakt API (pull_request) Successful in 10s
Panel / Lint, typy i build (pull_request) Successful in 19s
Backend / Testowy build obrazu (pull_request) Successful in 9s
2026-08-21 18:39:57 +02:00
mmacierzanka 322087c50e fix: support long filenames in Discord autocomplete 2026-08-21 18:21:18 +02:00
mmacierzanka 07aca60c6d refactor: move Discord theme into bot package 2026-08-21 18:10:22 +02:00
mmacierzanka e2099a76b3 feat: add interactive Discord queue and history actions 2026-08-21 17:52:56 +02:00
mmacierzanka d08db87739 feat: improve Discord player controls and docs 2026-08-21 17:43:19 +02:00
mmacierzanka d287a8c8f2 feat: add interactive Discord player panel 2026-08-21 17:35:48 +02:00
mmacierzanka 90189b3f97 fix: select the requested track after queue end 2026-08-21 17:26:32 +02:00
mmacierzanka b19f3e1923 fix: preserve plays when skipping tracks 2026-08-21 17:26:02 +02:00
mmacierzanka 03611e3226 fix: preserve plays on stop and disconnect 2026-08-21 17:19:36 +02:00
mmacierzanka 6736329603 fix: decrement plays after playback 2026-08-21 17:18:21 +02:00
mmacierzanka d6bd302165 feat: restore the last queue per server
Backend / Lint i formatowanie (pull_request) Successful in 3s
Backend / Testy i kontrakt API (pull_request) Successful in 10s
Panel / Lint, typy i build (pull_request) Successful in 18s
Backend / Testowy build obrazu (pull_request) Successful in 15s
2026-08-21 17:10:40 +02:00
mmacierzanka 21f3a1060c fix: validate uploaded media files
Backend / Lint i formatowanie (pull_request) Successful in 6s
Backend / Testy i kontrakt API (pull_request) Successful in 10s
Backend / Testowy build obrazu (pull_request) Successful in 10s
Panel / Lint, typy i build (pull_request) Successful in 34s
2026-08-21 16:37:41 +02:00
mmacierzanka 004641c9b8 feat: expose per-server default plays setting 2026-08-21 16:32:41 +02:00
mmacierzanka 36621ce261 feat: support direct links to guild views 2026-08-21 16:27:45 +02:00
mmacierzanka 8b340c61f0 feat: add notification channel selector 2026-08-21 16:26:30 +02:00
mmacierzanka cfe9a2fc31 fix: store playback history per Discord server 2026-08-21 16:21:57 +02:00
mmacierzanka 32fd296d9e fix: migrate legacy state to the first Discord server 2026-08-21 16:18:57 +02:00
mmacierzanka 64b428555c refactor: isolate application state per Discord server 2026-08-21 16:14:22 +02:00
mmacierzanka 384770565a refactor: consolidate frontend serving and add health check
Backend / Lint i formatowanie (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 4m50s
Panel / Testowy build obrazu (pull_request) Failing after 2s
Backend / Testy i kontrakt API (pull_request) Successful in 9m24s
Backend / Testowy build obrazu (pull_request) Successful in 1m38s
2026-08-21 15:29:45 +02:00
mmacierzanka 2bd19b9703 Fix formatting
Backend / Lint i formatowanie (pull_request) Successful in 5s
Backend / Testy i kontrakt API (pull_request) Successful in 9m24s
Backend / Testowy build obrazu (pull_request) Successful in 4s
2026-08-21 15:01:27 +02:00
mmacierzanka 7e25db9038 Increase playback history capacity
Backend / Lint i formatowanie (pull_request) Failing after 3s
Backend / Testowy build obrazu (pull_request) Canceled after 0s
Backend / Testy i kontrakt API (pull_request) Canceled after 2m16s
2026-08-21 14:59:27 +02:00
mmacierzanka fff320d3f2 Fix song counter and inconsistent queue state 2026-08-21 14:56:29 +02:00
mmacierzanka d3a5058fde Formatting, README and other friends
Backend / Lint i formatowanie (pull_request) Successful in 3s
Backend / Testy i kontrakt API (pull_request) Failing after 2m19s
Backend / Testowy build obrazu (pull_request) Skipped
2026-08-21 13:41:38 +02:00
mmacierzanka b9152c41be Rename schemas to requests
Backend / Lint i formatowanie (pull_request) Failing after 4s
Backend / Testowy build obrazu (pull_request) Canceled after 0s
Backend / Testy i kontrakt API (pull_request) Canceled after 3m28s
2026-08-21 13:33:04 +02:00
mmacierzanka e4776d1348 Rename web to api to reflect, that it's not serving the frontend, split FastAPI creation 2026-08-21 13:31:11 +02:00
mmacierzanka d31747e80b refactor: split music cog by responsibility 2026-08-21 13:16:19 +02:00
mmacierzanka d706317dc8 Move web and bot packages to a consolidated ui package 2026-08-21 13:04:23 +02:00
mmacierzanka e21ccb4bb8 Adjust version and main bot class name 2026-08-21 12:55:39 +02:00
lgooseandClaude Bot 2a961e1a8a chore: konfiguracja ruff i poprawki wskazane przez lintera
Ruff jako linter i formatter, konfiguracja w pyproject.toml:

- reguły E, W, F, I, N, UP, B, C4, SIM, TID, BLE, RUF
- extend-immutable-calls dla fastapi.Depends, File i Query - wstrzykiwanie
  zależności opiera się na wywołaniach w wartościach domyślnych argumentów,
  więc bugbear B008 zgłaszał tam 66 fałszywych trafień
- zakaz importów względnych, aby ścieżki w pakiecie czytało się jednoznacznie
- katalog frontend wyłączony z analizy

Poprawki, które wskazał linter:

- Awaitable, Callable i AsyncIterator importowane z collections.abc zamiast
  z typing
- zbędny argument trybu w open(path, "r")
- contextlib.suppress zamiast try/except/pass przy anulowaniu zadania
- zdjęte dwie niepotrzebne dyrektywy noqa
- pięć linii przekraczających 100 znaków zawiniętych

Całość przepuszczona przez ruff format. Do .gitignore dochodzi .ruff_cache/.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 01:25:40 +02:00
lgooseandClaude Bot c8a188647b fix(music): zatrzymanie pomijania, gdy nie da się odtworzyć żadnego utworu
Utwór, dla którego nie udało się zbudować świeżego źródła, był pomijany
przez rekurencyjne wywołanie play_next(advance=True). Przy włączonym
zapętlaniu kolejki - a przy zapętlaniu jednego utworu tym bardziej -
kolejny indeks wskazywał znowu na utwór niedziałający, więc pomijanie
kręciło się w kółko, zasypując kanał powiadomieniami.

Licznik nieudanych prób wędruje teraz przez play_next. Po liczbie
niepowodzeń równej długości kolejki odtwarzanie zatrzymuje się z jednym
komunikatem zamiast pętli.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 01:11:22 +02:00