Commit graph

1214 commits

Author SHA1 Message Date
CI
a343febdd0 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774303163-288b9fb [skip ci] 2026-03-23 22:00:54 +00:00
288b9fbbb2
fix: address security vulnerabilities and concurrency issues
- Fix SQL injection in partition_manager, db_optimizer, and release.ex
- Fix XSS vulnerabilities with proper HTML escaping in LiveViews
- Add proper error handling for email delivery functions
- Fix race conditions with advisory locks and atomic operations
- Replace unsupervised spawn/Task.start with supervised alternatives
- Convert ETS operations to GenServer serialization for thread safety
- Change ETS tables from :public to :protected access
- Add client limits to prevent unbounded memory growth
- Add PubSub cleanup in GenServer terminate callbacks
- Fix device upsert to use atomic Repo.insert_all
2026-03-23 16:59:09 -05:00
CI
4477fdf615 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774294338-4644962 [skip ci] 2026-03-23 19:33:49 +00:00
464496222f
fix: harden frontend reconnect callbacks 2026-03-23 14:31:08 -05:00
CI
85858d8fd8 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774292943-512b7c4 [skip ci] 2026-03-23 19:10:31 +00:00
512b7c4fe9
fix: clean up map resize hook listeners 2026-03-23 14:08:30 -05:00
CI
be1c9f1038 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774291436-d1110ec [skip ci] 2026-03-23 18:45:38 +00:00
d1110eca38
fix: sanitize invalid map timestamps 2026-03-23 13:43:37 -05:00
c9e5ece185
fix: guard frontend theme storage access 2026-03-23 13:42:36 -05:00
d2fd0d181f
fix: harden frontend browser compatibility 2026-03-23 13:41:16 -05:00
CI
6e47d3b15c chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774286951-e048be1 [skip ci] 2026-03-23 17:30:40 +00:00
e048be18d1
fix: harden frontend hook lifecycle cleanup 2026-03-23 12:28:54 -05:00
CI
0b7b421c52 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774219967-08880b1 [skip ci] 2026-03-22 22:54:21 +00:00
08880b1fcb
Fix CI: switch Docker cache from registry to inline
Registry cache export was failing with 500 errors from the container
registry. Inline cache embeds metadata in the image itself, avoiding
the separate cache manifest upload.
2026-03-22 17:52:30 -05:00
d234c313ca
fix: harden mobile channel numeric params 2026-03-22 17:36:09 -05:00
35962c195b
fix: guard device cache refresh when stopped 2026-03-22 17:31:54 -05:00
CI
59aee0416e chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774218063-21d28af [skip ci] 2026-03-22 22:21:43 +00:00
21d28afe8e
refactor: reduce map live complexity 2026-03-22 17:20:47 -05:00
CI
fba78766c8 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774217823-f840e8f [skip ci] 2026-03-22 22:17:42 +00:00
f840e8fd34
fix: guard APRS send_message when disconnected 2026-03-22 17:16:44 -05:00
CI
29da875a00 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774217679-4d45c83 [skip ci] 2026-03-22 22:15:22 +00:00
4d45c8351a
fix: guard pubsub APIs when not running 2026-03-22 17:14:24 -05:00
CI
1e98a71431 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774217556-7c0861f [skip ci] 2026-03-22 22:13:16 +00:00
7c0861f216
fix: replace duplicate spatial registrations 2026-03-22 17:12:20 -05:00
CI
f1c68fbcfc chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774217363-1631352 [skip ci] 2026-03-22 22:10:10 +00:00
1631352786
fix: guard connection monitor stats lookup 2026-03-22 17:09:07 -05:00
CI
37c5932f96 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774215459-22ccec7 [skip ci] 2026-03-22 21:38:12 +00:00
22ccec7d06
Add hover tooltips to weather charts showing values at cursor position 2026-03-22 16:37:24 -05:00
CI
8333ee3219 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774215287-4847def [skip ci] 2026-03-22 21:35:33 +00:00
4847def0d8
Add referrer meta tag to fix OSM tile 403 errors
OSM tile servers require a Referer header. Cloudflare appears to be
stripping the Referrer-Policy HTTP header, so add a meta tag that
the browser will always respect.
2026-03-22 16:34:32 -05:00
CI
95aedacf53 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774214879-a9cf2d3 [skip ci] 2026-03-22 21:28:43 +00:00
a9cf2d3eb8
Add logging to map location determination for debugging 2026-03-22 16:27:43 -05:00
CI
cbbe5f7720 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774214293-c769d89 [skip ci] 2026-03-22 21:18:56 +00:00
c769d89264
fix: stabilize packet broadcast tests 2026-03-22 16:17:55 -05:00
CI
ff81984a83 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774213748-139568c [skip ci] 2026-03-22 21:09:55 +00:00
139568cd05
Log Cloudflare geolocation headers on each request 2026-03-22 16:08:52 -05:00
6988116a42
Fix Cloudflare IP geolocation not reaching LiveView on page load
The IPGeolocation plug was setting session data, but the live_session
wasn't forwarding it to the LiveView mount. Also removed the root-path
restriction so geolocation works on any initial page load.
2026-03-22 16:08:00 -05:00
CI
b45aae070b chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774213340-8937c1f [skip ci] 2026-03-22 21:03:06 +00:00
8937c1fb57
fix: handle APRS status DB ownership exits 2026-03-22 16:02:03 -05:00
CI
26e86ddba8 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774210808-0d4314b [skip ci] 2026-03-22 20:20:49 +00:00
0d4314b880
Fix object positioning to use object name instead of origin callsign
Objects and items were being displayed at the origin station's location
instead of their actual coordinates because the broadcast used the
sender (origin callsign) as the identifier instead of object_name/item_name.

For example, object CALGRY sent by VE6RWB-15 was appearing at VE6RWB-15's
location instead of CALGRY's actual coordinates.

Changes:
- Modified broadcast_single_packet to use object_name for objects
  and item_name for items as the identifier instead of sender
- Added tests verifying objects and items broadcast with correct identifier
- Objects/items now display at their specified coordinates, not origin station

Fixes the positioning bug where objects appeared at sender location.
2026-03-22 15:19:52 -05:00
CI
c1e33c8de2 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774210397-0c9087b [skip ci] 2026-03-22 20:14:05 +00:00
0c9087b7f1
Add email notifications for production errors
Implements error email notifications that:
- Send email only for first occurrence of each unique error
- Only send in production environment (dev/test are silent)
- Include error details, location, and link to ErrorTracker UI
- Use existing Resend/Swoosh configuration for delivery
- Email sent to graham@mcintire.me

Integrates with ErrorTracker via telemetry events.
2026-03-22 15:12:59 -05:00
CI
812163fa92 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774206357-c928cd5 [skip ci] 2026-03-22 19:06:03 +00:00
c928cd576c
chore: update APRS parser submodule
Updates parser with fixes for:
- Altitude parsing regex bug and validation
- Temperature validation to reject unreasonable values
2026-03-22 14:05:41 -05:00
CI
ffc314d017 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774205420-b5c9388 [skip ci] 2026-03-22 18:51:00 +00:00
b5c9388399
fix: add wind direction normalization in changeset
Normalize wind direction values to valid range (0-359 degrees) during
packet insertion. Invalid wind direction values (360 or > 360, or
negative) are automatically set to 0, preventing bad data from entering
the database.

This complements the fix in the APRS parser and ensures data integrity
at the application level as well.
2026-03-22 13:50:06 -05:00
CI
449c81d6f2 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774205344-2b715a5 [skip ci] 2026-03-22 18:49:10 +00:00
2b715a5a1a
chore: update APRS parser submodule
Updates parser to include fix for invalid wind direction values.
Parser now normalizes 360° to 0° and rejects values > 360.
2026-03-22 13:48:49 -05:00
CI
cc155072c9 chore: update aprs.me image to git.mcintire.me/graham/aprs.me:main-1774205106-ca9bcf2 [skip ci] 2026-03-22 18:45:48 +00:00