Commit graph

34 commits

Author SHA1 Message Date
8eb1e90622
use postgis for testing 2025-07-09 16:48:55 -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
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
7168448a38
fix weather page 2025-07-08 13:21:02 -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
feb71c73d9
deploy fix 2025-07-07 09:55:56 -05:00
524c8208c3
more i18n 2025-07-06 10:28:27 -05:00
cba86fb082
more languages 2025-07-06 10:08:58 -05:00
fc449ed5f9
en español 2025-07-05 15:51:39 -05:00
1406ae97f0
performance improvements 2025-07-05 14:34:34 -05:00
c2b224096c
fix station popup 2025-07-05 14:14:43 -05:00
fde98d6946
add time library 2025-07-05 13:35:33 -05:00
142900c759
liveview links 2025-07-05 13:33:30 -05:00
172da7d393
upgrade more with modern phoenix 2025-07-05 08:04:06 -05:00
5bdb40b9f8
indexes 2025-07-04 12:49:35 -05:00
b620e2891a
fix callsign search 2025-07-04 12:43:05 -05:00
d6417ff16b
more live updates and chart version update 2025-07-04 12:15:38 -05:00
c8ee465015
weather charts 2025-07-03 11:29:01 -05:00
4baf3cffe7
dialyzer fixes 2025-07-03 10:56:06 -05:00
7f06d3200a
refactor 2025-07-03 10:48:44 -05:00
7ef3f59026
parsing improvements 2025-06-28 15:53:27 -05:00
1354b7da07
historical packets working again 2025-06-28 11:34:15 -05:00
f08330b46c
weather fixing 2025-06-25 11:40:04 -05:00
0beb278371
add packet batcher 2025-06-24 15:06:09 -05:00
ce7c50caa1
refactor to use external parser 2025-06-24 14:22:09 -05:00