arkon
9893a7f64a
fix(terminal): bound + harden xterm snapshot persistence
...
- Skip snapshot save for shell sessions (restore is gated on mode!=='shell',
so they only burned a serialize() + cache slot + localStorage quota).
- In-memory cache: delete-before-set so eviction is true LRU, not FIFO that
could drop the most-recently-used session.
- localStorage: extract _persistXtermSnapshot — evict to a fixed key budget
regardless of session liveness (the old prune only dropped dead keys, so
>10 live sessions at the 20-session target deadlocked the quota) and
evict-and-retry on quota errors (the old prune ran only after a successful
setItem, so a full quota permanently disabled persistence).
- Tighten the OSC-strip regex in _isUsableXtermSnapshot to stop at ST.
- Update the structural test's usability-gate assertion to not depend on a
fixed byte window.
2026-06-11 10:16:47 +02:00
..
2026-06-08 15:41:46 +02:00
2026-06-10 20:41:34 +02:00
2026-06-10 20:41:34 +02:00
2026-06-10 19:56:30 -04:00
2026-06-10 01:38:40 +02:00
2026-02-26 16:44:34 +01:00
2026-01-27 23:15:25 +01:00
2026-06-09 20:02:15 +02:00
2026-06-08 19:29:47 +02:00
2026-02-12 13:44:07 +01:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-03-01 16:50:23 +01:00
2026-06-08 11:01:34 -04:00
2026-06-10 22:31:09 +02:00
2026-06-11 10:16:47 +02:00
2026-06-10 22:47:02 +02:00
2026-03-01 16:50:23 +01:00
2026-06-08 09:56:06 -04:00
2026-06-10 01:30:43 +02:00
2026-06-07 04:33:11 +02:00
2026-06-10 01:30:43 +02:00
2026-06-09 20:02:15 +02:00
2026-06-08 09:56:06 -04:00
2026-06-10 01:30:43 +02:00
2026-06-10 03:41:04 +02:00
2026-02-28 17:39:44 +01:00
2026-05-12 09:57:08 +02:00
2026-06-10 01:30:43 +02:00
2026-06-10 18:06:45 +02:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-02-18 12:51:35 +01:00
2026-06-08 11:01:34 -04:00
2026-06-09 03:19:51 +02:00
2026-02-12 13:44:07 +01:00
2026-02-26 15:58:26 +01:00
2026-06-10 01:30:43 +02:00
2026-03-21 19:23:37 +01:00
2026-03-21 07:20:18 +01:00
2026-06-08 10:27:18 -04:00
2026-02-26 16:44:34 +01:00
2026-02-12 18:26:16 +01:00
2026-06-09 20:02:17 +02:00
2026-06-08 18:01:20 +02:00
2026-06-10 01:30:43 +02:00
2026-06-10 01:30:43 +02:00
2026-01-21 22:36:45 +01:00
2026-06-10 01:30:43 +02:00
2026-02-19 14:00:10 +01:00
2026-01-21 14:01:47 +01:00
2026-06-10 18:06:45 +02:00
2026-03-01 16:50:23 +01:00
2026-06-08 15:46:10 +02:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 20:41:34 +02:00
2026-03-07 07:33:44 +01:00
2026-03-07 07:33:44 +01:00
2026-03-07 07:33:44 +01:00
2026-01-25 07:52:40 +01:00
2026-03-01 14:33:18 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 16:16:20 +02:00
2026-06-10 03:41:04 +02:00
2026-02-18 18:14:13 +01:00
2026-06-09 20:02:15 +02:00
2026-06-10 17:08:36 +02:00
2026-06-08 18:01:20 +02:00
2026-06-10 20:41:34 +02:00
2026-06-10 01:30:43 +02:00
2026-06-10 04:07:26 +02:00
2026-06-10 20:50:24 +02:00
2026-02-26 16:44:34 +01:00
2026-06-10 01:30:43 +02:00
2026-06-10 16:23:57 +02:00
2026-06-10 01:30:43 +02:00
2026-06-09 20:02:15 +02:00
2026-06-10 01:30:43 +02:00
2026-03-07 07:33:44 +01:00
2026-02-28 14:45:39 +01:00
2026-01-22 11:30:10 +01:00
2026-05-12 10:11:47 +02:00
2026-03-12 16:08:39 +01:00
2026-02-28 17:39:44 +01:00
2026-02-28 17:39:44 +01:00
2026-01-21 07:19:49 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 18:06:45 +02:00
2026-06-10 13:34:45 -04:00
2026-06-09 15:39:03 -04:00
2026-02-26 16:44:34 +01:00
2026-06-09 15:39:03 -04:00
2026-06-10 19:56:30 -04:00
2026-02-26 16:44:34 +01:00
2026-05-25 23:28:58 +02:00
2026-01-25 21:29:35 +01:00
2026-06-10 01:30:43 +02:00
2026-06-10 20:41:34 +02:00
2026-01-22 11:30:10 +01:00
2026-05-19 11:43:36 +02:00