[PR #59] [MERGED] Release/202507.001 #64

Closed
opened 2026-10-15 13:02:05 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/wolfmanager/pull/59
Author: @salty2011
Created: 8/10/2025
Status: ✅ Merged
Merged: 8/10/2025
Merged by: @salty2011

Base: stable ← Head: release/202507.001


📝 Commits (8)

  • 9db9c0c feat: refactor wolf-actions into modular architecture
  • 8123433 feat: refactor wolf-actions into modular architecture (fixes #30)
  • cf861fd Fix pending pair requests filtering and JWT validation errors
  • b958362 Merge pull request #53 from games-on-whales/fix-pending-pair-requests-filtering
  • 1fbe89e fix: resolve SSE TypeError for paired clients (fixes #54)
  • 368321d Remove tsconfig.tsbuildinfo from tracking
  • 488450f Fix: Resolve issues #54 and #52, implement realtime status updates
  • 255ea0a Fix: Resolve issues #54 and #52, implement realtime status updates

📊 Changes

24 files changed (+1855 additions, -1256 deletions)

View changed files

📝 .gitignore (+1 -0)
📝 src/app/actions/wolf-actions.ts (+3 -1042)
➕ src/app/actions/wolf/auth.ts (+42 -0)
➕ src/app/actions/wolf/client-control.ts (+127 -0)
➕ src/app/actions/wolf/client-management.ts (+126 -0)
➕ src/app/actions/wolf/client-retrieval.ts (+210 -0)
➕ src/app/actions/wolf/index.ts (+10 -0)
➕ src/app/actions/wolf/requests.ts (+139 -0)
➕ src/app/actions/wolf/server-status.ts (+54 -0)
➕ src/app/actions/wolf/synchronization.ts (+283 -0)
➕ src/app/actions/wolf/types.ts (+45 -0)
➕ src/app/actions/wolf/utils.ts (+64 -0)
📝 src/app/api/client-events/route.ts (+29 -22)
📝 src/app/clients/actions/synchronization.ts (+1 -1)
📝 src/app/clients/components/ClientPageContent.tsx (+216 -63)
📝 src/app/clients/components/PairedClientsCard.tsx (+7 -13)
📝 src/instrumentation.ts (+18 -0)
📝 src/lib/actions/logging.ts (+1 -0)
📝 src/lib/auth.ts (+42 -6)
📝 src/lib/db/helpers/clients.ts (+28 -0)

...and 4 more files

📄 Description

Release 202507.001

Overview

This release improves reliability behind reverse proxies, adds real‑time client status via SSE, breaks up a large actions file into maintainable modules, and streamlines container startup and secret generation. It also includes several bug fixes and docs updates.

Highlights

✨ New & Improved

  • Realtime client status in UI (Online / Paused / Offline) powered by SSE, with stricter event validation and per‑event authorization checks.

  • Refactor: wolf-actions → modular architecture (9 focused modules) to reduce monolith risk and improve auditability/maintainability. Closes #30.

  • Reverse proxy hardening & consistency

    • Centralized URL resolver; all internal calls and integrations (SteamGridDB, API test) now respect NEXTAUTH_URL. Closes #40.
  • Faster container startup (60–80% improvement) via optimized permission setup script.

  • Auto-generation of secrets at the Docker level (NEXTAUTH_SECRET, ENCRYPTION_KEY, INTERNAL_SERVICE_TOKEN) before Node starts; persisted to .env.local.

🐛 Fixes

  • Pending pair requests & paired clients SSE errors: fixed TypeErrors, filtering, and JWT validation issues. Closes #54, #52.

🧰 DevOps & Build

  • Speed up node_modules ownership operations in Docker builds.

📘 Docs & DX

  • README updates and guidance (e.g., Wolf socket must be enabled and compose examples).

Breaking / Config Notes

  • NEXTAUTH_URL is now required in production (no localhost fallbacks). Set it explicitly in your environment or compose.
  • Secrets generation moved to Docker entrypoint so values exist before Node imports. Persisted via .env.local symlink in config/.

Testing Checklist

  • Deploy with NEXTAUTH_URL set to your public app URL.
  • Confirm .env.local is created/populated with generated secrets on first run.
  • Verify Wolf socket is mounted and enabled (/var/run/wolf/wolf.sock) and SSE updates stream to the dashboard.
  • Validate paired clients show Online/Paused/Offline and update in realtime.
  • Smoke‑test behind a reverse proxy (auth flows, API Test page, SteamGridDB fetching).

Linked Issues (auto-close on merge)


Notes for Reviewers

  • Refactor replaces a 1,043‑line actions file with modularized server actions; diff is large but scoped and backward‑compatible.
  • SSE changes add stricter per‑event authorization and improved diagnostics; review api/client-events route and WolfEventService usage.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/wolfmanager/pull/59 **Author:** [@salty2011](https://github.com/salty2011) **Created:** 8/10/2025 **Status:** ✅ Merged **Merged:** 8/10/2025 **Merged by:** [@salty2011](https://github.com/salty2011) **Base:** `stable` ← **Head:** `release/202507.001` --- ### 📝 Commits (8) - [`9db9c0c`](https://github.com/games-on-whales/wolfmanager/commit/9db9c0cd4d6aa7c5e7a7da0d246d4cc8a9cb2631) feat: refactor wolf-actions into modular architecture - [`8123433`](https://github.com/games-on-whales/wolfmanager/commit/8123433f564aac87c5df46b605d877e2df50fd39) feat: refactor wolf-actions into modular architecture (fixes #30) - [`cf861fd`](https://github.com/games-on-whales/wolfmanager/commit/cf861fd6408387bc5164378482adce3242079ee7) Fix pending pair requests filtering and JWT validation errors - [`b958362`](https://github.com/games-on-whales/wolfmanager/commit/b958362245b5c805a6872acb94fdfcb662949ddf) Merge pull request #53 from games-on-whales/fix-pending-pair-requests-filtering - [`1fbe89e`](https://github.com/games-on-whales/wolfmanager/commit/1fbe89e1fbb1c52be0d14b1ba6325e4ca04659e7) fix: resolve SSE TypeError for paired clients (fixes #54) - [`368321d`](https://github.com/games-on-whales/wolfmanager/commit/368321df88a0346d424d430f0725e20d87ec8f93) Remove tsconfig.tsbuildinfo from tracking - [`488450f`](https://github.com/games-on-whales/wolfmanager/commit/488450fdc710876004b581d1b657f3deaa629da0) Fix: Resolve issues #54 and #52, implement realtime status updates - [`255ea0a`](https://github.com/games-on-whales/wolfmanager/commit/255ea0ac4ba8b86abfed7bc91c23ebe9224f633b) Fix: Resolve issues #54 and #52, implement realtime status updates ### 📊 Changes **24 files changed** (+1855 additions, -1256 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -0) 📝 `src/app/actions/wolf-actions.ts` (+3 -1042) ➕ `src/app/actions/wolf/auth.ts` (+42 -0) ➕ `src/app/actions/wolf/client-control.ts` (+127 -0) ➕ `src/app/actions/wolf/client-management.ts` (+126 -0) ➕ `src/app/actions/wolf/client-retrieval.ts` (+210 -0) ➕ `src/app/actions/wolf/index.ts` (+10 -0) ➕ `src/app/actions/wolf/requests.ts` (+139 -0) ➕ `src/app/actions/wolf/server-status.ts` (+54 -0) ➕ `src/app/actions/wolf/synchronization.ts` (+283 -0) ➕ `src/app/actions/wolf/types.ts` (+45 -0) ➕ `src/app/actions/wolf/utils.ts` (+64 -0) 📝 `src/app/api/client-events/route.ts` (+29 -22) 📝 `src/app/clients/actions/synchronization.ts` (+1 -1) 📝 `src/app/clients/components/ClientPageContent.tsx` (+216 -63) 📝 `src/app/clients/components/PairedClientsCard.tsx` (+7 -13) 📝 `src/instrumentation.ts` (+18 -0) 📝 `src/lib/actions/logging.ts` (+1 -0) 📝 `src/lib/auth.ts` (+42 -6) 📝 `src/lib/db/helpers/clients.ts` (+28 -0) _...and 4 more files_ </details> ### 📄 Description # Release 202507.001 ## Overview This release improves reliability behind reverse proxies, adds real‑time client status via SSE, breaks up a large actions file into maintainable modules, and streamlines container startup and secret generation. It also includes several bug fixes and docs updates. ## Highlights ### ✨ New & Improved * **Realtime client status in UI (Online / Paused / Offline)** powered by SSE, with stricter event validation and per‑event authorization checks. * **Refactor: `wolf-actions` → modular architecture** (9 focused modules) to reduce monolith risk and improve auditability/maintainability. **Closes #30.** * **Reverse proxy hardening & consistency** * Centralized URL resolver; all internal calls and integrations (SteamGridDB, API test) now respect `NEXTAUTH_URL`. **Closes #40.** * **Faster container startup (60–80% improvement)** via optimized permission setup script. * **Auto-generation of secrets at the Docker level** (`NEXTAUTH_SECRET`, `ENCRYPTION_KEY`, `INTERNAL_SERVICE_TOKEN`) before Node starts; persisted to `.env.local`. ### 🐛 Fixes * **Pending pair requests & paired clients SSE errors**: fixed TypeErrors, filtering, and JWT validation issues. **Closes #54, #52.** ### 🧰 DevOps & Build * Speed up `node_modules` ownership operations in Docker builds. ### 📘 Docs & DX * README updates and guidance (e.g., **Wolf socket must be enabled** and compose examples). --- ## Breaking / Config Notes * **`NEXTAUTH_URL` is now required in production** (no localhost fallbacks). Set it explicitly in your environment or compose. * **Secrets generation moved to Docker entrypoint** so values exist before Node imports. Persisted via `.env.local` symlink in `config/`. --- ## Testing Checklist * [X] Deploy with `NEXTAUTH_URL` set to your public app URL. * [X] Confirm `.env.local` is created/populated with generated secrets on first run. * [X] Verify Wolf socket is mounted and enabled (`/var/run/wolf/wolf.sock`) and SSE updates stream to the dashboard. * [X] Validate paired clients show **Online/Paused/Offline** and update in realtime. * [X] Smoke‑test behind a reverse proxy (auth flows, API Test page, SteamGridDB fetching). --- ## Linked Issues (auto-close on merge) * Closes **#54** * Closes **#52** * Closes **#40** * Closes **#30** --- ## Notes for Reviewers * Refactor replaces a 1,043‑line actions file with modularized server actions; diff is large but scoped and backward‑compatible. * SSE changes add stricter per‑event authorization and improved diagnostics; review `api/client-events` route and `WolfEventService` usage. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolfmanager#64
No description provided.