Channing Conger and GitHub
f94157a4b2
code-mode: merge stored values by key ( #24159 )
...
## Summary
Change code-mode stored value updates to merge writes by key instead of
replacing the session's complete stored-value map after each cell
completes.
Previously, each cell received a snapshot of stored values and returned
the complete resulting map. When multiple cells ran concurrently, a
later completion could overwrite values written by another cell because
it committed an older snapshot.
This change moves stored-value ownership into `CodeModeService`:
- Each runtime starts from the service's current stored values.
- Runtime completion reports only keys written by that cell.
- The service merges those writes into the current stored-value map on
successful completion.
- Core no longer replaces its stored-value state from a cell result.
As a result, concurrently executing cells can update different stored
keys without clobbering one another.
The move into CodeModeService is motivated by a desire to have this
lifetime tied to a new lifetime object on that side in a subsequent PR.
2026-05-22 19:09:02 -07:00
..
2026-05-22 13:10:56 -07:00
2026-04-21 10:22:36 -07:00
2026-04-07 00:32:41 +00:00
2026-05-22 17:54:07 -07:00
2026-05-21 12:54:00 +02:00
2026-05-22 01:11:47 +00:00
2026-05-20 21:55:21 +00:00
2026-05-07 10:16:10 -07:00
2026-04-26 22:11:49 -07:00
2026-05-22 17:54:07 -07:00
2026-05-20 21:55:21 +00:00
2026-05-22 15:21:08 -07:00
2026-05-22 19:09:02 -07:00
2026-05-20 17:57:36 -07:00
2026-03-24 18:10:53 -07:00
2026-05-19 21:56:46 -07:00
2026-05-19 21:56:46 -07:00
2026-04-07 21:20:22 +00:00
2026-05-11 16:33:44 -07:00
2026-05-08 12:36:02 -07:00
2026-05-18 09:57:54 -07:00
2026-05-18 09:57:54 -07:00
2026-05-08 12:36:02 -07:00
2026-05-22 16:46:25 -07:00
2026-05-13 11:15:25 -07:00
2026-05-18 18:48:35 -07:00
2026-05-18 21:03:51 -07:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-05-22 21:34:22 +00:00
2026-05-22 13:10:56 -07:00
2026-05-11 19:51:51 -07:00
2026-05-22 13:10:56 -07:00
2026-05-14 15:16:15 +02:00
2026-05-13 16:59:22 -07:00
2026-05-21 17:19:54 +02:00
2026-03-12 00:35:21 -07:00
2026-05-19 12:55:34 -07:00
2026-05-21 12:54:00 +02:00
2026-05-15 15:04:04 -07:00
2026-04-26 15:10:53 -07:00
2026-04-26 15:10:53 -07:00
2026-05-16 12:12:37 -07:00
2026-05-16 12:12:37 -07:00
2026-05-11 11:37:53 -07:00
2026-05-19 11:03:47 -07:00
2026-05-20 17:57:36 -07:00
2026-05-13 11:31:27 +02:00
2026-05-18 10:53:49 -07:00
2026-05-21 12:54:00 +02:00
2026-05-21 14:54:01 -07:00
2026-04-28 13:03:28 +02:00
2026-04-28 19:43:44 -07:00
2026-05-19 16:23:25 -07:00
2026-05-13 11:15:25 -07:00
2026-05-21 17:19:54 +02:00
2026-03-27 19:00:44 -07:00
2026-05-21 17:19:54 +02:00
2026-05-20 17:02:10 -07:00
2026-05-19 11:24:09 +02:00
2026-05-19 11:24:09 +02:00
2026-05-07 10:36:32 +02:00
2026-05-19 11:24:09 +02:00
2026-03-25 11:05:35 -07:00
2026-04-02 23:00:02 -07:00
2026-04-09 10:53:06 -07:00
2026-05-20 17:10:37 -07:00
2026-05-20 17:10:37 -07:00
2026-04-24 17:49:29 -07:00
2026-05-11 11:32:40 -07:00
2026-05-15 15:04:04 -07:00
2026-05-06 22:48:29 -07:00
2026-05-19 12:55:34 -07:00
2026-05-06 02:12:31 +00:00
2026-04-23 10:17:09 -07:00
2026-05-20 16:03:51 -07:00
2026-05-20 16:03:51 -07:00
2026-04-16 14:30:57 -07:00
2026-04-01 23:06:24 -07:00
2026-04-14 14:26:10 -07:00
2026-05-05 15:25:19 -07:00
2026-05-19 11:03:47 -07:00
2026-05-07 11:33:47 +02:00
2026-05-15 10:58:50 -07:00
2026-05-15 10:58:50 -07:00
2026-04-20 22:39:17 -07:00
2026-04-03 00:33:34 -07:00
2026-05-18 21:33:46 -07:00
2026-02-10 17:03:46 -08:00
2026-05-04 11:46:03 -07:00
2026-05-04 11:46:03 -07:00
2026-03-27 19:00:44 -07:00
2026-04-02 13:47:10 -07:00
2026-05-19 01:24:19 +00:00
2026-04-14 14:26:10 -07:00
2026-05-04 11:46:03 -07:00
2026-05-20 15:30:01 +02:00
2026-05-18 15:43:01 -07:00
2026-05-06 22:48:29 -07:00
2026-05-22 13:10:56 -07:00
2026-05-22 13:06:40 +02:00
2026-04-26 17:18:09 -07:00
2026-04-13 23:11:49 -07:00
2026-05-07 18:05:45 +02:00
2026-05-07 18:05:45 +02:00
2026-05-15 10:58:50 -07:00
2026-05-15 01:26:50 +00:00
2026-04-28 16:36:59 +00:00
2026-05-15 11:40:35 +02:00
2026-04-20 22:39:17 -07:00
2026-04-20 22:39:17 -07:00
2026-05-14 16:54:59 -07:00
2026-05-14 16:54:59 -07:00
2026-01-30 16:37:56 -08:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-05-22 12:13:52 +02:00
2026-05-22 12:50:42 +02:00