Mohamed Boudra
4bda2dfea9
Edit workspace files directly on web ( #2270 )
...
* feat(files): edit workspace files on web
Keep source buffers synchronized with host file changes and require an explicit overwrite or reload when revisions diverge.
* feat(panels): surface and protect modified tabs
Expose tooltip and modification state through the generic panel boundary so tabs can show stable metadata and guard every close route consistently.
* fix(tests): use portable fake timeout handle
* fix(files): harden editor conflict handling
Preserve modified panel state across tab eviction, use precise revisions for optimistic writes, coalesce concurrent file watchers, and localize the editor interface.
* fix(files): close editor concurrency gaps
Coalesce clean reloads, preserve subscriber identities and file permissions, suspend pending saves during close confirmation, and carry precise revisions through file reads.
* test(files): expect read revision metadata
2026-07-21 04:41:19 +08:00
..
2026-07-16 17:36:41 +02:00
2026-07-21 04:41:19 +08:00
2026-06-11 13:17:29 +07:00
2026-06-11 13:17:29 +07:00
2026-06-26 12:16:49 +08:00
2026-06-14 23:29:14 +08:00
2026-06-14 23:29:14 +08:00
2026-04-10 09:53:38 +07:00
2026-05-28 01:58:18 +08:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-06-12 22:52:41 +07:00
2026-06-18 12:03:44 +07:00
2026-07-15 23:13:55 +02:00
2026-05-28 12:34:31 +08:00
2026-05-28 12:34:31 +08:00
2026-06-26 12:16:49 +08:00
2026-07-11 15:39:14 +08:00
2026-07-17 15:03:26 +08:00
2026-07-17 15:03:26 +08:00
2026-07-01 22:50:15 +02:00
2026-06-10 11:29:26 +07:00
2026-06-29 20:44:18 +02:00
2026-05-28 01:58:18 +08:00
2026-06-11 16:16:26 +08:00
2026-06-29 17:23:18 +02:00
2026-06-29 17:23:18 +02:00
2026-07-07 22:13:42 +02:00
2026-06-26 12:16:49 +08:00
2026-06-26 12:16:49 +08:00
2026-07-17 17:03:34 +02:00
2026-07-17 17:03:34 +02:00
2026-07-19 03:08:46 +08:00
2026-07-19 03:08:46 +08:00
2026-06-18 20:44:57 +07:00
2026-07-18 16:30:59 +02:00
2026-06-26 12:16:49 +08:00
2026-06-26 12:16:49 +08:00
2025-11-23 14:32:08 +01:00
2026-05-05 19:58:16 +07:00
2026-05-05 19:56:26 +07:00
2026-03-21 20:22:15 +07:00
2026-06-14 22:03:27 +08:00
2026-06-11 14:15:35 +08:00
2026-06-14 23:29:14 +08:00
2026-03-21 20:22:15 +07:00
2026-03-21 20:22:15 +07:00
2026-05-16 14:20:24 +08:00
2026-06-03 19:32:49 +07:00
2026-06-03 19:32:49 +07:00
2026-07-07 22:13:42 +02:00
2026-03-21 20:22:15 +07:00
2026-07-08 19:45:02 +08:00
2026-07-08 19:45:02 +08:00
2026-05-05 19:56:26 +07:00
2026-07-20 19:32:50 +02:00
2026-07-20 19:32:50 +02:00
2026-06-11 14:15:35 +08:00
2026-04-19 20:19:45 +07:00
2026-06-11 14:15:35 +08:00
2026-06-27 09:03:04 +08:00
2026-04-10 09:53:38 +07:00
2026-06-07 15:53:17 +07:00
2026-06-29 20:44:18 +02:00
2026-05-28 12:34:31 +08:00
2026-06-11 14:15:35 +08:00
2026-05-28 12:34:31 +08:00
2026-04-20 17:23:17 +07:00
2026-07-08 10:20:30 +02:00
2026-04-24 12:26:10 +08:00
2026-06-18 12:03:44 +07:00
2026-06-18 12:03:44 +07:00
2026-04-12 09:56:05 +08:00
2026-07-17 14:29:19 +08:00
2026-05-03 20:15:19 +07:00
2026-05-03 20:15:19 +07:00
2026-05-31 05:38:29 +00:00
2026-07-17 17:03:34 +02:00
2026-07-15 23:13:55 +02:00
2026-07-15 23:13:55 +02:00
2026-07-17 19:30:17 +02:00
2026-06-03 18:34:24 +08:00
2026-07-16 14:39:55 +02:00
2026-06-11 14:15:35 +08:00
2026-07-07 22:13:42 +02:00
2026-07-15 20:40:24 +02:00
2026-07-07 22:13:42 +02:00
2026-07-07 22:13:42 +02:00
2026-05-28 01:58:18 +08:00
2026-07-07 22:13:42 +02:00
2026-07-07 22:13:42 +02:00
2026-07-07 22:13:42 +02:00
2026-07-07 22:13:42 +02:00
2026-04-01 13:37:51 +07:00
2026-04-12 12:00:45 +07:00
2026-07-13 10:59:02 +02:00
2026-07-13 10:59:02 +02:00
2026-06-26 12:16:49 +08:00
2026-06-20 22:26:17 +07:00
2026-07-11 15:39:14 +08:00
2026-07-18 22:26:31 +02:00
2026-07-13 10:59:02 +02:00
2026-07-20 23:24:45 +08:00
2026-03-23 10:45:48 +07:00