-
Root Cause
ProjectRepository.findProjectsByMember() filters strictly by membership with no carve-out for PUBLIC visibility:
SELECT p FROM Project p JOIN p.members m WHERE m.user = :userPUBLIC projects with no membership record for the external user are excluded entirely.
Proposed Fix
Extend the query to include PUBLIC projects regardless of membership:
SELECT DISTINCT p FROM Project p LEFT JOIN p.members m WHERE m.user = :user OR p.visibility = 'PUBLIC'Affected Components
- ProjectRepository.findProjectsByMember()
- ProjectServiceImpl (caller — external user branch)
| Type |
Bug
|
| Priority |
Major
|
| Assignee | |
| Version |
none
|
| Sprints |
n/a
|
| Customer |
n/a
|
Issue Votes (0)
Summary
PUBLIC projects are not visible to external users. External users see only projects they are explicit members of, regardless of project visibility level.
Steps to Reproduce
Expected Behavior
PUBLIC projects should appear in the project list for all authenticated users including external users, without requiring explicit membership.
Actual Behavior
External user extuser2 (GUEST) sees "No projects found" despite test-public having visibility=PUBLIC.