Commit graph

93 commits

Author SHA1 Message Date
822dad5352
Don't require systemd sockets in dev mode
Because otherwise I can't run the program on my dev server
2026-04-29 13:54:48 +00:00
f3af19f03a
Add systemd activation sockets for downtime-free deploys 2026-04-28 23:24:19 +00:00
bd3d3881f5
Increase server shutdown timeout
We shouldn't see this unless we fail to get everything closed down.
2026-04-28 22:37:43 +00:00
a17544bb4b
Downgrade errors on server shutdown 2026-04-28 22:25:31 +00:00
38359e20e9
Use auto build version info for embedding version information
This is better, integrates with git, gives us more detail, and I don't
have to explicitly pass it around everywhere.
2026-04-28 16:36:48 +00:00
b68d93ec91
Load communication reports asynchronously
This solves some problems created by making the publicreport part of the
communication API consistent. There are a lot of optimizations still on
the table with this one, but for now I need to get this out.
2026-04-28 14:49:02 +00:00
839abcbd28
Mave frontend data to base api root
Because many times we don't have a session
2026-04-21 23:53:42 +00:00
544ac78a3b
Add frontend configuration to session for env, sentry, version 2026-04-21 23:44:59 +00:00
5d510915d2
Add version to frontend connection 2026-04-20 22:42:21 +00:00
aae0d1ed74
Log version on startup 2026-04-20 22:33:56 +00:00
8387cf667b
Add company filter to Lob list addresses
...even though I never made it actually work.
2026-04-20 22:33:20 +00:00
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