Convert recovered frontend to maintained Vue components #23

Closed
opened 2026-09-23 01:00:36 +02:00 by rexlManu · 7 comments
Owner

Convert the desktop frontend into a separate Vue 3/Vite workspace app with normal named Vue SFCs, typed stores and a normal runtime. Preserve all current screens, overlay, capture/network/death tracking, history and account behavior. Replace recovered UI incrementally with focused parity checks. Do not call wrappers or compiled render functions fully converted. Keep the running app and installed release unchanged. Track remaining routes and runtime work in WORKFLOW.md and a frontend migration document.

Convert the desktop frontend into a separate Vue 3/Vite workspace app with normal named Vue SFCs, typed stores and a normal runtime. Preserve all current screens, overlay, capture/network/death tracking, history and account behavior. Replace recovered UI incrementally with focused parity checks. Do not call wrappers or compiled render functions fully converted. Keep the running app and installed release unchanged. Track remaining routes and runtime work in WORKFLOW.md and a frontend migration document.
Author
Owner

Frontend conversion is active. Added the apps/frontend Vite package and typed Vue components under shared UI and feature folders. Replaced the embedded Vue runtime with Vue 3.5.13. All 20 route comparisons, workspace tests, typechecks, death behavior and session parity passed for the first conversion. Router/Pinia extraction and utility page conversion are next. Recovered routes remain clearly separate; this is not yet a complete SFC conversion.

Frontend conversion is active. Added the apps/frontend Vite package and typed Vue components under shared UI and feature folders. Replaced the embedded Vue runtime with Vue 3.5.13. All 20 route comparisons, workspace tests, typechecks, death behavior and session parity passed for the first conversion. Router/Pinia extraction and utility page conversion are next. Recovered routes remain clearly separate; this is not yet a complete SFC conversion.
Author
Owner

Pushed first checked conversion: d52f087 (d52f087). The dedicated frontend uses standard Vue, Vue Router and Pinia, with shared UI, feature and page folders. Build, all 20 route comparisons, workspace tests/typechecks, session/death checks and capture/network settings checks passed. Continuing with shared Button/Select and Preferences/Performance pages. Issue stays in progress; dashboard/history/overlay and application setup remain recovered.

Pushed first checked conversion: d52f087 (https://git.it-lampe.de/rexlManu/garmith-app/commit/d52f087). The dedicated frontend uses standard Vue, Vue Router and Pinia, with shared UI, feature and page folders. Build, all 20 route comparisons, workspace tests/typechecks, session/death checks and capture/network settings checks passed. Continuing with shared Button/Select and Preferences/Performance pages. Issue stays in progress; dashboard/history/overlay and application setup remain recovered.
Author
Owner

Second checked stage pushed: 15c6039. Added normal Vue shared controls, layout, account/diagnostic/server-buff settings, utility/preferences/performance pages, and session history/detail pages. Frontend now owns HTML and public assets. Passed typechecks, build, packaged reference/assets, 20 routes, Select/Input/Button interaction checks, account, deaths and sessions. One earlier About route run returned to Dashboard; two later runs passed, recorded in docs/frontend-migration.md for the remaining router work. Continuing dashboard, onboarding and game capture.

Second checked stage pushed: 15c6039. Added normal Vue shared controls, layout, account/diagnostic/server-buff settings, utility/preferences/performance pages, and session history/detail pages. Frontend now owns HTML and public assets. Passed typechecks, build, packaged reference/assets, 20 routes, Select/Input/Button interaction checks, account, deaths and sessions. One earlier About route run returned to Dashboard; two later runs passed, recorded in docs/frontend-migration.md for the remaining router work. Continuing dashboard, onboarding and game capture.
Author
Owner

Third stage pushed: 21dd7c0. All screen/widget templates now use Vue SFCs, including dashboard, sessions/dialogs, goals, capture/onboarding, overlay/mirror/crop, timeline, updates, surveys and errors. Passed typechecks/build, 20 routes, generated capture/OCR, updates, deaths, sessions, Stop, capture/network settings and packaged reference/assets. Mirror nested-proxy save defect fixed with a focused test. Next: clean Vue startup/router, typed submission controller, source CSS/Tailwind. Issue remains in progress.

Third stage pushed: 21dd7c0. All screen/widget templates now use Vue SFCs, including dashboard, sessions/dialogs, goals, capture/onboarding, overlay/mirror/crop, timeline, updates, surveys and errors. Passed typechecks/build, 20 routes, generated capture/OCR, updates, deaths, sessions, Stop, capture/network settings and packaged reference/assets. Mirror nested-proxy save defect fixed with a focused test. Next: clean Vue startup/router, typed submission controller, source CSS/Tailwind. Issue remains in progress.
Author
Owner

Pushed 236dccb: frontend owns normal Vue startup/router, Unhead, Tailwind/scoped source styles and typed session submission. Removed embedded startup and obsolete CSS bundles. All 20 route comparisons, routing gates/error recovery, typecheck, workspace tests, 10 frontend tests, controls, session/death/update checks and packaged reference checks pass. Computed-style comparison: 69 elements across dashboard/settings/overlay, 19 properties, zero differences. Temporary profiles only; no installed app, live BDO or Windows validation. Remaining recovered service/store bindings and view-controller computations are still in progress.

Pushed 236dccb: frontend owns normal Vue startup/router, Unhead, Tailwind/scoped source styles and typed session submission. Removed embedded startup and obsolete CSS bundles. All 20 route comparisons, routing gates/error recovery, typecheck, workspace tests, 10 frontend tests, controls, session/death/update checks and packaged reference checks pass. Computed-style comparison: 69 elements across dashboard/settings/overlay, 19 properties, zero differences. Temporary profiles only; no installed app, live BDO or Windows validation. Remaining recovered service/store bindings and view-controller computations are still in progress.
Author
Owner

Pushed a516079: typed session-card calculations and crystal-loss rows, four named frontend Pinia factories, and existing typed summary/timeline helpers replace duplicate recovered functions. Session dialog files now contain only component adapters/assets. Workspace typecheck/tests, build, routing, session recovery, death integration and packaged reference checks pass; 16 frontend tests pass. AGENTS.md and WORKFLOW.md updated. Issue remains in progress for central service registry, remaining store bindings and compatibility component adapters. Installed app unchanged.

Pushed a516079: typed session-card calculations and crystal-loss rows, four named frontend Pinia factories, and existing typed summary/timeline helpers replace duplicate recovered functions. Session dialog files now contain only component adapters/assets. Workspace typecheck/tests, build, routing, session recovery, death integration and packaged reference checks pass; 16 frontend tests pass. AGENTS.md and WORKFLOW.md updated. Issue remains in progress for central service registry, remaining store bindings and compatibility component adapters. Installed app unchanged.
Author
Owner

Completed in 4f3f6e9: 4f3f6e9 . Removed apps/tracker and all production recovered frontend bindings. Maintained Vue routes/containers, typed Pinia bindings, service composition and styles now live in apps/frontend. Moved frozen-reference tests beside frontend tests. Passed workspace typechecks/tests, 173 frontend tests, build, all 20 route comparisons, setup/error/routing and browser-only OBS, controls, sessions/recovery, Stop, deaths, capture diagnostics/settings, network settings/synthetic packet pipeline, offline account/update contracts, generated English/German capture/OCR and packaged source-map/reference checks. Fixed setup lazy-route startup deadlock and browser OBS desktop initialization found by checks. User confirmed previous pnpm dev appearance. No installed app or real account changes; Windows gameplay and live detection accuracy remain separate. WORKFLOW.md, AGENTS.md and migration docs updated.

Completed in 4f3f6e9: https://git.it-lampe.de/rexlManu/garmith-app/commit/4f3f6e9 . Removed apps/tracker and all production recovered frontend bindings. Maintained Vue routes/containers, typed Pinia bindings, service composition and styles now live in apps/frontend. Moved frozen-reference tests beside frontend tests. Passed workspace typechecks/tests, 173 frontend tests, build, all 20 route comparisons, setup/error/routing and browser-only OBS, controls, sessions/recovery, Stop, deaths, capture diagnostics/settings, network settings/synthetic packet pipeline, offline account/update contracts, generated English/German capture/OCR and packaged source-map/reference checks. Fixed setup lazy-route startup deadlock and browser OBS desktop initialization found by checks. User confirmed previous pnpm dev appearance. No installed app or real account changes; Windows gameplay and live detection accuracy remain separate. WORKFLOW.md, AGENTS.md and migration docs updated.
rexlManu 2026-09-23 03:51:20 +02:00
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
rexlManu/garmith-app#23
No description provided.