Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: mapper frontend using ElectricSQL ShapeStream (live updates) (#…
…1760) * feat: first init of basic svelte app for mapper experience * build: update hotosm/ui and sveltekit deps * feat: project route with project data on load * build: use pg logical replication, add electric sync layer * refactor: replace adapter-static with dyanamic routes * build: update frontend deps, add electric + pglite * feat: add test electric-sql modal and page * build: migration to update task_history.id --> UUID (event_id) * refactor(backend): update sqlalchemy models to use task_history uuid * build: remove DEFAULT value from task_history.action_date * build: ensure sql migration scripts are ran in order * build: fix base schema task_history.event_id as primary key * build: remove foreign keys from task_history for electric support * build: default two retry for migration container * refactor: remove foreign key relations from DbTaskHistory model sqlalchemy * build: add compose service for generating electric migrations * build: add missed justfile for build commands * build: add openssl to debug dockerfile for electric migrations * refactor: refactor task history endpoints to use event_id * build: add npm script for electric migrations * refactor: update frontend models to use event_id * ci: add mapper migrations to ignored prettier * ci: ignore mapper migrations codespell * build: replace electric js migrations with latest * refactor: move ts migrations under svelte lib dir * feat: load electric in via svelte data, split history/comments live query * refactor: remove task_history sqlalchemy model relationship * fix: task history routes * ci: add pnpm-store and node_modules to ignore files * ci: manually specify svelte plugin on format script * build: add svelte-maplibre, unocss, turf * build: configure unocss * ci: remove parser override for svelte * feat: maplibre based mapping app start * feat: start to add styling and electric-sql usage * refactor: update task history string to include task id & username * fix: remove action_text string manipulation for task history * feat: working first version of reactive map colouring * build: add pako dependency for zlib encoding * style: add qr-code icon for buttons * feat: basic task history page, qrcode page * feat: add missed lib files from mapper frontend * feat: add missed lib files from mapper frontend * feat: highlight tasks for selected task id * feat: start adding an popup task action button to map * build: remove electric migrations from repo (generated dynamically) * build: electric service requires migrations to run first * build: startup order, ignore migrations from repo * build: use electric-next simplified app * build: use latest electric-next frontend deps + drizzle orm * refactor: replace init-electric with init-db for PGLite * feat: redesign app to use latest electric-next, restructure routes * build: add mapper app as docker compose service behind proxy * build: cleanup schema migrations (bigint removed, dup task fields) * build: also remove redundant task fields no longer used * refactor: update project get logic to use raw SQL * fix: fix task_history insert and read logic/endpoints * fix: flaky splitting on action_text no longer required * feat(mapper): add buttons to map, finish, reset a task * build: fix migration dropping task history foreign keys * build: archive migrations already pushed through, reset numbering * build: rename reset migration to apply again * build: add missing custom_tms_url to base schema * build: add migration to standardise date fields [field]_at * build: revert rename of _migrations.date_executed due to catch-22 * build: wait for migrations before electric starts * build: update migration to change all timestamps to with timezone * refactor: use raw sql to get project, including current task status * build: remove task_type_prefix from task model (migration) * docs: update comment on task-events migration for clarity * refactor: add WKBElement --> geojson conversion back for proj create * fix(backend): correctly add locked by uid and username to tasks * fix: correctly display warning on empty odk_token * fix: get project details only during create/gen files * build: move submission photo migration revert to correct dir * refactor: rename th --> latest_th in sql for clarity * fix: ignore comments when getting latest task action * fix: fix task comment post endpoint * build: update electric versions + +svelte + svelte-maplibre * docs: update info about mapper frontend in readme * docs: add info about running mapper frontend in local dev * fix: correctly loading user id into mapper page * fix: load task areas on mapper page load, use TaskAction enum * build: comment out debugging symlink to @hotosm/ui * refactor: @hotosm/ui dist updated upstream * build: update @hotosm/ui --> 0.2.0b5 * build: archive migrations unrelated to this branch * fix(backend): remove references to removed 'xforms' db table * fix(backend): use raw sql for remainder of project creation * docs: add comment for logic
- Loading branch information