Commit graph

245 commits

Author SHA1 Message Date
Daniel
81801dcd88 Redesign refresh button to match CI styleguide [skip ci] 2026-03-11 11:08:19 +01:00
Daniel
546cc9abb9 Add CI cleanup step to prevent orphan Docker images [skip ci] 2026-03-11 11:03:35 +01:00
Daniel
c9b9b08c64 v1.9.0
Some checks failed
Build & Deploy / build (push) Successful in 1m49s
Build & Deploy / deploy (push) Failing after 3s
Build & Deploy / bump-version (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:35:36 +01:00
Daniel
01b29eb3cf Merge nightly: CI Redesign v3 (Warm-Brown, DM Sans, Styleguides)
- Warm-Brown Palette (#1a1810 - #322d26) ersetzt Discord Blau-Grau
- DM Sans + DM Mono Fonts (Google Fonts)
- border-radius: 4px/6px statt 8-20px
- Header: 44px, font-size: 13px
- Glow-Effekte und dekorative Gradients entfernt
- STYLEGUIDE.md fuer einheitliches Plugin-Design
- STYLEGUIDE-SOUNDBOARD-MAIN.md als Referenz zum alten Design

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:35:10 +01:00
Daniel
43df3d375c Add: Soundboard Main-Branch Design Reference
All checks were successful
Build & Deploy / build (push) Successful in 16s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
Snapshot des original Soundboard-Designs (Discord Blurple, Pills, Glows)
als Styleguide-Dokument fuer spaetere Referenz.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:35:00 +01:00
Daniel
b18d6a66cc Add: Styleguide fuer einheitliches Plugin-Design
All checks were successful
Build & Deploy / build (push) Successful in 18s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
Dokumentiert alle Design-Tokens, Component-Patterns, Naming-Conventions,
Layout-Regeln und Do/Dont-Regeln basierend auf dem CI Redesign v3.
Enthaelt ein Plugin-Template als Starter-CSS fuer neue Plugins.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:31:35 +01:00
Daniel
4e0d691aa1 CI Redesign: Warm-Brown Palette, DM Sans, 4px Radius (basierend auf main)
All checks were successful
Build & Deploy / build (push) Successful in 58s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
- Farben: Discord Blau-Grau -> Warme Braun-Palette (#1a1810, #211e17, #2a2620)
- Fonts: Segoe UI -> DM Sans + DM Mono (Google Fonts)
- Border-Radius: max 6px, Standard 4px (war 8-20px)
- Header-Hoehe: 44px (war 56px)
- Glow-Effekte und dekorative Gradients entfernt
- backdrop-filter: blur nur noch auf Modal-Overlays
- Font-Size: 13px (war 15px)
- Plugin-CSS angepasst (Soundboard, Game-Library, LoLStats, Streaming, Watch-Together)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 02:15:31 +01:00
Forgejo CI
32918e0a7a v1.8.18 [skip ci] 2026-03-10 22:32:47 +00:00
Daniel
7f0b17291f fix(electron): use proper UTF-8 in screen picker
All checks were successful
Build & Deploy / build (push) Successful in 59s
Build & Deploy / deploy (push) Successful in 4s
Build & Deploy / bump-version (push) Successful in 2s
Replace escaped unicode sequences (\uD83D\uDD0A, \u00e4) with actual
UTF-8 characters so the picker displays 🔊 and ä correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:31:35 +01:00
Forgejo CI
4478ac6a6a v1.8.17 [skip ci] 2026-03-10 22:21:58 +00:00
Daniel
7136aafec6 chore(electron): sync version to 1.8.15
All checks were successful
Build & Deploy / build (push) Successful in 53s
Build & Deploy / deploy (push) Successful in 6s
Build & Deploy / bump-version (push) Successful in 2s
Align Electron app version with server release for consistent
auto-update delivery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:20:49 +01:00
Forgejo CI
e1e2b9a1d8 v1.8.16 [skip ci] 2026-03-10 22:08:08 +00:00
Daniel
1da6c76017 fix(electron): crash when cancelling screen picker
All checks were successful
Build & Deploy / build (push) Successful in 59s
Build & Deploy / deploy (push) Successful in 3s
Build & Deploy / bump-version (push) Successful in 5s
Calling callback({}) with an empty object caused Electron to throw
"Video was requested, but no video stream was provided". The correct
way to cancel/deny the request is callback() with no arguments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:06:54 +01:00
Forgejo CI
694f4371ce v1.8.15 [skip ci] 2026-03-10 21:40:14 +00:00
Daniel
b8e4139a91 feat(electron): add audio toggle to screen picker
All checks were successful
Build & Deploy / build (push) Successful in 55s
Build & Deploy / deploy (push) Successful in 6s
Build & Deploy / bump-version (push) Successful in 2s
The stream screen picker now shows a toggle switch to enable/disable
system audio capture (loopback). Defaults to on. Previously audio was
always included with no way to disable it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:39:03 +01:00
Forgejo CI
7fe9a16cd8 v1.8.14 [skip ci] 2026-03-10 21:29:44 +00:00
Daniel
24e8a6b3f7 ci: mirror Docker images to daddelolymp registry
All checks were successful
Build & Deploy / build (push) Successful in 1m0s
Build & Deploy / deploy (push) Successful in 3s
Build & Deploy / bump-version (push) Successful in 3s
After building and pushing to adriahub, the CI pipeline now also
tags and pushes images to forgejo.daddelolymp.de as a backup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:28:31 +01:00
Forgejo CI
bf69827dbd v1.8.13 [skip ci] 2026-03-10 21:19:44 +00:00
Daniel
d135aab6dc feat: add Steam OpenID login
All checks were successful
Build & Deploy / build (push) Successful in 47s
Build & Deploy / deploy (push) Successful in 4s
Build & Deploy / bump-version (push) Successful in 2s
- Add Steam OpenID 2.0 authentication routes (login + callback)
- Enable Steam button in LoginModal (was placeholder)
- Unified user ID system: getUserId() supports Discord, Steam, Admin
- Update soundboard user-sound endpoints for Steam users
- UserSettings now works for both Discord and Steam providers
- Steam hover uses brand color #66c0f4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:18:44 +01:00
Forgejo CI
aa998c9b44 v1.8.12 [skip ci] 2026-03-10 21:03:19 +00:00
Daniel
81c73407a0 ci: add Discord OAuth2 env vars to deploy step
All checks were successful
Build & Deploy / build (push) Successful in 42s
Build & Deploy / deploy (push) Successful in 5s
Build & Deploy / bump-version (push) Successful in 3s
Pass DISCORD_CLIENT_ID and DISCORD_CLIENT_SECRET secrets
to the container for Discord OAuth2 login support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:02:21 +01:00
Forgejo CI
6224db68b3 v1.8.11 [skip ci] 2026-03-10 19:42:36 +00:00
Daniel
99d69f30ba feat: Discord OAuth Login + User Settings GUI
All checks were successful
Build & Deploy / build (push) Successful in 44s
Build & Deploy / deploy (push) Successful in 5s
Build & Deploy / bump-version (push) Successful in 2s
- Neues unified Login-Modal (Discord, Steam, Admin) ersetzt alten Admin-Login
- Discord OAuth2 Backend (server/src/core/discord-auth.ts)
- User Settings Panel: Entrance/Exit Sounds per Web-GUI konfigurierbar
- API-Endpoints: /api/soundboard/user/{sounds,entrance,exit}
- Session-Management via HMAC-signierte Cookies (hub_session)
- Steam-Button als Platzhalter (bald verfuegbar)
- Backward-kompatibel mit bestehendem Admin-Cookie

Benoetigte neue Env-Vars: DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET
Discord Redirect URI: PUBLIC_URL/api/auth/discord/callback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:41:31 +01:00
Forgejo CI
a7e8407996 v1.8.10 [skip ci] 2026-03-10 18:27:46 +00:00
5ff0dad282 Fix: use HTTPS domain for registry push [skip ci] 2026-03-10 19:26:34 +01:00
710081fe21 Remove debug workflow
Some checks failed
Build & Deploy / build (push) Failing after 1m4s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
2026-03-10 17:47:09 +01:00
7e1b4e7860 Fix: use git clone instead of actions/checkout (no Node in docker:latest)
Some checks failed
Build & Deploy / deploy (push) Blocked by required conditions
Build & Deploy / bump-version (push) Blocked by required conditions
Build & Deploy / build (push) Has been cancelled
2026-03-10 17:46:30 +01:00
9c483cedea Debug: test runner
Some checks failed
Build & Deploy / build (push) Failing after 3s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / electron-build (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
2026-03-10 17:44:23 +01:00
5796a6d620 Add: Forgejo CI/CD workflow (migrated from GitLab CI)
Some checks failed
Build & Deploy / build (push) Failing after 7s
Build & Deploy / deploy (push) Has been skipped
Build & Deploy / electron-build (push) Has been skipped
Build & Deploy / bump-version (push) Has been skipped
2026-03-10 17:38:06 +01:00
GitLab CI
c24b4c5d9e v1.8.9 [skip ci] 2026-03-09 23:00:49 +00:00
Daniel
7ed6b81584 Fix: Volume-Slider reaktionsschneller (Latenz reduziert)
- Server: writeState() → writeStateDebounced() im Volume-Endpoint
  (kein synchroner Disk-Write bei jedem Slider-Tick mehr)
- Frontend: Debounce von 120ms auf 50ms reduziert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:58:03 +01:00
GitLab CI
25e47fb093 v1.8.8 [skip ci] 2026-03-09 22:43:59 +00:00
Daniel
0bd31d93a8 Fix: Lautstärke während Wiedergabe steuerbar (inlineVolume immer aktiv)
Bei PCM-Memory-Cache wurde inlineVolume nur aktiviert wenn vol != 1,
dadurch fehlte das Volume-Objekt auf der AudioResource und
apiSetVolumeLive konnte die Lautstärke nicht live ändern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:41:11 +01:00
GitLab CI
c0956fbc7e v1.8.7 [skip ci] 2026-03-09 21:45:35 +00:00
Daniel
8951f46536 Admin Panel: Logout-Button in Sidebar hinzugefügt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:42:40 +01:00
GitLab CI
354a9cd977 v1.8.6 [skip ci] 2026-03-09 21:36:12 +00:00
Daniel
3f175ca02c Unified Admin Panel: 3 Plugin-Settings in ein zentrales Modal
- Neues AdminPanel.tsx mit Sidebar-Navigation (Soundboard/Streaming/Game Library)
- Lazy-Loading: Daten werden erst beim Tab-Wechsel geladen
- Admin-Button im Header öffnet jetzt das zentrale Panel (Rechtsklick = Logout)
- Admin-Code aus SoundboardTab, StreamingTab und GameLibraryTab entfernt
- ~500 Zeilen Plugin-Code entfernt, durch ~620 Zeilen zentrales Panel ersetzt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:33:19 +01:00
GitLab CI
4b23d013f9 v1.8.5 [skip ci] 2026-03-09 21:02:15 +00:00
Daniel
e9931d82af Refactor: Zentralisiertes Admin-Login im Top-Menü
- Admin-Login aus 3 Plugins (Soundboard, Streaming, Game Library) entfernt
- Zentraler 🔒/🔓 Button im Header mit Login-Modal
- isAdmin wird als Prop an alle Plugins weitergegeben
- Settings-Buttons (Gear-Icons) nur sichtbar wenn eingeloggt
- Alle Plugins nutzen weiterhin den shared admin-Cookie für Operationen
- Login/Logout-Formulare und Buttons aus Plugin-Panels entfernt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:59:21 +01:00
GitLab CI
bccfee3de2 v1.8.4 [skip ci] 2026-03-09 20:47:59 +00:00
Daniel
b556863f52 Fix: Admin-Button entfernt der auf main nicht existierende State-Variablen referenzierte
Cherry-Pick von 041557c8 hatte versehentlich Admin-Button JSX mit übernommen,
aber adminLoggedIn/setShowAdminModal existieren nur auf nightly (nach b3080fb7).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:44:33 +01:00
Daniel
65a1d6e869 Streaming: Qualitaets-Dropdown schmaler (250px -> 210px)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:38:44 +01:00
Daniel
e54f240523 Streaming: fps bei allen Qualitaetsstufen anzeigen
Labels: Niedrig · 4 Mbit · 60fps bis Max · 50 Mbit · 165fps.
Dropdown auf 250px verbreitert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:38:44 +01:00
Daniel
a99dc4211c UI: Avatar entfernt, Streaming-Topbar mit Labels
- DK-Avatar aus Header entfernt (kein Zweck)
- Streaming-Felder haben jetzt Ueberschriften: Name, Titel, Passwort, Qualitaet
- Passwort-Feld von 140px auf 180px verbreitert
- Topbar aligned an Feldunterkante (flex-end)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:38:44 +01:00
Daniel
1bd0fa14bc Streaming: Presets zeigen jetzt Bitrate statt Aufloesung
Aufloesung ist immer nativ (Monitor des Broadcasters), die Presets
steuern nur Bitrate und FPS. Labels entsprechend angepasst:
Niedrig (4 Mbit) bis Max (50 Mbit/165Hz). Dropdown auf 200px.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:38:13 +01:00
Daniel
b2f772208f Streaming: 30fps Presets entfernt, Dropdown breiter
Qualitaetsstufen: 720p60, 1080p60, 2K60, 4K60, 4K165 Ultra.
Dropdown von 120px auf 160px verbreitert damit Text nicht abgeschnitten wird.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:38:13 +01:00
Daniel
966664d3a7 CI: docker image prune nach jedem Deploy
Entfernt dangling/orphan Images automatisch nach docker pull + deploy.
Verhindert dass sich alte untagged Images ansammeln (~533MB pro Build).

[skip ci]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:37:36 +01:00
GitLab CI
39e180aad4 v1.8.3 [skip ci] 2026-03-08 23:50:31 +00:00
Daniel
ecd5e96ee2 Fix: Gemeinsame Spiele - profileId zu steamId Resolution
Das Multi-Platform Profile System hatte den Common-Games-Endpoint
kaputt gemacht: Client sendete profileIds (UUIDs), Server erwartete
steamIds. Endpoint loest jetzt profileIds korrekt auf.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:47:40 +01:00
GitLab CI
7a05676037 v1.8.2 [skip ci] 2026-03-08 23:39:11 +00:00