123 lines
7.2 KiB
Markdown
123 lines
7.2 KiB
Markdown
# Code Status Update
|
||
**Last Updated:** 2026-04-15 (local Nitro session — end of night)
|
||
|
||
## Environment Change
|
||
Now running **locally on the Nitro** (Windows 11) instead of the remote dev server. Working directory: `C:\Users\mkrau\firefrost-services`. Git remote still pushes to Gitea. Git identity configured repo-local as `Claude Code <claude@firefrostgaming.com>`.
|
||
|
||
## Current Focus
|
||
Bridge queue cleared for the night. Only remaining REQ is `REQ-2026-04-12-phase11e-gitbook-scope` (post-launch, not urgent — deferred).
|
||
|
||
## Session Summary (2026-04-14 Evening)
|
||
|
||
### Rules Mod 1.18.2 Builds — DONE ✅
|
||
- Ported both Firefrost Rules and Discord Rules to Forge 1.18.2-40.2.4
|
||
- API changes: TextComponent, sendMessage(comp, Util.NIL_UUID), getPlayer()
|
||
- ForgeGradle 6.0 + Gradle 8.8 + Java 17
|
||
- Jars: `firefrostrules-1.0.5-1.18.2-forge.jar`, `discord-rules-1.0.5-1.18.2-forge.jar`
|
||
- Both mods now have 4 versions each: 1.16.5, 1.18.2, 1.20.1, 1.21.1
|
||
|
||
### Version UI in Server Matrix — DONE ✅
|
||
- Added installed version display to both TX1 and NC1 card loops in `_matrix_body.ejs`
|
||
- Uses `<% var %>` assignment pattern to avoid single-quote EJS breakage
|
||
- Edit button, save/cancel, version history viewer via HTMX
|
||
- EJS validates clean
|
||
|
||
### PWA Phase 1 — DONE ✅
|
||
- `manifest.json` — standalone app config, cyan theme, app ID
|
||
- `sw.js` — conservative static-only caching, never caches admin routes
|
||
- Placeholder icons (cyan T, 192 + 512) in `src/public/images/`
|
||
- `express.static` middleware added to `src/index.js`
|
||
- PWA meta tags + Apple mobile web app + service worker registration in `layout.ejs`
|
||
|
||
### Task Module — 7 Features — DONE ✅
|
||
1. Slide-out detail panel (click task title → full info overlay from right)
|
||
2. Client-side sorting (number, priority, status, updated) persists in localStorage
|
||
3. Toggleable filter chips (status + priority, multi-select)
|
||
4. Saved filter presets (Launch Fires, Code Queue, Post-Launch, All Open)
|
||
5. Kanban board view (4 columns, toggle persists in localStorage)
|
||
6. Session summary badge ("X tasks completed today")
|
||
7. Code queue badge in sidebar nav (cyan count from tasks tagged 'code')
|
||
- Route updated: added completedToday query, allTasks for kanban
|
||
- Admin middleware: code queue count query for sidebar badge
|
||
|
||
## Earlier Session (2026-04-14)
|
||
|
||
### Server Command Center — CODE COMPLETE ✅
|
||
- Full Arbiter feature build (migrations, services, routes, views)
|
||
- Pending deploy by Michael (see previous ACTIVE_CONTEXT for deploy steps)
|
||
|
||
## Previous Session (2026-04-13)
|
||
|
||
### Task #69: Discord Rules CurseForge Fork — DONE ✅
|
||
- All builds at v1.0.5 (now 4 firefrostrules + 4 discordrules)
|
||
- CurseForge project page copy pending from Chronicler
|
||
|
||
### Rules Mod Config Bug — FIXED ✅
|
||
- v1.0.5 WORKING on Otherworld
|
||
|
||
## Session 2026-04-15 (local Nitro)
|
||
|
||
### Shipped
|
||
- **Task #166 — Trinity Console Issue Tracker** (`b0b69fb`, +916 lines)
|
||
- Migration 141: `issues`, `issue_attachments`, `issue_comments` tables + indexes
|
||
- `src/routes/admin/issues.js` — session-auth UI routes (list/new/detail/status/assign/comments/upload/attachment-serve)
|
||
- `src/routes/api.js` — `/api/internal/issues*` bearer-token REST surface for n8n
|
||
- `src/services/issueNotifier.js` — Discord webhook dispatcher (`DISCORD_ISSUE_WEBHOOK_URL`), silent-fail
|
||
- Views: `index.ejs` (list+filters+stats), `new.ejs` (mobile-first, `accept="image/*"` for phone camera roll), `detail.ejs` (screenshots w/ lightbox, workflow controls, comments)
|
||
- `layout.ejs` sidebar nav link
|
||
- `package.json` adds `multer ^1.4.5-lts.1`
|
||
- CSRF token passed via query string on multipart forms (csurf runs before multer parses body)
|
||
- Screenshots stored at `services/arbiter-3.0/uploads/issues/`, 10 MB/file × 6 max, image MIME filter, path-traversal guard
|
||
- All 4 EJS files validated via `ejs.compile()`, all JS `node --check` clean
|
||
- **Deploy:** `cd /opt/arbiter-3.0 && git pull && npm install && mkdir -p uploads/issues && psql -U arbiter -h 127.0.0.1 -d arbiter_db -f migrations/141_issues.sql && pm2 restart arbiter-3`. Optional: `DISCORD_ISSUE_WEBHOOK_URL` in `.env`.
|
||
|
||
- **Task #163 — Task Description Hygiene Backfill** (`263a7e3`)
|
||
- `scripts/backfill-task-descriptions.js` — reads ops manual archive, strips YAML frontmatter, emits `UPDATE tasks` SQL with `$body$…$body$` dollar quoting
|
||
- Guard: `AND (description IS NULL OR description = '')` — safe to re-run
|
||
- Output: `scripts/out/backfill-task-descriptions.sql` (575 lines), `.md` report
|
||
- **Matched 6/15** from archive: #99, #100, #104, #105, #106, #113
|
||
- **Missing 9** (no archive file, need manual copy): #22 Netdata, #23 Department Structure, #32 Terraria Branding, #48 n8n Rebuild, #49 NotebookLM, #51 Ignis Protocol, #81 Memorial Writing Assistant, #89 DERP Protocol Review, #97 Trinity Console Social Hub
|
||
- **Apply:** `psql -U arbiter -h 127.0.0.1 -d arbiter_db -f scripts/out/backfill-task-descriptions.sql`
|
||
- Note: REQ header claimed 16 tasks but table lists 15 — worked from the table
|
||
|
||
### Archived (no-op verifications)
|
||
- **REQ/RES-2026-04-14-server-command-center** — verified code-complete in `d16a525` (full build) and `a193523` (subdomain + Cloudflare provisioning per RES-2026-04-14-subdomain-seed-data). Migration 139, seed JS, `uptimeKuma.js`, `pterodactyl.js`, `/provision-subdomain` route all present. **Pending Michael's deploy on dev panel.**
|
||
- **REQ-2026-04-14-code-queue-badge-fix** — verified already implemented in `166e4c8` ("Task module: 7 UX features"). Middleware in `admin/index.js` lines 31–42, badge span in `layout.ejs` lines 105–110. Archived as no-op. If badge still not showing after deploy, check whether any open/in_progress tasks actually have `'code'` in their `tags` array — badge correctly hides at count 0.
|
||
|
||
## Pending Bridge Requests
|
||
|
||
### Deferred (post-launch, not urgent)
|
||
- **REQ-2026-04-12-phase11e-gitbook-scope** — GitBook integration scope for ModpackChecker. Explicitly held per Michael.
|
||
|
||
### Previously Completed (can be archived on next pass)
|
||
- REQ-2026-04-14-version-ui-matrix ✅
|
||
- REQ-2026-04-14-pwa-phase1 ✅
|
||
- REQ-2026-04-14-task-module-improvements ✅
|
||
- REQ-2026-04-14-rules-mod-1182 ✅
|
||
|
||
### Previously Completed (can be archived)
|
||
7. REQ-2026-04-12-discord-rules-fork — ✅ Done
|
||
8. REQ-2026-04-12-phase11-prerequisites — ✅ Done
|
||
9. REQ-2026-04-12-phase11a-deploy — ✅ Done
|
||
10. REQ-2026-04-12-phase11bc-deploy — ✅ Done
|
||
11. REQ-2026-04-12-phase11d-badge-debug — ✅ Done
|
||
12. REQ-2026-04-12-phase11d-badge-decision — ✅ Done
|
||
13. REQ-2026-04-12-phase11d-deploy — ✅ Done
|
||
14. REQ-2026-04-13-arbiter-discord-roles — ✅ Done
|
||
15. REQ-2026-04-13-missing-modpack-installations-migration — ✅ Done
|
||
16. REQ-2026-04-13-rules-mod-config-fix-versioning — ✅ Done
|
||
17. REQ-2026-04-13-rules-mod-config-not-read-at-runtime — ✅ Done
|
||
18. REQ-2026-04-13-rules-still-returning-defaults — ✅ Done
|
||
19. REQ-2026-04-13-status-route-mismatch — ✅ Done
|
||
20. REQ-2026-04-13-v110-consolidated-deploy — ✅ Done
|
||
|
||
## Standing Items
|
||
- ModpackChecker v1.1.0 deploy blocked on CurseForge API rate limit
|
||
- CurseForge Discord Rules project page pending Chronicler copy
|
||
- Build router at `/opt/mod-builds/ffg-build.sh`
|
||
|
||
## Discipline Notes
|
||
- CHANGELOG.md updated with every version bump
|
||
- ACTIVE_CONTEXT.md updated at end of each work session
|
||
- EJS validated before every commit
|