Skip to content

feat(frontend): scaffold for frontend with complimentary backend changes#168

Merged
yyovil merged 2 commits into
aoagents:mainfrom
yyovil:feat/electron-renderer
Jun 10, 2026
Merged

feat(frontend): scaffold for frontend with complimentary backend changes#168
yyovil merged 2 commits into
aoagents:mainfrom
yyovil:feat/electron-renderer

Conversation

@yyovil

@yyovil yyovil commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

What

Rebuilds the Electron desktop frontend as a full React 19 + TypeScript renderer (Vite + electron-forge), replacing the skeleton frontend. This is a clean extraction of @ashish921998's work from #156 — rebased onto current main, without the Prettier mass-reformat / husky tooling that made that PR hard to review.

Stack

Layer Choice
Shell Electron + child_process daemon supervision (electron-forge)
UI React 19 + TypeScript renderer (Vite, contextBridge preload)
Routing TanStack Router (file-system routes; hash history for the app:// renderer)
Data TanStack Query + EventTransport — CDC SSE on /api/v1/events
API types openapi-typescript + openapi-fetch off openapi.yaml
Styling Tailwind + shadcn/ui
Layout react-resizable-panels, sizes persisted to Zustand
Terminal @xterm/xterm per-session PTY over /mux WebSocket + WebGL addon
Packaging electron-forge + update-electron-app auto-updater
Testing Vitest + RTL · Playwright

Backend additions

  • cors.go — allowlist-only CORS middleware, never * or null; handles Private Network Access preflight for the app:// renderer → loopback daemon
  • session.TerminalHandleID exposed in domain + OpenAPI spec (+ controller tests)
  • project.Path added to OpenAPI spec, service, store, and tests

Design

DESIGN.md is the source of truth for the emdash-matched dark UI (tokens, blue accent, status glyph spec, orchestrator-led layout).

Notes

  • Single squashed commit on top of current main; landing site untouched; backend builds + go vet clean.
  • All renderer implementation by @ashish921998 — this is a clean rebase of his work.

🤖 Generated with Claude Code

Replaces the skeleton Electron frontend with a full React 19 + TypeScript
renderer (Vite, electron-forge, contextBridge preload), plus the backend
additions it needs.

Renderer:
- TanStack Query + EventTransport (CDC SSE on /api/v1/events)
- TanStack Router file-system routing (hash history for the file:// origin)
- Tailwind + shadcn/ui, react-resizable-panels, Zustand UI state
- @xterm/xterm per-session PTY over /mux WebSocket + WebGL addon
- openapi-typescript + openapi-fetch types off openapi.yaml
- electron-forge packaging + update-electron-app auto-updater
- Vitest + RTL · Playwright

Backend:
- cors.go — allowlist-only CORS, handles Private Network Access preflight
  for app:// renderer -> loopback daemon
- session.TerminalHandleID exposed in domain + OpenAPI spec
- project.Path added to OpenAPI spec, service, store, and tests

DESIGN.md documents the emdash-matched dark UI (tokens, blue accent, status
glyph spec, orchestrator-led layout).

Co-authored-by: Ashish Huddar <ashish.hudar@gmail.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: b1e334c1e54a

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yyovil has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yyovil has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@ashish921998 ashish921998 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how come this 21k plus lines of change?

@yyovil

yyovil commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator Author

how come this 21k plus lines of change?

you can find info on this in the commit: 30ef140

tldr: I did some migrations related to packing stuff and tanstack router strategy we had in PR #156

@yyovil yyovil requested a review from ashish921998 June 10, 2026 05:41
@yyovil yyovil changed the title feat(frontend): rebuild Electron desktop UI as a React + Vite renderer feat(frontend): scaffold for frontend with complimentary backend changes Jun 10, 2026
@yyovil yyovil merged commit c2c4404 into aoagents:main Jun 10, 2026
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