From d8735b3dbe5636a38c0fd3fe7e3c47657bedd679 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Fri, 17 Jul 2026 16:46:42 -0700 Subject: [PATCH] FN-8249: persist GitHub translations and show status Persist legacy GitHub translation cache entries and expose background translation progress to import operators. - Backfill historic unscoped translation cache partitions during schema migration. - Display accessible translating and failure status in the GitHub issues import list. - Add migration, service, and UI coverage plus operator documentation. Files changed: .../fn-8249-github-import-translation-status.md | 7 ++ docs/dashboard-guide.md | 2 +- .../postgres/import-translation-cache.pg.test.ts | 13 +++- .../src/__tests__/postgres/schema-applier.test.ts | 48 ++++++++++++ ...translation_cache_legacy_partition_backfill.sql | 31 ++++++++ packages/core/src/postgres/schema-applier.ts | 29 ++++++- .../dashboard/app/components/GitHubImportModal.css | 42 ++++++++++ .../dashboard/app/components/GitHubImportModal.tsx | 29 +++++++ .../__tests__/GitHubImportModal.test.tsx | 90 ++++++++++++++++++++++ .../src/__tests__/import-translate-service.test.ts | 62 +++++++++++++++ 10 files changed, 346 insertions(+), 7 deletions(-) Fusion-Task-Id: FN-8249 Fusion-Task-Lineage: 79c26d85-50f1-4d01-9341-a17db5e57f8f Co-authored-by: Fusion (runfusion.ai) --- ...n-8249-github-import-translation-status.md | 7 ++ docs/dashboard-guide.md | 2 +- .../import-translation-cache.pg.test.ts | 13 ++- .../__tests__/postgres/schema-applier.test.ts | 48 ++++++++++ ...lation_cache_legacy_partition_backfill.sql | 31 +++++++ packages/core/src/postgres/schema-applier.ts | 29 +++++- .../app/components/GitHubImportModal.css | 42 +++++++++ .../app/components/GitHubImportModal.tsx | 29 ++++++ .../__tests__/GitHubImportModal.test.tsx | 90 +++++++++++++++++++ .../import-translate-service.test.ts | 62 +++++++++++++ 10 files changed, 346 insertions(+), 7 deletions(-) create mode 100644 .changeset/fn-8249-github-import-translation-status.md create mode 100644 packages/core/src/postgres/migrations/0019_import_translation_cache_legacy_partition_backfill.sql diff --git a/.changeset/fn-8249-github-import-translation-status.md b/.changeset/fn-8249-github-import-translation-status.md new file mode 100644 index 0000000000..cb80336673 --- /dev/null +++ b/.changeset/fn-8249-github-import-translation-status.md @@ -0,0 +1,7 @@ +--- +"@runfusion/fusion": patch +--- + +summary: The Import from GitHub screen now shows a status indicator while issues are being translated. +category: feature +dev: GitHubImportModal renders the existing auto-translate loading and error state as a polite status indicator; migration 0019 backfills historic blank cache partitions so reopened stores serve durable translations. diff --git a/docs/dashboard-guide.md b/docs/dashboard-guide.md index bd8b6453bf..df715d3b40 100644 --- a/docs/dashboard-guide.md +++ b/docs/dashboard-guide.md @@ -330,7 +330,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. 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. + 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. While a page is translating, the issues list shows a **Translating…** status indicator and surfaces any translation failure without blocking import or browsing. 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.