Skip to content

feat: fix xcode provisioning on ci/cd#91

Merged
evan-taylor merged 1 commit intodevfrom
evan/ci-cd
Apr 16, 2026
Merged

feat: fix xcode provisioning on ci/cd#91
evan-taylor merged 1 commit intodevfrom
evan/ci-cd

Conversation

@evan-taylor
Copy link
Copy Markdown
Collaborator

Linked Issues

Closes #
Linear: (e.g., POLY-123)

Summary

Briefly explain the change and why.

How to Test

Steps to verify locally:

  • npm run lint
  • npm run typecheck
  • npm test
  • Manual flow:
    1. npm run dev:backend (in terminal A)
    2. npm run dev (in terminal B)
    3. Verify the change: <describe expected behavior/screens>

Checklist

  • Tests added/updated (if applicable)
  • Lint/tests pass locally (npm run lint)
  • Docs updated (README/ADR/changelog if needed)
  • Follows conventional commit format
  • No merge conflicts with dev

Screenshots / Demos

(if UI or visible behavior - attach images, videos, or GIFs)

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
poly-buys Building Building Preview, Comment Apr 16, 2026 11:10pm

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 16, 2026

Warning

Rate limit exceeded

@evan-taylor has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 39 minutes and 27 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 39 minutes and 27 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 086629c3-6d7b-4ea2-99f7-929d038afd99

📥 Commits

Reviewing files that changed from the base of the PR and between 62cbcbe and 326f632.

📒 Files selected for processing (2)
  • .github/workflows/ios-release-dev.yml
  • .github/workflows/ios-release-main.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch evan/ci-cd

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@evan-taylor evan-taylor merged commit 2f70104 into dev Apr 16, 2026
2 of 4 checks passed
@evan-taylor evan-taylor deleted the evan/ci-cd branch April 16, 2026 23:10
evan-taylor added a commit that referenced this pull request Apr 21, 2026
* feat: misc frontend UI fixes and improvements

- Fix duplicate sign-in messages on profile tab
- Redirect unauthenticated users to profile on Create Listing (web)
- Fix browser tab title persisting after leaving a listing
- Style placeholder text with lighter grey across profile and create listing forms
- Standardize Create Listing button to brand green (#154734)
- Capitalize category and condition values on listing detail page
- Add profile setup check before creating listings with visible warning banner
- Replace Alert.alert with cross-platform showAlert for web compatibility
- Add Delete button to My Listings with confirmation dialog

* fix: address PR review feedback

- Extract showAlert into shared utils/showAlert.ts module
- Prevent concurrent deletes in my-listings (guard + disable all buttons)
- Fix year reset to empty string in settings signed-out useEffect
- Remove unused Alert/Platform imports from new.tsx

* fix(vercel): declare @sentry/react-native in frontend workspace

Expo resolves @sentry/react-native/expo relative to the frontend package; it was only on the root workspace so Vercel installs did not expose the plugin and expo export failed.

Made-with: Cursor

* fix: address team feedback — auth timeout, seller avatar, download link, image lightbox

- Add 8s timeout + retry button to auth 'checking' step to prevent infinite spinner
- Replace empty grey seller avatar with initials (first letter of name) on listing detail
- Make seller block tappable, navigates to public profile
- Change 'Open in App' to 'Download App' with placeholder App Store URL
- Add download hint link to OpenInAppPrompt component
- Create ImageLightbox component for full-screen uncropped image viewing
- Wrap all listing hero images in Pressable to open lightbox on click
- Support keyboard navigation (Escape, ←, →) in lightbox on web

* fix: address PR feedback for UI components and auth flow

- Fix login retry timer leak

- Fix ImageLightbox filtered array index mismatch and add auto-focus on web

- Improve OpenInAppPrompt link error handling and accessibility labels

- Move APP_STORE_URL and APP_SCHEME to shared constants

* chore: satisfy eslint any warning for lightbox web props

* fixed search

* feat(frontend): dedicated account settings from profile tab

- Add /account-settings stack screen with message notifications, sign out, and delete account
- Profile tab shows a Settings row (and account settings on incomplete profile) linking there
- Web: OpenInAppPrompt for account settings deep link, consistent with profile tab
- Fix typed-route pushes with as never where the generated routes lag

Made-with: Cursor

* red box

* red box

* blocked users

* code rabbit fix

* more fixes

* feat: add Other as a report reason for listing moderation (POLY-70)

* fix: keyboard overlaps input on Create/Edit Listing screens (POLY-75)

* feat: ui changes to save/share buttons

* fix: login redirect bug

* fix: route profileless users to onboarding

Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>

* test: cover login onboarding redirect

* Match UI of MyListing and Home

* chore: remove ios build files from PR

* feat(frontend): dismissible flash banner and safe placement

- Add FlashProvider with bottom-inset positioning above tab/home area
- pointerEvents box-none/auto so banner receives taps; tap or Dismiss clears
- Shorter auto-dismiss when reduce motion is enabled
- Wire create/edit listing, mark sold, and report success to setFlash
- ReportModal optional onReportSuccess for non-blocking confirmation

Made-with: Cursor

* transparent

* more transparent

* chore(frontend): shared report copy; longer flash for reduce motion

- Add feedbackMessages constants for report success (flash + Alert)
- Use REPORT_SUBMITTED_MESSAGE in listing and profile screens
- Increase FLASH_DURATION_REDUCED_MS to 4000 for readability

Made-with: Cursor

* feat: remove tags from UI and backend (POLY-77)

* Remove unrelated changes from PR

* fix: coderabbit errors

* fix(vercel): declare @sentry/react-native in frontend workspace

Expo resolves @sentry/react-native/expo relative to the frontend package; it was only on the root workspace so Vercel installs did not expose the plugin and expo export failed.

Made-with: Cursor

* feat(frontend): polish listing cards (POLY-76)

- Vertical stack: multi-line title (2 lines home, 3 default), condition caption, price
- Clearer hierarchy: dark title, muted condition, bold accent price
- More padding and md card radius; softer shadow; slightly looser grid spacing on home

Made-with: Cursor

* feat(frontend): short description preview on listing cards

- Plain descriptions: up to 2 lines, footnote style, ellipsized
- Multi-line or -/• lists: up to 2 bullet rows with trimmed markers
- Include snippet in accessibility label (capped length)

Made-with: Cursor

* feat(frontend): smarter listing description bullets (heuristics)

- Extract buildDescriptionPreview: newlines/markers, semicolons, then sentences
- Use Intl.Segmenter when available with regex fallback for sentences
- Up to 3 bullets; support numbered line prefixes
- Tests for preview helper; exclude frontend __tests__ from tsc

Made-with: Cursor

* fix(frontend): omit prose after last bulleted line in card preview

- When 2+ lines start with list markers, only those lines become bullets
- descBlock uses overflow hidden as a layout safeguard

Made-with: Cursor

* fix(frontend): numbered lists without space after dot and inline 1. 2.

- Scan for digit+dot boundaries (not decimals like 2.0) across lines and spaces
- Relax line markers so 1.Item matches; run span scan before line-based bullets
- Tests for tight 1.x/2.x lines and single-line numbered lists

Made-with: Cursor

* feat(frontend): one bullet per description line when user uses Enter

- Drop short-line / looksLikeList gate: any 2+ non-empty lines become bullets
- Keep marked-only slice when 2+ lines start with list markers (trailing prose omitted)
- Cap 12 lines, 300 chars per line; strip optional -/1. prefixes per row

Made-with: Cursor

* fix(frontend): trim prose after last bullet (numbered + single dash)

- Numbered items: drop flush lines after first line in each span; keep indented wraps
- One dash bullet + following unmarked lines: show only the marked line
- Tests for numbered tail and single-dash + prose

Made-with: Cursor

* chore(frontend): address CodeRabbit ListingCard + preview tests

- Require listing.condition on ListingCard; exhaustive formatConditionLabel
- Memoize accessibilityLabel from parts; spacing.smPlus for cardDetailsHome
- Tests: 78-char cap and DESC_PREVIEW_BULLET_MAX

Made-with: Cursor

* feat: fixed a ton of stuff, standardize UI (#86)

* feat: fixed a ton of stuff, standardize UI

* fix block user success feedback

Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>

* style format conversation block flow

Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>

* fix listing sold state race checks

Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>

* feat: update UI themes and improve tab navigation (#87)

- Changed userInterfaceStyle to 'light' in app.json for consistent appearance.
- Refactored theme handling in _layout.tsx to use a custom navigation theme.
- Updated tab navigation styles in (tabs)/_layout.tsx to utilize nativeChrome for better visual consistency.
- Enhanced search and inbox screens to align with new theme settings.
- Added nativeChrome configuration for improved UI elements across the app.

This commit aims to standardize the UI and enhance user experience across different screens.

* feat: implement profile pictures

* fix: coderabbit changes, fix top border on profile page

* feat: add ci/cd for builds (#89)

* feat: add ci/cd for builds

* fix: don't build on backend or docs changes

* fix: inbox search keyboard close (#90)

* feat: fix xcode provisioning on ci/cd (#91)

* fix: add app id to expo (#92)

* feat: run convex deploy and add agent skill (#93)

* feat: run convex deploy and add agent skill

* fix: run convex deploy on manual ci too

* feat: add report and delete for entire conversations

* feat: fix prevent swipe actions from showing through on row press

* feat: add tooltip and add tap to close swipe

* feat: add report and delete for individual messaging

* fix(frontend): keyboard avoidance for price range picker modal

- KeyboardAvoidingView (iOS padding, Android height) above bottom sheet
- ScrollView so presets, inputs, and Apply stay reachable when keyboard is open
- Backdrop as sibling Pressable so sheet scrolling is not blocked
- Safe-area padding on scroll content; cap sheet height for smaller screens

Made-with: Cursor

* chore(frontend): dedupe Sentry dep; dim price picker backdrop

- Remove duplicate @sentry/react-native from package.json
- Restore modal scrim on PriceRangePicker backdrop (rgba 0.35)

Made-with: Cursor

* fix: remove listings when conversation reported, clean up functionality

* fix: no deleting individual messages

* fix: remove tooltip

* feat: redirect new users to home

* feat: redirect to home after logging in

* fix: add code rabbit changes

* fix: onboarding copy so first-time users do not see Welcome back (POLY-86)

* feat: add required field indicators and inline validation to listing creation (POLY-91)

* feat: add date posted metadata to listing cards and detail page (POLY-92)

* fix choppyness (#101)

* feat: add zoom support to listing photos

* fix: address lightbox lint warnings

* chore: rerun ci for listing photo zoom

* fix: address lightbox review feedback

* feat: prevent functionality on web

* fix: ci config setup (#109)

* fix: match Dispatch<SetStateAction> signature for onImagesChange

* Feat/marketing landing (#95)

* fix(vercel): declare @sentry/react-native in frontend workspace

Expo resolves @sentry/react-native/expo relative to the frontend package; it was only on the root workspace so Vercel installs did not expose the plugin and expo export failed.

Made-with: Cursor

* feat(frontend): add marketing landing page and /home feed route

- Add web-only landing at / with value props, CTAs, and App Store compliance
- Desktop: QR code and mailto draft for the download link
- Narrow web: official App Store badge linking to APP_STORE_URL
- Rename (tabs)/index to home so / is the landing without route conflicts
- Point in-app "home" navigation and post-auth default to /home
- Register root index in the stack; dedupe @sentry/react-native in package.json
- Refresh lockfile so workspace resolves expo-blur for typecheck/bundling

Made-with: Cursor

* feat(web): block auth routes and remove login CTAs from landing

- Add auth/login.web.tsx so /auth/login always redirects to / on web
- Remove Sign in header link and Sign up button from LandingScreen
- Clarify copy: sign-in is app-only; web is browse-focused

Made-with: Cursor

* chore(frontend): address CodeRabbit marketing + web auth UX

- index: redirect authenticated web users to /home; show boot spinner while auth loads
- LandingScreen: brand Link to /home; static QR asset (no third-party API); App Store
  badge uses Link target=_blank on web
- types/assets.d.ts: declare *.png for Metro image imports
- constants: document APP_STORE_URL + QR regeneration
- home: web save/create no longer hits blocked /auth/login; use app-only alerts

Made-with: Cursor

* feat: revamp landing page, add legal docs

* fix: board and coderabbit feedback

* fix: feedback

---------

Co-authored-by: Evan Taylor <eltaylor1104@gmail.com>

* Feature/poly 90 button visibility (#108)

* feat: improve search tab and button visibility

* feat: polish search, buttons, and messaging flows

* fix: address ui review feedback

* fix: padding and styling changes

---------

Co-authored-by: Evan Taylor <eltaylor1104@gmail.com>

* fixes

* fix: address listing form validation review feedback

* fix: align home route references with expo router

* feat: add support page and links across the application (#111)

- Introduced a new support page for user assistance, accessible via /support.
- Updated LandingScreen to include a link to the support page and added legal links for Privacy and Terms.
- Enhanced the footer to include a link to the support page.
- Implemented support document retrieval with contact options for user inquiries.
- Adjusted styles for legal links and contact information display.

* fix: restore web browse route targets

* fix: improve keyboard avoidance in chat and price picker

* fix: address keyboard and safety banner review feedback

* featL liquid glass app icon (#112)

* feat: add support page and links across the application

- Introduced a new support page for user assistance, accessible via /support.
- Updated LandingScreen to include a link to the support page and added legal links for Privacy and Terms.
- Enhanced the footer to include a link to the support page.
- Implemented support document retrieval with contact options for user inquiries.
- Adjusted styles for legal links and contact information display.

* feat: add liquid glass app icon

* fix: revert message keyboard avoidance changes

* fix: avoid native driver conflict in price picker

* fix: make profile email read-only

* feat: polish login and profile flows

* fix: tighten profile tab and major selection

* fix: polish frontend login and profile flows

* fix: standardize keyboard chrome across frontend flows

* feat: polish frontend launch readiness

* chore: apply final review hardening updates

* chore: apply final review hardening updates

* fix: address accessibility and profile review comments

* fix: address frontend review findings

* fix: harden native image uploads and backend validation

---------

Co-authored-by: Cole <hackman@calpoly.edu>
Co-authored-by: dfed25 <domfederico21@gmail.com>
Co-authored-by: Jaydon Chen <79879038+jaydonkc@users.noreply.github.com>
Co-authored-by: MatthewPhan <Matthewminhphan@gmail.com>
Co-authored-by: SamanSP1386 <saman.sepehr86@gmail.com>
Co-authored-by: Haixin <haixinhuang502@gmail.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Evan Taylor <evan-taylor@users.noreply.github.com>
Co-authored-by: lheutchy <lheutchy@gmail.com>
Co-authored-by: Taye-Staats <tayestaats@outlook.com>
Co-authored-by: dfed25 <150391626+dfed25@users.noreply.github.com>
Co-authored-by: BoB121isawesome <79879038+BoB121isawesome@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
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