Skip to content

feat(loops): Clean up the loop wizard#3739

Merged
charlesvien merged 1 commit into
mainfrom
feat/loops-wizard-redesign
Jul 23, 2026
Merged

feat(loops): Clean up the loop wizard#3739
charlesvien merged 1 commit into
mainfrom
feat/loops-wizard-redesign

Conversation

@charlesvien

@charlesvien charlesvien commented Jul 23, 2026

Copy link
Copy Markdown
Member

Problem

The create/edit loop wizard was cramped and confusing. Dropdowns were tiny, "Add trigger" always inserted a schedule you then had to re-type via a small select, trigger cards blended into the modal background, and the Context, Repository and Notifications sections didn't explain what they are, where output goes or how access works.

Changes

  • "Add trigger" is now a type picker menu (Schedule, GitHub event, API) with a description per type. Trigger cards get a header (icon, type, subtitle, enable switch, delete), labeled fields, specific inline validation, a darker background than the modal and an explicit empty state.
  • GitHub event checkboxes are relabeled with a description of what fires them, matching the backend's action handling (any action on the subscribed event).
  • Selects across the wizard go from 24px to 32px with 13px text via a new opt-in size prop on SettingsOptionSelect and TimezonePicker, plus wiring up the previously dead size prop on GitHubRepoPicker. Existing call sites keep the old size.
  • Clearer copy: Context explains it's a channel from the sidebar (and the whole section hides when the channels alpha is off, unless the loop is already attached), Repository becomes "Base repository", Notifications state where each channel delivers and that full output lives on the loop page.

How did you test this?

Drove the real Electron app over CDP through all four wizard steps: trigger type menu, all three card types, inline validation, empty state, and the channels toggle off/on hiding Context on both Options and Review. Ran pnpm --filter @posthog/ui typecheck, Biome lint on changed files and the full @posthog/ui Vitest suite (1977 passing).

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

charlesvien commented Jul 23, 2026

Copy link
Copy Markdown
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@charlesvien charlesvien changed the title clean up loops wizard feat(loops): Clean up the loop wizard Jul 23, 2026
@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit 8d78a27.

@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
packages/ui/src/features/loops/components/LoopTriggerEditor.tsx:116-129
**Hand-Rolled Empty State**

The new no-trigger state recreates the shared empty-state layout with a centered `Flex`. The UI guide requires collection placeholders to use the Quill `Empty` components, so this state will miss shared accessibility and styling updates.

Reviews (1): Last reviewed commit: "clean up loops wizard" | Re-trigger Greptile

Comment thread packages/ui/src/features/loops/components/LoopTriggerEditor.tsx Outdated
Base automatically changed from feat/loop-run-stop-button to main July 23, 2026 06:24
@trunk-io

trunk-io Bot commented Jul 23, 2026

Copy link
Copy Markdown

😎 This pull request was merged.

@charlesvien
charlesvien force-pushed the feat/loops-wizard-redesign branch from 7f8b1aa to 8d78a27 Compare July 23, 2026 06:26
@charlesvien charlesvien added the Stamphog This will request an autostamp by stamphog on small changes label Jul 23, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pure UI/UX rework of the loop wizard (styling, copy, a new trigger-type menu, size prop plumbing) with no schema, API, auth, billing, or CI surface touched; the sole reviewer comment about a hand-rolled empty state was addressed (the diff now uses Quill's Empty components) and shows resolved with a bot 👍.

  • Author wrote 94% of the modified lines and has 19 merged PRs in these paths (familiarity STRONG).
  • 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
Gate Result
prerequisites all clear
deny-list no deny categories matched
size 723L, 12F substantive — within ceiling
tier T1-agent / T1d-complex (723L, 12F, single-area, feat)
stamphog 2.0.0b3 .stamphog/policy.yml @ 9001b17 · reviewed head 8d78a27

@charlesvien
charlesvien merged commit cc35bdc into main Jul 23, 2026
39 checks passed
@charlesvien
charlesvien deleted the feat/loops-wizard-redesign branch July 23, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Stamphog This will request an autostamp by stamphog on small changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant