Skip to content

Conversation

@dhairyashiil
Copy link
Member

@dhairyashiil dhairyashiil commented Jan 14, 2026

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)

- Fix #1: Weekly schedule now shows multiple time slots per day in AvailabilityTab
- Fix #2: Allow numeric input fields to be empty with proper validation
- Fix #3: Add native iOS date picker for date range in Limits tab
- Fix #4: Change 'Email verification' to 'Booker email verification' in Advanced tab
- Fix #5: Fix Requires confirmation comparison logic in buildPartialUpdatePayload
- Fix #6: Forward parameters toggle already working, verified wiring
- Fix #7: Add toggles for redirect booking URL and interface language in Advanced tab
- Fix #8: Increase scroll padding at bottom from 200 to 350 for better keyboard access
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@dhairyashiil dhairyashiil marked this pull request as ready for review January 14, 2026 18:38
@graphite-app graphite-app bot added the community Created by Linear-GitHub Sync label Jan 14, 2026
@dhairyashiil dhairyashiil enabled auto-merge (squash) January 14, 2026 18:42
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

2 issues found across 8 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="companion/components/LoginScreen.tsx">

<violation number="1" location="companion/components/LoginScreen.tsx:73">
P3: Frontend UI strings must be wrapped in `t()` for localization; the reintroduced sign‑up prompt is hardcoded English text.</violation>
</file>

<file name="companion/components/event-type-detail/tabs/LimitsTabDatePicker.ios.tsx">

<violation number="1" location="companion/components/event-type-detail/tabs/LimitsTabDatePicker.ios.tsx:4">
P3: Date pickers don’t support placeholders but this component’s props expose a `placeholder` that is never used, creating a misleading API surface and dead prop.

(Based on your team's feedback about DatePicker placeholder props.) [FEEDBACK_USED]</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@github-actions
Copy link
Contributor

Devin AI is addressing Cubic AI's review feedback

A Devin session has been created to address the issues identified by Cubic AI.

View Devin Session

@dhairyashiil dhairyashiil merged commit ff65dee into main Jan 14, 2026
41 checks passed
@dhairyashiil dhairyashiil deleted the devin/1768412182-ios-event-type-fixes branch January 14, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Created by Linear-GitHub Sync size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants