Jiayuan
16f0e49c44
fix(runtimes): persist model-list requests in PostgreSQL to fix multi-instance 404 ( #1958 )
...
The model-list discovery flow (POST create → poll GET) used an in-memory
map, so in multi-instance deployments the poll could land on a different
pod and return 404. Move the store to a database table so all pods share
the same state.
Changes:
- Add migration 068: model_list_request table with partial index
- Add sqlc queries with FOR UPDATE SKIP LOCKED for atomic PopPending
- Introduce ModelListStorer interface; DBModelListStore for production,
InMemoryModelListStore for unit tests
- Update model-dropdown and model-picker to show "discovery failed"
instead of misleading "No models available" on error
Co-authored-by: multica-agent <github@multica.ai >
2026-05-01 09:19:21 +02:00
..
2026-03-24 18:12:06 +08:00
2026-03-23 18:31:25 +08:00
2026-03-23 18:31:25 +08:00
2026-03-23 18:34:51 +08:00
2026-03-23 18:34:51 +08:00
2026-03-24 12:03:14 +08:00
2026-03-24 12:03:14 +08:00
2026-03-24 12:03:14 +08:00
2026-03-24 12:03:14 +08:00
2026-03-24 15:59:11 +08:00
2026-03-24 15:59:11 +08:00
2026-03-24 18:12:06 +08:00
2026-03-24 18:12:06 +08:00
2026-03-25 15:17:59 +08:00
2026-03-25 15:17:59 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 14:32:30 +08:00
2026-03-26 15:44:10 +08:00
2026-03-26 17:17:23 +08:00
2026-03-26 18:28:36 +08:00
2026-03-26 18:28:36 +08:00
2026-03-27 15:49:30 +08:00
2026-03-27 15:49:30 +08:00
2026-03-28 19:33:20 +08:00
2026-03-28 19:33:20 +08:00
2026-03-28 19:33:20 +08:00
2026-03-28 20:24:07 +08:00
2026-03-28 21:53:08 +08:00
2026-03-28 21:53:08 +08:00
2026-03-28 22:04:35 +08:00
2026-03-28 22:04:35 +08:00
2026-03-29 00:22:17 +08:00
2026-03-29 00:22:17 +08:00
2026-03-29 16:49:55 +08:00
2026-03-29 16:49:55 +08:00
2026-03-29 16:53:28 +08:00
2026-03-29 16:53:28 +08:00
2026-03-29 17:01:07 +08:00
2026-03-29 17:01:07 +08:00
2026-03-29 17:52:35 +08:00
2026-03-29 17:52:35 +08:00
2026-03-30 03:08:52 +08:00
2026-03-30 03:08:52 +08:00
2026-03-30 13:26:42 +08:00
2026-03-30 13:26:42 +08:00
2026-03-30 16:49:13 +08:00
2026-03-30 16:49:13 +08:00
2026-03-30 22:37:59 +08:00
2026-03-30 22:37:59 +08:00
2026-03-30 22:53:28 +08:00
2026-03-30 22:53:28 +08:00
2026-03-30 22:37:59 +08:00
2026-03-30 22:37:59 +08:00
2026-03-31 13:48:39 +08:00
2026-03-31 13:48:39 +08:00
2026-03-31 15:29:41 +08:00
2026-03-31 15:29:41 +08:00
2026-03-31 16:19:02 +08:00
2026-03-31 16:19:02 +08:00
2026-03-31 16:13:58 +08:00
2026-03-31 16:13:58 +08:00
2026-03-31 15:47:09 +08:00
2026-03-31 15:47:09 +08:00
2026-04-02 17:33:52 +08:00
2026-04-02 17:33:52 +08:00
2026-04-07 22:02:28 +08:00
2026-04-07 22:02:28 +08:00
2026-04-09 12:43:21 +08:00
2026-04-09 14:00:03 +08:00
2026-04-09 13:38:46 +08:00
2026-04-09 13:38:46 +08:00
2026-04-08 13:08:15 +08:00
2026-04-08 13:08:15 +08:00
2026-04-09 14:19:46 +08:00
2026-04-09 17:18:14 +08:00
2026-04-09 12:43:21 +08:00
2026-04-09 14:00:03 +08:00
2026-04-09 14:59:16 +08:00
2026-04-09 14:59:16 +08:00
2026-04-09 16:31:05 +08:00
2026-04-09 16:31:05 +08:00
2026-04-10 14:34:32 +08:00
2026-04-10 14:34:32 +08:00
2026-04-10 14:29:00 +08:00
2026-04-10 14:29:00 +08:00
2026-04-10 16:21:20 +08:00
2026-04-10 16:21:20 +08:00
2026-04-10 19:00:25 +08:00
2026-04-10 19:00:25 +08:00
2026-04-10 20:59:32 +08:00
2026-04-10 20:59:32 +08:00
2026-04-13 16:47:56 +08:00
2026-04-13 16:47:56 +08:00
2026-04-14 18:21:11 +08:00
2026-04-14 18:21:11 +08:00
2026-04-15 14:58:53 +08:00
2026-04-15 14:58:53 +08:00
2026-04-15 00:01:18 +08:00
2026-04-15 00:01:18 +08:00
2026-04-15 04:54:37 +08:00
2026-04-15 04:54:37 +08:00
2026-04-16 13:16:35 +08:00
2026-04-16 13:16:35 +08:00
2026-04-15 13:48:21 +08:00
2026-04-15 13:48:21 +08:00
2026-04-16 13:16:35 +08:00
2026-04-16 13:16:35 +08:00
2026-04-16 13:16:35 +08:00
2026-04-16 13:16:35 +08:00
2026-04-18 01:35:22 +08:00
2026-04-18 01:35:22 +08:00
2026-04-17 13:40:02 +08:00
2026-04-17 13:40:02 +08:00
2026-04-16 18:54:12 +08:00
2026-04-16 18:54:12 +08:00
2026-04-16 21:21:20 +08:00
2026-04-16 21:21:20 +08:00
2026-04-17 15:10:38 +08:00
2026-04-17 15:10:38 +08:00
2026-04-19 23:21:31 -07:00
2026-04-19 23:21:31 -07:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 00:06:34 +08:00
2026-04-21 00:06:34 +08:00
2026-04-21 14:42:52 +08:00
2026-04-21 14:42:52 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-21 20:32:33 +08:00
2026-04-22 13:08:37 +08:00
2026-04-22 13:08:37 +08:00
2026-04-22 15:08:06 +08:00
2026-04-22 15:08:06 +08:00
2026-04-23 10:35:55 +08:00
2026-04-23 10:35:55 +08:00
2026-04-24 11:05:33 +08:00
2026-04-24 11:05:33 +08:00
2026-04-27 14:23:42 +08:00
2026-04-27 14:23:42 +08:00
2026-04-29 14:50:58 +08:00
2026-04-29 14:50:58 +08:00
2026-04-29 14:05:26 +08:00
2026-04-29 14:05:26 +08:00
2026-04-29 14:50:58 +08:00
2026-04-29 14:50:58 +08:00
2026-04-29 18:29:46 +08:00
2026-04-29 18:29:46 +08:00
2026-04-29 18:29:46 +08:00
2026-04-29 18:29:46 +08:00
2026-04-29 22:51:29 +02:00
2026-04-29 22:51:29 +02:00
2026-04-30 16:05:53 +08:00
2026-04-30 16:05:53 +08:00
2026-04-30 14:00:43 +08:00
2026-04-30 14:00:43 +08:00
2026-04-30 14:17:53 +08:00
2026-04-30 14:17:53 +08:00
2026-04-30 15:50:05 +08:00
2026-04-30 15:50:05 +08:00
2026-05-01 09:19:21 +02:00
2026-05-01 09:19:21 +02:00