Jiayuan Zhang
eb747471af
fix(onboarding): close private-helper reuse hole and guide-issue nav race
...
- server: when bootstrap looks for an existing Multica Helper, require
Visibility="workspace" so a private helper owned by another member
can't be auto-assigned to the onboarding issue (and trigger a task as
that private agent), which would have bypassed canAccessPrivateAgent.
- web onboarding page: refreshMe() inside bootstrap flips hasOnboarded
before onComplete fires, letting the guard's router.replace overtake
onComplete's router.push to the new guide issue. Mark the page as
"completing" right before navigating so the guard stays silent during
the in-flight transition.
Co-authored-by: multica-agent <github@multica.ai >
2026-05-19 14:48:51 +08:00
..
2026-05-09 16:11:58 +08:00
2026-05-09 16:11:58 +08:00
2026-05-11 12:39:45 +08:00
2026-05-11 12:39:45 +08:00
2026-05-13 18:26:04 +08:00
2026-04-28 19:21:13 +08:00
2026-05-18 17:48:44 +08:00
2026-05-06 16:16:12 +08:00
2026-05-18 12:17:39 +08:00
2026-05-18 12:17:39 +08:00
2026-05-18 12:17:39 +08:00
2026-05-18 14:59:40 +08:00
2026-05-18 18:12:14 +08:00
2026-05-13 16:57:34 +08:00
2026-05-13 16:57:34 +08:00
2026-05-18 19:28:26 +08:00
2026-05-18 19:28:26 +08:00
2026-05-09 13:12:00 +08:00
2026-05-09 13:12:00 +08:00
2026-05-18 17:48:44 +08:00
2026-04-28 16:07:24 +08:00
2026-05-18 17:48:44 +08:00
2026-05-13 12:51:16 +08:00
2026-05-15 18:51:02 +02:00
2026-04-28 14:50:28 +08:00
2026-05-13 18:24:15 +08:00
2026-05-13 18:24:15 +08:00
2026-05-16 21:26:30 +02:00
2026-05-16 21:26:30 +02:00
2026-05-18 16:05:54 +08:00
2026-05-18 13:30:35 +08:00
2026-05-07 15:50:27 +08:00
2026-05-07 15:50:27 +08:00
2026-05-06 14:31:33 +08:00
2026-04-28 14:50:28 +08:00
2026-05-04 21:24:56 +08:00
2026-05-09 13:12:00 +08:00
2026-04-30 15:35:12 +08:00
2026-05-15 18:44:08 +08:00
2026-05-19 10:37:38 +08:00
2026-05-19 10:37:38 +08:00
2026-04-28 14:50:28 +08:00
2026-05-06 11:01:22 +02:00
2026-05-19 13:36:15 +08:00
2026-05-19 14:48:51 +08:00
2026-04-29 17:07:54 +08:00
2026-04-28 14:50:28 +08:00
2026-05-15 12:47:38 +08:00
2026-05-15 12:47:38 +08:00
2026-05-06 14:09:35 +08:00
2026-04-28 14:50:28 +08:00
2026-05-13 18:46:20 +08:00
2026-05-06 14:31:33 +08:00
2026-05-06 14:31:33 +08:00
2026-05-18 16:56:27 +08:00
2026-05-18 16:56:27 +08:00
2026-05-18 16:56:27 +08:00
2026-05-18 16:56:27 +08:00
2026-05-03 11:13:34 +08:00
2026-05-03 11:13:34 +08:00
2026-05-03 11:13:34 +08:00
2026-05-03 11:13:34 +08:00
2026-05-11 14:39:35 +08:00
2026-05-11 14:39:35 +08:00
2026-05-06 13:00:11 +08:00
2026-05-06 13:00:11 +08:00
2026-05-06 13:00:11 +08:00
2026-05-06 13:00:11 +08:00
2026-05-11 22:53:07 +08:00
2026-05-11 22:53:07 +08:00
2026-05-18 15:45:06 +08:00
2026-05-13 18:26:04 +08:00
2026-05-07 01:36:29 +08:00
2026-05-13 18:26:04 +08:00
2026-05-13 18:26:04 +08:00
2026-05-13 18:46:20 +08:00
2026-05-13 18:46:20 +08:00
2026-05-15 13:17:08 +08:00
2026-05-14 15:23:36 +02:00
2026-05-18 10:35:18 +02:00
2026-05-14 14:07:26 +08:00
2026-05-18 10:35:18 +02:00
2026-05-11 12:39:45 +08:00
2026-05-09 12:46:37 +08:00
2026-04-29 15:54:24 +08:00
2026-05-06 16:16:12 +08:00
2026-05-18 14:59:40 +08:00
2026-05-18 14:59:40 +08:00
2026-05-18 12:17:39 +08:00
2026-05-18 12:17:39 +08:00
2026-05-08 19:14:12 +08:00
2026-05-11 15:06:50 +08:00
2026-05-11 15:06:50 +08:00
2026-05-18 13:30:35 +08:00