trails/packages/gpx/src
Ullrich Schäfer 6ed828ef9c
Fix PostGIS geom population: use parseGpxAsync + raw SQL
The initial approach (#150) didn't work because:
1. routes.server.ts used parseGpx (sync, needs browser DOMParser)
   instead of parseGpxAsync (uses linkedom on Node.js) — GPX parsing
   silently failed, so stats AND geom were never populated
2. Drizzle's customType doesn't pass SQL expressions through toDriver

Fixes:
- Switch to parseGpxAsync for all server-side GPX parsing
- Use db.execute() with raw ST_GeomFromGeoJSON SQL after insert
- Remove unused lineStringFromCoords helper from schema
- Share setGeomFromGpx between routes and activities
- Add unit tests for GPX→GeoJSON coordinate extraction

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 17:32:07 +01:00
..
generate.test.ts Fix planner production server + use .ts extensions everywhere 2026-03-25 01:41:33 +01:00
generate.ts Fix planner production server + use .ts extensions everywhere 2026-03-25 01:41:33 +01:00
geom.test.ts Fix PostGIS geom population: use parseGpxAsync + raw SQL 2026-04-02 17:32:07 +01:00
index.ts Fix planner production server + use .ts extensions everywhere 2026-03-25 01:41:33 +01:00
parse.test.ts Fix planner production server + use .ts extensions everywhere 2026-03-25 01:41:33 +01:00
parse.ts Fix planner production server + use .ts extensions everywhere 2026-03-25 01:41:33 +01:00
types.ts Implement shared packages (tasks 2.1-2.6) 2026-03-22 13:09:35 +01:00