Commit graph

443 commits

Author SHA1 Message Date
4f0fa59be8
ip lookup on page load 2025-07-10 16:45:21 -05:00
7da91f5ccb
fix some accidental weather decoded packets 2025-07-10 16:30:48 -05:00
38920e9f3d
add callsign to users 2025-07-10 16:07:05 -05:00
73d67da457
actually add m ore files 2025-07-10 15:44:39 -05:00
a1ac8abc1e
fix some tests 2025-07-10 15:44:28 -05:00
adc83007e4
restore users table 2025-07-10 15:30:21 -05:00
b1ee1f92f9
dont parse device identifiers on each insert 2025-07-10 15:16:01 -05:00
38f240b3eb
fix info/neighbor page loading 2025-07-10 14:43:00 -05:00
aaf92d9045
add heatmap on zoom out 2025-07-10 14:26:01 -05:00
d45aed256d
fix historical packet loading 2025-07-10 13:15:16 -05:00
Graham McIntire
aaf023f2ac
Merge pull request #9 from aprsme/add-claude-github-actions-1752166150528
Add claude GitHub actions 1752166150528
2025-07-10 11:49:45 -05:00
Graham McIntire
702dcef1f2 Claude Code Review workflow 2025-07-10 11:49:14 -05:00
Graham McIntire
b14727a282 Claude PR Assistant workflow 2025-07-10 11:49:12 -05:00
Graham McIntire
c5a9f5fd10
Merge pull request #8 from aprsme/refactor
refactor and performance improvements
2025-07-10 11:04:27 -05:00
48447ab42e
refactor and performance improvements 2025-07-10 10:53:34 -05:00
Graham McIntire
79c0a0a43a
Merge pull request #5 from aprsme/improve-map-load-performance
Improve historical packet loading performance on map
2025-07-09 17:16:56 -05:00
b2c5414602
ci fixes 2025-07-09 17:08:12 -05:00
176e90186d
more ci tweaks 2025-07-09 17:04:33 -05:00
20d6e3fc16
fix github ci a bit 2025-07-09 17:03:02 -05:00
3286b6852b
fix compile warnings 2025-07-09 16:58:07 -05:00
c6169efe2a
fix js error 2025-07-09 16:56:31 -05:00
8eb1e90622
use postgis for testing 2025-07-09 16:48:55 -05:00
eb3e30abd6
tweaks 2025-07-09 16:37:30 -05:00
43b2cb1df0
fix migration errors 2025-07-09 16:27:21 -05:00
ef95f597b0
format 2025-07-09 16:22:58 -05:00
514d1b66d5
fix all the main map display issues 2025-07-09 16:20:29 -05:00
57fe2b0182
Remove all delays from historical packet loading for maximum speed
Server-side optimizations:
- Remove all Process.send_after delays - use immediate send()
- High zoom (10+): Load everything in single batch (up to 500 packets)
- Low zoom: Load all batches immediately without delays
- Remove debug logging for performance

Client-side optimizations:
- Remove chunking delays and requestAnimationFrame
- Process all packets immediately without setTimeout
- Remove 10-packet chunk limit - process everything at once

Result: Historical packets now load as fast as possible
without artificial delays or chunking bottlenecks.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:33:21 -05:00
a9414823f1
Fix spurious bounds_changed events and event loops
Key fixes:
- Combine bounds_changed and update_map_state into single event
- Remove duplicate sendBoundsToServer() calls
- Add programmaticMove flag to prevent event loops
- Only process bounds updates when bounds actually change
- Debounce events with 300ms timeout

This eliminates:
- Duplicate server events for same user action
- Event loops when server updates URL
- Unnecessary bounds processing
- Excessive server load

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:30:05 -05:00
c873614bf1
Fix compilation error by importing push_patch
- Add push_patch to Phoenix.LiveView imports
- Fix trailing whitespace issue
- App now compiles successfully with URL functionality
2025-07-09 09:25:52 -05:00
052e131400
Add URL updating and restoration for map state (zoom/pan)
Features implemented:
- Parse URL parameters on mount (lat, lng, z)
- Update URL when map moves or zooms
- Restore map state from URL parameters
- Handle URL changes via handle_params
- Validate and clamp coordinate values

URL format: /?lat=40.7128&lng=-74.0060&z=12

Benefits:
- Shareable map links with exact position
- Browser back/forward navigation support
- Bookmarkable map locations
- Deep linking to specific map views

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:23:54 -05:00
c2d3418972
Fix progressive loading activation and optimize for high zoom levels
Critical fixes:
- Replace old load_historical_packets_for_bounds with progressive loading
- Fix handle_info_initialize_replay to use progressive loading
- Fix process_bounds_update to use progressive loading
- Add debug logging to track batch loading

High zoom optimizations:
- Very zoomed in (15+): 10 packets per batch, 10ms delays
- Moderately zoomed (12-14): 20 packets per batch, 20ms delays
- Medium zoom (8-11): 35 packets per batch, 35ms delays
- Use linear delays instead of exponential for faster loading

This ensures progressive loading is actually used and optimized
for high zoom levels where viewport is small.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:18:42 -05:00
7318d2dfbc
Optimize viewport-based loading with zoom-aware batching
Key improvements:
- Fix spatial query order: Apply bounds filtering BEFORE limit/offset
- Add zoom-level based batch sizing (20-100 packets per batch)
- Dynamic batch count based on zoom level (2-5 batches)
- Faster loading delays for high zoom levels (25ms vs 50ms)
- Include zoom level in cache keys for better cache efficiency

Performance benefits:
- Zoomed in far (zoom 15+): 2 batches of 20 packets each
- Moderately zoomed (zoom 12-14): 3 batches of 35 packets each
- Medium zoom (zoom 8-11): 4 batches of 50 packets each
- Zoomed out (zoom <8): 5 batches of 75-100 packets each

This ensures packets are loaded from the current viewport first,
dramatically reducing load times when zoomed in.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:14:12 -05:00
330fe27eec
use aprs module from github in test 2025-07-09 09:10:12 -05:00
1932f63b91
Implement progressive loading for historical packets to improve map performance
- Add progressive loading system that splits 200 packets into 4 batches of 50 each
- Implement client-side chunked rendering to prevent UI blocking
- Add caching layer using Aprsme.CachedQueries for better database performance
- Maintain proper chronological ordering for trail drawing
- Use LiveView's efficient update mechanisms for smooth user experience

Performance improvements:
- Faster initial load with immediate visual feedback
- Reduced memory pressure through smaller batch sizes
- Better caching with automatic cache invalidation
- Smooth, non-blocking UI updates using requestAnimationFrame

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 09:08:10 -05:00
41eaec5c8e
add user auth 2025-07-09 08:53:50 -05:00
fd82d6e7bd
update claude info 2025-07-08 15:33:40 -05:00
5820400052
fix page layout when navigating between pages 2025-07-08 15:30:04 -05:00
6d9b878a17
clean up warnings 2025-07-08 13:29:44 -05:00
9a39c783fa
show 48 hour history on weather page 2025-07-08 13:25:29 -05:00
7168448a38
fix weather page 2025-07-08 13:21:02 -05:00
32838712c6
fix nil weather units 2025-07-08 12:45:50 -05:00
4f02966aab
fix weather page 2025-07-08 12:35:49 -05:00
0adfffeaf5
fix mix usage for prod 2025-07-08 12:26:22 -05:00
2366137c73
fix mix usage for prod 2025-07-08 12:23:17 -05:00
032b9a31ca
fix mix usage for prod 2025-07-08 12:20:40 -05:00
9053f0840a
add more i18n testing and fix error page and dashboard 2025-07-08 12:16:00 -05:00
7593330d36
fix main map sidedar on page change 2025-07-08 10:31:46 -05:00
bcaef2d118
pause extra map popups when user clicks on one 2025-07-08 10:18:07 -05:00
711d92ebb6
performance improvements 2025-07-08 10:03:52 -05:00
79fa7713ab
release tweak 2025-07-07 17:12:42 -05:00