mattermost-mobile-upstream/app/client
Claude 8d184c5202
Add DM/GM permission policy decision plumbing
Adds the client side of the dm_gm_start, dm_gm_read_access and
dm_gm_write_access decisions, without wiring it to any trigger or UI yet:

- constants for the actions, the permission resource, the three 403 error
  ids, the dmGmAccess System row and the minimum server version
- searchPermissionActionDecisions on the REST client (discovery mode
  against the permission resource)
- isChannelAccessEnforced / observeChannelAccessEnforced exported from the
  render permissions queries and reused by channel access reconciliation
- dm_gm_access queries: parse (missing or malformed allows), raw and
  gate-aware getters, a shared observeDmGmAccess stream and the
  read/write/start (start needs read) and existing-DM observers
- storeDmGmAccess: one write per answer, dropping answers asked before the
  stored one and skipping unchanged values
- fetchDmGmAccess: skipped and reset to allowed on older servers, when not
  enforced and on a 400; a decision with a reason keeps its previous value
  and is retried with backoff, as are network and 5xx errors
- handleDmGmPolicyError and a per-server apply queue; purge and restore
  are stubs for now
- error classification and the DM/GM write and start denial messages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y8zZ6swdpcLxJTgxH14DDD
2026-10-11 11:18:35 +00:00
..
rest Add DM/GM permission policy decision plumbing 2026-10-11 11:18:35 +00:00
websocket [MM-69457] Stop logging PII in exportable app logs (#9884) 2026-07-02 12:19:04 +02:00