Matrix-collab functionaliteit archiveren en uit codebase verwijderen #2082

Closed
opened 2026-09-13 08:11:42 +00:00 by brenno · 0 comments
Owner

Achtergrond

Matrix is een van de transporten voor realtime samenwerking, naast WebDAV en XMPP (Jitsi). Het gebruikt veel ruimte (~6800 regels lib + tests) en wordt momenteel niet gebruikt. XMPP/Jitsi is de voorkeursroute voor de toekomst. Dit issue vraagt om Matrix uit de codebase te halen en te archiveren voor mogelijke toekomstige hergebruik.

Wat mag verwijderd worden

Matrix-collab implementatie (lib/collab/)

12 bestanden, ~2320 regels:

  • lib/collab/matrix_client.dart (600)
  • lib/collab/matrix_http_transport.dart (9)
  • lib/collab/matrix_http_transport_io.dart (153)
  • lib/collab/matrix_http_transport_web.dart (73)
  • lib/collab/matrix_relay_transport.dart (344)
  • lib/collab/matrix_invite.dart (40)
  • lib/collab/matrix_key_exchange.dart (171)
  • lib/collab/matrix_chat.dart (167)
  • lib/collab/matrix_presence.dart (145)
  • lib/collab/matrix_snapshot.dart (206)
  • lib/collab/matrix_session_launch.dart (315)
  • lib/collab/matrix_collab_launch.dart (107)

Model en state

  • lib/models/matrix_settings.dart (117) — MatrixServer model
  • lib/state/matrix_client_provider.dart (57) — Riverpod provider
  • lib/state/parts/settings_provider_matrix.dart (70) — SettingsNotifierMatrix extension + sweepMatrixCollabSecrets
  • lib/state/collaboration_provider.dart (122) — Matrix-toggle in module-schakelaar (aanpassen, niet volledig verwijderen — WebDAV blijft)

UI widgets

  • lib/widgets/dialogs/matrix_collab_dialogs.dart (331) — invite, prompt, deelnemersverificatie
  • lib/widgets/dialogs/settings/matrix_form.dart (100) — form-state
  • lib/widgets/dialogs/settings/matrix_panel.dart (456) — instellingen UI, verbindingstest, recovery key
  • lib/widgets/dialogs/settings/collaboration_module_card.dart (93) — aanpassen: Matrix-toggle eruit
  • lib/widgets/panels/collab_chat_panel.dart (193) — chat UI (alleen Matrix)
  • lib/widgets/panels/slide_presence_dots.dart (99) — presence dots (alleen Matrix)
  • lib/widgets/collab_verify_banner.dart (106) — ongeverifieerd-apparaat banner

Integratiepunten aanpassen (niet volledig verwijderen)

  • lib/state/collab_session_provider.dart — verwijder: hostMatrix/joinMatrix/_beginMatrix/_finishMatrix/_wirePresence/_wireChat/sendChatMessage/debugMatrixSyncNow/matrixParticipants/pinParticipant/unpinParticipant/_matrixError + isMatrix/inviteLink/presence/chatMessages/trustRevision uit CollabSessionState
  • lib/widgets/shell/command_palette_actions.dart — verwijder Matrix host/join/kopieer-link acties + listenMatrixCollab + _beginMatrixCollab + _matrixCollabError (regels 341-550)
  • lib/widgets/app_shell.dart — verwijder imports van matrix_client_provider en matrix_collab_dialogs (regels 88, 140)
  • lib/widgets/app_shell_main_layout.dart — verwijder listenMatrixCollab call (regel 74) + Matrix-sessie voor chat (regel 180)
  • lib/widgets/dialogs/settings_dialog.dart — verwijder Matrix imports/form/panel (regels 10, 81-82, 171-175, 318, 346, 813-821)
  • lib/models/parts/app_settings.dart — verwijder matrixAccount veld (regels 334, 384, 482, 571-573)
  • lib/collab/collab.dart — verwijder matrix_* exports (regels 25-34)
  • lib/services/secret_store.dart — verwijder matrixTokenKey/writeMatrixToken/readMatrixToken/deleteMatrixToken (regels 248-289)

Tests (volledig verwijderen)

13 Matrix-specifieke testbestanden, ~3334 regels:

  • test/collab/matrix_client_test.dart (361)
  • test/collab/matrix_http_transport_test.dart (138)
  • test/collab/matrix_relay_transport_test.dart (423)
  • test/collab/matrix_key_exchange_test.dart (238)
  • test/collab/matrix_invite_test.dart (43)
  • test/collab/matrix_collab_launch_test.dart (155)
  • test/collab/matrix_session_launch_test.dart (181)
  • test/collab/matrix_snapshot_test.dart (169)
  • test/collab/fake_homeserver.dart (353)
  • test/matrix_account_settings_test.dart (425)
  • test/matrix_collab_provider_test.dart (406)
  • test/matrix_collab_ui_test.dart (383)
  • test/matrix_secret_store_test.dart (118)
  • test/matrix_settings_test.dart (90)

Tests aanpassen (niet verwijderen)

  • test/collab/collab_transport_contract_test.dart — vervang MatrixRelayTransport door XmppTransport of LoopbackTransport
  • test/collab_chat_panel_test.dart — hangt af van ChatMessage type uit matrix_chat.dart
  • test/collaboration_provider_test.dart — test de module-schakelaar met Matrix-toggle

l10n strings

24 Matrix-collab strings in en.dart, verspreid over 31 vertaalbestanden. Voorbeeld: 'Stel eerst een Matrix-account in...', 'De Matrix-homeserver is niet bereikbaar.', etc.

Wat NIET verwijderd mag worden

Gedeelde collab-core (gebruikt door WebDAV en XMPP)

  • lib/collab/collab_transport.dart — CollabTransport interface
  • lib/collab/collab_session.dart — autoriteit/versie/ops-logica
  • lib/collab/collab_session_controller.dart — koppelt sessie aan DeckNotifier
  • lib/collab/collab_session_launch.dart — WebDAV host/join
  • lib/collab/webdav_async_transport.dart — WebDAV implementatie
  • lib/collab/collab_crypto.dart — E2EE seal/open
  • lib/collab/collab_device_directory.dart — device-key directory
  • lib/collab/collab_device_store.dart — identiteit/recovery-seeds
  • lib/collab/collab_participant.dart — CollabParticipant + TrustState
  • lib/collab/collab_trust_store.dart — pinned-trust opslag
  • lib/collab/collab_snapshot.dart — snapshot logica
  • lib/collab/collab_codec.dart — JSON-codec
  • lib/collab/collab_log_store.dart — log store interface
  • lib/collab/deck_op.dart — operatie-DTOs
  • lib/collab/handover_coordinator.dart — WebDAV handover

Matrix slide-type (risicomatrix/FMEA) — NIET het protocol

Deze bestanden heten ook 'matrix' maar zijn het slide-type voor procesverbetering:

  • lib/services/improvement/matrix_*.dart
  • lib/widgets/editors/matrix_editor.dart
  • lib/widgets/editors/scope_matrix_editor.dart
  • lib/widgets/slides/previews/matrix_preview.dart
  • lib/widgets/slides/previews/scope_matrix_preview.dart
  • lib/models/scope_matrix_spec.dart
  • lib/services/marp_html/marp_html_service_matrix.dart
  • test/callout_escaping_matrix_test.dart

Overige gedeelde code

  • lib/services/secret_store.dart — alleen Matrix-specifieke methodes verwijderen, de rest blijft
  • lib/utils/log.dart, lib/utils/net_guard.dart, lib/utils/pinned_http_client.dart
  • Geen pubspec-afhankelijkheden zijn uitsluitend voor Matrix

Archivering

Voordat de code verwijderd wordt:

  1. Maak een tag of branch aan op de huidige main (bijv. archive/matrix-collab) zodat de code terug te halen is.
  2. Archiveer relevante design-docs: docs/design/COLLABORATION.md (Matrix-secties), SELF_ENCRYPTED_RELAY.md, assurance docs (ketenkeuring-matrix-*.md).
  3. XMPP_COLLAB_TRANSPORT.md blijft relevant.

Schatting

  • Lib-code verwijderbaar: ~3461 regels
  • Tests verwijderbaar: ~3334 regels
  • Integratiepunten aanpassen: ~200 regels diff
  • l10n strings: ~24 strings x 31 talen = ~744 regels
  • Totaal: ~7000+ regels

Labels

duplicate, enhancement

## Achtergrond Matrix is een van de transporten voor realtime samenwerking, naast WebDAV en XMPP (Jitsi). Het gebruikt veel ruimte (~6800 regels lib + tests) en wordt momenteel niet gebruikt. XMPP/Jitsi is de voorkeursroute voor de toekomst. Dit issue vraagt om Matrix uit de codebase te halen en te archiveren voor mogelijke toekomstige hergebruik. ## Wat mag verwijderd worden ### Matrix-collab implementatie (lib/collab/) 12 bestanden, ~2320 regels: - `lib/collab/matrix_client.dart` (600) - `lib/collab/matrix_http_transport.dart` (9) - `lib/collab/matrix_http_transport_io.dart` (153) - `lib/collab/matrix_http_transport_web.dart` (73) - `lib/collab/matrix_relay_transport.dart` (344) - `lib/collab/matrix_invite.dart` (40) - `lib/collab/matrix_key_exchange.dart` (171) - `lib/collab/matrix_chat.dart` (167) - `lib/collab/matrix_presence.dart` (145) - `lib/collab/matrix_snapshot.dart` (206) - `lib/collab/matrix_session_launch.dart` (315) - `lib/collab/matrix_collab_launch.dart` (107) ### Model en state - `lib/models/matrix_settings.dart` (117) — MatrixServer model - `lib/state/matrix_client_provider.dart` (57) — Riverpod provider - `lib/state/parts/settings_provider_matrix.dart` (70) — SettingsNotifierMatrix extension + sweepMatrixCollabSecrets - `lib/state/collaboration_provider.dart` (122) — Matrix-toggle in module-schakelaar (aanpassen, niet volledig verwijderen — WebDAV blijft) ### UI widgets - `lib/widgets/dialogs/matrix_collab_dialogs.dart` (331) — invite, prompt, deelnemersverificatie - `lib/widgets/dialogs/settings/matrix_form.dart` (100) — form-state - `lib/widgets/dialogs/settings/matrix_panel.dart` (456) — instellingen UI, verbindingstest, recovery key - `lib/widgets/dialogs/settings/collaboration_module_card.dart` (93) — aanpassen: Matrix-toggle eruit - `lib/widgets/panels/collab_chat_panel.dart` (193) — chat UI (alleen Matrix) - `lib/widgets/panels/slide_presence_dots.dart` (99) — presence dots (alleen Matrix) - `lib/widgets/collab_verify_banner.dart` (106) — ongeverifieerd-apparaat banner ### Integratiepunten aanpassen (niet volledig verwijderen) - `lib/state/collab_session_provider.dart` — verwijder: hostMatrix/joinMatrix/_beginMatrix/_finishMatrix/_wirePresence/_wireChat/sendChatMessage/debugMatrixSyncNow/matrixParticipants/pinParticipant/unpinParticipant/_matrixError + isMatrix/inviteLink/presence/chatMessages/trustRevision uit CollabSessionState - `lib/widgets/shell/command_palette_actions.dart` — verwijder Matrix host/join/kopieer-link acties + listenMatrixCollab + _beginMatrixCollab + _matrixCollabError (regels 341-550) - `lib/widgets/app_shell.dart` — verwijder imports van matrix_client_provider en matrix_collab_dialogs (regels 88, 140) - `lib/widgets/app_shell_main_layout.dart` — verwijder listenMatrixCollab call (regel 74) + Matrix-sessie voor chat (regel 180) - `lib/widgets/dialogs/settings_dialog.dart` — verwijder Matrix imports/form/panel (regels 10, 81-82, 171-175, 318, 346, 813-821) - `lib/models/parts/app_settings.dart` — verwijder matrixAccount veld (regels 334, 384, 482, 571-573) - `lib/collab/collab.dart` — verwijder matrix_* exports (regels 25-34) - `lib/services/secret_store.dart` — verwijder matrixTokenKey/writeMatrixToken/readMatrixToken/deleteMatrixToken (regels 248-289) ### Tests (volledig verwijderen) 13 Matrix-specifieke testbestanden, ~3334 regels: - test/collab/matrix_client_test.dart (361) - test/collab/matrix_http_transport_test.dart (138) - test/collab/matrix_relay_transport_test.dart (423) - test/collab/matrix_key_exchange_test.dart (238) - test/collab/matrix_invite_test.dart (43) - test/collab/matrix_collab_launch_test.dart (155) - test/collab/matrix_session_launch_test.dart (181) - test/collab/matrix_snapshot_test.dart (169) - test/collab/fake_homeserver.dart (353) - test/matrix_account_settings_test.dart (425) - test/matrix_collab_provider_test.dart (406) - test/matrix_collab_ui_test.dart (383) - test/matrix_secret_store_test.dart (118) - test/matrix_settings_test.dart (90) ### Tests aanpassen (niet verwijderen) - test/collab/collab_transport_contract_test.dart — vervang MatrixRelayTransport door XmppTransport of LoopbackTransport - test/collab_chat_panel_test.dart — hangt af van ChatMessage type uit matrix_chat.dart - test/collaboration_provider_test.dart — test de module-schakelaar met Matrix-toggle ### l10n strings 24 Matrix-collab strings in en.dart, verspreid over 31 vertaalbestanden. Voorbeeld: 'Stel eerst een Matrix-account in...', 'De Matrix-homeserver is niet bereikbaar.', etc. ## Wat NIET verwijderd mag worden ### Gedeelde collab-core (gebruikt door WebDAV en XMPP) - `lib/collab/collab_transport.dart` — CollabTransport interface - `lib/collab/collab_session.dart` — autoriteit/versie/ops-logica - `lib/collab/collab_session_controller.dart` — koppelt sessie aan DeckNotifier - `lib/collab/collab_session_launch.dart` — WebDAV host/join - `lib/collab/webdav_async_transport.dart` — WebDAV implementatie - `lib/collab/collab_crypto.dart` — E2EE seal/open - `lib/collab/collab_device_directory.dart` — device-key directory - `lib/collab/collab_device_store.dart` — identiteit/recovery-seeds - `lib/collab/collab_participant.dart` — CollabParticipant + TrustState - `lib/collab/collab_trust_store.dart` — pinned-trust opslag - `lib/collab/collab_snapshot.dart` — snapshot logica - `lib/collab/collab_codec.dart` — JSON-codec - `lib/collab/collab_log_store.dart` — log store interface - `lib/collab/deck_op.dart` — operatie-DTOs - `lib/collab/handover_coordinator.dart` — WebDAV handover ### Matrix slide-type (risicomatrix/FMEA) — NIET het protocol Deze bestanden heten ook 'matrix' maar zijn het slide-type voor procesverbetering: - lib/services/improvement/matrix_*.dart - lib/widgets/editors/matrix_editor.dart - lib/widgets/editors/scope_matrix_editor.dart - lib/widgets/slides/previews/matrix_preview.dart - lib/widgets/slides/previews/scope_matrix_preview.dart - lib/models/scope_matrix_spec.dart - lib/services/marp_html/marp_html_service_matrix.dart - test/callout_escaping_matrix_test.dart ### Overige gedeelde code - lib/services/secret_store.dart — alleen Matrix-specifieke methodes verwijderen, de rest blijft - lib/utils/log.dart, lib/utils/net_guard.dart, lib/utils/pinned_http_client.dart - Geen pubspec-afhankelijkheden zijn uitsluitend voor Matrix ## Archivering Voordat de code verwijderd wordt: 1. Maak een tag of branch aan op de huidige main (bijv. `archive/matrix-collab`) zodat de code terug te halen is. 2. Archiveer relevante design-docs: docs/design/COLLABORATION.md (Matrix-secties), SELF_ENCRYPTED_RELAY.md, assurance docs (ketenkeuring-matrix-*.md). 3. XMPP_COLLAB_TRANSPORT.md blijft relevant. ## Schatting - Lib-code verwijderbaar: ~3461 regels - Tests verwijderbaar: ~3334 regels - Integratiepunten aanpassen: ~200 regels diff - l10n strings: ~24 strings x 31 talen = ~744 regels - Totaal: **~7000+ regels** ## Labels duplicate, enhancement
brenno 2026-09-13 10:58:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2082
No description provided.