From 2f7da57601a3a687c8c2ebc956138d51bd610e46 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Fri, 17 Jul 2026 13:31:42 -0700 Subject: [PATCH] FN-8230: translate GitHub import issues across pages GitHub import auto-translation now covers every reachable issue page within the fetch cap. - Translate and retain per-page results while invalidating changed or reloaded issues - Raise the translation budget for a 300-issue traversal and cover pagination regressions - Document the GitHub-only pagination behavior and add a patch changeset Files changed: .changeset/fn-8230-import-translate-pagination.md | 7 ++ docs/dashboard-guide.md | 2 +- docs/settings-reference.md | 4 +- .../dashboard/app/components/GitHubImportModal.tsx | 33 ++++++--- .../components/GitHubImportTranslateControls.tsx | 80 ++++++++++++--------- .../__tests__/GitHubImportAutoTranslate.test.tsx | 66 ++++++++++++----- .../__tests__/GitHubImportModal.test.tsx | 32 +++++++++ .../dashboard/src/__tests__/ai-translate.test.ts | 20 ++++++ packages/dashboard/src/ai-translate.ts | 6 +- packages/dashboard/src/import-translate-service.ts | Bin 11109 -> 11099 bytes 10 files changed, 186 insertions(+), 64 deletions(-) Fusion-Task-Id: FN-8230 Fusion-Task-Lineage: 2c3ce6f6-a8f3-46a9-b93a-0192f0cdaf54 Co-authored-by: Fusion (runfusion.ai) --- .../fn-8230-import-translate-pagination.md | 7 ++ docs/dashboard-guide.md | 2 +- docs/settings-reference.md | 4 +- .../app/components/GitHubImportModal.tsx | 33 ++++++-- .../GitHubImportTranslateControls.tsx | 80 +++++++++++------- .../GitHubImportAutoTranslate.test.tsx | 66 +++++++++++---- .../__tests__/GitHubImportModal.test.tsx | 32 +++++++ .../src/__tests__/ai-translate.test.ts | 20 +++++ packages/dashboard/src/ai-translate.ts | 6 +- .../dashboard/src/import-translate-service.ts | Bin 11109 -> 11099 bytes 10 files changed, 186 insertions(+), 64 deletions(-) create mode 100644 .changeset/fn-8230-import-translate-pagination.md diff --git a/.changeset/fn-8230-import-translate-pagination.md b/.changeset/fn-8230-import-translate-pagination.md new file mode 100644 index 0000000000..c48c58e1ba --- /dev/null +++ b/.changeset/fn-8230-import-translate-pagination.md @@ -0,0 +1,7 @@ +--- +"@runfusion/fusion": patch +--- + +summary: GitHub-import auto-translate now translates issues on every page, not just the first 50. +category: fix +dev: `useGitHubImportAutoTranslate` is now page-scoped, accumulates translations across page navigation, and invalidates per-issue on content change; the per-IP translate budget is raised to fit one full 300-issue fetch-cap traversal per hour. diff --git a/docs/dashboard-guide.md b/docs/dashboard-guide.md index 6b59c0491d..701ce11e20 100644 --- a/docs/dashboard-guide.md +++ b/docs/dashboard-guide.md @@ -319,7 +319,7 @@ Use Import Tasks on desktop/tablet: 3. Stay on **Issues** or switch to **Pull Requests**, then optionally enter issue label filters before loading results. Expected outcome: the list pane shows matching open issues or pull requests and marks entries that already exist on the board. Use **Hide imported** beside the imported count to remove those unavailable rows from the current Issues, Pull Requests, or GitLab list; turning it off restores the greyed **Imported** rows. After a successful GitHub or GitLab import, the source row is marked **Imported** and made unavailable immediately, without waiting for the board list to refresh. 4. Select an issue or pull request row. - Expected outcome: the full-width candidate list stays visible while its title, source link, body, labels or PR metadata, and import controls open in a draggable and resizable detail window. On mobile, that detail is a full-screen sheet. When selected title/body content is in another language, the detail offers **Translate**, **Show original** / **Show translation**, and **Dismiss**; translation is display-only. A pull request preview also shows its checks; use **Refresh checks** to fetch current GitHub check status and comments without reopening the detail. Each failed check has a **Create fix task** action that creates a new task prefilled with the repository, PR, branches, check status, and check-details link. + Expected outcome: the full-width candidate list stays visible while its title, source link, body, labels or PR metadata, and import controls open in a draggable and resizable detail window. On mobile, that detail is a full-screen sheet. When selected title/body content is in another language, the detail offers **Translate**, **Show original** / **Show translation**, and **Dismiss**; translation is display-only. With GitHub import auto-translate enabled, every reachable page of open GitHub issues is translated as you page through the fetched list (up to the 300-issue fetch cap per one-hour translate budget); repeat views use the translation cache. Pull request and GitLab lists retain the per-selection translation flow. A pull request preview also shows its checks; use **Refresh checks** to fetch current GitHub check status and comments without reopening the detail. Each failed check has a **Create fix task** action that creates a new task prefilled with the repository, PR, branches, check status, and check-details link.