66e122f7e7
Fix notification counts being off
...
Double-counting water
2026-03-14 16:12:52 +00:00
1a9a72adc0
Create district catch-all, make organization on public reports not null
2026-03-14 15:53:16 +00:00
b29d172030
Add better support for extracting address from reverse geocode results
...
Stadia's API sucks. They don't really tell you what their response will
be in detail, just claim they are all the same, but they're not. Not
even a little.
2026-03-14 01:51:02 +00:00
e2af49a323
Make lead creation and invalidation for public reports work
...
The only thing wrong at this point that I can tell is that address
aren't being correctly populated when I reverse geocode.
2026-03-14 01:14:30 +00:00
3e1b56a266
Add notification count to user, populate sidebar via alpine
2026-03-13 21:22:34 +00:00
6fb964852f
Allow sudo to send structured SSEs
2026-03-13 18:31:43 +00:00
4925fe4857
Close old SSE connections, push down type strings
2026-03-13 18:21:20 +00:00
e8d865d0ab
Wire up events for creating new public reports
...
This involved moving a lot of stuff to the platform layer since I don't
want event interfaces leaking out.
Also this includes a fix to the user authentication which I had
previously broken by making a platform-layer user object independent of
the database layer.
2026-03-13 17:56:24 +00:00
44c4f17f32
Massive rework of platform layer user/organization
...
The goal of this rework is to make it so I can pass around platform.User
instead of a pair of models.Organization and models.User. This is useful
for reason I kind of forget now, but it started with working on
notifications and ballooned massively from there into refactoring a
number of things that were bugging me.
This also includes a tiny amount of work on server-side events (SSE).
* background stuff lives inside the platform now, which I need for
having it push updates through SSE
* userfile now lives in the platform, under file, so other platform
functions can safely use it
* oauth is broken into pieces and inside platform because other stuff
was calling it already, but badly.
* notifications go into the platform as well
2026-03-12 23:49:16 +00:00
e09c412139
Make it possible to handle null reporter_contact_consent
2026-03-11 23:00:06 +00:00
182fd7d229
Fix quoting in insertFlyover
...
I didn't know I could do this when I wrote it.
2026-03-11 22:54:22 +00:00
3ccc05d4c5
Save tiles to the database to make empty tile load faster
2026-03-11 17:01:47 +00:00
3743d63692
Add proxy for managing tiles
2026-03-11 14:28:59 +00:00
741b60485c
Add some files I missed in earlier commits
2026-03-09 23:26:44 +00:00
ce6c6c1cc1
Initial render of standing water reports from the public
2026-03-09 22:59:21 +00:00
f6ce5f91a2
Match up distance from reporter in UI and API
2026-03-09 22:18:24 +00:00
93d767c9d6
Reference new distance from report for photos
2026-03-09 22:10:15 +00:00
4cd0e05996
Add distance from report to image data
2026-03-09 22:09:35 +00:00
1be8c24235
Serialize EXIF data for images
2026-03-09 19:24:02 +00:00
7c98a52133
Provide time-of-day as fully expanded in JSON
2026-03-09 19:23:34 +00:00
d1f542efe9
Fix image entities getting passed to frontend
2026-03-09 19:09:59 +00:00
d2eecdef90
Create address records from nuisance report data if provided
2026-03-09 19:09:42 +00:00
66beb30d93
Properly encode lat/lng on location
2026-03-09 18:29:03 +00:00
e932c2c473
Rework publicreport addressing
...
This adds the ability to link a proper address in the database to the
report and harmonizes the field names with the address table. It also
migrates away from mapbox entirely.
And I fixed the "pool" naming for the publicreports, which are supposed
to be the more generic 'water'.
2026-03-09 18:02:22 +00:00
884634a2d7
Split apart comms logic into platform-lever funcs
2026-03-09 15:03:01 +00:00
e1bcbf79b1
Add tile cache and relationship to organization map layer
2026-03-06 21:13:32 +00:00
4494bd97cf
Rename address.geom to address.location
...
It's a better name.
2026-03-06 19:46:41 +00:00
3bc5b1c945
Add missing organization links in pool commit logic
2026-03-06 19:00:47 +00:00
527e82031e
Remove a bunch of generated bob, add feature and review tasks
2026-03-06 18:56:30 +00:00
1a22b9233d
Get much more data about signals to send to the planning dash
2026-03-05 03:17:45 +00:00
78a35e5d1f
Make parcels attached to addresses optional
2026-03-05 02:30:12 +00:00
5fa4be483b
Move uploads to 'committing' when we start comitting them
2026-03-05 02:24:51 +00:00
9345412f73
Make it possible to fail to find parcels for an address
2026-03-05 02:24:10 +00:00
dcafb14238
Fix reference to number column in address
2026-03-05 02:21:13 +00:00
31c6bf3a64
Make sure to commit the transaction when committing the CSV
2026-03-05 02:20:45 +00:00
eb03cb5857
Initialize stadia maps client on startup
2026-03-05 02:14:24 +00:00
60344e3c30
Relate compliance report requests through leads
2026-03-05 01:22:21 +00:00
a28377d8f8
Fix outside district count
2026-03-04 22:04:22 +00:00
9c3d2ba3df
Remove organization from fileupload.pool table, fix in district logic
2026-03-04 20:59:57 +00:00
8e00d3e04b
Fix setting the file to "parsed" when starting parse job
2026-03-04 19:27:33 +00:00
daa8cb1748
Push geocoding down a layer
...
This makes it possible to always save address information from our
geocoder.
2026-03-04 18:29:52 +00:00
6a5a59f8b8
Merge aerial flyover and pool CSV row datatypes
...
They are extremely similar, having both was just extra work.
2026-03-04 14:52:34 +00:00
ff2ec0ad14
Split out ability to upload flyover data from pool uploads
...
Tons of changes here, all in the name of quickly getting to where I can
create test compliance letters.
2026-03-02 18:49:02 +00:00
89eda187be
Get map images working
2026-03-01 20:33:16 +00:00
7def74d2c3
Fix parsing envelope out of the database
2026-02-28 23:27:13 +00:00
985a2ab186
Add new platform functions for image tile and parcel
2026-02-28 23:16:43 +00:00
2bb4a134b2
Add centroid information when geocoding
...
I would use the boundary rect, but I'm getting a 500-level error from
stadia maps
2026-02-25 16:08:32 +00:00
8feabbc489
Add bulk geocoding by goroutine worker
...
This is nearly as fast, and doesn't require the corp-only license from
stadia map which is 10x the cost.
2026-02-25 14:57:28 +00:00
d375105de4
Remove chatty debug log line
2026-02-24 20:34:56 +00:00
4e8cb0568e
Translate "empty" as "dry" in pool conditions
2026-02-24 20:34:46 +00:00