feat(android): gate affordances on the permission matrix #72
No reviewers
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app!72
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/android-affordances-from-matrix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Third part of #61: Android gates affordances on the permission matrix, matching the web.
Android decided create/manage controls from
MemberRow.manager— a flatAdmin || Memberderived from the roles string, the same coarse guess the web carried. It hid controls a role was actually permitted, so a child saw no create buttons even for events, jobs, lists and meals the server allows.Permissionsstore (data module) reads the server matrix (GetPermissionMatrix, from #69), caches it in SharedPreferences and hydrates synchronously on start (honest offline), and exposescheck(matrix, service, method, roles). It keys on prettified role names, the same shapeMemberRow.rolescarries, so no enum plumbing reaches the UI.MealService, child) and rota (MealRotaService, member-only); jobs into create (ItemService.Create, child) and the manager tier (ItemService.Delete, member-only). Lists and events admit the child role; rewards stay member-and-up. Per-item ownership checks (canEditJob,canConvert) are untouched.MemberRow.managerproperty is removed.Android event editing is deferred to a follow-up (commit D), the same way recurring-event edit is.
Verified:
make checkpasses (:appand:datacompile, Go tests, web build, i18n — no new strings).Part of #61.
🤖 Generated with Claude Code
Test report
Coverage: 27.7%
Updated by the check workflow · commit
5f37ec9703feed0393f35f37ec9703Android test report
Updated by the android workflow · commit
5f37ec9703