Skip to content

Enable Revyl previews, proof checks, and Debug-only Eats sign-in - #1

Merged
Landseer100 merged 5 commits into
mainfrom
landseer/revyl-automation
Oct 19, 2026
Merged

Landseer100 merged 5 commits into
mainfrom
landseer/revyl-automation

Conversation

@Landseer100

@Landseer100 Landseer100 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Configure repository-root Revyl remote iOS preview builds and automatic Proof of Changes. Prepare isolated session tokens and gate native demo-buyer sign-in behind Debug compilation, explicit launch configuration, a matching token, and role/route allowlists.

Separate the generated application Info.plist from Xcode Derived Data metadata and validate the packaged URL scheme before upload. Keep the debug status banner separate from content and cart/tab navigation.

Verified 20 core tests in Debug and Release, the repository-bound Revyl cloud build, fresh-session automatic sign-in, rejection cases, and Account navigation with a nonempty cart on a cloud iPhone. This PR starts the first automatic proof; no automatic proof was previously claimed complete.

Signed-in cart and tabs

Rejected sign-in

Open in Capy


Note

Medium Risk
Introduces token-gated deep-link handling and onboarding bypass, but only in Debug with strict validation; plist/build changes affect CI packaging rather than production auth.

Overview
Adds repository-root Revyl configuration for PR iOS preview builds, session token preparation (prepare-revyl-session.py), and Proof of Changes invariants (onboarding skip, demo order flow, tab navigation with a cart).

Introduces a Debug-only eatsclone://revyl-auth deep link handled via RevylAuthBypass and AppStore.handleRevylAuthBypass: gated by launch env/args (EATSCLONE_AUTH_BYPASS_ENABLED, matching token ≥32 chars), buyer role, and allowlisted tab redirects. Accepted links mark onboarding complete, select the tab, reset navigation, and show a yellow status banner; rejected links only update that banner. Release builds compile the handler out.

Moves the app Info.plist to .generated/EatsClone-Info.plist with the eatsclone URL scheme so Derived Data does not strip it; build-ios.sh fails the build if the packaged app lacks that scheme. UI wraps tabs/onboarding with the debug banner and uses navigationResetID to refresh stacks after sign-in.

Adds 10 regression tests for bypass validation and store integration; updates README and new docs/REVYL.md / verification notes.

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

Landseer100 and others added 5 commits October 18, 2026 22:27
Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>
Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>
Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>
Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>
Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>
@revyl

revyl Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Preview builds Revyl

50ea5f9c

Project: uber-eats-clone

Managed via .revyl/config.yaml (config-as-code).

Build Target Status Details Updated (UTC)
Uber Eats Clone iOS (iOS) 🟩 Ready · 1m 07s Open preview · View logs 2026-10-19 02:14

Proof of changes

Target Status Details Updated (UTC)
Uber Eats Clone iOS (iOS) 🟩 Ready View proof logs 2026-10-19 02:25

Findings

🟩 No defects found in the exercised changes.

Revyl Open this build in Atlas →
Explore screenshots, findings, and resolution history.

iOS · Uber Eats Clone iOS

Verification confidence · 4/5

exercised prepared Home sign-in, wrong-token rejection, banner/tab/cart layout, customization, all four tabs with a cart, and the completed demo order; Release-only exclusion and valid-token alternate redirects were not available from this /home prepared session.

What this proof covered

Change Result
Prepared Debug Revyl URL sign-in and Home redirect Fresh session bypassed onboarding, opened Home, and displayed Revyl sign-in accepted · Local buyer.
Token validation and rejected-session status A deep link with a different 32-character token displayed Revyl sign-in rejected: Invalid session token; Account stayed selected.
Status banner placement with cart/tab navigation The banner remained above the independently reachable Home, Browse, Orders, and Account tabs; all four were opened with one customized item in the cart.
Demo buyer flow Selected Regular size plus Extra cheese, added the burger, reviewed the cart, and completed the offline simulated order with no real payment or restaurant order.

Out of reach

  • The Debug handler's exclusion from Release was not visible in the supplied Debug iOS build.
  • Valid-token redirects to /browse, /orders, and /account, plus role/parameter rejection branches beyond the mismatched-token case, need a prepared session that issues valid links for those variants; this session's protected boot link only targeted /home.
  • The repository's remote-preview/proof configuration and packaged-plist build guard run in Revyl's build/integration service and have no additional visible result on this running device.

To make this provable

  • Provide a Release iOS build version in the PR proof target so the absence of the handler/banner can be observed directly.
  • Add controlled, per-session valid auth-link fixtures for /browse, /orders, /account, role=admin, and malformed/duplicate parameter cases without exposing the boot token.
  • Surface the completed preview/build check for this exact commit in the PR proof target, including the packaged eatsclone URL-scheme assertion.
What we exercised

PASS — build dd4f695c-7efd-4719-81db-ff338dbf5d32, app commit 50ea5f9c398423ca9cdf27f609c8334b7674355f, on an iPhone 17 Pro Max (iOS 27.0). A fresh prepared Debug session accepted the Revyl buyer sign-in on Home; a mismatched-token link was rejected without moving the current Account destination. The customized-cart flow, all tabs with a nonempty cart, and the offline demo order also held up.


iOS · Uber Eats Clone iOS · Evidence

Revyl Full step-by-step report and session video — session 0eccb4e5-9167-47fb-adc8-099eb0376f96

Home tab with accepted Revyl local buyer banner
Accepted sign-in
Burger customization showing selected Regular size and Extra cheese
Customized meal
Account tab reachable with one item and cart button visible
Account with cart
Offline simulation order confirmation
Demo order confirmed
Account tab with invalid session token rejection banner
Rejected sign-in

Captured by Revyl · See how Revyl works →

@Landseer100
Landseer100 merged commit 5f76e13 into main Oct 19, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant