gsxdsm
10b80453c4
FN-7978: share GitHub import dedup via sourceIssue-first helper
Unify GitHub issue import deduplication so prior imports stay marked after description edits or owner/repo casing changes.
- Extract shared buildGitHubIssueSource and isGitHubIssueAlreadyImported helpers in dashboard github.ts (sourceIssue-first, case-insensitive repo, sourceMetadata + description URL fallbacks)
- Route CLI import paths, extension tools, and dashboard single/batch import through the shared helpers
- Drop local description-URL-regex-only importedUrls dedup; list existing tasks with slim:false for full provenance
- Add regression coverage and changeset for the operator-facing fix
Files changed:
.changeset/fn-7978-github-import-dedup.md | 7 ++
docs/gitlab-parity-inventory.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 12 ++--
.../task-command-github-import-tracking.test.ts | 6 ++
packages/cli/src/commands/__tests__/task.test.ts | 36 +++++++---
packages/cli/src/commands/task.ts | 82 +++++++++-------------
packages/cli/src/extension.ts | 35 ++-------
packages/dashboard/src/__tests__/github.test.ts | 22 +++++-
.../dashboard/src/__tests__/routes-github.test.ts | 8 +--
packages/dashboard/src/github.ts | 62 +++++++++++++++-
packages/dashboard/src/index.ts | 2 +-
.../dashboard/src/routes/register-git-github.ts | 33 +--------
12 files changed, 174 insertions(+), 133 deletions(-)
Fusion-Task-Id: FN-7978
Fusion-Task-Lineage: 44f3d555-49fb-41e2-87d0-0a722462f132
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-15 15:16:19 -07:00
..
2026-07-15 15:16:19 -07:00
2026-07-12 14:42:09 -07:00
2026-07-14 23:18:55 -07:00
2026-07-14 23:18:55 -07:00
2026-07-14 23:18:55 -07:00
2026-05-04 23:47:26 -07:00
2026-07-13 19:07:58 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 23:18:55 -07:00
2026-04-28 18:23:21 -07:00
2026-04-23 15:53:47 -07:00
2026-04-23 23:02:36 -07:00
2026-07-07 22:04:51 -07:00
2026-07-15 11:34:12 -07:00
2026-05-26 21:57:31 -07:00
2026-07-15 14:01:08 -07:00
2026-07-15 00:27:59 -07:00
2026-07-15 10:24:30 -07:00
2026-05-01 12:21:52 -07:00
2026-07-14 23:18:55 -07:00
2026-07-14 23:18:55 -07:00
2026-07-09 19:58:06 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 23:18:55 -07:00
2026-05-04 23:59:52 -07:00
2026-07-13 19:07:58 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 23:18:55 -07:00
2026-07-14 23:18:55 -07:00
2026-04-28 23:23:34 -07:00
2026-07-14 23:18:55 -07:00
2026-06-13 23:20:06 -07:00
2026-06-01 19:40:28 -07:00
2026-07-12 21:27:38 -07:00
2026-06-14 15:29:35 -07:00
2026-06-03 09:25:56 -07:00
2026-04-10 12:47:46 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 23:18:55 -07:00
2026-07-07 22:04:51 -07:00
2026-06-11 09:51:49 -07:00
2026-07-14 23:18:55 -07:00
2026-04-26 00:00:49 -07:00
2026-07-15 14:01:08 -07:00
2026-07-14 23:18:55 -07:00
2026-07-14 23:18:55 -07:00
2026-06-04 23:41:30 -07:00
2026-04-24 08:55:02 -07:00
2026-04-27 23:27:27 -07:00
2026-06-05 11:12:40 +10:00
2026-07-13 19:07:58 -07:00
2026-07-15 15:16:19 -07:00
2026-05-28 14:50:15 -07:00
2026-07-14 23:18:55 -07:00