Commit graph

59 commits

Author SHA1 Message Date
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
6070d50a58
Begin process of getting text responses from an LLM. 2026-01-26 20:30:06 +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
b94d09696e
Initial working marker display in shadow dom 2026-01-21 21:07:08 +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
e6e8371742
Switch to pulling data from public reports on search 2026-01-13 18:33:12 +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
4303534396
Add logic for searching for a report and getting the status. 2026-01-09 21:02:30 +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
4ca734cc10
Remove failing bob_test files 2026-01-08 15:44:43 +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
572b8a9de9 Rip apart several new packages for inter-dependence
This will help make it clear what depends on what for rendering html
pages
2026-01-07 16:07:51 +00:00
dc38e87b4c Get project building by fixing automatic tests 2026-01-07 01:49:59 +00:00
39d9f6d258 Properly save audio and image notes when uploaded
Also fix the audio processing pipeline.
2026-01-06 22:23:59 +00:00
53ee020fe0 Always include an organization for every user 2026-01-06 15:06:16 +00:00
8d72e1683a Add missing migration for globalid not null 2026-01-06 02:15:35 +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
6517d50802 Add migration to calculate and store the h3 cell
I'm only doing this for now on the tables we need to return to Nidus,
eventually we'll add them to more tables as we need, probably.
2026-01-05 20:31:56 +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
71419a94d9 WIP move to other machine.
Some stuff I was doing on a plane, not complete.
2026-01-03 11:50:13 -07:00
fc8281dd18 Get rid of geo query stub
I'm not using it, and I wasn't using it in fieldseeker-sync in any
meaningful way either.
2025-12-28 16:47:24 -07:00
1395e3d3ac Remove old FieldSeeker tables, use v2 generated tables.
This requires a bunch of changes since the types on these tables are
much closer to the underlying types of the Fieldseeker data we are
getting back from the API.

I now need to use proper UUID types everywhere, which means I had to
modify the bob gen config to consistently use google UUID, my UUID
library of choice.

I also had to add the organization_id to all the fieldseeker tables
since we rely on them existing for some of our compound queries.

There were some changes to the API type signatures to get things to
build. I may yet regret those.
2025-12-24 17:58:08 -07:00
58f5afccc9 Add partial creation function for note_audio 2025-12-21 08:58:23 -07:00
b92306a8b7 Add script for doing bobgen 2025-12-21 08:42:25 -07:00
9e657ba36a Make goose.sh callable 2025-12-18 03:37:07 -07:00
2d514aac31 Fix up new nidus note migration
Had some copy-paste errors, a simple typo that got replicated, and an
incomplete foreign key reference
2025-12-18 03:35:55 -07:00
8e325b7c77 WIP migration of API from fieldseeker-sync 2025-12-16 16:37:53 +00:00
bd16f69e28
Initially made it through full update with new fieldseeker schema 2025-12-05 23:11:57 +00:00
0904f086b2
Specify the translation to database logic for all the non-zero layers 2025-12-04 14:09:21 +00:00
ab5be998c8
Checkpoint on more dynamically populating tables for fieldseeker 2025-12-04 02:52:01 +00:00
4dc473bc85
Initial working insert of rodentlocation from actual data
There's some things edited by hand, so I need to confirm that I can do
this automatically, but still it's a big step so worth a checkpoint.
2025-12-04 02:18:00 +00:00