The admin "Default services" setting writes the LDAP serviceEnabled attribute, and seeded/new users get remotestorage there. But remoteStorage access was additionally gated behind a per-user Flipper flag (Flipper.enabled?(:remotestorage, …)), and nothing in the codebase ever enables that flag, so remoteStorage was inaccessible for everyone (the dashboard and settings UI also hid it).
Fix
Controllers: replace the Flipper gate with current_user.service_enabled?(:remotestorage) (403 if absent), like the other services; drop the now-redundant commented line.
Views: the Storage tile/link is shown whenever remoteStorage is globally enabled, matching the other service tiles (views avoid per-user LDAP lookups).
Admin user page: the remoteStorage toggle reflects the LDAP serviceEnabled list (this also fixes it reading current_user instead of the user being viewed).
Spec: stub the LDAP lookup instead of Flipper and add a 403 case.
E-Mail keeps its Flipper gate for now.
Testing
bin/rspec → 299 examples, 0 failures.
Note
Because access now keys off serviceEnabled, any existing user granted remoteStorage only via the Flipper flag would need serviceEnabled: remotestorage added (one-off backfill, not included here).
## Problem
The admin "Default services" setting writes the LDAP `serviceEnabled` attribute, and seeded/new users get `remotestorage` there. But remoteStorage access was additionally gated behind a per-user Flipper flag (`Flipper.enabled?(:remotestorage, …)`), and nothing in the codebase ever enables that flag, so remoteStorage was inaccessible for everyone (the dashboard and settings UI also hid it).
## Fix
- Controllers: replace the Flipper gate with `current_user.service_enabled?(:remotestorage)` (403 if absent), like the other services; drop the now-redundant commented line.
- Views: the Storage tile/link is shown whenever remoteStorage is globally enabled, matching the other service tiles (views avoid per-user LDAP lookups).
- Admin user page: the remoteStorage toggle reflects the LDAP `serviceEnabled` list (this also fixes it reading `current_user` instead of the user being viewed).
- Spec: stub the LDAP lookup instead of Flipper and add a 403 case.
E-Mail keeps its Flipper gate for now.
## Testing
`bin/rspec` → 299 examples, 0 failures.
## Note
Because access now keys off `serviceEnabled`, any existing user granted remoteStorage only via the Flipper flag would need `serviceEnabled: remotestorage` added (one-off backfill, not included here).
The admin "Default services" setting writes the LDAP serviceEnabled
attribute, but remoteStorage access was also gated behind an unused
per-user Flipper flag that nothing ever enabled, so remoteStorage was
inaccessible for everyone.
Gate remoteStorage on service_enabled? like the other services, and make
the admin toggle reflect the LDAP attribute (this also fixes it reading
current_user instead of the user being viewed). E-Mail keeps its Flipper
gate for now.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The admin "Default services" setting writes the LDAP
serviceEnabledattribute, and seeded/new users getremotestoragethere. But remoteStorage access was additionally gated behind a per-user Flipper flag (Flipper.enabled?(:remotestorage, …)), and nothing in the codebase ever enables that flag, so remoteStorage was inaccessible for everyone (the dashboard and settings UI also hid it).Fix
current_user.service_enabled?(:remotestorage)(403 if absent), like the other services; drop the now-redundant commented line.serviceEnabledlist (this also fixes it readingcurrent_userinstead of the user being viewed).E-Mail keeps its Flipper gate for now.
Testing
bin/rspec→ 299 examples, 0 failures.Note
Because access now keys off
serviceEnabled, any existing user granted remoteStorage only via the Flipper flag would needserviceEnabled: remotestorageadded (one-off backfill, not included here).