Skip to content

feat(booking-filters): no-show filter added#27866

Open
bandhan-majumder wants to merge 18 commits into
calcom:mainfrom
bandhan-majumder:fix-27720
Open

feat(booking-filters): no-show filter added#27866
bandhan-majumder wants to merge 18 commits into
calcom:mainfrom
bandhan-majumder:fix-27720

Conversation

@bandhan-majumder
Copy link
Copy Markdown
Member

@bandhan-majumder bandhan-majumder commented Feb 11, 2026

What does this PR do?

  • Fixes Filter by no-show #27720 (GitHub issue number)
  • Fixes CAL-7184 (Linear issue number - should be visible at the bottom of the GitHub issue description)

Visual Demo (For contributors especially)

Video Demo (if applicable):

Screencast.From.2026-02-22.22-36-32.mp4

Image Demo (if applicable):

Screenshot From 2026-02-11 22-34-36 image

Tests

fail why they are expected to fail

Screenshot From 2026-02-12 08-28-12

Passes when expected to pass

Screenshot From 2026-02-12 08-30-14

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. If N/A, write N/A here and check the checkbox.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  • Are there environment variables that should be set?
  • What are the minimal test data to have?
  • What is expected (happy path) to have (input and output)?
  • Any other important info that could help to test that PR

Checklist

  • I haven't read the contributing guide
  • My code doesn't follow the style guidelines of this project
  • I haven't commented my code, particularly in hard-to-understand areas
  • I haven't checked if my changes generate no new warnings
  • My PR is too large (>500 lines or >10 files) and should be split into smaller PRs

Summary by cubic

Adds a “No show” filter to the bookings list and API to quickly find bookings where the host or any attendee was a no‑show. Implements Linear CAL-7184 and localizes the filter.

  • New Features

    • UI: adds a hidden-by-default “No show” column with a boolean filter (no options); non-sortable with empty cells; header is localized.
    • API: getBookings accepts noShow=true and OR-filters Booking.noShowHost or any Attendee.noShow; compatible with other filters (e.g., bookingUid) across all statuses.
    • Tests: unit tests cover the noShow filter alone and combined with other filters/statuses.
  • Bug Fixes

    • Stabilized RerouteDialog test by setting the website URL in mocked constants.

Written for commit 5f75c6a. Summary will update on new commits.

@bandhan-majumder bandhan-majumder requested a review from a team as a code owner February 11, 2026 13:05
@graphite-app graphite-app Bot added the community Created by Linear-GitHub Sync label Feb 11, 2026
@github-actions github-actions Bot added the ✨ feature New feature or request label Feb 11, 2026
Copy link
Copy Markdown
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.

1 issue found across 6 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="apps/web/modules/bookings/hooks/useFacetedUniqueValues.ts">

<violation number="1" location="apps/web/modules/bookings/hooks/useFacetedUniqueValues.ts:62">
P2: `t` from `useLocale` is used inside the `useCallback` callback but is missing from the dependency array. If the locale changes, this callback will keep using the old translator and return a stale label.</violation>
</file>

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

Comment thread apps/web/modules/bookings/hooks/useFacetedUniqueValues.ts Outdated
@bandhan-majumder
Copy link
Copy Markdown
Member Author

was wondering I should add indexing or not in the boolean field. Took the decision of not adding by looking at this. Please LMK if you think it's needed.

Copy link
Copy Markdown
Member

@romitg2 romitg2 left a comment

Choose a reason for hiding this comment

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

@bandhan-majumder added comments!

also can you add/update relevant tests.

Comment thread apps/web/modules/bookings/hooks/useBookingListColumns.tsx
Comment thread apps/web/modules/bookings/components/BookingListContainer.tsx Outdated
@bandhan-majumder bandhan-majumder marked this pull request as draft February 11, 2026 16:21
@bandhan-majumder
Copy link
Copy Markdown
Member Author

bandhan-majumder commented Feb 11, 2026

Adding the tests. Once done, I will make it ready for review

edit: added the tests, updated description

@pull-request-size pull-request-size Bot added size/L and removed size/M labels Feb 12, 2026
@bandhan-majumder bandhan-majumder marked this pull request as ready for review February 12, 2026 03:04
@romitg2
Copy link
Copy Markdown
Member

romitg2 commented Feb 12, 2026

@cubic-dev-ai

@cubic-dev-ai
Copy link
Copy Markdown
Contributor

cubic-dev-ai Bot commented Feb 12, 2026

@cubic-dev-ai

@romitg2 I have started the AI code review. It will take a few minutes to complete.

@romitg2 romitg2 self-assigned this Feb 12, 2026
Copy link
Copy Markdown
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.

No issues found across 8 files

@github-actions
Copy link
Copy Markdown
Contributor

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
Copy link
Copy Markdown
Contributor

Devin AI is resolving merge conflicts

This PR has merge conflicts with the main branch. A Devin session has been created to automatically resolve them.

View Devin Session

Devin will:

  1. Merge the latest main into this branch
  2. Resolve any conflicts intelligently
  3. Run lint/type checks to ensure validity
  4. Push the resolved changes

If you prefer to resolve conflicts manually, you can close the Devin session and handle it yourself.

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Automated Merge Conflict Resolution - Failed to Push

I successfully resolved the merge conflicts locally (only 1 conflict in apps/web/modules/bookings/components/BookingListContainer.tsx), but was unable to push the changes to the fork.

Conflict resolution details:

  • setPageIndex was removed from useDataTable() destructuring (matching upstream/main)
  • noShow was preserved in useBookingFilters() destructuring (preserving PR's feature)
  • Merge commit validation passed: 8 files in merge = 8 files in original PR

Push failure reason: The DEVIN_ACTIONS_PAT secret returned Bad credentials (HTTP 401) when tested against the GitHub API, indicating it is invalid or expired. Unable to authenticate to push to the fork repository.

To resolve manually:

git fetch upstream main
git merge upstream/main
# Resolve the single conflict in apps/web/modules/bookings/components/BookingListContainer.tsx:
# - Use: const { limit, offset, isValidatorPending } = useDataTable();  (remove setPageIndex)
# - Use: const { eventTypeIds, teamIds, userIds, dateRange, attendeeName, attendeeEmail, bookingUid, noShow } =  (keep noShow)
git add . && git commit
git push

Devin session

@github-actions github-actions Bot removed the Stale label Feb 21, 2026
Copy link
Copy Markdown
Member

@romitg2 romitg2 left a comment

Choose a reason for hiding this comment

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

@bandhan-majumder overall PR looks good, but ux of adding no-show filter could be improved. would it be possible to add just no-show filter without additionally clicking yes checkbox?

@bandhan-majumder
Copy link
Copy Markdown
Member Author

@romitg2 I agree. Made the changes.

attached the update ui below (and in the PR description)

image

@romitg2 romitg2 added the run-ci Approve CI to run for external contributors label Feb 25, 2026
@romitg2 romitg2 marked this pull request as draft February 25, 2026 18:15
@bandhan-majumder bandhan-majumder marked this pull request as ready for review March 3, 2026 11:52
@bandhan-majumder
Copy link
Copy Markdown
Member Author

@romitg2 I am not sure if the test failure was related to the changes. I have updated one constant mock which was causing noise, should pass now. If this fails again, I will reinvestigate the issue

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 devin-conflict-resolution ✨ feature New feature or request ready-for-e2e run-ci Approve CI to run for external contributors size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Filter by no-show

2 participants