2.9 KiB
2.9 KiB
Session: 2026-06-17 — Cleanup, Phase 1 (web client), dev account
Goal
Lean the workspace down, then deliver Phase 1 (worker timing) as something testable fast.
Work done
- Removed ngrok (
@expo/ngrok+ 40 binaries) — IT-flagged tunneling tool from Expo. (3f2c5f0) - Full cleanup (workflow) — deleted the legacy Create export:
apps/mobile,apps/web,publisher/,previous work.md,.easignore,.eslintignore,.yarn/patches/, and the mobile-only rootresolutions/eslint devDeps. Port-worthy knowledge extracted first todocs/reference/(legacy-mobile-app / legacy-backend / legacy-lessons-and-gotchas). CLAUDE.md + roadmap updated for the single-backend repo. (c720865,64f8b2f,384797d) - Trimmed obsolete
.yarnrc.ymllogFilters — surfaced a real drizzle/better-auth peer-version skew (tracked as SL-9, non-blocking). (4e9a966) - Phase 1 (workflow, after pivoting the client off Expo — see below):
- Backend (
apps/api): domain tablesactivities+work_sessions(migration 0001), zod contracts in@solelog/shared, user-scoped routes — activities CRUD, sessions start/stop/discard, history, active-recovery, CSV export, seed, CORS. (5780998→35f9aa5) - Worker client (
apps/worker): fresh Vite + React + TS PWA (NO Expo), bearer-token auth, Dutch Stopwatch / Geschiedenis / Instellingen on the API. (3511fd8→bd8e8af) - CORS + trusted origins now from
CORS_ORIGINSenv (phone testing = config-only). (34c48d6) - Dev login seeded by
db:seed:worker@solelog.local/werkplaats123(dev-only). (ec2bb7e)
- Backend (
Key decision — client is a web app, NOT Expo
Maintainer prefers a non-Expo client (Expo brought ngrok + baggage). Built a Vite+React PWA instead.
Saved as memory client-web-not-expo. The first Phase 1 workflow (Expo) was stopped after its plan
commit (27ae674); relaunched on the web track.
Current state — TESTABLE
apps/=api+workeronly. Working tree clean.- Verified: API 37 tests + typecheck green; worker 24 tests + typecheck +
vite buildgreen; live end-to-end round-trip (auth → activities → start/stop session → history → CSV) all pass. - Run it: terminal 1
yarn workspace @solelog/api db:migrate; db:seed; start(:3000); terminal 2yarn workspace @solelog/worker dev(:5173). Log in with the dev account above.
Plane
- SL-10 Phase 1 (+ SL-11 backend, SL-12 worker client) → Done.
- SL-9 drizzle/better-auth peer mismatch → open (non-blocking).
Known non-blocking items
- Set a real
BETTER_AUTH_SECRETbefore any deploy (Phase 5). - Activities are global until per-user/role scoping in Phase 2.
- CSV uses host timezone (carried from legacy).
Next
Phase 2 — Accounts & roles: worker/admin roles, admin-creates-users, per-user data scoping.
(Its own spec → plan → build cycle. Roadmap: docs/roadmap.md §9.)