fix: map tileset selection not applying on dashboard#2948
Merged
Conversation
Two bugs prevented the global Map Tileset setting from taking effect: 1. DashboardMap's <TileLayer> had no `key` prop tied to tilesetId, so react-leaflet kept the same Leaflet tile layer instance when the URL prop changed and never refreshed the tile source. 2. SettingsProvider defaulted baseUrl to '' when no prop was passed. Four pages (GlobalSettingsPage, ReportsPage, MapAnalysisPage, PacketMonitorPage, DashboardPage) instantiate the provider without threading baseUrl through, so POST /api/user/map-preferences hit the unprefixed path and 404'd under BASE_URL deployments. Now SettingsProvider auto-detects the base from window.location when no prop is supplied. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job Pull Request ReviewExcellent work! This PR addresses two critical issues in the dashboard map functionality and BASE_URL deployments. The fixes are minimal, targeted, and well-implemented. ✅ Code Quality & ImplementationDashboardMap.tsx (Line 108):
SettingsContext.tsx (Lines 165-177, 180):
✅ Bug Fixes & CorrectnessMap Tileset Issue:
BASE_URL Deployment Issue:
✅ Performance Considerations
✅ Security Assessment
|
4 tasks
Yeraze
added a commit
that referenced
this pull request
May 10, 2026
* chore(release): bump version to 4.3.0 Headline feature: Waypoints — per-source storage, map rendering, and in-place authoring UI for Meshtastic WAYPOINT_APP pins. Includes since 4.2.3: - #2936/#2938 feat(waypoints): basic waypoint support - #2942 feat(waypoints): authoring UI for create/edit/delete - #2937 fix(auth): bootstrap first OIDC user as admin - #2935 fix(traceroute): stop cascading IP-style across radio segments - #2945 feat: Tile Selection / Legend visibility toggles in Map Features - #2944 fix: correct channel encryption label for unencrypted/shorthand PSKs - #2946 fix(mobile): mobile browser interface fixes - #2948 fix: map tileset selection not applying on dashboard - docs: new Waypoints feature page; 4.3 Highlights nav entry Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: list Waypoints under regular Features instead of 4.3 Highlights Per Randall: Waypoints should be documented like any other feature, not called out in the nav as a "🆕 4.3 Highlights" section. - Drop the "🆕 4.3 Highlights" entry from the top nav and the /features/ sidebar; restore "🆕" on 4.2 Highlights as the most-recent callout - Add Waypoints to the regular Features sidebar list (next to Embed Maps) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: drop version-Highlights nav sections, fold entries into Features Removes the "🆕 4.2 / 4.1 / 4.0 Highlights" callouts from both the top nav and the /features/ sidebar. Their pages — Analysis & Reports, Map Analysis, Multi-Source, Per-Source Permissions, Global Settings, Store & Forward, Geofence Triggers — now live in the regular Features list, slotted near topically-related entries (Multi-Source / permissions near Settings; Geofence Triggers next to Automation; Map Analysis next to Embed Maps; Analysis & Reports next to Analytics; etc.). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
key={tilesetId}to force a remount.GlobalSettingsPage,ReportsPage,MapAnalysisPage,PacketMonitorPage, andDashboardPageinstantiate<SettingsProvider>without passingbaseUrl, soPOST /api/user/map-preferenceshit the unprefixed path and 404'd.SettingsProvidernow auto-detects the base fromwindow.locationwhen no prop is supplied; explicit prop callers (AppWithToast) are unaffected.Test plan
/meshmonitorBASE_URL — switching Map Tileset in Settings now succeeds (200) and the dashboard map updates immediately on next load.<SettingsProvider>(Reports, MapAnalysis, PacketMonitor) for any regression in baseUrl detection.🤖 Generated with Claude Code