Commit graph

287 commits

Author SHA1 Message Date
b7eb79d4f7
Remove old Voip.ms text integration
It's all Twilio now.
2026-01-22 03:57:50 +00:00
3573127bf1
Update vendor hash for building on Nix 2026-01-22 03:41:08 +00:00
480aaf0d0c
Update arcgis-go version 2026-01-22 03:39:31 +00:00
ad7ddf285c
go mod tidy, update arcgis-go 2026-01-22 03:29:19 +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
486a2d98c2
Show location markers for images too 2026-01-21 21:10:21 +00:00
b94d09696e
Initial working marker display in shadow dom 2026-01-21 21:07:08 +00:00
bea7c28af2
Add image lookup on status page 2026-01-21 18:26:48 +00:00
c2c4d52026
Add tool to clean out test database on public reports 2026-01-21 17:55:04 +00:00
13cbf71c0f
WIP filling out report status page 2026-01-21 17:51:18 +00:00
aa3d7ab6b7
Clean up some aspects of WIP map-locator component
I was working on this and then left it for the day, so it was in sorry
shape.
2026-01-21 17:50:43 +00:00
a4afa057e3
Create version of timeSince that handles non-pointers
Useful for structs where we know we must have a value
2026-01-21 17:50:16 +00:00
2da6bba041
Render report results from the map 2026-01-21 15:59:16 +00:00
9d2253a4a2
Get search map overlay working again. 2026-01-21 15:15:52 +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
8f44e57c72
Add basic robots.txt
So we get indexed.
2026-01-19 21:33:54 +00:00
98372d924d
Use proper config values in email templates 2026-01-19 21:24:34 +00:00
42caa77b3e
Use the same code paths to render the browser version of emails 2026-01-19 21:21:02 +00:00
1232a7c0ec
Show pretty report ID in email subject 2026-01-19 18:19:02 +00:00
4ab3c355c5
Parse email send response, log the email ID. 2026-01-19 18:10:17 +00:00
2c880568dd
Initial work on email templates
At this point I got a nice-looking formatted message in my mail client.
2026-01-19 17:58:30 +00:00
087f29d491
Add support for simple MMS
Tested and works, though it is a bit ugly.
2026-01-19 14:58:28 +00:00
4e294699d3
Initial test email works. 2026-01-18 03:00:48 +00:00
7abaebe496
Add support for sending SMS 2026-01-17 01:13:27 +00:00
8ab0b78e6e
Make sure they consent to get notifications in the UI. 2026-01-16 21:16:59 +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
b95a3275ff
Set address to empty in quick report upload
Fixes a null value error
2026-01-16 14:51:50 +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
9b5140f0c2
Show full district details on location search 2026-01-15 23:19:31 +00:00
f6b5a1e580
Add API to query district by GPS location 2026-01-15 22:56:32 +00:00
0bb055b391
Allow clicks on cells without sources 2026-01-15 22:15:29 +00:00
e2549f0317
Make trap page that shows collection information 2026-01-15 22:12:52 +00:00
885b58a0ab
Add traps to cell details page 2026-01-15 21:00:42 +00:00
0bd1a10753
Fix click interface on aggregate map going to cell detail 2026-01-15 20:39:20 +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
08c6a7f884
Make layer colors match card colors on dash 2026-01-15 19:35:13 +00:00
beb98813d9
Show icons on dashboard cards, swap colors
The color swap is so I can make the colors match in the map overlay.
2026-01-15 19:33:02 +00:00
f50f3892f2
Switch to trap counts instead of inspections on the dash
Because we can show those on a map.
2026-01-15 19:32:42 +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
f94b89381f
Actually delete the organization in delete-org.sql 2026-01-15 04:11:19 +00:00
d46d988b4d
Make aggregate layers clean up, add service request aggregate 2026-01-15 04:10:54 +00:00
248cffd323
Rework arcgis oauth flow logic
This is several changes after the demo with Ben
 * When a user adds their oauth and they get an arcgis ID for an
   organization that exits they are added to that organization. The
   previous org isn't removed
 * All layer processing is done in a single large pool. This makes it
   much faster in aggregate
 * Some queries are done more directly instead of through custom sql
2026-01-15 01:05:21 +00:00
92294e5b16
Creat signout logic, make links use it. 2026-01-15 00:20:19 +00:00
35721e7fa6
Add some handy tools 2026-01-14 22:18:11 +00:00
c44fe26cdf
Remove debugging bonn layers 2026-01-14 21:52:59 +00:00
cd22818240
Actually exit early on empty aggregate
Previous attempt was subtly wrong.
2026-01-14 21:52:36 +00:00
a4c0e367a8
Make organization.name not-nullable, consolidate org in dash context 2026-01-14 21:50:47 +00:00
4f0b73c769
Add URL for Tegola to configuration
Avoid cross-environment pollution.
2026-01-14 21:39:58 +00:00
21a8f9622a
Avoid empty insert statement when there are no aggregations 2026-01-14 21:36:58 +00:00