Changed rendering order to display oldest markers first and added
zIndexOffset to ensure newest location markers are always visible
on top when markers overlap. Also improved firstLocation logic to
only use the latest marker for map centering.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added cache-busting parameter to API URL to prevent browser from
serving stale cached responses. This ensures that device-specific
filters always show the most recent location data.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed marker design from rotated teardrop shapes to clean circular icons with directional indicators. The new design uses SVG for crisp rendering at all zoom levels.
- Latest position: 32x32px circle with arrow indicator
- Historical positions: 16x16px circles
- Uses device-specific colors (red for Joachim Pixel, blue for Huawei)
- White border for better visibility on all map layers
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed strict equality (===) to loose equality (==) in loadLocations() when filtering MQTT data for device dropdown. This was preventing devices from appearing in the device selection dropdown because user_id is returned as string "0" from API.
This fix ensures both tid=10 (Joachim Pixel) and tid=11 (Huawei Smartphone) appear as selectable options in the device filter dropdown.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed strict equality (===) to loose equality (==) in applyFilters() to handle user_id being returned as string "0" from API instead of number 0. This was preventing MQTT location data from being displayed on the map.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove Telegram source filter and references
- Add device name mapping for username field (10→Joachim Pixel, 11→Huawei Smartphone)
- Implement color-coded markers and polylines per device
- Update time filter: default to 1h, add 3h/12h options, remove 7d/30d
- Add battery and speed info to location popups
- Improve marker design with custom droplet-shaped icons
- Filter only MQTT data (user_id = 0)
- Group locations by device with separate polylines
- Keep map layer selection (OSM, Satellite, Terrain, Dark)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added four comprehensive dropdown filters:
- Map layer switcher (standard, satellite, terrain, dark mode)
- Data source filter (Telegram/MQTT/all)
- Dynamic user/device filter (auto-populated from data)
- Time range filter (1h to 30d, plus all time)
Enhanced visualization:
- Latest location marked in red, historical in blue
- Proper layer management for markers and polylines
- Status shows filtered count vs total count
- All filters work in combination
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add battery and speed fields to Location processing node
- Add battery and speed fields to NocoDB storage
- Update API URL to home64.de domain
- Add new index_owntrack.html with battery/speed display
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>