Skip to content

surface session failures in map view, add ring text, fix save-local-map#18

Open
JohnN193 wants to merge 3 commits intopr-c-state-cleanupfrom
pr-d-ux
Open

surface session failures in map view, add ring text, fix save-local-map#18
JohnN193 wants to merge 3 commits intopr-c-state-cleanupfrom
pr-d-ux

Conversation

@JohnN193
Copy link
Collaborator

Polish, failure surfacing, and bug fixes.

Map view text
Renders "WAITING FOR / SESSION TO START" inside the progress ring using a 5×7 dot-matrix font, so it's unambiguously not a real map.

Session failure surfacing
The polling thread checks GetMappingSessionMetadataByID every cycle. On END_STATUS_FAIL it stores the error and clears the active job. PointCloudMap then returns a "SESSION FAILED" PCD regardless of whether a map had previously been received — covers both the pre-map and post-map failure cases.

Bug fixes

  • save-local-map was missing page=slam in the returned URL, causing a redirect to /fleet/location/.... Added a SLAMMapURL helper on AppClient to deduplicate this URL construction across both StopJob and UploadPackage.
  • Thumbnail upload was passing the full composite BinaryDataId (org/location/file_id) as the file_id metadata field. The frontend constructs the thumbnail URL as /files/{org}/{location}/{file_id}, so this doubled the path segments. Now extracts just the trailing segment.

Linter fixes (applied here since they reference the new APIs and structs added in earlier PRs)

  • Replace deprecated slam.FromDependencies with slam.FromProvider
  • Replace deprecated res.GetFileId() with res.GetBinaryDataId() (then extract the file_id segment — see thumbnail fix above)
  • Proto getter style fixes, range-over-int loop

Part of a series: [PR A] → [PR B] → [PR C] → PR D

JohnN193 and others added 3 commits March 20, 2026 16:16
- set GOTOOLCHAIN=go$(GOVERSION) so golangci-lint is built with the Go
  version declared in go.mod, not whatever the CI host has installed
- replace deprecated slam.FromDependencies with slam.FromProvider
- replace deprecated res.GetFileId() with res.GetBinaryDataId()
- apply linter auto-fixes: proto getter style, range-over-int loop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
adds a 5×7 dot-matrix font renderer (pcdtext.go) and draws
"WAITING FOR / SESSION TO START" centered inside the progress ring,
making it unambiguous to the viewer that this is not a real map.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add lastSessionErr atomic to track failed sessions; polling thread
  checks metadata every cycle and sets it on END_STATUS_FAIL
- PointCloudMap returns a "SESSION FAILED" PCD when lastSessionErr is
  set, covering both pre-map and post-map failure cases
- Add D and L glyphs to font5x7 for "FAILED" text rendering
- Add SLAMMapURL helper on AppClient to deduplicate URL construction;
  fixes save-local-map missing page=slam (causing redirect to /fleet)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant