mmacierzanka
06238b0438
feat: add restart button to player panel to seek to the beginning of the track
2026-09-11 01:26:10 +02:00
mmacierzanka
708e3591ed
feat: add bot restart functionality via API and Discord command
2026-09-11 01:21:26 +02:00
mmacierzanka
82746e4c83
chore: update (auto) version in the lock file
Panel / Lint, typy i build (push) Successful in 19s
2026-08-25 00:26:47 +00: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
4.0.1
2026-08-21 21:53:32 +02:00
mmacierzanka
07041ac881
feat: show optimistic history queue entries
2026-08-21 21:45:25 +02:00
mmacierzanka
473e40f25e
fix: connection status test
Panel / Lint, typy i build (push) Successful in 17s
2026-08-21 21:35:56 +02:00
mmacierzanka
7c3fe68d86
fix: ESLint issues
Backend / Testy i kontrakt API (push) Successful in 5s
Backend / Lint i formatowanie (push) Successful in 8s
Panel / Lint, typy i build (push) Failing after 18s
Backend / Testowy build obrazu (push) Successful in 14s
2026-08-21 21:33:43 +02:00
mmacierzanka
9faf27f83d
chore: bump project version
2026-08-21 21:32:12 +02:00
mmacierzanka
2a11c70a3e
feat: improve styles and layouts for better consistency and responsiveness
Backend / Lint i formatowanie (push) Successful in 3s
Backend / Testy i kontrakt API (push) Successful in 5s
Panel / Lint, typy i build (push) Failing after 9s
Backend / Testowy build obrazu (push) Successful in 9s
2026-08-21 21:29:57 +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
9e568e0581
ŻyrarBOT 4.0 ( #3 )
Backend / Lint i formatowanie (push) Successful in 4s
Backend / Testy i kontrakt API (push) Successful in 6s
Backend / Testowy build obrazu (push) Successful in 11s
Panel / Lint, typy i build (push) Successful in 22s
4.0
2026-08-21 20:33:54 +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
3624c152f5
fix: sync volume after external changes
2026-08-21 16:59:11 +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
94be2c7c79
Remove CI cache (has issues)
Backend / Lint i formatowanie (pull_request) Successful in 4s
Backend / Testy i kontrakt API (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 22s
Backend / Testowy build obrazu (pull_request) Successful in 1m48s
2026-08-21 15:49:55 +02:00
mmacierzanka
d946e6b0af
Panel na Vue 3 + TypeScript ( #2 )
Backend / Lint i formatowanie (pull_request) Successful in 4s
Backend / Testowy build obrazu (pull_request) Canceled after 0s
Backend / Testy i kontrakt API (pull_request) Canceled after 28s
Panel / Lint, typy i build (pull_request) Successful in 4m51s
2026-08-21 15:47:31 +02:00
mmacierzanka
6978b23055
Fix frontend CI
Backend / Lint i formatowanie (pull_request) Successful in 4s
Panel / Lint, typy i build (pull_request) Successful in 4m48s
Backend / Testowy build obrazu (pull_request) Canceled after 0s
Backend / Testy i kontrakt API (pull_request) Canceled after 7m8s
2026-08-21 15:38:33 +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
240120db92
Merge branch 'release/4.0' into refactor/frontend-vue
...
# Conflicts:
# .gitignore
# web.py
2026-08-21 15:15:11 +02:00
mmacierzanka
b917041808
Restrukturyzacja backendu w pakiet zyrarbot ( #1 )
2026-08-21 15:13:09 +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
4468f96c3b
Use pip cache (already configured) when installing packages
Backend / Lint i formatowanie (pull_request) Successful in 3s
Backend / Testy i kontrakt API (pull_request) Successful in 9m25s
Backend / Testowy build obrazu (pull_request) Successful in 6s
2026-08-21 13:50:40 +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
lgoose and Claude Bot
1f0a92b6f6
fix(ci): stabilne sprawdzenie proxy w jobie image panelu
...
Panel / Lint, typy i build (pull_request) Successful in 4m56s
Panel / Testowy build obrazu (pull_request) Successful in 18s
Krok padał na runnerze bez żadnego komunikatu. Powód był podwójny:
- asercja zakładała, że bez backendu nginx odpowie 502, a to zależy od
tego, jak szybko zawiedzie DNS. Na runnerze zapytanie wisiało 30 sekund,
aż do domyślnego resolver_timeout.
- grep bez dopasowania kończy się kodem 1, a Gitea uruchamia kroki w
bash -e -o pipefail, więc podstawienie zmiennej przerywało cały krok,
zanim zdążył wypisać powód. Lokalnie tego nie było widać, bo zsh nie
ustawia tych flag.
Zamiast opierać się na tym, że proxy zawiedzie, job stawia teraz atrapę
backendu pod nazwą discord-bot - dokładnie tą, którą wskazuje nginx.conf
i compose.yaml - i sprawdza, że przez proxy wraca treść z atrapy. Test
przechodzi więc wtedy, gdy przekazywanie faktycznie działa, a nie wtedy,
gdy zawodzi w oczekiwany sposób. Sprawdzane jest też /ws.
Pozostałe usztywnienia: limit czasu na każde zapytanie, || true tam, gdzie
brak dopasowania jest poprawnym wynikiem, jawne komunikaty błędów z logiem
kontenera oraz sprzątanie kontenerów i sieci przez trap.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-21 01:44:07 +02:00
lgoose and Claude Bot
c5e016605b
ci: pipeline panelu dla Gitea Actions
...
Panel / Lint, typy i build (pull_request) Successful in 4m55s
Panel / Testowy build obrazu (pull_request) Failing after 49s
Workflow .gitea/workflows/frontend.yaml z dwoma jobami:
- verify npm ci, ESLint, kontrola typów, build produkcyjny i test dymny
- image walidacja compose.yaml, build obrazu panelu i sprawdzenie
działającego kontenera; job czeka na verify
Test dymny działa na zbudowanym artefakcie, a nie na źródłach, więc
sprawdza dokładnie to, co trafia do obrazu.
Job image weryfikuje trzy rzeczy w uruchomionym kontenerze: czy nginx
oddaje panel, czy nieznana ścieżka wraca jako index.html (fallback SPA)
oraz czy /api jest przekazywane do backendu. Backendu w tym kroku nie ma,
więc oczekiwaną odpowiedzią jest błąd bramy - 502 dowodzi, że reguła proxy
istnieje i celuje w usługę discord-bot, podczas gdy 404 oznaczałoby, że
nginx potraktował /api jak ścieżkę aplikacji.
Filtry paths ograniczają uruchomienia do zmian w katalogu frontend,
compose.yaml i samym workflow.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-21 01:34:55 +02:00