Commit graph

82 commits

Author SHA1 Message Date
b7d26d5ad7
Only log every route if we have VERBOSE enabled 2026-04-17 19:39:10 +00:00
9601b88b41
Fix breaking the API routing
Ordering matters when you have a catch-all for the SPA
2026-04-07 15:42:48 +00:00
bfecae7d61
Add district resource and an API to RMO
We're going to need an API for the single-page frontend
2026-04-03 18:17:19 +00:00
6c311c76e3
Initial draft of shifting from chi to gorilla/mux 2026-04-01 16:19:11 +00:00
31a767c944
Improve capture of shutdown error 2026-03-19 21:20:20 +00:00
2538638c9d
Create generic backend process, fix background interdependencies
This refactor was born out of the inter-dependency cycles developing
between the "background" module and just about every other module which
was caused by the background module becoming a dependency of every
module that needed to background work and the fact that the background
module was also supposedly responsible for the logic for processing
those tasks.

Instead the "background" module is now very, very shallow and relies
entirely on the Postgres NOTIFY logic for triggering jobs. There's a new
table, `job` which holds just a type and single row ID.

All told, this means that jobs can be added to the queue as part of the
API-level or platform-level transaction, ensuring atomicity, and
processing coordination is handled by the platform module, which can
depend on anything.
2026-03-16 19:52:29 +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
5af93abbb9
Disable sentry debug for now
It's littering my log output
2026-03-09 19:09:07 +00:00
e33bce7436
Add debugging around staging environment not acting like prod 2026-03-05 19:17:16 +00:00
eb03cb5857
Initialize stadia maps client on startup 2026-03-05 02:14:24 +00:00
dac52a879a
Move all sync pages to authenticatedHandler
Still need to fix many templates
2026-02-24 15:34:53 +00:00
ee7dc1dd08
Add caching headers for production, fix css for RMO 2026-02-17 22:27:51 +00:00
58da733531
Save startup time to avoid double-sending static content 2026-02-17 22:05:47 +00:00
8932f46900
Fix bug where I stopped initiating the background processes 2026-02-13 21:46:20 +00:00
b654198e3f
Simplify log output on startup 2026-02-13 21:15:09 +00:00
62c724b5c2
Update to latest arcgis-go interfacets 2026-02-13 19:19:39 +00:00
8e68230f4a
Handle changes to arcgis-go 2026-02-12 21:05:51 +00:00
648e0ee567
Move emails to platform, make sure to create phone and email in DB 2026-02-10 04:07:59 +00:00
fe53a6ca2c
Create upload directories on startup 2026-02-09 21:51:57 +00:00
443a13afcf
Add flag for testing embedded file system 2026-02-09 21:39:47 +00:00
0265e9d3ec
Rework template system, merge templates
The embedded portion doesn't work yet.
2026-02-07 05:53:38 +00:00
87893363e5
Remove redundant request logging 2026-01-30 16:34:58 +00:00
e7681c7d6e
Change public-report to rmo
We're leaning into the branding and shorter directory names
2026-01-29 23:59:35 +00:00
9047fbb3ee
Reduce sentry debug messages in the console log
It's distracting and not useful.
2026-01-29 22:28:12 +00:00
d9ccdd41b2
Add basic support for sentry 2026-01-29 15:48:15 +00:00
9914274d42
Wire in agent to the reporter texting system
Also rework the so the platform absorbs all the business logic that was
going in the wrong place.
2026-01-27 19:56:26 +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
407b478637
Fold more text logic into the platform
Because it is better at managing the database, the comms/text package
will just be for integration.
2026-01-26 21:21:21 +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
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
462febe1d7 Actually upload something on quick report page
We aren't handling it yet, but we do get the upload.
2026-01-07 22:35:28 +00:00
9774452821 Switch main report page to better example
This is still pulling from our generic district mock, but it's still
better than what we had. This also includes adding static content
hosting for the bootstrap content on the public domain.
2026-01-07 20:47:55 +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
4c23eba5d7 Move html pages to a package
That way I can separate out HTML for the public-facing report system and
Nidus sync.
2026-01-07 15:34:09 +00:00
bf4c5d5c71 Add support for additional report domain
This will allow us to use a different URL for doing public outreach,
which is nice for everybody.
2026-01-07 15:08:29 +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
4d02357671 Preload org from user
We need this to avoid a nil dereference when querying by org.
2026-01-06 16:21:59 +00:00
8e325b7c77 WIP migration of API from fieldseeker-sync 2025-12-16 16:37:53 +00:00
14887722a0
Add debug endpoints for SMS POST webhook
This gets me data in the log, which actually has content.
2025-12-12 22:17:40 +00:00
13fcfffcd6
Add debugging endpoints for SMS hooks
These work, barely, I'm not getting any of the data I wanted to be
getting.
2025-12-12 21:53:09 +00:00
5f86274b16
Add mocks for the various setting pages. 2025-12-12 21:52:55 +00:00
3a8d6395d7
Use common logic in mocks, add dispatch mock 2025-12-11 00:30:24 +00:00
62dbfb3ebc
Add mocks for data entry 2025-12-10 17:06:27 +00:00
bd16f69e28
Initially made it through full update with new fieldseeker schema 2025-12-05 23:11:57 +00:00
ff7c5cdb6b
Save a copy of the Fieldseeker schema on oauth connect
This will make it easier to debug when we get a new customer which
schema elements are in common and which are specific to Delta.
2025-12-02 00:30:08 +00:00