mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-11-12 19:07:28 -10:00
🤖 Help returning users find their existing workflows after the Experts rollout removed the Agents/Library sidebar entry. ### Why / What / How **Why:** Existing users need a clear route to their saved agents, now called workflows: **Team → Otto → Workflows**. **What:** Add a dismissible “Your agents have moved” modal with an optional 27-second video and a direct **Go to my workflows** action. The recording shows the full workflow list, opens a workflow, and shows its setup inputs. **How:** This notice **only targets accounts created before September 21, 2026**: the strict cutoff is `created_at < 2026-09-21T00:00:00Z` (the supplied release date interpreted as the start of that day in UTC). Both `HIRE_EXPERTS` and `AUTOGPT_NEW_LAYOUT` must be enabled and ready, and the account must have completed onboarding. Accounts created on or after the cutoff do not see it. Dismissal via **Got it**, the close button, Escape, outside click, or **Go to my workflows** records an unrewarded, account-scoped `WORKFLOWS_MOVED` onboarding step, with an immediate local fallback. Once acknowledged, it stays dismissed across visits and, after the server save, across devices. Playing or finishing the video alone does not acknowledge it. The notice waits for a safe landing page and yields to existing welcome/tutorial dialogs, paywalls, chat handoffs, and active interaction. The older Agents intro is suppressed for the migration cohort; Marketplace and Build intros remain available. The Build intro’s Otto action preserves explicit new-chat intent. This branch was created directly from current `origin/master`; the PR contains only the tutorial change and its media, with no commits from `dev`. ### Demo [Download the 27-second HD workflow tutorial (MP4, 14.9 MB)](https://raw.githubusercontent.com/Significant-Gravitas/AutoGPT/22d4e34a3d9c109f07bc623ef69adb625f4f94ab/autogpt_platform/frontend/public/videos/workflows-moved.mp4)  Recorded from the real local application using a synthetic demo account. The in-product video is 1920×1080 at 60 fps, with zooms, framing, and captions added to real footage; one loading pause is shortened. Playback is optional, silent, and never autoplays. ### Changes 🏗️ - Responsive, keyboard-accessible migration modal with written directions, video playback/replay, and a video-error fallback. - Locally optimized WebP poster and demo screenshot: 37% smaller combined (125,292 → 78,842 bytes), with the original dimensions and visually checked text clarity. Media URLs use the final bundled paths. - Direct navigation to Otto’s Workflows tab with URL-backed tab selection. - Account-scoped dismissal through the existing authenticated onboarding API; no database migration or credit reward. - Regression coverage for cutoff boundaries, dismissal, account switching, media controls, route intent, and competing tutorials arriving in either order. - Exact-file Git ignore and large-file-hook exceptions for the bundled tutorial MP4; other assets retain the existing size limit. ### Agents and large language models used Codex with GPT-6. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description. - [x] I have made a test plan. - [x] Frontend dependencies installed from master’s frozen lockfile; API client regenerated from the updated local schema. - [x] `pnpm format` → `pnpm lint` → `pnpm types` passed on the master-based checkout. - [x] 247 focused tests passed: 149 feature/coexistence tests and 98 existing welcome tests. Format, lint, types, all 247 tests, and applicable staged-file safety checks were rerun after the image and review cleanups. - [ ] Full `pnpm test:unit` suite: stopped at the existing Windows currency-locale assertion in `home/__tests__/main.test.tsx:305` (`US$12.50` versus `$12.50`), after 1,805 passing tests and 11 skips. No unrelated test fix is included. - [x] Staged-file safety checks passed, including Detect-secrets, Gitleaks, Ruff, Black, isort, hook configuration, asset-size exception, and whitespace checks. - [x] Backend contract checks: new step acceptance, rejected invalid/rewarded steps, authentication and owner scoping, idempotent persistence, and no credit reward. Persistence and credit effects were mocked; this is not a full backend test-suite run. - [ ] Whole-backend Pyright and full API schema re-export: not run locally because a master backend Poetry environment was unavailable; left to CI. - [x] Real browser checks of modal layout, video playback/replay, dismissal, and navigation to the existing workflows during feature development; the master-based app was also checked for saved dismissal and the Team → Otto → Workflows route. - [x] Branch ancestry and PR base checked against current `origin/master`. #### For configuration changes: - [x] `.env.default` is already compatible; no environment variables added. - [x] `docker-compose.yml` is already compatible; no infrastructure changes. - [x] Media tracking exceptions are listed above. --------- Co-authored-by: GPT-6 (Codex) <[email protected]>