Title: Navigation issues when switching between C# lessons with Sandbox open
Severity: Medium
Mode: C# Section
Lesson ID / File: C# lesson navigation + Sandbox
Environment: Browser (specify version), OS (specify version)
Date/Time: 2026-05-22
Source Code
(Not applicable � navigation/UI state issue)
Steps to Reproduce
1. Open the Sandbox in a C# lesson.
2. Navigate to a different C# lesson.
3. Observe the top navigation indicator.
4. Try to navigate back to the Sandbox.
Expected Output
When switching lessons, the navigation indicator should update to reflect the current active section.
Actual Output
When navigating to another lesson after using the Sandbox, the lesson content loads correctly but the top navigation indicator still shows "Sandbox" as the active section. To access the Sandbox again, the user must first click "Lesson" to clear the stuck state, and only then can they navigate to the Sandbox properly.
Suggested Priority
Medium ? Does not block functionality but creates confusing navigation state. The indicator shows incorrect active section and adds unnecessary steps to access the Sandbox.
Additional Notes
This appears to be a navigation state management bug where the active section indicator is not properly updated when switching from the Sandbox view to a different lesson.
Title: Navigation issues when switching between C# lessons with Sandbox open
Severity: Medium
Mode: C# Section
Lesson ID / File: C# lesson navigation + Sandbox
Environment: Browser (specify version), OS (specify version)
Date/Time: 2026-05-22
Source Code
(Not applicable � navigation/UI state issue)
Steps to Reproduce
1. Open the Sandbox in a C# lesson.
2. Navigate to a different C# lesson.
3. Observe the top navigation indicator.
4. Try to navigate back to the Sandbox.
Expected Output
When switching lessons, the navigation indicator should update to reflect the current active section.
Actual Output
When navigating to another lesson after using the Sandbox, the lesson content loads correctly but the top navigation indicator still shows "Sandbox" as the active section. To access the Sandbox again, the user must first click "Lesson" to clear the stuck state, and only then can they navigate to the Sandbox properly.
Suggested Priority
Medium ? Does not block functionality but creates confusing navigation state. The indicator shows incorrect active section and adds unnecessary steps to access the Sandbox.
Additional Notes
This appears to be a navigation state management bug where the active section indicator is not properly updated when switching from the Sandbox view to a different lesson.
Zhekrom
changed title from Navigation issues when switching between C# lessons with Sandbox open to Navigation bug when switching between C# lessons with Sandbox open2026-05-22 18:50:41 +00:00
Root cause: Toggling to the Sandbox keeps the lesson selected and only clears ?lessonId from the URL. Re-selecting that same lesson then hit the route effect's dedupe guard (selectedLessonNumber() === requested), which returned early before the mode could be restored — so the Lesson/Sandbox indicator stayed stuck on "Sandbox" while lesson content was shown.
Fix: The already-selected branch now restores mode = 'lesson' when the matched lesson is unlocked. Added a regression spec (language-runner-mode-sync.spec.ts) that drives a mutable query-param subject to reproduce the toggle → re-navigation sequence and verifies the mode recovers.
Will close once the PR merges.
Fix submitted in `spikersoft-angular` PR #16.
**Root cause:** Toggling to the Sandbox keeps the lesson selected and only clears `?lessonId` from the URL. Re-selecting that same lesson then hit the route effect's dedupe guard (`selectedLessonNumber() === requested`), which returned early before the mode could be restored — so the Lesson/Sandbox indicator stayed stuck on "Sandbox" while lesson content was shown.
**Fix:** The already-selected branch now restores `mode = 'lesson'` when the matched lesson is unlocked. Added a regression spec (`language-runner-mode-sync.spec.ts`) that drives a mutable query-param subject to reproduce the toggle → re-navigation sequence and verifies the mode recovers.
Will close once the PR merges.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Source Code
(Not applicable � navigation/UI state issue)
Steps to Reproduce
Expected Output
When switching lessons, the navigation indicator should update to reflect the current active section.
Actual Output
When navigating to another lesson after using the Sandbox, the lesson content loads correctly but the top navigation indicator still shows "Sandbox" as the active section. To access the Sandbox again, the user must first click "Lesson" to clear the stuck state, and only then can they navigate to the Sandbox properly.
Suggested Priority
Medium ? Does not block functionality but creates confusing navigation state. The indicator shows incorrect active section and adds unnecessary steps to access the Sandbox.
Additional Notes
This appears to be a navigation state management bug where the active section indicator is not properly updated when switching from the Sandbox view to a different lesson.
Navigation issues when switching between C# lessons with Sandbox opento Navigation bug when switching between C# lessons with Sandbox openFix submitted in
spikersoft-angularPR #16.Root cause: Toggling to the Sandbox keeps the lesson selected and only clears
?lessonIdfrom the URL. Re-selecting that same lesson then hit the route effect's dedupe guard (selectedLessonNumber() === requested), which returned early before the mode could be restored — so the Lesson/Sandbox indicator stayed stuck on "Sandbox" while lesson content was shown.Fix: The already-selected branch now restores
mode = 'lesson'when the matched lesson is unlocked. Added a regression spec (language-runner-mode-sync.spec.ts) that drives a mutable query-param subject to reproduce the toggle → re-navigation sequence and verifies the mode recovers.Will close once the PR merges.