Fixed in https://github.com/badbundle/track-slash-app/pull/192 (merged as 4a77eee).
Public projects are now link-only. Anyone with the link can still open, read and (for public_issues) file into one. Lists name a project only to its owner and members, in any role. Those lists are:
- Projects and owner pages
- the
/redirect - Me (its count and the assigned-issue scan)
- the new-issue picker
GET /api/v1/projectsandtrack_list_projects
What I found: all ~20 uiVisibleProjects callers only fed uiShellData.Projects, which no template rendered. So that field and its per-page queries are gone, and access checks are untouched. ListProjectsParams.VisibleToUser is now MemberUser. IssueCreatableToUser folded into WritableToUser once its public-issues clause went.
Decisions on the open questions:
- Owner pages list only the viewer's projects, and nothing when signed out.
- Admins get the same membership lists, and their wider access works by link.
- Recents and Favorites are unchanged, since they record your own history.
- The new-issue picker offers only projects you own or can write to. Outsiders file from the project's own page.
SECURITY_MODEL.md has a new "Public projects are link-only" rule. Tests: TestLinkOnlyPublicProjects, plus the store list checks.