Revert "Simplify VirtualRow to Willowbrook demo + rownative route import (#170)"#178
Merged
Merged
Conversation
Copilot
AI
changed the title
Revert to commit 4730ff3
Revert "Simplify VirtualRow to Willowbrook demo + rownative route import (#170)"
Jul 5, 2026
Copilot created this pull request from a session on behalf of
MaximumTrainer
July 5, 2026 11:45
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reverts prior “Willowbrook demo only” simplifications to restore a broader VirtualRow baseline, reintroducing multi-route UI behaviors, route import flows, and updating docs/tests to match the reverted app state.
Changes:
- Restores richer route selection/filtering and adds a History view with FIT payload export from the UI.
- Reverts/expands route import and parsing behavior across RouteService and route import UI.
- Updates unit tests and documentation/landing copy to align with the reverted baseline.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| src/App.tsx | Restores/extends route UI (filters/import panel) and adds History view + FIT export action. |
| src/components/RownativeRouteImport.tsx | Reverts the rownative linking/pull UI flow. |
| src/services/routeService.ts | Restores previous route initialization and import/parsing helpers. |
| src/data/seedRouteCoordinates.ts | Reverts seed route data comments/structure to baseline. |
| src/tests/routeService.test.ts | Updates assertions for the default Willowbrook route shape/content. |
| src/tests/app.test.tsx | Updates App rendering/guest-mode expectations after UI revert. |
| README.md | Reverts product framing and updates structure/testing documentation. |
| DEVELOPMENT.md | Reverts architecture/project-structure documentation to baseline (currently inconsistent with repo). |
| docs/index.html | Reverts landing page copy/feature content to baseline messaging. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+744
to
+748
| <input | ||
| type="file" | ||
| accept=".geojson,.json,.gpx,.kml" | ||
| onChange={handleGeoJSONFileImport} | ||
| /> |
Comment on lines
17
to
+21
| bluetoothService (PM5 Communication) | ||
| heartRateBluetoothService (HR Monitor) | ||
| routeService (Route Management) | ||
| workoutService (Workout Tracking) | ||
| rownativeService (Route Discovery / Import) | ||
| workoutGeneratorService (Structured Workouts) |
Comment on lines
49
to
+53
| HeartRateChart.tsx # HR visualization | ||
| HeartRateZonesChart.tsx # HR zones display | ||
| PM5Simulator.tsx # PM5 hardware simulator | ||
| RownativeRouteImport.tsx # rownative.icu search/import UI | ||
| WorkoutGenerator.tsx # Structured workout UI | ||
| WorkoutProgressDisplay.tsx |
Comment on lines
63
to
+67
| heartRateBluetoothService.ts # HR monitor service | ||
| pm5SimulatorService.ts # PM5 simulation | ||
| routeService.ts # Demo route data + imported routes | ||
| rownativeService.ts # rownative.icu course catalogue | ||
| routeService.ts # Route data management | ||
| workoutService.ts # Workout session tracking | ||
| workoutGeneratorService.ts # Structured workouts |
Comment on lines
+91
to
+95
| - `currentView`: `'routes' | 'workouts' | 'workout' | 'history'` | ||
| - `sessionState`: `'idle' | 'active' | 'paused'` | ||
| - `selectedRoute`, `currentSession` — active session data | ||
| - `selectedRoute`, `selectedWorkout`, `currentSession` — active session data | ||
| - `pm5Data`, `heartRateSamples` — live device streams | ||
| - `workoutHistory` — persisted sessions used for local personal-best tracking | ||
| - `workoutHistory`, `workoutProgress` — persistence + workout tracking |
Comment on lines
72
to
76
| BluetoothDevice.tsx # PM5 connection UI | ||
| HeartRateMonitor.tsx # HR monitor connection | ||
| PM5Simulator.tsx # PM5 hardware simulator | ||
| RownativeRouteImport.tsx # rownative.icu route search + import UI | ||
| MiniMetrics.tsx # Compact metrics overlay | ||
| PerformanceChart.tsx # Post-session performance graphs |
Comment on lines
84
to
+88
| bluetoothService.ts # PM5 BLE communication | ||
| heartRateBluetoothService.ts # HR monitor BLE service | ||
| pm5SimulatorService.ts # PM5 simulation | ||
| routeService.ts # Demo route data + rownative route import | ||
| workoutService.ts # Session tracking + localStorage persistence | ||
| rownativeService.ts # rownative.icu catalogue + import | ||
| routeService.ts # Route data + rownative route import | ||
| workoutService.ts # Session tracking |
Comment on lines
112
to
116
| # Run unit tests (Vitest) | ||
| npm run test -- --run | ||
| npm test | ||
|
|
||
| # Run unit tests in watch mode | ||
| npm test -- --watch |
| }); | ||
|
|
||
| it('shows guest mode without workout or history navigation (?guest=true)', () => { | ||
| it('shows route-only navigation in guest mode (?guest=true)', () => { |
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.
Resets
mainto the state of commit4730ff3by revertingc018332, which had diverged from the intended baseline.Changes
4730ff34730ff3state4730ff3git diff 4730ff3 HEADis empty after this revert.