Skip to content

[CLEAN] Synthetic Benchmark PR #26845 - fix(companion): iOS event type detail fixes#547

Open
ofir-frd wants to merge 1 commit intobase_pr_26845_20260120_7395from
clean_pr_26845_20260120_7395
Open

[CLEAN] Synthetic Benchmark PR #26845 - fix(companion): iOS event type detail fixes#547
ofir-frd wants to merge 1 commit intobase_pr_26845_20260120_7395from
clean_pr_26845_20260120_7395

Conversation

@ofir-frd
Copy link

Benchmark PR calcom#26845

Type: Clean (correct implementation)

Original PR Title: fix(companion): iOS event type detail fixes
Original PR Description: ## What does this PR do?

This PR addresses 8 issues found during iOS app testing in the companion folder event type detail screen:

  1. Weekly schedule multiple time slots - Fixed AvailabilityTab to display multiple time slots per day instead of only the first one (changed find() to filter())
  2. Empty input fields - Allow numeric inputs to be empty while typing (removed forced minimum values like || "0")
  3. Native iOS date picker - Added native iOS date picker for date range selection in Limits tab (limit future bookings)
  4. Text update - Changed "Email verification" to "Booker email verification" in Advanced tab
  5. Requires confirmation fix - Fixed boolean comparison logic in buildPartialUpdatePayload.ts for proper change detection
  6. Forward parameters - Verified existing wiring is correct
  7. Toggle controls - Added toggles for redirect booking URL and interface language settings (show/hide inputs based on toggle state)
  8. Scroll padding - Added conditional bottom padding (280px for Limits/Advanced tabs, 200px for others) for better keyboard access

Updates since last revision

  • Changed scroll padding from fixed 350px to conditional: 280px for Limits and Advanced tabs only, 200px for other tabs

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. N/A - companion app internal changes only.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  1. Multiple time slots: Create a schedule with multiple time slots for the same day, then view an event type's Availability tab - all time slots should display
  2. Empty inputs: In Limits tab, try clearing numeric inputs (minimum notice, frequency limits, etc.) - should allow empty values while typing
  3. Date picker (iOS): In Limits tab, enable "Limit future bookings" and select "Within a date range" - should show native iOS date picker
  4. Booker email verification: Check Advanced tab - text should say "Booker email verification"
  5. Redirect toggle: In Advanced tab, toggle "Redirect on booking" ON/OFF - URL input and forward parameters should show/hide
  6. Language toggle: In Advanced tab, toggle "Custom interface language" ON/OFF - language picker should show/hide
  7. Scroll padding: Navigate to Limits and Advanced tabs - should have more scroll padding than other tabs

Checklist

  • I have read the contributing guide
  • My code follows the style guidelines of this project
  • I have checked if my changes generate no new warnings

Human Review Checklist

  • Verify the requiresConfirmation comparison logic change in buildPartialUpdatePayload.ts (lines 643-651) doesn't break existing functionality
  • Test redirect and language toggles initialize correctly from existing event type data
  • Test iOS date picker on actual device
  • Verify empty inputs don't send invalid values to API on save
  • Verify multiple time slots display correctly in AvailabilityTab

Link to Devin run: https://app.devin.ai/sessions/9dea3de9fe1c4fb5a2188c3ef863ede1
Requested by: Dhairyashil Shinde (@dhairyashiil)
Original PR URL: calcom#26845

@github-actions
Copy link

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

Details:

No release type found in pull request title "[CLEAN] Synthetic Benchmark PR #26845 - fix(companion): iOS event type detail fixes". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@github-actions
Copy link

This PR has been marked as stale due to inactivity. If you're still working on it or need any help, please let us know or update the PR to keep it active.

@github-actions github-actions bot added the Stale label Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant