Commit Graph

19 Commits

Author SHA1 Message Date
gsxdsm
606c320c52 fix(FN-8442): make planning generation durable and detailed
Generate a reviewable initial plan before clarification, persist generation purpose across refreshes, and surface concrete changes and acceptance criteria with focused refinement choices.
2026-07-20 16:00:11 -07:00
gsxdsm
36b3180962 FN-8442: redesign planning mode as sequential Q&A
Guide planning through sequential question-and-answer turns before task creation.

- Add plan review, refinement, validation, creation retry, and idempotent task handoff states
- Atomically claim planning-session task creation and reconcile persisted task links
- Replace retired multi-pane planning UI and consolidate focused flow coverage
- Document the sequential planning workflow and mobile behavior

Files changed:
 .changeset/fn-8442-planning-sequential-qa.md       |    7 +
 MOBILE.md                                          |    2 +-
 docs/dashboard-guide.md                            |    9 +-
 packages/core/src/async-ai-session-store.ts        |   82 +-
 packages/core/src/index.ts                         |    4 +
 packages/core/src/types.ts                         |    5 +
 packages/dashboard/app/api/legacy.ts               |    4 +-
 .../dashboard/app/components/PlanningModeModal.css |  178 +-
 .../dashboard/app/components/PlanningModeModal.tsx |  317 +-
 .../__tests__/PlanningModeModal.initial.test.tsx   |  993 +----
 .../PlanningModeModal.planning-flow.test.tsx       | 4377 +-------------------
 .../PlanningModeModal.ui-interactions.test.tsx     | 1276 +-----
 .../__tests__/planning-e2e-plan-creation.test.ts   |   25 +-
 .../dashboard/src/__tests__/planning-infinite-interview.test.ts  |   44 +-
 .../src/__tests__/routes-planning.test.ts          |  119 +-
 packages/dashboard/src/ai-session-store.ts         |   33 +
 packages/dashboard/src/planning.ts                 |  140 +-
 .../src/routes/register-planning-subtask-routes.ts |  132 +-
 18 files changed, 649 insertions(+), 7098 deletions(-)

Fusion-Task-Id: FN-8442

Fusion-Task-Lineage: da2f335f-b1c9-411a-8575-31db20a2b8d5

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-20 14:59:22 -07:00
gsxdsm
76822d8c4c FN-8432: document responsive Planning Mode navigation
Clarify and verify tablet tab navigation and mobile list-first Planning Mode behavior.

- Add tablet progressive-tab coverage across interview states.
- Assert mobile saved-session list-first navigation and plan visibility.
- Update mobile and dashboard guidance with the intentional session-selection flow.
- Add a patch changeset for the Planning Mode fix.

Files changed:
 .../fn-8432-planning-tablet-mobile-plan-layout.md  |  7 ++++
 MOBILE.md                                          |  2 +-
 docs/dashboard-guide.md                            |  2 +-
 .../PlanningModeModal.planning-flow.test.tsx       | 43 +++++++++++++++++++++-
 .../PlanningModeModal.ui-interactions.test.tsx     | 25 +++++++++++++
 5 files changed, 75 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-8432

Fusion-Task-Lineage: e412069e-87e2-4a61-9556-6908f86b56c5

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-20 10:07:44 -07:00
gsxdsm
bd558462ed FN-8427: restore mobile planning session navigation
Restore a full-pane saved-session destination for compact Planning Mode.

- Unmount the running-plan pane while mobile and tablet session lists are open.
- Keep Back and Sessions available from active, completed, and new planning surfaces.
- Cover compact navigation behavior and document the mobile interaction.

Files changed:
 .../fn-8427-planning-mobile-session-list-nav.md    |  7 ++
 MOBILE.md                                          |  2 +-
 docs/dashboard-guide.md                            |  2 +-
 .../dashboard/app/components/PlanningModeModal.css | 56 +++++++++++++++-
 .../dashboard/app/components/PlanningModeModal.tsx | 33 ++++++---
 .../__tests__/PlanningModeModal.css.test.ts        |  5 ++
 .../PlanningModeModal.ui-interactions.test.tsx     | 78 ++++++++++++++++++++++
 7 files changed, 167 insertions(+), 16 deletions(-)

Fusion-Task-Id: FN-8427
Fusion-Task-Lineage: 6664d075-0614-4b5a-ba36-34a0ec6a20a3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-20 09:51:26 -07:00
gsxdsm
8993e912d2 FN-8426: adapt Planning Mode for compact layouts
Make Planning Mode usable on mobile, tablet, and short-height layouts.

- Collapse compact Planning interviews into selectable question, plan, and history surfaces.
- Keep Sessions navigation synchronized so returning from the session list restores a visible interview pane.
- Document and test mobile, tablet, and short-landscape behavior.

Files changed:
 .../fn-8426-planning-mobile-tablet-layout.md       |  7 ++
 MOBILE.md                                          |  2 +-
 docs/dashboard-guide.md                            |  2 +-
 .../dashboard/app/components/PlanningModeModal.css | 94 ++++++++++++++++++++--
 .../dashboard/app/components/PlanningModeModal.tsx | 51 +++++++++++-
 .../__tests__/PlanningModeModal.css.test.ts        | 17 ++++
 .../PlanningModeModal.planning-flow.test.tsx       | 36 +++++++++
 .../__tests__/PlanningModeModal.test-helpers.ts    | 23 ++++++
 8 files changed, 220 insertions(+), 12 deletions(-)

Fusion-Task-Id: FN-8426

Fusion-Task-Lineage: 489d6f92-326c-4780-bc85-d28967c7ab35

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-20 09:16:12 -07:00
gsxdsm
2fe1b996bf FN-8400: rework Planning Mode into a guided three-pane flow
Make planning interviews easier to navigate while keeping the evolving plan and validation actions accessible.

- Show answered questions in an editable navigation pane and keep one clear next-question action.
- Keep the generated plan and validation controls visible throughout planning and recovery.
- Add server validation and localized copy for session title updates.

Files changed:
 .changeset/fn-8400-planning-mode-ui.md             |   7 +
 MOBILE.md                                          |   2 +-
 docs/dashboard-guide.md                            |   6 +-
 packages/dashboard/app/api/legacy.ts               |  12 +-
 .../dashboard/app/components/PlanningModeModal.css | 112 +++--
 .../dashboard/app/components/PlanningModeModal.tsx | 408 +++++++++++--------
 .../PlanningModeModal.planning-flow.test.tsx       | 453 ++++++++-------------
 .../PlanningModeModal.ui-interactions.test.tsx     |   4 +-
 .../src/__tests__/routes-planning.test.ts          |  50 +++
 packages/dashboard/src/planning.ts                 |  21 +-
 .../src/routes/register-planning-subtask-routes.ts |  26 ++
 packages/i18n/locales/en/app.json                  |   7 +-
 packages/i18n/locales/es/app.json                  |   7 +-
 packages/i18n/locales/fr/app.json                  |   7 +-
 packages/i18n/locales/ko/app.json                  |   7 +-
 packages/i18n/locales/zh-CN/app.json               |   7 +-
 packages/i18n/locales/zh-TW/app.json               |   7 +-
 packages/i18n/src/resources.d.ts                   |   5 +
 18 files changed, 620 insertions(+), 528 deletions(-)

Fusion-Task-Id: FN-8400
Fusion-Task-Lineage: 032cf0ad-134d-4680-878f-b870eea23cc9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-19 23:01:44 -07:00
gsxdsm
da36094d74 FN-7586: add iOS edge-swipe-back gesture parity via AppDelegate patch
Enables the WKWebView interactive-pop (edge-swipe-back) gesture on iOS, matching the Android predictive-back parity already in place, by patching the generated AppDelegate.swift during cap sync.

- Add packages/mobile/scripts/patch-ios-webview.ts: patches AppDelegate.swift to cast the root view controller to CAPBridgeViewController and set webView?.allowsBackForwardNavigationGestures = true before the didFinishLaunchingWithOptions return, is idempotent, and no-ops safely when no ios/ project exists yet
- Wire capacitor:sync:after to run both patch-android-manifest.ts and patch-ios-webview.ts so cap sync keeps both native back-gesture opt-ins in sync; add patch:ios-webview script
- Add unit tests covering patch, idempotency, already-patched, missing-project, and source-preservation cases for the new iOS webview patch, alongside the existing Android manifest patch tests
- Add TaskDetail.swipe-back.test.tsx coverage proving the shared popstate-driven nav-history dismissal stack (no iOS-specific native-back emitter needed) already satisfies the gesture's dismissal contract
- Add mobile-scripts.test.ts dashboard coverage and update MOBILE.md / packages/mobile/README.md documenting the new iOS gesture opt-in

Files changed:
 MOBILE.md                                          |  12 ++
 .../dashboard/app/__tests__/mobile-scripts.test.ts |  31 +++++
 .../__tests__/TaskDetail.swipe-back.test.tsx       | 131 +++++++++++++++++++++
 packages/mobile/README.md                          |  36 ++++++
 packages/mobile/package.json                       |   3 +-
 packages/mobile/scripts/patch-ios-webview.ts       | 119 +++++++++++++++++++
 packages/mobile/src/__tests__/native-shell.test.ts | 122 +++++++++++++++++++
 7 files changed, 453 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7586

Fusion-Task-Lineage: 248092a1-de1b-49b6-94ef-70675a7b93a1

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-05 12:24:12 -07:00
gsxdsm
bc38f0c842 FN-7209: require JDK 21 for Android CI builds
Align Android Gradle build environments with Capacitor's Java 21 source compatibility.

- Update mobile, release, and test-release workflows to provision Temurin JDK 21.
- Document Java 21 as the required Android Gradle build JDK.
- Add CI workflow coverage that checks Android build jobs satisfy @capacitor/android sourceCompatibility.

Files changed:
 .github/workflows/mobile.yml                   |  6 +-
 .github/workflows/release.yml                  |  6 +-
 .github/workflows/test-release.yml             |  6 +-
 MOBILE.md                                      |  4 +-
 packages/cli/src/__tests__/ci-workflow.test.ts | 99 +++++++++++++++++++++++++-
 5 files changed, 112 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-7209

Fusion-Task-Lineage: d9e50bee-d7f8-4e87-b33e-136ffffc93af

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-28 16:56:35 -07:00
gsxdsm
4a4e389254 FN-7032: add signed Android release artifacts
Add secret-gated signed Android release packaging while preserving the unsigned fallback.

- Build signed Android release APK and AAB artifacts when keystore secrets are configured.
- Verify signed APKs, generate checksums for APK/AAB outputs, and include AABs in release aggregation.
- Document Android signing secrets, sideload verification, fallback artifacts, and Play upload scope.
- Cover the release and rehearsal workflow wiring with CLI and desktop workflow tests.

Files changed:
 .github/workflows/release.yml                      | 94 ++++++++++++++++++----
 .github/workflows/test-release.yml                 | 94 ++++++++++++++++++----
 MOBILE.md                                          | 18 ++++-
 RELEASING.md                                       | 34 ++++++--
 packages/cli/src/__tests__/ci-workflow.test.ts     | 24 ++++++
 packages/desktop/README.md                         |  2 +-
 .../desktop/src/__tests__/release-workflow.test.ts | 24 +++++-
 7 files changed, 251 insertions(+), 39 deletions(-)

Fusion-Task-Id: FN-7032
Fusion-Task-Lineage: 0334c026-384e-4531-a2b2-f8a0b5bb7ff0
2026-06-25 20:20:33 -07:00
gsxdsm
dba65933e5 FN-7014: publish Android APK release artifacts
Adds Android APK generation to binary release and rehearsal workflows so GitHub releases ship mobile assets.

- Add Android build jobs that sync Capacitor, assemble the debug APK, and upload APK/checksum artifacts.
- Include Android artifacts in release and test-release collection dependencies and file matching.
- Document Android release outputs and extend workflow shape tests for the new asset path.

Files changed:
 .github/workflows/release.yml                      | 86 +++++++++++++++++++++-
 .github/workflows/test-release.yml                 | 85 ++++++++++++++++++++-
 MOBILE.md                                          |  2 +-
 RELEASING.md                                       | 10 ++-
 packages/cli/src/__tests__/ci-workflow.test.ts     |  6 +-
 packages/desktop/README.md                         |  1 +
 .../desktop/src/__tests__/release-workflow.test.ts | 24 +++++-
 7 files changed, 201 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-7014
Fusion-Task-Lineage: 8ed94f64-399b-433f-add4-0294fc5722d1
2026-06-25 19:35:05 -07:00
Fusion
d589069b21 feat(FN-4042): add mobile chat quick switcher to thread header
Added a mobile chat quick switcher accessible from the thread header, with styling for the session dropdown and test coverage. Documentation for the feature was added to MOBILE.md and the dashboard guide.

Fusion-Task-Id: FN-4042
2026-05-11 16:24:08 -07:00
Fusion
0488e33b22 feat(FN-3976): restore shared mobile bottom spacing contract with regressio
Restored the shared mobile bottom spacing contract in the dashboard by updating `MissionManager.css` and `AgentsView.css`, with corresponding regression tests in `footer-safe-layout.test.ts`, `MissionManager.mobile-css.test.ts`, and `agents-view-mobile.test.tsx` to guard against future regressions;

Fusion-Task-Id: FN-3976
2026-05-10 23:36:10 -07:00
Fusion
7b9e5259d3 feat(FN-3403): add shell multi-profile support with connection manager onbo
Merges shell multi-profile support for desktop (FN-3403) — spanning new connection-manager flows, shell onboarding interoperability, mobile connection profiles, desktop IPC/shell-settings plumbing, and tokenized titlebar styles — with a secondary migration of the WhatsApp plugin to the Baileys pairi

Fusion-Task-Id: FN-3403
2026-05-07 18:35:45 -07:00
Fusion
f3c99eb4fa feat(FN-3577): add native shell guide and bridge contract documentation
Adds a native shell integration guide (FN-3577) with fusionShell bridge contract documentation, wired into the docs navigation, plus a regression test; also hardens the dependency graph's task filtering (FN-3085) to include in-review tasks and handle orphan edges, with corresponding test coverage ac

Fusion-Task-Id: FN-3577
2026-05-07 03:59:43 -07:00
Fusion
8726b022c0 feat(FN-3603): improve mobile chat with jump-to-latest and bubble width fix
This merge implements FN-3603, adding jump-to-latest controls for the chat view and improving mobile bubble width layout, with corresponding CSS updates in ChatView and QuickChatFAB components. It also includes documentation for the new mobile chat controls, a fix for workspace lint regex escaping,

Fusion-Task-Id: FN-3603
2026-05-06 13:38:23 -07:00
Fusion
3feeb9026a feat(FN-3398): update desktop README with multi-project setup and troublesh
The merge lands Step 7 of FN-3398, adding documentation and delivery artifacts across the mobile and desktop packages with updated READMEs, mobile-specific docs, and architecture references.

Fusion-Task-Id: FN-3398
2026-05-04 22:17:10 -07:00
Fusion
fbd2ed0c5f feat(FN-3269): add mobile empty-session auto-routing to Planning Mode compo
Merges mobile Planning Mode empty-state auto-routing to the composer (Step 2 of FN-3269) alongside wired Insights create-task integration with real task creation (FN-3265), with corresponding tests and documentation updates.

Fusion-Task-Id: FN-3269
2026-05-03 10:31:21 -07:00
Fusion
73cee930b0 feat(FN-3232): add standalone bottom-gap token and mobile CSS contract test
This merge bundles six feature steps across mobile PWA spacing, test infrastructure, MissionManager tokenization, and Insights coverage. Key changes include restoring the `--standalone-bottom-gap` CSS token contract for iOS home indicator spacing, a refactored `test-changed.mjs` script with workflow

Fusion-Task-Id: FN-3232
2026-05-03 05:57:25 -07:00
gsxdsm
ed84a728c2 feat(FN-1093): add mobile build, PWA, and live reload workflow
- Optimize dashboard Vite output for mobile and include vite/client types in app typecheck
- Add PWA support with manifest, service worker, icons, and client registration hooks
- Add a mobile workspace package with Capacitor config and live-reload scripts for local development
- Add a dedicated GitHub Actions mobile pipeline and update mobile workflow documentation
- Add dashboard tests for build output, mobile scripts, and PWA asset coverage
2026-04-07 23:25:34 -07:00