Add documentation for the new MESHCORE_DEVICE_NAME environment variable
that was introduced in this PR. Updates include:
- Added to .env.example with description
- Added to Interface Settings table in README.md
- Added to CLI Reference examples in README.md
- Added to Interface configuration table in PLAN.md
🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>
Co-Authored-By: Claude <noreply@anthropic.com>
- Add meshcore_device_name field to InterfaceSettings
- Implement set_name() method in device interface (real and mock)
- Update receiver to set device name during initialization if configured
- Add --device-name CLI option with MESHCORE_DEVICE_NAME env var support
- Device name is set after time sync and before advertisement broadcast
Fixes#37🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>
Changed the startup advertisement from flood=False to flood=True
so that the device name is broadcast to the mesh network.
Fixes#38
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>
Update map node labels to show the full display name (friendly_name tag
→ advertised node name → public key prefix) instead of just the 2-char
public key prefix. This makes node labels consistent with the rest of
the site and easier to identify at a glance.
The backend already computes the correct display name in map.py:96-101,
so this change just uses that computed name in the label.
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>
Display relative time since last seen (e.g., '2m', '1h', '2d') in node
labels on the map page. This makes it easier to quickly identify how
recently nodes were active without opening the popup.
- Add formatRelativeTime() function to calculate time difference
- Update createNodeIcon() to include relative time in label
- Adjust icon size to accommodate additional text
- Format: keyPrefix (timeAgo) e.g., 'ab (5m)'
Fixes#33
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>
Fixed parse error when clicking the filter button on messages screen
with "All Channels" selected. The form was sending an empty string
for channel_idx, but FastAPI expected either a valid integer or None.
Changes:
- Accept channel_idx as string in query parameter
- Parse and validate channel_idx before passing to API
- Treat empty strings as None to prevent validation errors
- Add error handling for invalid integer values
Fixes#25
Co-authored-by: JingleManSweep <jinglemansweep@users.noreply.github.com>