trop[bot]
abed1204e6
fix: resolve getFileHandle concurrent stalling by queuing callbacks ( #50672 )
...
fix: resolve getFileHandle concurrent stalling by queuing callbacks (#50597 )
Previously, concurrent calls to FileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess
for the same file path would silently discard the subsequent callbacks because
the internal callback map used a single callback per file path and std::map::try_emplace
would drop the callback if the key already existed. This caused Promises in JS
(e.g., dirHandle.getFileHandle()) to stall indefinitely.
This commit updates the callback map to hold a vector of callbacks, so all
concurrent requesters for the same filepath are grouped together and resolved
once the asynchronous blocklist check completes.
Notes: Fixed an issue where concurrent `getFileHandle` requests on the same path could stall indefinitely.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Kunal Dubey <21157775+xakep8@users.noreply.github.com >
2026-04-03 13:48:01 -05:00
..
2026-04-02 20:10:04 -07:00
2025-01-10 10:52:34 -06:00
2025-06-26 00:12:49 +09:00
2025-12-05 12:18:13 -05:00
2026-04-03 13:48:01 -05:00
2026-03-09 23:03:45 -05:00
2025-08-11 12:57:31 +09:00
2026-03-09 12:33:49 +01:00
2026-03-02 19:12:08 -05:00
2024-09-17 12:58:56 -07:00
2026-03-09 11:36:34 +01:00
2026-03-26 20:19:14 +00:00
2026-03-03 10:43:08 +01:00
2025-08-07 11:18:32 -04:00
2026-03-26 11:47:34 -04:00
2026-02-13 16:27:51 +01:00
2026-03-09 23:03:45 -05:00
2026-04-02 20:10:04 -07:00
2026-03-09 23:03:45 -05:00
2025-02-06 15:30:54 -05:00
2025-09-22 20:16:27 -07:00
2023-12-13 13:01:03 -08:00
2023-12-13 13:01:03 -08:00
2025-09-24 19:10:05 -05:00
2025-09-08 12:57:15 +02:00
2025-09-08 12:57:15 +02:00
2023-09-26 16:00:46 -04:00
2026-03-10 00:04:27 -05:00
2026-03-10 00:04:27 -05:00
2024-12-03 16:25:48 -06:00
2026-01-14 19:24:45 +01:00
2025-12-05 12:18:13 -05:00
2026-03-10 00:04:27 -05:00
2026-03-10 00:04:27 -05:00
2026-03-10 00:04:27 -05:00
2025-12-05 12:18:13 -05:00
2024-07-29 12:42:57 -05:00
2025-10-17 13:04:24 -04:00
2025-10-17 13:04:24 -04:00
2024-07-29 12:42:57 -05:00
2024-07-29 12:42:57 -05:00
2026-01-14 09:34:28 +01:00
2025-08-27 09:30:50 +09:00
2026-01-14 09:34:28 +01:00
2025-08-27 09:30:50 +09:00
2025-04-25 13:11:53 -05:00
2025-03-24 10:09:14 +01:00
2023-12-13 13:01:03 -08:00
2024-07-29 12:42:57 -05:00
2026-04-02 20:10:04 -07:00
2025-09-08 12:57:15 +02:00
2025-09-24 19:10:05 -05:00
2025-12-05 12:18:13 -05:00
2024-07-25 11:25:45 +02:00
2025-04-22 15:53:29 -04:00
2025-12-05 12:18:13 -05:00
2025-10-03 01:18:14 +02:00
2025-08-27 09:30:50 +09:00
2024-07-17 09:48:03 -04:00
2026-03-02 18:35:40 -05:00
2025-02-19 16:49:34 -06:00
2025-07-14 13:42:37 -07:00
2025-06-03 11:19:20 -04:00
2025-07-28 15:31:54 -07:00
2025-09-22 20:16:27 -07:00
2026-03-02 20:44:50 -08:00
2026-03-02 20:44:50 -08:00
2025-12-05 12:18:13 -05:00
2025-12-05 12:18:13 -05:00
2025-07-28 15:31:54 -07:00
2025-08-06 20:14:23 -04:00
2025-08-06 20:14:23 -04:00
2025-08-06 20:14:23 -04:00
2025-04-22 15:53:29 -04:00
2025-03-14 10:59:15 -05:00
2025-10-15 14:10:10 -07:00
2025-09-11 16:03:17 -04:00
2024-12-03 16:25:48 -06:00
2024-09-12 16:05:37 +02:00
2024-09-10 16:05:57 -07:00
2025-12-05 12:18:13 -05:00
2024-09-10 16:05:57 -07:00
2023-10-03 12:26:35 -07:00
2024-11-29 11:44:33 -06:00
2024-07-25 11:25:45 +02:00
2025-09-08 12:57:15 +02:00
2025-03-07 18:22:03 +09:00
2025-04-03 19:02:49 -05:00
2025-04-03 19:02:49 -05:00
2026-01-12 11:23:31 -05:00
2026-01-12 11:23:31 -05:00
2024-10-29 23:25:40 -05:00
2024-06-07 17:18:35 -04:00
2026-03-11 15:36:30 -04:00
2026-03-11 15:36:30 -04:00
2025-05-06 11:57:53 -05:00
2025-10-03 20:10:18 +02:00
2026-03-17 09:46:36 +01:00
2025-10-13 12:21:54 -04:00
2025-11-10 13:55:46 +01:00
2025-10-08 10:43:28 +02:00
2025-08-25 18:52:06 +09:00
2025-06-13 10:15:32 +02:00
2025-06-13 10:15:32 +02:00
2024-08-23 17:15:45 -05:00
2024-08-23 17:15:45 -05:00
2025-09-08 12:57:15 +02:00
2024-07-22 11:31:32 +02:00
2026-03-05 10:27:40 +01:00
2025-03-14 10:59:15 -05:00
2024-11-30 06:54:40 -06:00
2025-01-31 09:32:45 -05:00
2025-01-31 09:32:45 -05:00
2024-09-12 16:05:37 +02:00
2026-03-09 23:03:45 -05:00
2025-04-22 15:53:29 -04:00
2026-03-24 22:48:27 +00:00
2026-03-02 20:48:33 -08:00
2025-10-13 12:21:54 -04:00
2025-10-23 16:28:51 -04:00
2024-07-29 12:42:57 -05:00
2025-07-14 13:42:37 -07:00
2025-07-14 13:42:37 -07:00
2023-11-28 13:40:12 -08:00
2024-01-05 12:18:31 +01:00
2024-12-03 16:25:48 -06:00
2025-06-29 21:32:03 +02:00
2024-01-10 14:01:49 -06:00
2025-10-23 16:28:51 -04:00
2025-10-23 16:28:51 -04:00