trails/apps
Ullrich Schäfer 6a2f0bf089 Drop has-public-content gate from profile loader
A public profile (`profile_visibility = 'public'`) with zero public
routes or activities now returns 200 and renders the empty profile
shell instead of 404. The earlier change kept the legacy "AND has
public content" gate to preserve a no-existence-leak guarantee, but
that conflated the implicit behavior with the new explicit setting.
With profile_visibility now a deliberate toggle, the cleaner contract
is: visibility = public means the profile renders, period.

Followability already only depends on profile_visibility, so this
brings the public-page contract in line with that. The `private`
toggle remains the way to hide a profile from visitors.

Updates social-feed change spec + design to match (drops the
"AND has at least one public" predicate and the matching 404
scenario; adds an explicit "empty public profile renders an empty
shell" scenario).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 23:11:46 +02:00
..
journal Drop has-public-content gate from profile loader 2026-04-25 23:11:46 +02:00
mobile Bump the production group with 10 updates 2026-04-19 21:40:33 +02:00
planner Fix Planner/Journal healthchecks; auto-clean compose orphans 2026-04-24 18:28:04 +02:00