You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(fls): wire real per-caller FLS into import targets and grid columns, drop dead field.permissions shape (objectstack#3661) (#2866)
The `permissions?: { read?, write?, edit? }` key on field definitions was
declared-but-never-enforced: no producer ever populated it, so all three
guards reading it permanently short-circuited to "allow". Per ADR-0049
enforce-or-remove:
- ImportWizard target fields (ObjectView): filter by the server-resolved
/auth/me/permissions editable bit via usePermissions().checkField, so
the mapping step and the downloadable CSV template stop offering
columns the FLS write gate rejects with 403.
- ObjectGrid auto-derived columns: drop columns the caller cannot read
(same checkField gate ListView already applies).
- ObjectForm: delete the redundant dead guard in field generation — the
existing applyFieldPerms gate is the real enforcement point.
- @object-ui/types: remove the never-populated `permissions` field shape
(BREAKING) so future guards against it fail at compile time.
Claude-Session: https://claude.ai/code/session_01AEb4XCVb7iLEBVe9HghjTt
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments