Repository navigation
Map dots are now clickable. Clicking a dot opens a popup with that constituent's ID and their assigned CD / SD / AD / BOE under the current active BEF version, so users can audit individual assignments without leaving the map.
Features
- CircleMarkers on the map respond to click events. A Leaflet popup opens at the dot and renders the constituent's districts as a label/value table (CD, SD, AD, BOE).
- Popup handles every state: loading, lookup error (404 → "No person found with id …"), address-found-but-not-yet-geocoded, and partial assignments ("Some districts unavailable.").
- Reuses the existing
/api/person/{id}/districtsendpoint — no new per-person lookup route.
API
GET /map/pointsnow returnsidalongsidelat/lngfor each point (both the filtered-by-district and unfiltered branches), so the frontend can fetch districts on click. Response shape:{ "id": "...", "lat": ..., "lng": ... }.
Fixes
- Pipeline summary:
assignedinrun_assignment()now counts distinct addresses assigned in this run (filtered byassigned_at = now) instead of cumulatively across the whole table. The upload-success banner used to grow over time as old data accumulated; it now reflects the file you just uploaded. - Upload-success message reworded for clarity:
Done — Geocoded: X, In CA districts: Y/X(was:geocoded: X, assigned: Y), making explicit that Y is a subset of X. - Migration: removed a stray trailing comma in a
CREATE TABLEcolumn list (shipped as v0.4.1).
Full changelog: v0.4.0...v0.5.0
Native desktop app deployment
- macOS Apple Silicon:
*-aarch64-apple-darwin*.dmg - Windows x64:
*.msi
Important note: These builds are unsigned.
macOS — if the app appears "damaged" and can't be opened:
macOS quarantines downloads from the internet, and Gatekeeper
blocks unsigned apps on Apple Silicon with a misleading "damaged"
message. After dragging the app to Applications, open Terminal
and run:
xattr -dr com.apple.quarantine "/Applications/California District Mapper.app"Then launch the app normally. You only need to do this once per install.
Windows — SmartScreen warning: click More info → Run anyway.