Skip to content

Fix workflow page transition layering#6717

Merged
facumenzella merged 4 commits into
mainfrom
codex/codex-20260429-181453
Apr 30, 2026
Merged

Fix workflow page transition layering#6717
facumenzella merged 4 commits into
mainfrom
codex/codex-20260429-181453

Conversation

@facumenzella

@facumenzella facumenzella commented Apr 30, 2026

Copy link
Copy Markdown
Member

Summary

  • keep the outgoing workflow page above the incoming page during slide transitions to avoid visible blank backgrounds
  • keep workflow header buttons visually stationary while crossfading them between pages
  • cover the transition state behavior in WorkflowPaywallViewTests
Simulator.Screen.Recording.-.iPhone.16e.-.2026-04-30.at.11.03.46.mov

Note

Medium Risk
Adjusts core workflow paywall transition behavior (z-ordering, offsets, opacity) which can impact navigation UX and animation correctness across platforms, though changes are localized and covered by updated tests.

Overview
Fixes workflow page slide transitions so the outgoing page remains on top during animations, preventing blank/flash artifacts.

Introduces a WorkflowPageTransitionContext propagated from WorkflowPaywallView via SwiftUI environment and marks header subtrees with isWorkflowHeader so header buttons can counter-offset (stay visually stationary) and crossfade (headerButtonOpacity) between steps.

Updates WorkflowPaywallViewTests to assert the new z-index ordering and header button opacity behavior for forward/back transitions.

Reviewed by Cursor Bugbot for commit 594a862. Bugbot is set up for automated code reviews on this repo. Configure here.

@facumenzella facumenzella changed the title [codex] Fix workflow page transition layering Fix workflow page transition layering Apr 30, 2026
@facumenzella facumenzella marked this pull request as ready for review April 30, 2026 09:16
@facumenzella facumenzella requested review from a team as code owners April 30, 2026 09:16
@facumenzella facumenzella requested a review from vegaro April 30, 2026 09:16
let pageOffset: CGFloat
/// Opacity for buttons rendered inside workflow headers.
/// This crossfades outgoing and incoming header buttons during page transitions.
let headerButtonOpacity: CGFloat

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this is interesting. in Android I wasn't crossfading, but it looks good! might add to android as well

@facumenzella facumenzella requested a review from vegaro April 30, 2026 12:31
@facumenzella facumenzella merged commit a6c8964 into main Apr 30, 2026
16 of 18 checks passed
@facumenzella facumenzella deleted the codex/codex-20260429-181453 branch April 30, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants