Skip to content

Fix Project Manager recent project history#66

Draft
CoreyRDean wants to merge 1 commit into
developfrom
fix/project-manager-recent-projects
Draft

Fix Project Manager recent project history#66
CoreyRDean wants to merge 1 commit into
developfrom
fix/project-manager-recent-projects

Conversation

@CoreyRDean
Copy link
Copy Markdown
Collaborator

Non-technical summary

  • Fixed the Project Manager's recent-project tracking so switching projects preserves the rest of your history instead of collapsing it down to the last project you had open.
  • Recent entries are now matched by normalized project path, which avoids duplicate menu entries for the same project when the path comes back with different slash or case formatting.
  • This matters now because the current Project Manager menu silently loses useful history during normal project switching, which makes the launcher less reliable for everyday contributor workflows.

Technical summary

  • Added src/Modules/Project Manager/RecentProjects.bb to centralize recent-project path normalization, lookup, promotion, removal, and trimming.
  • Updated src/Project Manager.bb to reuse existing recent-project objects by normalized root path, promote the previously active project instead of recreating the recent list, remove the newly active project by path, and cap saved fallback history to match the existing ten-entry load contract.
  • Added src/Tests/Modules/RecentProjectsTest.bb to cover history ordering, normalized-path deduplication, removal-by-path, and the saved-history limit.
  • Validation:
    • git diff --check
    • compile-only blitzcc -c -w src src/Project Manager.bb
    • compile-only blitzcc -c -t -w src src/Tests/Modules/RecentProjectsTest.bb
  • Breaking changes: none.

Additional notes

  • Trade-off: this keeps the increment focused on recent-project persistence and menu correctness rather than widening into the broader project-data / git-friendliness work described in issue Make projects more git friendly #32.
  • Follow-up intentionally deferred: larger changes to replace binary .dat project storage with merge-friendly source formats.
  • Remaining gap: full local test execution is still blocked on the current BlitzForge macOS arm64 stub runtime, so validation in this environment remains compile-only rather than runtime-observed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant