Commit graph

44 commits

Author SHA1 Message Date
a005780aff
chore: update aprs submodule pointer
Some checks failed
Elixir CI / Dialyzer (push) Failing after 13s
Elixir CI / Build and test (push) Failing after 26s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 13:04:57 -05:00
f171dac36e
chore: update aprs submodule pointer
Some checks failed
Elixir CI / Build and test (push) Failing after 2s
Elixir CI / Dialyzer (push) Failing after 8s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 12:32:43 -05:00
fd6c8de938
chore: update aprs submodule pointer
Some checks failed
Elixir CI / Dialyzer (push) Failing after 8s
Elixir CI / Build and test (push) Failing after 20s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 12:25:38 -05:00
240e11c235
chore: update aprs submodule pointer
Some checks failed
Elixir CI / Dialyzer (push) Failing after 2s
Elixir CI / Build and test (push) Failing after 14s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 12:14:29 -05:00
3738b8fe57
fix: use version-type loose for OTP compatibility
Some checks failed
Elixir CI / Dialyzer (push) Failing after 10s
Elixir CI / Build and test (push) Failing after 21s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 11:10:51 -05:00
e132ed0c61
fix: use .git suffix on setup-beam URL for git clone compatibility
Some checks failed
Elixir CI / Build and test (push) Failing after 20s
Elixir CI / Dialyzer (push) Failing after 7s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 11:05:55 -05:00
b6fe8e66f8
fix: use internal forgejo hostname for setup-beam
Some checks failed
Elixir CI / Dialyzer (push) Failing after 2s
Elixir CI / Build and test (push) Failing after 13s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 10:49:53 -05:00
e1a1925399
fix: use ubuntu-latest runner instead of docker container
Some checks failed
Elixir CI / Dialyzer (push) Failing after 5s
Elixir CI / Build and test (push) Failing after 34s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 08:31:57 -05:00
25b5738de2
fix: switch CI to ubuntu:noble for setup-beam compatibility
Some checks failed
Elixir CI / Build and test (push) Failing after 1m11s
Elixir CI / Dialyzer (push) Failing after 1m12s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 08:28:22 -05:00
716e8456b1
chore: update vendor/aprs submodule
Some checks failed
Elixir CI / Dialyzer (push) Failing after 57s
Elixir CI / Build and test (push) Failing after 1m9s
Elixir CI / Build and Push Docker Image (push) Has been skipped
2026-07-27 08:25:33 -05:00
541ce93051
fix: update vendor/aprs submodule for erlang 29 image
Some checks are pending
Build and Push / Build and Push Docker Image (push) Waiting to run
2026-07-27 07:56:20 -05:00
dbd131a4da
fix: update vendor/aprs submodule for runner label fix
Some checks are pending
Build and Push / Build and Push Docker Image (push) Waiting to run
2026-07-27 07:52:24 -05:00
0f2195ef9d
security: CSP nonces, RemoteIp CIDR gating, rate limiting, NetworkPolicies, deadlock fixes
Some checks failed
Build and Push / Build and Push Docker Image (push) Failing after 2s
- Content-Security-Policy: nonce-based per-request plug replacing unsafe-inline scripts
- RemoteIp: CIDR-based trust gating via InetCidr, skips forwarded headers from untrusted peers
- Rate limiting: auth pipeline (20/min), LiveView event handlers, existing mobile channel limits
- NetworkPolicy: 4 k8s policies (web ingress, cluster, metrics, egress) for least-privilege networking
- PartitionManager: deadlock retry with exponential backoff in drop_partition
- Tests: reduced parallelism (max_cases 4), packets_test async:false to prevent trigger contention
- k8s: APRS_PASSWORD -> APRS_PASSCODE secretRef, vendor/aprs submodule hardened
2026-07-26 14:04:56 -05:00
72cd6d953b
update vendor 2026-05-08 10:04:25 -05: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
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
c88b6626d9
chore: update APRS parser submodule
Updates parser to include fix for invalid MicE course values.
Parser now normalizes negative and out-of-range course values to 0.
2026-03-22 13:43:01 -05:00
e8a5754da8
Update APRS parser with coordinate normalization fixes
Updated vendored parser (vendor/aprs) to include:
- Longitude wrapping instead of clamping (192° → -168°)
- Proper MicE coordinate normalization
- Fixed tests to expect wrapping behavior

This complements the application-level coordinate fixes and ensures
coordinates are normalized at parse time.
2026-03-22 13:32:53 -05:00
68f64f3699
Display APRS object/item names instead of sender callsign
APRS object packets (e.g. DAPNET transmitters) were showing the
sender's callsign on the map instead of the object name. For example,
DB0SDA (Germany) sending an object for P-K5SGD (Texas) would display
as "DB0SDA" at the Texas coordinates.

- Add display_name/1 to PacketUtils that returns object_name for
  objects, item_name for items, falling back to sender
- Update DataBuilder to use display_name in all callsign display paths
- Fix object/item detection order in packet_consumer to prevent
  objects from being incorrectly flagged as items
- Add DataBuilder tests for object/item display name behavior
- Fix flaky PacketPipelineSupervisor test (ensure module loaded)
2026-02-19 09:13:03 -06:00
c615626ea6
vendor update 2026-02-07 09:28:17 -06:00
e01e9d2a31 update deps 2025-12-30 13:35:11 -06:00
6e91085535
update 2025-10-25 11:28:07 -05:00
cc4578653f
cleanup and remove redis 2025-10-22 16:19:17 -05:00
130f9a39d2
updates 2025-09-06 11:12:06 -05:00
bc9341387e
parser update 2025-08-13 09:40:22 -05:00
c2fcf534dd
update and format 2025-08-13 09:39:39 -05:00
ea4992d2a1
parser update 2025-08-06 08:31:55 -05:00
657a0dd703
add gleam parser to test 2025-08-05 13:18:31 -05:00
8015964dea
fix test 2025-08-04 21:32:57 -05:00
69d0ab50d6
update parser 2025-08-03 16:06:11 -05:00
9b207e0d67
updates with parser updates 2025-08-03 09:19:31 -05:00
a9ad057efc
feat: Update code to handle improved APRS parser features
- Added 20 new database fields for enhanced parser compatibility:
  - Standard parser fields: srccallsign, dstcallsign, body, origpacket, header, alive, posambiguity, symboltable, symbolcode, messaging
  - Radio range field: radiorange
  - Additional weather fields: rain_midnight, has_weather
- Enhanced weather data extraction with dedicated wx field support
- Updated PHG parsing to handle both string format ("1060") and legacy map structure
- Added extraction functions for standard parser compatibility fields
- Created comprehensive test suite for enhanced parser functionality
- Updated APRS parser to latest version with improved field extraction

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 18:16:44 -05:00
86d3837075
feat: Add support for enhanced APRS parser features
- Added position resolution field (posresolution) showing accuracy in meters
  - 18.52m for uncompressed positions
  - 0.291m for compressed positions
- Added format field indicating "compressed" or "uncompressed" position type
- Added telemetry support with three new fields:
  - telemetry_seq: sequence number
  - telemetry_vals: array of telemetry values
  - telemetry_bits: binary telemetry bits
- Updated packet schema and database migration
- Enhanced packet extraction logic to handle new fields
- All tests pass successfully

These improvements provide better position accuracy information and
enable telemetry packet processing from APRS stations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 16:57:28 -05:00
82e97e5e31
feat: Add position ambiguity support from APRS parser
- Added position_ambiguity field (integer, 0-4) to packets table
- Created migration to add the new database column
- Updated packet schema and processing to extract position ambiguity
- Position ambiguity levels indicate precision of reported coordinates:
  - 0: No ambiguity (exact position)
  - 1: ~0.1 mile ambiguity
  - 2: ~1 mile ambiguity
  - 3: ~10 mile ambiguity
  - 4: ~60 mile ambiguity
- Automatically captures ambiguity level when parsing APRS packets
- All tests pass with no failures

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 16:21:19 -05:00
47018a55bb
update parser 2025-08-01 15:38:05 -05:00
8675db6e52
update parser 2025-08-01 15:37:39 -05:00
cb800a8923
fix: Add dark mode support for callsign search and UI elements
- Fixed white text on white background issue in callsign search input
- Added dark mode styles for search input, select dropdowns, and panel backgrounds
- Updated text colors for labels and content in dark mode
- Added CSS media queries for dark mode support in slideover panel and buttons
- Improved overall dark mode visibility and contrast

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 13:48:34 -05:00
fd6dd573b9
update parser and claude.md 2025-07-29 12:12:43 -05:00
06a7b8d75f
parser update 2025-07-29 11:47:25 -05:00
85c3b3d9e7
Improve info page live updates and fix APRS parser
- Fixed info page not receiving live updates by implementing callsign-specific PubSub topics
- Added automatic time counter for "Last Position" and other timestamps using JavaScript hook
- Optimized map updates to only move marker instead of reloading entire map
- Fixed APRS parser to properly handle [000/000/A=altitude format in comments
- Removed packet caching on info page for real-time updates

The info page now properly subscribes to updates for the specific callsign being viewed,
timestamps automatically count up without page refresh, and the map smoothly animates
marker position changes instead of flickering with full reloads.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 15:14:33 -05:00
8e04916481
vendor update 2025-07-18 08:39:43 -05:00
610a5b8949
refactor 2025-07-13 16:49:20 -05:00
c09f9175f4
add PHG parsing 2025-07-12 10:22:43 -05:00
ac1390ba12
alawys use vendored aprs library 2025-07-11 14:29:41 -05:00