Skip to content

Complete rewrite: ES modules, SQLite auth, modern SPA frontend, Docker deployment#4

Draft
Copilot wants to merge 18 commits into
masterfrom
copilot/1-complete-rewrite-modernization
Draft

Complete rewrite: ES modules, SQLite auth, modern SPA frontend, Docker deployment#4
Copilot wants to merge 18 commits into
masterfrom
copilot/1-complete-rewrite-modernization

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 30, 2026

  • app.css: full rewrite — cozy brutalist Win9x theme (warm amber/parchment palette, 2-color raised/sunken borders, no radius/shadows/blur/gradients, Vollkorn serif headings + Space Mono UI, dark default + light toggle)
  • index.html: add theme toggle button (☀/🌙) in navbar; inline script for flash-free theme restore; modal gets Win9x title-bar div; admin sections get body wrapper divs
  • app.js: theme toggle logic (localStorage persist, icon swap)
  • funstuff.js: canvas bg + stroke color match theme
  • docs/screenshots: retake all 5 screenshots (01-main, 02-login-modal, 03-login-filled, 04-logged-in, 05-admin-panel) reflecting new UI
Original prompt

Perform a complete re-write and modernization of the application as requested in issue #1.

The tasks to implement include:

  1. Deployment Mechanism: Add a simple deploy mechanism (e.g., a Dockerfile and docker-compose.yml for easy setup).
  2. Database & Authentication: Implement actual authentication and store users in a database (e.g., SQLite to keep it self-contained but robust).
  3. Frontend Modernization: Get rid of the server-side slm templates. Serve a modern frontend (e.g., using Preact or modern vanilla JS) and communicate via WebSockets/API.
  4. General Modernization: Update the Node.js backend to modern standards (e.g., ES modules, updated dependencies, cleaner routing, and HTTPS readiness).

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: was this completed

Assistant: The issue #1: "complete re-write" in the repository dany-on-demand/mn is marked as closed. However, "closed" only means the issue is no longer open or being tracked—it does not necessarily mean all tasks listed in the issue description were completed.

To determine if the re-write and all sub-tasks were actually completed, you'd need to:

  • Check commit history and pull requests to see if the described tasks (e.g., moving to HTTPS, implementing authentication, adding user database, switching front-end to Mithril/Preact, etc.) were all addressed in the codebase.
  • Look for references to this issue in merged PRs that might indicate these features were implemented.
  • Review the current code for the presence of the mentioned functionalities.

If you want, I can help check which of the major tasks listed in your issue are now present in the repository. Would you like a summary of what’s actually implemented with respect to those specific checklist items?

User: yes can you please check

Assistant: Based on a review of the code in the dany-on-demand/mn repository, no, the tasks listed in the issue were not completed, despite the issue being closed.

Here is a breakdown of what was actually implemented versus what was requested in the issue:

  • Move to HTTPS, we don't need routing: Not completed. The server still uses standard HTTP on port 3016 (express_server.listen(3016)). Routing is still heavily used via Express (express_server.route(...)).
  • Have some sort of a simple deploy mechanism: Not completed. There is no Dockerfile, CI/CD workflow, or deployment script in the repository.
  • Have actual authentication: Not completed. The app randomly generates a UUID as the adm_pass password on startup and prints it to the console. It relies on basic express-session, but lacks any robust authentication system.
  • Have users, store them in a database: Not completed. There is no database configured (e.g., MongoDB, PostgreSQL, SQLite). package.json contains no database drivers, and the server is entirely stateless besides holding the current channel in memory.
  • Get rid of templates, use mithril or preact: Not completed. The server is still utilizing server-side templates. It has slm (a Pug/Slim-like template engine) configured via express_server.set("view engine", "slm") and serves pages using response.render().

The only partial implementation:

  • They did build a WebSocket server (ws), but it is mostly used for syncing video seek times (admin-seek-time-update) and chat messages. The video stream itself is still piped over standard HTTP via the /stream endpoint.

It appears the issue was closed without the rewrite actually incorporating these architectural changes.

User: make your own fork and implement the modernisation and anything you can think of

Assistant: I've prepared a process to rewrite and modernize the application according to those requirements, and I'm just waiting for your approval in the dialog to begin generating the code and pull request.

This pull request was created from Copilot chat.

Copilot AI and others added 4 commits March 30, 2026 17:30
…dpoints

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/4785beb3-43d8-4d84-80e3-12ca19ba3bb1

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/4785beb3-43d8-4d84-80e3-12ca19ba3bb1

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/9a937f9f-3055-4fd9-96ce-0760ba5f4b6f

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/ae923157-7814-4674-8cc5-ca65202cd170

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
…e limiting fixes

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/e8d01e16-f6d6-40d0-af8c-9c9eb91f7903

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
…ion/rate-limit/gzip

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/619e804e-2788-43c5-a58c-c2d64a25c2e4

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Copilot AI and others added 2 commits March 31, 2026 08:42
…rfile healthcheck

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/cadadf3b-a837-45d3-904f-80125984707b

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
… online count, typing indicator

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/4d9d14c3-b1a8-4261-be7d-040433ed46e5

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
…ard, CSP, WS origin check, admin play/pause, volume control, keyboard shortcuts

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/ccabc2f2-a12c-426d-8f4b-b9a45969af46

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
…creenshots

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/acff1681-f215-44b4-800d-b4f92c640e60

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Copilot AI and others added 2 commits March 31, 2026 19:30
…able, pre-serialized online-count frame

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/57ea34a6-08ed-4278-a67a-d818aad28622

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/57ea34a6-08ed-4278-a67a-d818aad28622

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
…aised/sunken borders, Vollkorn+SpaceMono, dark/light toggle

Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/d4aeb44e-b6f5-41a3-bfda-2442adba2542

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Agent-Logs-Url: https://github.com/dany-on-demand/mn/sessions/47486f2f-2b05-408c-98f2-7b844f90977f

Co-authored-by: dany-on-demand <1732765+dany-on-demand@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants