gsxdsm
0044c23c64
FN-5699: fix github-copilot device-code login callback handling
Prevent dashboard auth initiation from crashing when Copilot emits device-code callbacks.
- wire optional auth callbacks (`onDeviceCode`, `onSelect`) through dashboard auth route typing
- capture and return device-code payload from either `onDeviceCode` or parsed Copilot instructions when `/api/auth/login` starts
- guard auth-init promise settlement to avoid double resolve/reject races and normalize async login errors
- add regression coverage for Copilot device-code callback handling in auth route tests
- sync roadmap plugin schema-version test expectation from 94 to 95 to keep suite assertions aligned
Files changed:
.changeset/fn-5699-copilot-device-code-callback.md | 5 ++
packages/dashboard/src/__tests__/routes-auth.test.ts | 21 ++++++++
packages/dashboard/src/routes.ts | 7 +++
packages/dashboard/src/routes/register-auth-routes.ts | 62 +++++++++++++++++-----
plugins/fusion-plugin-roadmap/src/store/__tests__/roadmap-store.test.ts | 4 +-
5 files changed, 83 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-5699
Fusion-Task-Lineage: 24bf59f2-3b22-4087-96ca-35409fe00895
2026-05-29 11:22:27 -07:00
..
2026-04-24 19:39:20 -07:00
2026-05-07 11:25:01 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-05-03 00:05:28 -07:00
2026-04-28 14:25:55 -07:00
2026-04-24 19:39:20 -07:00
2026-05-20 04:13:43 -07:00
2026-04-26 06:35:46 -07:00
2026-05-29 09:44:17 -07:00
2026-04-22 18:50:09 -07:00
2026-05-18 22:47:51 -07:00
2026-05-14 15:05:38 -07:00
2026-05-28 21:23:48 -07:00
2026-05-21 07:05:48 -07:00
2026-05-16 09:56:54 -07:00
2026-05-17 01:37:38 -07:00
2026-05-27 17:38:04 +02:00
2026-05-13 20:20:26 -07:00
2026-05-21 07:05:48 -07:00
2026-04-18 07:36:57 -07:00
2026-04-24 19:39:20 -07:00
2026-04-29 07:10:52 -07:00
2026-05-10 23:36:10 -07:00
2026-05-07 17:27:15 +02:00
2026-04-20 12:59:58 -07:00
2026-04-19 20:48:14 -07:00
2026-05-02 15:57:18 -07:00
2026-05-02 15:57:18 -07:00
2026-04-25 10:50:32 -07:00
2026-05-02 15:57:18 -07:00
2026-05-02 15:57:18 -07:00
2026-04-24 11:06:20 -07:00
2026-04-26 13:00:56 -07:00
2026-04-22 13:46:53 -07:00
2026-04-26 13:00:56 -07:00
2026-04-22 13:46:53 -07:00
2026-04-20 22:45:26 -07:00
2026-05-14 14:04:32 -07:00
2026-04-24 09:38:16 -07:00
2026-05-04 19:05:48 -07:00
2026-05-04 03:04:33 -07:00
2026-05-01 09:00:31 -07:00
2026-05-08 04:21:20 -07:00
2026-05-14 04:25:06 -07:00
2026-04-24 08:55:02 -07:00
2026-05-11 16:33:16 -07:00
2026-05-10 02:43:38 -07:00
2026-05-18 05:57:43 -07:00
2026-05-14 15:05:38 -07:00
2026-04-26 18:11:09 -07:00
2026-05-28 19:49:31 -07:00
2026-05-28 19:49:31 -07:00
2026-05-12 17:03:10 -07:00
2026-05-14 17:04:17 -07:00
2026-05-16 12:56:31 -07:00
2026-05-24 00:07:57 -07:00
2026-05-19 19:23:47 -07:00
2026-05-18 11:46:43 -07:00
2026-05-23 21:19:44 -07:00
2026-05-28 08:57:59 -07:00
2026-05-20 04:41:04 -07:00
2026-05-16 12:56:31 -07:00
2026-05-20 01:27:22 -07:00
2026-05-28 10:32:16 -07:00
2026-05-19 17:51:07 -07:00
2026-05-19 19:12:31 -07:00
2026-04-23 10:50:44 -07:00
2026-05-10 16:53:36 -07:00
2026-05-19 18:26:18 -07:00
2026-05-28 23:58:47 -07:00
2026-05-12 19:38:39 -07:00
2026-05-19 18:26:18 -07:00
2026-05-07 03:59:43 -07:00
2026-05-19 19:04:46 -07:00
2026-05-28 21:23:48 -07:00
2026-05-17 20:09:36 -07:00
2026-04-24 19:39:20 -07:00
2026-05-19 18:21:35 -07:00
2026-05-09 10:31:05 -07:00
2026-05-11 06:47:43 -07:00
2026-05-11 21:48:26 -07:00
2026-05-19 19:10:08 -07:00
2026-05-18 00:19:05 -07:00
2026-05-18 15:50:48 -07:00
2026-05-19 10:25:37 -07:00
2026-05-14 15:05:37 -07:00
2026-05-23 04:18:55 -07:00
2026-05-16 10:31:44 -07:00
2026-05-19 17:44:53 -07:00
2026-04-24 19:39:20 -07:00
2026-05-18 23:14:48 -07:00
2026-05-17 14:48:31 -07:00
2026-05-19 10:25:37 -07:00
2026-05-14 15:05:38 -07:00
2026-05-04 07:25:14 -07:00
2026-05-04 10:18:38 -07:00
2026-05-01 11:55:56 -07:00
2026-04-26 11:35:44 -07:00
2026-05-17 23:21:34 -07:00
2026-05-19 17:51:40 -07:00
2026-05-25 13:57:04 -07:00
2026-05-04 14:54:55 -07:00
2026-05-05 13:05:57 -07:00
2026-05-11 06:47:43 -07:00
2026-05-11 06:47:43 -07:00
2026-05-18 22:47:51 -07:00
2026-05-19 18:33:36 -07:00
2026-05-19 23:55:58 -07:00
2026-05-19 18:33:36 -07:00
2026-05-18 22:47:51 -07:00
2026-05-18 22:47:51 -07:00
2026-05-17 11:49:08 -07:00
2026-05-19 18:33:36 -07:00
2026-05-18 22:47:51 -07:00
2026-05-19 18:33:36 -07:00
2026-05-18 22:47:51 -07:00
2026-05-19 17:44:53 -07:00
2026-04-30 17:40:14 -07:00
2026-05-19 18:33:36 -07:00
2026-05-26 15:58:57 +02:00
2026-05-15 22:56:31 -07:00
2026-05-17 13:54:32 -07:00
2026-05-20 07:44:57 -07:00
2026-05-29 11:22:27 -07:00
2026-05-16 08:09:08 -07:00
2026-05-19 09:24:51 -07:00
2026-05-19 20:29:59 -07:00
2026-05-29 10:14:06 -07:00
2026-05-14 14:04:32 -07:00
2026-05-19 09:24:50 -07:00
2026-05-17 00:06:26 -07:00
2026-05-17 00:06:26 -07:00
2026-04-28 18:21:17 -07:00
2026-05-23 18:23:24 -07:00
2026-05-20 02:46:49 -07:00
2026-05-23 06:06:51 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-18 22:47:51 -07:00
2026-05-19 18:33:36 -07:00
2026-05-19 18:52:36 -07:00
2026-05-25 16:32:57 -07:00
2026-05-17 08:49:51 -07:00
2026-05-17 12:11:51 -07:00
2026-05-20 01:27:22 -07:00
2026-05-26 21:57:31 -07:00
2026-04-30 17:40:14 -07:00
2026-04-24 08:54:25 -07:00
2026-05-04 15:04:36 -07:00
2026-05-19 18:09:35 -07:00
2026-05-18 04:46:56 -07:00
2026-05-18 04:31:25 -07:00
2026-05-17 15:55:18 -07:00
2026-04-28 18:21:17 -07:00
2026-05-23 18:15:02 -07:00
2026-04-25 14:19:28 -07:00
2026-05-25 03:13:16 +02:00
2026-05-11 06:47:43 -07:00
2026-05-19 11:30:54 -07:00
2026-05-19 11:30:54 -07:00
2026-05-20 14:28:45 -07:00
2026-05-19 11:30:54 -07:00
2026-05-29 10:55:25 -07:00
2026-05-29 09:44:17 -07:00
2026-05-20 07:44:57 -07:00
2026-05-09 16:44:44 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-05-17 01:56:39 -07:00
2026-04-23 10:50:44 -07:00
2026-04-27 03:21:59 -07:00
2026-05-20 23:48:57 -07:00
2026-04-26 20:56:31 -07:00
2026-05-19 18:26:18 -07:00
2026-05-19 18:26:18 -07:00
2026-05-19 18:11:58 -07:00
2026-05-19 18:26:18 -07:00
2026-05-11 09:44:45 -07:00
2026-05-06 09:43:51 -07:00
2026-04-29 07:35:23 -07:00
2026-05-09 10:31:05 -07:00
2026-05-19 08:13:06 -07:00
2026-05-16 21:53:18 -07:00
2026-05-02 18:11:38 -07:00
2026-05-15 23:28:22 -07:00
2026-05-08 02:17:41 -07:00
2026-05-02 13:32:09 -07:00
2026-04-26 13:00:56 -07:00
2026-05-05 06:32:33 -07:00
2026-04-26 13:55:25 -07:00
2026-04-27 02:19:44 -07:00
2026-04-29 07:10:52 -07:00
2026-05-17 00:22:57 -07:00
2026-05-17 09:24:28 -07:00
2026-04-23 10:50:44 -07:00