Skip to content

Datalogger: confirm recognised track while parked + bump coach plugin to BETA HEAD#219

Merged
TheAngryRaven merged 2 commits into
BETAfrom
claude/datalogger-track-list-load-wwodsb
Jun 14, 2026
Merged

Datalogger: confirm recognised track while parked + bump coach plugin to BETA HEAD#219
TheAngryRaven merged 2 commits into
BETAfrom
claude/datalogger-track-list-load-wwodsb

Conversation

@TheAngryRaven

Copy link
Copy Markdown
Owner

Why

"I'm sitting at Orlando Kart Center and it's defaulting to the speedometer mode when I open it — are we actually loading the track list?"

Yes, the track list loads. useDatalogger calls loadTracks()timer.setTracks(), Orlando Kart Center is in tracks.json, and findNearestTrack (10 mi radius) matches it fine.

The speedometer shows because you're parked: lap timing only arms once you move above 5 mph (phase === "waiting" forces speedometer mode by design). The real problem was UX — while sitting at a recognised track, the waiting speedometer gave no confirmation the track was detected, so it looked identical to the genuine "Speedometer mode — no tracks found nearby" state. Hence the "is it even loading the tracks?" confusion.

What changed

1. Datalogger track confirmation (the fix)

  • RealtimeLapTimer.nearestTrackName() + a nearbyTrackName field on TimingState.
  • Plumbed through DataloggerSession's waiting branch into the speedometer title.
  • The waiting speedometer now reads e.g. "Orlando Kart Center detected nearby" when near a known track, and keeps the existing "no tracks found nearby" title only when genuinely far. trackDetected string added across all 7 locales.
  • Tests: timer proximity probe + the waiting snapshot naming the track.

2. Bump coach plugin to BETA HEAD (i18n phases 2–3)

  • Force-refreshed @theangryraven/eye-in-the-sky from a867b3ff8c6ff4 (BETA HEAD).
  • That build imports formatDecimal/formatInteger/formatSignedDelta from the host's lib/i18n/format, which didn't exist yet — added those locale-aware formatters (with tests) so the production build stays green.

Verification

  • npm run lint, npm run typecheck — clean
  • npm run test:run — 120 files / 1745 tests pass
  • npm run build — succeeds (coach plugin now resolves)

https://claude.ai/code/session_014pk2etibihm7WSLPZSYc36


Generated by Claude Code

claude added 2 commits June 14, 2026 14:09
While stationary the tool shows a bare speedometer (logging only arms above
5 mph), which was indistinguishable from the genuine "no tracks found nearby"
state. Surface the nearest known track's name in the waiting speedometer so it's
clear the track list loaded and detection worked — you're just waiting to move.

Adds RealtimeLapTimer.nearestTrackName + a nearbyTrackName field on TimingState,
plumbs it through the session into the speedometer title, and a trackDetected
string across all locales. Tests cover the timer probe and the waiting snapshot.

https://claude.ai/code/session_014pk2etibihm7WSLPZSYc36
Force-refresh @theangryraven/eye-in-the-sky to BETA HEAD (a867b3f -> f8c6ff4).
The new build imports formatDecimal/formatInteger/formatSignedDelta from the
host's i18n format module, so add those locale-aware formatters (with tests) to
keep the production build green.

https://claude.ai/code/session_014pk2etibihm7WSLPZSYc36
@supabase

supabase Bot commented Jun 14, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project tdxloldxzvnzdivdazzd because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@github-actions

Copy link
Copy Markdown

Coverage Summary

Lines: 59.23% (5584/9427) · Statements: 58.33% · Functions: 56.15% · Branches: 53.79%

Per-file coverage
File Lines Functions Branches
src/components/map/positionArrowMarker.ts 0% 0% 0%
src/components/video-overlays/dataSourceResolver.ts 85.07% 71.42% 80.82%
src/components/video-overlays/overlayUtils.ts 100% 100% 100%
src/components/video-overlays/registry.ts 100% 100% 100%
src/components/video-overlays/sectorUtils.ts 94.73% 100% 84.37%
src/components/video-overlays/themes.ts 100% 100% 100%
src/components/video-overlays/types.ts 100% 100% 100%
src/hooks/use-mobile.tsx 0% 0% 100%
src/hooks/use-toast.ts 0% 0% 0%
src/hooks/useAuth.ts 100% 100% 100%
src/hooks/useDataLoader.ts 15.66% 18.18% 16%
src/hooks/useDocumentHead.ts 0% 0% 0%
src/hooks/useEngineManager.ts 0% 0% 0%
src/hooks/useFileManager.ts 0% 0% 0%
src/hooks/useFirmwareUpdate.ts 0% 0% 0%
src/hooks/useKartManager.ts 100% 100% 100%
src/hooks/useLapManagement.ts 0% 0% 0%
src/hooks/useLapOverlays.ts 0% 0% 0%
src/hooks/useLapSnapshots.ts 0% 0% 0%
src/hooks/useNoteManager.ts 0% 0% 0%
src/hooks/useOnlineStatus.ts 0% 0% 0%
src/hooks/usePlayback.ts 0% 0% 0%
src/hooks/useReferenceLap.ts 0% 0% 0%
src/hooks/useSessionData.ts 0% 0% 0%
src/hooks/useSessionMetadata.ts 0% 0% 0%
src/hooks/useSettings.ts 0% 0% 0%
src/hooks/useSetupManager.ts 0% 0% 100%
src/hooks/useStripePrices.ts 0% 0% 0%
src/hooks/useSubscription.ts 0% 0% 0%
src/hooks/useTemplateManager.ts 0% 0% 0%
src/hooks/useTrackEditorForm.ts 0% 0% 0%
src/hooks/useVehicleManager.ts 0% 0% 100%
src/hooks/useVideoSync.ts 0% 0% 0%
src/hooks/useWaybackImagery.ts 0% 0% 0%
src/integrations/lovable/index.ts 0% 0% 0%
src/lib/test/idb.ts 100% 100% 100%
src/lib/aimParser.ts 95.85% 100% 81.46%
src/lib/alfanoParser.ts 83.22% 100% 61.9%
src/lib/billing.ts 96.55% 100% 97.36%
src/lib/billingClient.ts 0% 0% 0%
src/lib/ble/test/mockBle.ts 96% 90% 50%
src/lib/ble/battery.ts 93.33% 100% 87.5%
src/lib/ble/connection.ts 0% 0% 0%
src/lib/ble/dfu/dfuPackage.ts 96.66% 100% 71.87%
src/lib/ble/dfu/dfuTypes.ts 100% 100% 100%
src/lib/ble/dfu/firmwareManifest.ts 96.92% 92.85% 93.18%
src/lib/ble/dfu/index.ts 100% 100% 100%
src/lib/ble/dfu/version.ts 96.77% 100% 83.33%
src/lib/ble/fileTransfer.ts 90.69% 95% 72.91%
src/lib/ble/firmwareCrc.ts 100% 100% 100%
src/lib/ble/firmwareUpload.ts 90.4% 87.5% 84.31%
src/lib/ble/format.ts 50% 100% 66.66%
src/lib/ble/index.ts 100% 100% 100%
src/lib/ble/internal.ts 100% 100% 50%
src/lib/ble/settings.ts 93.6% 100% 85.29%
src/lib/ble/trackSync.ts 89.69% 90.9% 70.96%
src/lib/ble/types.ts 100% 100% 100%
src/lib/bleDatalogger.ts 100% 100% 100%
src/lib/brakingZones.ts 97.14% 100% 86.11%
src/lib/browserCompat.ts 0% 0% 0%
src/lib/buildInfo.ts 100% 100% 100%
src/lib/canvas2d.ts 100% 100% 91.66%
src/lib/channels.ts 100% 100% 84.61%
src/lib/chartAxis.ts 98% 100% 82.92%
src/lib/chartColors.ts 100% 100% 100%
src/lib/chartUtils.ts 100% 100% 97.05%
src/lib/courseDetection.ts 97.16% 100% 80.23%
src/lib/courseSectors.ts 100% 100% 94.59%
src/lib/datalogParser.ts 83.56% 80% 81.81%
src/lib/db/index.ts 0% 0% 0%
src/lib/db/supabaseAdapter.ts 0% 0% 0%
src/lib/db/types.ts 100% 100% 100%
src/lib/dbUtils.ts 75.75% 80% 16.48%
src/lib/debugConsole.ts 57.74% 61.11% 47.72%
src/lib/deviceSettingsSchema.ts 93.33% 100% 96.42%
src/lib/deviceTrackSync.ts 100% 100% 100%
src/lib/doveParser.ts 89.6% 72.72% 77.27%
src/lib/dovexParser.ts 90.62% 100% 80%
src/lib/emailValidation.ts 100% 100% 100%
src/lib/engineStorage.ts 100% 75% 100%
src/lib/engineUtils.ts 100% 100% 91.66%
src/lib/fieldResolver.ts 100% 100% 83.33%
src/lib/fileBrowserTree.ts 98.87% 97.5% 88.88%
src/lib/fileLoadingState.ts 100% 100% 100%
src/lib/fileStorage.ts 82.6% 78.12% 72.22%
src/lib/garageEvents.ts 100% 100% 100%
src/lib/gforceCalculation.ts 100% 100% 97.22%
src/lib/ggDiagram.ts 100% 100% 94.73%
src/lib/gps/customGps.ts 100% 100% 82.05%
src/lib/gps/dovepWriter.ts 100% 100% 92%
src/lib/gps/gpsFix.ts 100% 100% 100%
src/lib/gps/index.ts 100% 100% 100%
src/lib/gps/observationSample.ts 100% 100% 100%
src/lib/gps/realtimeTimer.ts 90.07% 100% 76.04%
src/lib/gps/sessionGate.ts 100% 100% 100%
src/lib/graphPrefsStorage.ts 100% 100% 100%
src/lib/i18n/config.ts 100% 100% 100%
src/lib/i18n/format.ts 100% 100% 85.71%
src/lib/i18n/pluginLocales.ts 0% 0% 100%
src/lib/i18n/seedUtils.ts 100% 100% 90.47%
src/lib/iracingParser.ts 91.93% 80% 76.47%
src/lib/kartStorage.ts 100% 75% 100%
src/lib/lapAlignment.ts 100% 80% 76.92%
src/lib/lapCalculation.ts 96.31% 100% 90.9%
src/lib/lapDelta.ts 99.2% 100% 85.07%
src/lib/lapOverlays.ts 100% 100% 86%
src/lib/lapSnapshot.ts 100% 100% 88.46%
src/lib/lapSnapshotStorage.ts 100% 83.33% 100%
src/lib/logFileType.ts 100% 100% 100%
src/lib/mapMarker.ts 100% 100% 100%
src/lib/motecParser.ts 89.61% 81.48% 55.71%
src/lib/nmeaParser.ts 85.62% 92.85% 71.22%
src/lib/noteStorage.ts 100% 80% 100%
src/lib/overlayCanvasRenderer.ts 0% 0% 0%
src/lib/parserUtils.ts 100% 100% 98.52%
src/lib/pendingCheckout.ts 58.82% 25% 100%
src/lib/profanity.ts 100% 100% 75%
src/lib/referenceUtils.ts 100% 100% 91.11%
src/lib/satelliteImagery.ts 100% 100% 90%
src/lib/setupRevision.ts 100% 100% 94.11%
src/lib/setupRevisionStorage.ts 84.48% 78.26% 36.84%
src/lib/setupStatus.ts 100% 100% 100%
src/lib/setupStorage.ts 81.35% 58.62% 100%
src/lib/speedBounds.ts 94.28% 66.66% 87.17%
src/lib/speedEvents.ts 86.56% 100% 76%
src/lib/speedHeatmap.ts 100% 100% 100%
src/lib/submittedTracksStorage.ts 0% 0% 0%
src/lib/templateStorage.ts 92.79% 68.75% 100%
src/lib/trackStorage.ts 16.4% 28.3% 18.18%
src/lib/trackSubmission.ts 100% 100% 95.91%
src/lib/trackUtils.ts 100% 100% 100%
src/lib/ubxParser.ts 99% 100% 89.58%
src/lib/units.ts 100% 100% 100%
src/lib/utils.ts 100% 100% 100%
src/lib/vboParser.ts 90.66% 100% 71.59%
src/lib/vehicleStorage.ts 100% 75% 100%
src/lib/videoExport.ts 0% 0% 0%
src/lib/videoExportTarget.ts 100% 100% 84.61%
src/lib/videoFileStorage.ts 100% 76% 61.11%
src/lib/videoStorage.ts 100% 76.92% 77.77%
src/lib/weatherService.ts 23.8% 35.29% 25.89%
src/lib/xrk/xrkClient.ts 3.57% 0% 0%
src/lib/xrk/xrkConfig.ts 100% 100% 100%
src/lib/xrk/xrkImporter.ts 70% 75% 80%
src/lib/xrk/xrkMapping.ts 98.7% 100% 82.81%
src/lib/xrk/xrkResample.ts 100% 100% 90.9%
src/lib/xrk/xrkTypes.ts 100% 100% 100%
src/lib/xrk/xrkWorker.ts 0% 0% 0%
src/plugins/cloud-sync/accountDeletion.ts 100% 100% 100%
src/plugins/cloud-sync/accountExport.ts 0% 0% 0%
src/plugins/cloud-sync/activeUser.ts 100% 100% 100%
src/plugins/cloud-sync/autoSync.ts 0% 0% 0%
src/plugins/cloud-sync/cloudClient.ts 69.23% 42.85% 87.5%
src/plugins/cloud-sync/CloudLogsPanel.tsx 0% 0% 0%
src/plugins/cloud-sync/DataPrivacyPanel.tsx 0% 0% 0%
src/plugins/cloud-sync/exportManifest.ts 100% 100% 100%
src/plugins/cloud-sync/FileDeleteToggle.tsx 0% 0% 0%
src/plugins/cloud-sync/fileSync.ts 100% 100% 100%
src/plugins/cloud-sync/FileSyncToggle.tsx 0% 0% 0%
src/plugins/cloud-sync/index.ts 0% 0% 0%
src/plugins/cloud-sync/LapSnapshotsPanel.tsx 0% 0% 0%
src/plugins/cloud-sync/localUsage.ts 100% 100% 75%
src/plugins/cloud-sync/merge.ts 100% 100% 100%
src/plugins/cloud-sync/pendingSync.ts 100% 100% 100%
src/plugins/cloud-sync/profile.ts 100% 100% 100%
src/plugins/cloud-sync/setupRevisionTombstones.ts 100% 100% 83.33%
src/plugins/cloud-sync/snapshotSync.ts 97.22% 87.5% 75%
src/plugins/cloud-sync/snapshotTombstones.ts 100% 100% 100%
src/plugins/cloud-sync/StoragePanel.tsx 0% 0% 0%
src/plugins/cloud-sync/storageTypes.ts 100% 100% 100%
src/plugins/cloud-sync/storeAccessors.ts 100% 100% 90%
src/plugins/cloud-sync/syncEngine.ts 98.9% 95% 80%
src/plugins/cloud-sync/syncStores.ts 100% 100% 100%
src/plugins/fileSources.ts 0% 0% 100%
src/plugins/index.ts 0% 0% 0%
src/plugins/mounts.ts 71.42% 75% 100%
src/plugins/panels.ts 75% 83.33% 100%
src/plugins/PluginMount.tsx 0% 0% 0%
src/plugins/PluginPanelHost.tsx 0% 0% 0%
src/plugins/registry.ts 77.27% 50% 100%
src/plugins/storage.ts 90.32% 70.83% 66.66%
src/plugins/tools/datalogger/dataloggerSession.ts 89.06% 80% 84.37%
src/plugins/tools/datalogger/DataloggerTool.tsx 0% 0% 0%
src/plugins/tools/datalogger/useDatalogger.ts 0% 0% 0%
src/plugins/tools/i18n.ts 0% 0% 100%
src/plugins/tools/index.ts 0% 0% 100%
src/plugins/tools/seat-position/model.ts 100% 100% 60%
src/plugins/tools/seat-position/SeatDiagram.tsx 0% 0% 0%
src/plugins/tools/seat-position/SeatPositionTool.tsx 0% 0% 0%
src/plugins/tools/toolList.ts 0% 0% 100%
src/plugins/tools/ToolsLandingTile.tsx 0% 0% 0%
src/plugins/tools/ToolsPanel.tsx 0% 0% 0%
src/plugins/types.ts 100% 100% 100%
src/types/racing.ts 0% 0% 0%

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
dovesdataviewer 302e6c0 Commit Preview URL

Branch Preview URL
Jun 14 2026, 02:11 PM

@TheAngryRaven TheAngryRaven merged commit 2aa26ac into BETA Jun 14, 2026
7 checks passed
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.

2 participants