7ea66dc02e
Add user account roles
2026-02-18 07:03:32 +00:00
5a7c9fd090
Move data out of import.district and in to organization
...
Then get the organization settings page to work again.
Tons of other stuff is broken now.
2026-02-17 05:33:12 +00:00
a65f1e0776
Fix up attaching errors to rows
2026-02-16 17:59:18 +00:00
ef569aef18
Save tags on pool rows, show errors in summary table
2026-02-16 16:38:04 +00:00
f859e372c6
Fill in correct data about the district
2026-02-16 15:26:41 +00:00
a1cc2dbaff
Add district setting page and display of district boundary
2026-02-16 15:03:26 +00:00
2bc0e18b9e
Actually finish uploaded files
2026-02-14 05:40:27 +00:00
bdd862e649
Show actual information on oauth integration setting page
2026-02-13 21:14:46 +00:00
e40fe55eaf
Modify email subscription table to drop district ID
...
I don't have time to work out all the behavior, this is just to get to
where I can release
2026-02-10 05:12:42 +00:00
d93cdbef41
Drop district_id from subscriptions
2026-02-10 04:59:27 +00:00
b25daf12fa
Add table for holding subscriptions from users
2026-02-10 04:31:57 +00:00
d06b8f7949
Add mode data to pool upload rows, move to fileupload schema
...
This allows users to review the data before committing it to the
database
2026-02-09 19:03:27 +00:00
135ad2b73e
Do file upload, show list of uploads, do initial processing.
2026-02-09 18:25:44 +00:00
f9c8f37cec
Add organization to file upload
...
So everyone in the org can see it.
2026-02-08 05:00:14 +00:00
6716bc68c9
Make file uploads of CSV actually save to disk
2026-02-08 01:44:44 +00:00
57191fa222
Alter report submission page to request reporter name and consent
...
This also adds the new mechanism for handling notifications on reports
2026-02-06 15:39:49 +00:00
9328e7a2f8
Properly record and display pool reports
2026-02-05 21:43:29 +00:00
5fc0f9fa3d
Update storage and display of nuisance report
2026-02-05 16:56:36 +00:00
9d7ca81508
Make 'view in browser' on emails work correctly
2026-02-02 19:34:37 +00:00
d28e3e2ccc
Re-add missing Geom4326 column
...
I removed it on accident when I destroyed the entire database and forgot
it has to be created by hand.
2026-01-31 22:28:17 +00:00
527f6a5628
Store images with nuisance reports
2026-01-31 22:14:46 +00:00
a9b0a55f20
Create report platform layer
...
Rework phone subscription at the database layer so that we have a
seprate phone status and subscriptions to district communications.
2026-01-31 20:08:08 +00:00
bf8c4ca6da
Prune data layer on nuisance report
...
After this, we can successfully POST the report.
2026-01-31 16:14:19 +00:00
1fbe41b725
Clean out a bunch of unused nuisance report fields
...
Feedback had us simplify the form significantly
2026-01-31 15:39:14 +00:00
981f444609
Add support for continuing background text jobs on subscription
2026-01-29 22:20:03 +00:00
a68b8781e7
Add ability to make LLM agent forget the conversation history
...
This is extremely useful for testing.
In order to do this I needed to actually deploy the migration to a bob
fork so I could start to add support for behaviors I really want.
Specifically the ability to search for ids in a slice.
2026-01-27 18:44:02 +00:00
b8e7b9b7fd
Working LLM responses and Twilio status tracking
...
The responses aren't good, but they do exist.
2026-01-27 14:29:55 +00:00
e8e840ec44
Make username unique, make is_subscribed nullable
2026-01-26 21:11:31 +00:00
adc99e8871
Add ability to delay text message sending
2026-01-26 16:10:30 +00:00
c0b6398de2
Overhaul text messaging system to be like emails
...
It's a better system for organization and makes it so we can have better
logs about what gets sent.
2026-01-25 18:47:22 +00:00
f549243c10
Render organization logos by 'slug'
...
This avoids leaking org IDs in the URL, and makes it possible to have a
district-specific root mock that works in both dev and prod.
2026-01-24 19:13:55 +00:00
196792810b
Overhaul email sending system
...
Add logging and saving templates to the database for historical
accuracy.
2026-01-23 20:36:16 +00:00
61d8d14fc2
Bunch of work around assigning reports to districts
...
I added some DB schema to track logos and to relate reports to
organizations. I reworked how GPS data comes from EXIF data on images
because it wasn't working for JPEGs. I might have broken PNGs in the
process. Also made the config options for domain names more
standardized.
2026-01-22 03:27:32 +00:00
f4a88623af
Overhaul system for handling text messaging
...
Move away from "SMS" as the operative word - we're going RCS.
Move all comms processing to a separate goroutine
Rename the DB tables
2026-01-21 03:30:03 +00:00
842e6cff43
Move comms work to background goroutine
...
This is a sort of random checkpoint of work
* add schema for tracking messages sent to DB
* add terms of service and privacy policy for RCS compliance
* standardize some things about background workers
* update some missing stuff from generated DB code
2026-01-20 17:10:22 +00:00
079d20c086
Extract EXIF data from images
...
This required a schema change and actually dumps all existing photo data
from the public reports page. That's probably fine since it's not
deployed to any customers so all data is currently test data.
2026-01-16 20:16:58 +00:00
684c424131
Move imported districts to its own schema, add ref from organization
...
This will make it possible to assign reports to an organization
2026-01-16 14:43:26 +00:00
948f967a16
Add aggregation map for traps
...
This also makes the first time I've done a Mapbox map within a web
component. It's not officially supported according to:
https://github.com/mapbox/mapbox-gl-js/issues/12796
but I found a codepen that had a working example:
https://codepen.io/keichan34/pen/ZEKqeEj?editors=1111
2026-01-15 20:25:00 +00:00
06140a9062
Remove bob submodule, add arcgis.user
...
I had to remove the submodule because of the go bug at
https://github.com/golang/go/issues/77196
I found the bug because of a bug in bob itself
https://github.com/stephenafamo/bob/issues/610
This was because I'm trying to save data about the Arcgis user for use
in determining if I can set up hooks to avoid the polling for data
changes.
2026-01-15 19:20:39 +00:00
a4c0e367a8
Make organization.name not-nullable, consolidate org in dash context
2026-01-14 21:50:47 +00:00
00fd676adc
Add district table for california districts.
2026-01-13 19:47:19 +00:00
e18ce6a09e
Make fieldseeker tables key on globalid, version
...
This is because the objectid is not unique between organizations.
2026-01-13 04:16:24 +00:00
01ed2d6086
Finish green pool report submission
...
Also start the pattern of breaking out pool pages together in their own
file. I think its easier to read this way.
2026-01-09 19:43:19 +00:00
fc10e3e95d
Make it possible to submit nuisance reports
2026-01-08 17:48:43 +00:00
d377d9a7d2
Stop generating bob test files
...
They just slow things down.
2026-01-08 15:46:51 +00:00
b35c9496b6
Add the ability to register for updates on quick reports
...
At this point it also appears that I'm correctly capturing the GPS
location as both PostGIS data and as an H3 cell.
2026-01-08 15:34:48 +00:00
3c8436fe10
Begin the process of saving quick reports
2026-01-08 15:00:30 +00:00
53ee020fe0
Always include an organization for every user
2026-01-06 15:06:16 +00:00
b542b8268e
Add precalc h3 cells to fieldseeker tables
...
This makes it so we don't have to try to parse the geometry JSON and
instead can just pass pre-calculated h3 values, which take fewer bytes,
everywhere.
2026-01-05 23:25:16 +00:00
1aefca2f5d
Make GlobalID required for all Fieldseeker tables
...
I'm pretty sure it has to be there, and it allows me to clean up my
code.
2026-01-05 02:28:28 +00:00