Commit graph

258 commits

Author SHA1 Message Date
Forgejo CI
9753b7daaa v1.9.6 [skip ci] 2026-03-11 10:46:26 +00:00
Daniel
f03fe63bd3 Move clock from Soundboard to app header, display next to version
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 3s
Clock now shows globally in the header (left of version badge) instead
of being Soundboard-only. Smaller size to fit header layout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:45:29 +01:00
Forgejo CI
cccdf6dd5a v1.9.5 [skip ci] 2026-03-11 10:42:56 +00:00
Daniel
967f72f080 Fix: Soundboard inherits global theme instead of hardcoded Discord Blurple
All checks were successful
Build & Deploy / build (push) Successful in 45s
Build & Deploy / deploy (push) Successful in 4s
Build & Deploy / bump-version (push) Successful in 2s
Removed hardcoded --accent, --bg-*, --text-*, --font, --radius, --transition
from .sb-app so it inherits theme vars from .hub-app[data-theme].
Keeps only soundboard-specific vars (modifiers, shadows, card sizes).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:41:57 +01:00
Forgejo CI
c9d8fac884 v1.9.4 [skip ci] 2026-03-11 10:37:24 +00:00
Daniel
6d161f3482 Centralize color theme: single picker in Settings modal
All checks were successful
Build & Deploy / build (push) Successful in 42s
Build & Deploy / deploy (push) Successful in 4s
Build & Deploy / bump-version (push) Successful in 3s
- Add Settings button (gear icon) to header
- Add Settings modal with unified color theme picker
- Move theme state to App.tsx, apply data-theme on .hub-app root
- Global CSS themes: ember, amethyst, jade, ocean, rose
- Remove per-plugin theme pickers from Soundboard and Radio
- Remove per-plugin theme CSS from soundboard.css and styles.css
- Radio globe colors update via MutationObserver on theme change
- Single localStorage key: hub-theme (replaces jb-theme + radio-theme)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:36:30 +01:00
Forgejo CI
00b6bc9d2f v1.9.3 [skip ci] 2026-03-11 10:29:30 +00:00
Daniel
aa7ce227b0 Use single data mount for deploy, remove legacy jukebox sounds path
All checks were successful
Build & Deploy / build (push) Successful in 38s
Build & Deploy / deploy (push) Successful in 6s
Build & Deploy / bump-version (push) Successful in 3s
Sounds now live in /mnt/cache/appdata/gaming-hub/data/sounds/
directly — no separate mount needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:28:37 +01:00
Forgejo CI
8a7f9fd93f v1.9.2 [skip ci] 2026-03-11 10:27:37 +00:00
Daniel
0c9bccfab6 Remove daddelolymp image mirror from CI
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 2s
Daddelolymp is backup mirror only, never builds or hosts images.
All builds and deployments happen exclusively on adriahub.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:26:42 +01:00
Forgejo CI
0d06125abc v1.9.1 [skip ci] 2026-03-11 10:23:14 +00:00
Daniel
44ad953be2 Fix refresh button to match Styleguide §7 Icon-Button pattern
All checks were successful
Build & Deploy / build (push) Successful in 57s
Build & Deploy / deploy (push) Successful in 4s
Build & Deploy / bump-version (push) Successful in 7s
Use --bg-tertiary hover + --text-normal instead of accent colors.
Remove custom spin animation and scale transform. Strict adherence
to the documented Icon-Button component pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:22:02 +01:00
Daniel
0f43f78d71 Redesign refresh button: SVG icon, ghost style, spin hover
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
Replace emoji with clean SVG refresh icon. Remove border for
ghost-style matching other header elements. Add 180deg rotation
on hover for visual feedback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:20:43 +01:00
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