Files
Max Litruv Boonzaayer e058165830 feat: upgrade toolchain and soften sync recovery after network blips
Bump Vite 8, matrix-js-sdk, and related deps; fix immer/vanilla-extract imports for new majors. Replace blocking sync error dialog with background recovery on wake/offline, and disable Vite auto-open in dev. Add feature handoff documentation index.
2026-07-09 01:55:09 +10:00

2.4 KiB

Common settings — handoff

Summary

Shared setting pages used by both room and space settings overlays: general (profile, join rules, encryption, embed filters), members, permissions editors, emojis/stickers, and developer tools (raw state events).

User-facing behavior

  • Same UI whether editing a room or space context
  • Members list with kick/ban/invite
  • Power level editor
  • Room emoji packs
  • Developer tools: send custom state events

Architecture

common-settings/
  general/ — RoomProfile, RoomJoinRules, RoomEncryption, EmbedFilters
  members/ — Members.tsx
  permissions/ — PowersEditor, PermissionGroups
  emojis-stickers/
  developer-tools/ — StateEventEditor, SendRoomEvent
Imported by room-settings and space-settings shells

Key files

Path Role
cinny/src/app/features/common-settings/general/RoomProfile.tsx Name/topic/avatar
cinny/src/app/features/common-settings/general/RoomJoinRules.tsx Join rules
cinny/src/app/features/common-settings/general/RoomEncryption.tsx E2E toggle
cinny/src/app/features/common-settings/general/EmbedFilters.tsx Room-wide embed filters
cinny/src/app/features/common-settings/members/Members.tsx Member management
cinny/src/app/features/common-settings/permissions/PowersEditor.tsx Power levels
cinny/src/app/features/common-settings/developer-tools/ Dev event tools

Data model

Standard Matrix room/space state events. Embed filters: im.paarrot.room.embed_filters.

Dependencies

  • Permission hooks, member list hooks

Integration points

  • room-settings / space-settings: parent shells
  • embed-filters: room-wide pattern UI
  • emoji-stickers: room pack management

Testing

Manual

  1. Open members from room settings; invite user.
  2. Set embed filter pattern as admin.
  3. Developer tools: send test state event (staging only).

Automated

  • None

Known issues & gotchas

  • DevelopTools naming typo inherited from upstream
  • Encryption enable is irreversible — UI must warn

Future work

  • Extract embed filters to own settings section

Add your extra things here

  • PermissionGroups.tsx — grouped permission UI