Transcriptie 20 — opnamebediening en toestemming in het OciDeck-callpaneel #2528

Closed
opened 2026-10-22 20:05:35 +00:00 by brenno · 2 comments
Owner

Bovenliggend callticket: #2526 · Epic: #2508
Afhankelijk van: #2527, #2510, #2514

Gebruikersdoel

Ik kan vanuit mijn actieve call bewust starten en stoppen, zie continu dat OciDeck opneemt en weet of de provider daarnaast zelf opneemt.

Werk

  • Plaats Opnemen en transcriberen in de actieve CallPanel, uitsluitend wanneer de calladapter een werkende audiobron en toelaatbaar opnamepad meldt. Toon bron, opslagkeuze, lokale of gekozen serververwerking, deelnemer-/providervereisten en een bewuste Start-actie. Het videobelmodule- of transcriptiemodule-schakelaartje start nooit opname.
  • Toon een blijvende OciDeck-opname-indicator en Stop in de app, ook na wisselen van deck/presentatiescherm. Houd RecordingIndicatorChanged van de provider apart: die indicator meldt providerstatus, geen lokale opname en geen toestemming namens deelnemers.
  • Definieer de status uit / toestemming nodig / klaar / bezig / stoppen / fout, inclusief focus, toetsenbord en schermlezer. Bij providerbeleid dat opname verbiedt, ontbrekende toestemming of niet beschikbare track toon een concrete reden en herstelstap. Informeer deelnemers volgens het vastgestelde providerbeleid; claim geen automatische juridische toestemming.
  • Een gekozen ASR-server vraagt apart toestemming vóór audioupload; beëindiging van die toestemming stopt verzending zonder de call ongemerkt te verlaten.

Acceptatie

  • De knop verschijnt alleen bij een echte actieve call en bewezen opname-capability; join, unmute, presentatie of een providerindicator start geen lokale opname.
  • UI-tests met fake sessies dekken alle statussen, aparte provider-/OciDeck-indicator, dubbele klik, module uitschakelen tijdens opname, tabwissel en toegankelijkheid.
  • Zonder verplichte toestemming of bij verboden providerbeleid verlaten geen audiobytes de recorder of gekozen server.

Code/ontwerp

lib/widgets/panels/call_panel.dart, lib/state/meeting_session_provider.dart, lib/meetings/meeting_event.dart; docs/design/COLLABORATION.md §7.1.6.

**Bovenliggend callticket:** [#2526](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2526) · **Epic:** [#2508](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2508) **Afhankelijk van:** [#2527](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2527), [#2510](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2510), [#2514](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2514) ## Gebruikersdoel Ik kan vanuit mijn actieve call bewust starten en stoppen, zie continu dat OciDeck opneemt en weet of de provider daarnaast zelf opneemt. ## Werk - Plaats `Opnemen en transcriberen` in de actieve `CallPanel`, uitsluitend wanneer de calladapter een werkende audiobron en toelaatbaar opnamepad meldt. Toon bron, opslagkeuze, lokale of gekozen serververwerking, deelnemer-/providervereisten en een bewuste Start-actie. Het videobelmodule- of transcriptiemodule-schakelaartje start nooit opname. - Toon een blijvende OciDeck-opname-indicator en Stop in de app, ook na wisselen van deck/presentatiescherm. Houd `RecordingIndicatorChanged` van de provider apart: die indicator meldt providerstatus, geen lokale opname en geen toestemming namens deelnemers. - Definieer de status `uit / toestemming nodig / klaar / bezig / stoppen / fout`, inclusief focus, toetsenbord en schermlezer. Bij providerbeleid dat opname verbiedt, ontbrekende toestemming of niet beschikbare track toon een concrete reden en herstelstap. Informeer deelnemers volgens het vastgestelde providerbeleid; claim geen automatische juridische toestemming. - Een gekozen ASR-server vraagt apart toestemming vóór audioupload; beëindiging van die toestemming stopt verzending zonder de call ongemerkt te verlaten. ## Acceptatie - [ ] De knop verschijnt alleen bij een echte actieve call en bewezen opname-capability; join, unmute, presentatie of een providerindicator start geen lokale opname. - [ ] UI-tests met fake sessies dekken alle statussen, aparte provider-/OciDeck-indicator, dubbele klik, module uitschakelen tijdens opname, tabwissel en toegankelijkheid. - [ ] Zonder verplichte toestemming of bij verboden providerbeleid verlaten geen audiobytes de recorder of gekozen server. ## Code/ontwerp `lib/widgets/panels/call_panel.dart`, `lib/state/meeting_session_provider.dart`, `lib/meetings/meeting_event.dart`; `docs/design/COLLABORATION.md` §7.1.6.
Author
Owner

De bediening staat op main via #2589 (bf2141f5ad31).

In een verbonden vergadering staat Opnemen en transcriberen. Zonder bron van de hele call, of als de vergadering opnemen verbiedt, zie je de reden en geen startknop. De huidige binding heeft die bron niet. Een track-id, dempen of het lampje van de vergadering start niets. De strook blijft staan als het paneel weg is. Een gekozen transcriptieserver telt pas mee na een aparte toestemming; intrekken stopt alleen die telling. De bytes worden nergens weggeschreven en nergens heen gestuurd.

Dit is geen opname van een echte vergadering met twee deelnemers. Het issue blijft open.

De bediening staat op main via #2589 (`bf2141f5ad31`). In een verbonden vergadering staat *Opnemen en transcriberen*. Zonder bron van de hele call, of als de vergadering opnemen verbiedt, zie je de reden en geen startknop. De huidige binding heeft die bron niet. Een track-id, dempen of het lampje van de vergadering start niets. De strook blijft staan als het paneel weg is. Een gekozen transcriptieserver telt pas mee na een aparte toestemming; intrekken stopt alleen die telling. De bytes worden nergens weggeschreven en nergens heen gestuurd. Dit is geen opname van een echte vergadering met twee deelnemers. Het issue blijft open.
Author
Owner

De acceptatie van dit ticket is de bediening, en die staat op main via #2589 (bf2141f5ad31).

Start verschijnt alleen bij een verbonden call, een bron van de hele call, en de melding dat je de deelnemers zelf informeert. Deelnemen, dempen opheffen, het lampje van de vergadering en de moduleschakelaar starten niets. Verbiedt de vergadering opnemen, of is er geen bron, dan zie je de reden en geen knop. Een tweede start doet niets. De module uitzetten stopt de opname en laat de call staan. De strook en Stop blijven als het paneel weg is. Zonder de aparte servertoestemming telt geen brok als doorgifte; er wordt niets weggeschreven of verstuurd. De tests dekken die statussen met een nepsessie, inclusief toetsenbord en de schermlezerregel.

Een opname van een echte vergadering hoort bij #2527 en blijft open: de huidige binding heeft die tap niet, dus in een echte call blijft de knop weg. Een opslagkeuze is niet gebouwd, omdat deze stap niets bewaart.

De acceptatie van dit ticket is de bediening, en die staat op main via #2589 (`bf2141f5ad31`). Start verschijnt alleen bij een verbonden call, een bron van de hele call, en de melding dat je de deelnemers zelf informeert. Deelnemen, dempen opheffen, het lampje van de vergadering en de moduleschakelaar starten niets. Verbiedt de vergadering opnemen, of is er geen bron, dan zie je de reden en geen knop. Een tweede start doet niets. De module uitzetten stopt de opname en laat de call staan. De strook en Stop blijven als het paneel weg is. Zonder de aparte servertoestemming telt geen brok als doorgifte; er wordt niets weggeschreven of verstuurd. De tests dekken die statussen met een nepsessie, inclusief toetsenbord en de schermlezerregel. Een opname van een echte vergadering hoort bij #2527 en blijft open: de huidige binding heeft die tap niet, dus in een echte call blijft de knop weg. Een opslagkeuze is niet gebouwd, omdat deze stap niets bewaart.
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#2528
No description provided.