mirror of
https://github.com/suitenumerique/meet.git
synced 2026-08-13 04:06:56 +00:00
🐛(frontend) fix permission store regression
`derive-valtio` was broken by a recent update, which cascaded into various regressions in the permission store. Take the opportunity to also refactor how permissions are handled. The store is now a pure cache with a single writer: every signal re-reads the browser via `syncPermissions()`, and the browser stays the only source of truth. Re-sync triggers, all event-driven (no polling): * `devicechange`: granting permission reveals device labels/ids, so it fires on grant in every browser, including Safari. This replaces the previous 500ms Safari polling. Denials are still caught by the concurrent `getUserMedia` rejection through `notePermissionDeniedFromGum`. * Window focus: covers the return from the browser or system permission UI. * Permissions API `change` events, where the query is supported.
This commit is contained in:
committed by
aleb_the_flash
parent
5d50671b3c
commit
c8a3ef6f61
Generated
-10
@@ -22,7 +22,6 @@
|
||||
"@tanstack/react-query": "5.101.1",
|
||||
"@timephy/rnnoise-wasm": "1.0.0",
|
||||
"crisp-sdk-web": "1.1.2",
|
||||
"derive-valtio": "0.2.0",
|
||||
"hoofd": "1.7.3",
|
||||
"humanize-duration": "3.33.2",
|
||||
"i18next": "26.3.1",
|
||||
@@ -4710,15 +4709,6 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/derive-valtio": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/derive-valtio/-/derive-valtio-0.2.0.tgz",
|
||||
"integrity": "sha512-6slhaFHtfaL3t5dLYaQt6s4G2xZymhu0Ktdl7OMeVk8+46RgR8ft6FL0Tr4F31W+yPH03nJe1SSP4JFy2hSMRA==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"valtio": ">=2.0.0-rc.0"
|
||||
}
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||
|
||||
Reference in New Issue
Block a user