Commit Graph

35 Commits

Author SHA1 Message Date
Rokojori 420c682408 page-editor-panel: replace html-editor-panel with structured .page editor
Renames html-editor-panel → page-editor-panel and changes the handled
extension from .html/.htm to .page. The new editor introduces a structured
format (page-header / page-root / page-block / page-area / page-footer),
a block registry with Full Width and Two Columns templates, a two-mode
sidebar (Blocks / Areas), rich-text wrapSelection helper, auto-template
injection for empty files, sandbox="allow-same-origin" on the iframe,
and editor-style injection that is stripped before saving.

Adds a default-roject theme (dark BG, Barlow font, blue headings) embedded
as a <style> block in the page <head>, scoped to [data-theme="default-roject"]
on both <body> and <page-root>. Areas toolbar gains H1, H2, H3 buttons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 21:07:32 +02:00
Rokojori 4a72363aaf session 2026-07-18: Electron local dev fixes, nav z-index, board/outline/history update
Electron fixes:
- extractToken (auth-connector): Bearer header checked before cookie — prevents stale
  Electron session cookie from winning over injected token
- JWT_CLOCK_TOLERANCE env var: passed to jwt.verify as clockTolerance; set to 7200
  in .env to absorb ~65 min clock skew between Windows dev machine and prod auth server
- Startup token refresh: main.ts calls POST /api/auth/refresh before opening main window;
  shows login on failure instead of opening with expired tokens
- Quit-on-login fix: createMainWindow() is async; login-success now awaits it before
  closing the login window (zero windows → app.quit() race was killing the process)
- Credential persistence: email + password stored in userData; remember-me checkbox
  controls save behaviour; clear button removes saved files; fields pre-fill on load
- Electron session cookies cleared in createMainWindow() to avoid stale token reuse

CSS: z-index: 10 on .pld-nav (project-list-default) — fixed mobile nav buried under rows

Boards: cleared Done lane, added Electron fixes and nav z-index entries; backlog MVP
entry for local testing solution; bugs.html: 401-handling bug moved to Done.
Outline: auth card updated with extractToken order note and JWT_CLOCK_TOLERANCE docs.
History: Friday 18 July entry expanded with session 2 cards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-18 08:37:47 +02:00
Rokojori 6e3fe19395 code-panel: self-contained BrowserLexer; revert library-ts to fix ts-node
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 23:42:43 +02:00
Rokojori d96a1bf470 library-ts: update submodule pointer (lexer .js extension fixes)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 23:30:42 +02:00
Rokojori 5cd9f8e6c4 code-panel: lexer-driven CodeMirror mode with dynamic keyword sets; C# mode
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 23:20:21 +02:00
Rokojori 7bcd2d9021 code-panel: add clike/python/shell/yaml syntax highlighting modes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 22:56:50 +02:00
Rokojori 9a7a1f2b82 file-tree: focus existing panel if file already open; exclude pinned from available slots
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 22:36:49 +02:00
Rokojori 98729fc333 Editor: auth redirect, targeted file open, Godot file types
- editor-shell: redirect to / if not authenticated on load
- file-tree: open file in first clean matching panel, create new panel if all dirty
- Editor: add openDocumentIn() with targetElement for precise panel targeting
- panels: skip onDocumentOpened if targeted at a different panel
- FileEditorRegistry: add Godot extensions (gd, gdshader, gdshaderinc, gdinclude, glsl, tscn, tres, cs, gdextension)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-17 22:22:42 +02:00
Rokojori bbf208b3be Logger Udpate Sync 2026-07-17 21:27:43 +02:00
Rokojori 76c912cd0d Auth connector rewrite: relative imports, rawToken for tunnel forwarding 2026-07-17 15:49:29 +02:00
Rokojori b2a4890c71 Changed Alias Paths 2026-07-17 14:00:16 +02:00
Rokojori a8bfc95d1c Connector Rewrite 2026-07-17 13:37:48 +02:00
Rokojori 73e282af00 CSS Update 2 2026-07-16 21:19:59 +02:00
Rokojori db7a92e457 Mobile/Thinking Update 2026-07-16 21:08:27 +02:00
Rokojori 86fb8551fe CSS Update 2026-07-16 20:58:11 +02:00
Rokojori 1e8ec50f6e Update Server Auth FIx 2026-07-16 18:44:10 +02:00
Rokojori 403499341f tunnel: Electron agent, production deployment, streaming, Roject integration, chunk animation
— Electron Tunnel Agent app (tray, login, tunnel list, start/stop/delete/create)
— tunnel.rokojori.com deployed (nginx WS upgrade, systemd, certbot, port 3003)
— Streaming relay protocol: res_start/res_data/res_end replaces single-shot response
— Roject: browse-tunnels button in rojo-settings-panel, /tunnels/browse proxy route
— Roject: LLM chat via tunnel (TUNNEL_SERVER_URL, /v1 path, dual-source JWT)
— rojo-chat-panel: typeText() splits large relay chunks for smooth streaming appearance
— Boards, outline, and history updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-16 15:46:51 +02:00
Rokojori 614176d2a9 Art Update 2026-07-16 15:06:51 +02:00
Rokojori a061df2a66 Add Rojo system: settings panel, tunnel endpoint, character portrait, fun name generation 2026-07-16 15:06:33 +02:00
Rokojori 5e27849fa3 Styles Update 2026-07-15 17:13:06 +02:00
Rokojori acba5c819b redesign: project home, default theme, user settings, groups removed from UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 22:27:03 +02:00
Rokojori 4b913eb53f Email Notifier Update 2026-07-14 15:45:27 +02:00
Rokojori d14c46307f Projects BugFix Update 2026-07-14 15:29:53 +02:00
Rokojori 99f6f787ec Projects Udpate 2026-07-14 15:05:04 +02:00
Rokojori 7b9f7a1fb9 electron: desktop app shell — login, JWT auth, header injection, token persistence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 13:31:11 +02:00
Rokojori f08126bd43 CI Follow Up Test 2026-07-13 21:46:48 +02:00
Rokojori aff52e6db9 CI Deployment Test 2026-07-13 21:45:35 +02:00
Rokojori a54d1042cf Deploy Udpate 2026-07-13 21:42:21 +02:00
Rokojori e89a372152 auth: replace local session auth with rokojori-auth JWT integration
Removes express-session, bcryptjs, local user system, login/register pages,
and email module. Adds JWT verification middleware (cookie + Bearer header),
cookie-parser, and redirects login/logout to account.rokojori.com.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-13 14:45:06 +02:00
Rokojori e11a434725 email: add EmailService SMTP layer (Nodemailer, swappable EmailSender interface)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 18:50:04 +02:00
Rokojori 932e570ade chore: update library-ts submodule pointer (outDir fix)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 15:51:21 +02:00
Rokojori 2fa31f83ac fix: move vendor files to source/vendor so they are tracked and built
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 15:38:16 +02:00
Rokojori 3a9b9580a1 fix: move component CSS files to source/components so they are tracked and built
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 15:29:15 +02:00
Rokojori f8723c87ff fix: copy CSS/SVG static assets in build step; fix mkdirSync to use recursive
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 15:20:35 +02:00
Rokojori 0b91bdcc90 refactor: restructure project into source/ and build/; add source/pages/ + copy-pages build step
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 14:01:01 +02:00