feat(web): add Projects section to Settings sidebar navigation#644
feat(web): add Projects section to Settings sidebar navigation#644penso merged 2 commits intomoltis-org:mainfrom
Conversation
- Add settings_projects route to SpaRoutes in templates.rs - Import initProjects/teardownProjects and register in sections[] and pageSectionHandlers - Extract initProjects/teardownProjects as named exports from page-projects.js - Add clearing.value = false reset in initProjects - Add folder icon mask CSS for projects nav item - Add E2E tests for sidebar navigation to projects and heading assertion
Greptile SummaryThis PR adds a "Projects" entry to the Settings sidebar, making the projects page accessible from Confidence Score: 5/5Safe to merge — all previous concerns are addressed and no new issues found. The No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User navigates] --> B{Route}
B -->|/projects| C[registerPage handler\ncalls initProjects]
B -->|/settings/projects| D[Settings sidebar\npageSectionHandlers.projects.init]
C --> E[initProjects container\n_projectsContainer = container\nreset signals\nrender ProjectsPage]
D --> E
E --> F[ProjectsPage rendered\nin correct container]
F --> G{Navigate away}
G --> H[teardownProjects\nrender null to _projectsContainer\n_projectsContainer = null]
Reviews (2): Last reviewed commit: "fix(web): store container ref in teardow..." | Re-trigger Greptile |
…ings_projects route - initProjects now caches container in _projectsContainer module variable so teardownProjects unmounts from the correct node (matches page-nodes, page-crons, page-mcp convention). Prevents signal/event leaks. - Remove settings_projects field from SpaRoutes struct and SPA_ROUTES static — never referenced on the JS side.
|
@greptileai I have reviewed the suggested changes and made new commits. |
|
@Cstewart-HC I actually had hidden this on purpose because I wasn't sure anyone would use it and I didn't want to debug too much stuff at once. Moltis is way more mature now, so I guess we could unhide this. Are you actually using it, did you use it for any git project? |
|
Yes I use projects to help maintain repo aware context. I structure my Moltis instance around workspaces that are mostly repos: Then I bind chat session - projects - discord channel together. So when I jump into discord, I can choose the relevant repo channel and start chatting with my repo context aware agent. |
|
@Cstewart-HC ok great, you're using it fully even I had not enabled the menu LOL I think we should have a better documentation and maybe even onboarding detection of git projects then, making sure people use it. |
|
Yes, there are some documentation gaps especially with the recent changes.
Speaking of onboarding, I ran into an issue with UX for new users. Say a user starts a new moltis container, then tries to login from host . Chances are, they'll be considered remote and be shown the setup-required landing for unauthenticated users . It advises them to remove auth and try again, but doesn't mention the "Onboarding" landing, checking the container terminal output they won't see onboarding either (they will see the 6 digit code they need, but not where to use it). We should streamline that, since most users would be setting up in a containerized environment.
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Fabien Penso ***@***.***>
Sent: Saturday, April 11, 2026 10:05:50 AM
To: moltis-org/moltis ***@***.***>
Cc: Christopher Stewart ***@***.***>; Mention ***@***.***>
Subject: Re: [moltis-org/moltis] feat(web): add Projects section to Settings sidebar navigation (PR #644)
[https://avatars.githubusercontent.com/u/7703?s=20&v=4]penso left a comment (moltis-org/moltis#644)<#644 (comment)>
@Cstewart-HC<https://github.com/Cstewart-HC> ok great, you're using it fully even I had not enabled the menu LOL
I think we should have a better documentation and maybe even onboarding detection of git projects then, making sure people use it.
—
Reply to this email directly, view it on GitHub<#644 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AYA3NLU7AMQRO6BPSJ2F72D4VI7K5AVCNFSM6AAAAACXUCBJP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DEMRZGQ3TAOBVGE>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
(This email address is not to be used for unsolicited electronic commercial messages.)
Unsubscribe from further Emails from any department or individual with an @hollandcollege.com email ***@***.***?subject=I%20do%20not%20wish%20to%20receive%20any%20further%20emails%20from%20individuals%20or%20groups%20at%20Holland%20College>
Confidentiality Caution
This e-mail and any attachments may contain confidential information. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this message (including any attachments) and destroy any copies. Any dissemination or use of this information by a person other than the intended recipient is unauthorized and may be illegal.
Holland College reserves the right to monitor all e-mail communications through its networks (Board Regulation 30-07-1).
|
What
Adds a "Projects" entry to the Settings sidebar, making the existing Projects page accessible from
/settings/projectsin addition to/projects.Changes
settings_projectsfield toSpaRoutesstruct and"/settings/projects"routeinitProjects/teardownProjectsfrompage-projects.js, addprojectsentry tosections[](General group, after Nodes), register inpageSectionHandlersinitProjects/teardownProjectsas named exports (matchespage-skills.jspattern), addclearing.value = falsereset in init, keep existingregisterPagecall for/projectsroutedata-section="projects"using folder iconprojectstosettingsSectionstest matrix/settings/projectsrenders the Repositories heading with no JS errorsFiles Changed (6)
crates/web/src/templates.rscrates/web/src/assets/js/page-settings.jscrates/web/src/assets/js/page-projects.jscrates/web/src/assets/css/components.csscrates/web/ui/e2e/specs/settings-nav.spec.jscrates/web/ui/e2e/specs/projects.spec.jsNet: +38/-14
Testing
cargo check -p moltis-web✅biome check(all 4 JS/CSS files) ✅settings-nav.spec.jsprojects entry added to test matrixprojects.spec.jsnew/settings/projectsaccessibility test