Commit Graph
16476 Commits
Author SHA1 Message Date
okxint 009f91d163 fix(CalEventParser): skip null/undefined values in getUserFieldsResponses (#29703)
When a booking question is optional and left unanswered, the field value
stored in customInputs can be null. The previous guard only checked
for empty strings, so null (and undefined) would coerce to the literal
strings "null"/"undefined" inside the template literal, polluting calendar
event descriptions.

Fixes #29688
2026-07-08 18:01:41 +00:00
SreeCharan Desu bb7c87cae1 fix(notifications): use instance URL in push test notification (#29673)
Fixes #29567

The test push on subscribe hardcoded app.cal.com. Use WEBAPP_URL instead,
wrap JSON.parse in try/catch, and localize the title/body.
2026-07-08 17:53:34 +00:00
ShreyasandKartik 0968bcef01 fix(calendar): sync Cal.diy iCalUID events (#29580)
Co-authored-by: Kartik <103111467+kartik-212004@users.noreply.github.com>
2026-07-07 21:53:03 +05:30
Anirban Singha ca90ca2c94 refactor(app-store): move credential query to repository pattern (#29724)
* refactor(app-store): move credential query to repository pattern

* chore: removed unused imports
2026-07-06 08:40:17 +00:00
Alana Anjos f3284f581f docs: add windows/powershell setup troubleshooting for prisma (#29707)
Adds a note explaining how to manually push schema using PowerShell when Turbo fails to pass environment variables down to the prisma workspace.
2026-07-06 08:29:29 +00:00
Gaurav Kumar 188aaa1857 fix(emails): send METHOD:CANCEL in ICS for cancelled bookings (#29708)
Fixes an issue where cancellation emails were sending ICS files with
METHOD:REQUEST instead of METHOD:CANCEL. As per RFC 5546, calendar
clients only process cancellations correctly when METHOD:CANCEL is used,
otherwise cancelled events remain in attendee calendars with active
reminders.

- Use METHOD:CANCEL for cancelled booking ICS files
- Keep METHOD:REQUEST for non-cancelled booking invitations
- Preserve STATUS:CANCELLED and sequence handling
- Add tests to verify the generated ICS method for cancellations
2026-07-05 10:23:53 +00:00
Gaurav Kumar 032962f577 fix(ui): render markdown headings properly in event descriptions (#29648)
* fix(ui): render markdown headings properly in event descriptions

* fix(ui): Add noopener and noreferrer to external links in markdownToSafeHTML

* fix(ui): revert external link changes in markdownToSafeHTML

* fix(ui): update markdown heading styles
2026-07-03 11:52:08 +05:30
Gaurav Kumar 8f89c082e8 fix(i18n): add missing space between number and unit in Hebrew duration (#29695) 2026-07-03 06:21:43 +00:00
Chayan DasandBandhan Majumder 53e32a5bba fix: return 404 when booking does not exist (#29583)
Signed-off-by: Chayan Das <daschayan8837@gmail.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-07-01 01:26:48 +05:30
Anirban Singha 5d6d4d30cc refactor: app category metadata to use Record<AppCategories, AppCategoryEntry> for exhaustive type safety (#29558)
* refactor: derive category metadata from single Record source of truth

* test: add test for category order and entries sync

* fix: check for duplicates
2026-06-29 20:25:39 +05:30
Bandhan Majumder b97cd6203d fix: security audit (#29657) 2026-06-27 02:01:09 +05:30
Jimmy He 62317bd4e1 fix: pass bookingFields and locale to handlePayment in createNewSeat (#29639) 2026-06-25 04:21:38 +00:00
Anirban Singha 051ae77279 chore: remove obsolete ts comment (#29638) 2026-06-24 22:30:25 +00:00
Anirban SinghaandBandhan Majumder 0d164da8dd fix: implement missing password validation (#27634)
* fix: validate password presence and requirements

* chore: add error code for invalid passwords

* chore: avoid trimming password

* chore: add test for password validation

* fix: update password to delete user

* fix: create user password following protocol

* test: simplify deleteMeHandler password validation tests

* fix: address coderabbit

* fix: modify login params for failing tests

* fix: failing e2e tests

---------

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-22 10:37:09 +05:30
idolevittandClaude Sonnet 4.6 a46d5f8dd4 docs(claude): add path-scoped frontmatter to four agent rules (#29612)
Adds `paths:` YAML frontmatter so each rule only loads into Claude Code
context when the agent is working on relevant files, keeping context lean
in a large monorepo.

- architecture-page-level-auth: fires on page.tsx and layout.tsx
- data-prisma-migrations: fires on packages/prisma/**
- testing-playwright: fires on playwright dirs, *.e2e.ts, and api e2e dirs
- api-thin-controllers: fires on *.controller.ts files only

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 11:21:14 +00:00
yadavlokesh1 c0b13fb120 docs: remove dead Discussions links (#29617)
remove dead Discussions links
2026-06-21 16:50:46 +05:30
Chayan DasandBandhan Majumder 7469444aea fix: align confirmation dialog header and footer (#29588)
Signed-off-by: Chayan Das <daschayan8837@gmail.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-19 12:11:40 +05:30
Yash SinghandBandhan Majumder 1599dfd515 fix: zero-pad username suggestion suffix consistently (#29571)
generateUsernameSuggestion built its numeric suffix with
String(rand).padStart(4 - rand.toString().length, "0"). padStart's first
argument is the target total length, not the number of pad characters, so the
expression only padded single-digit numbers: rand=1 became "001" but rand=42
became "42" and rand=999 stayed "999". Suggested usernames therefore had
inconsistent suffix widths, and the magic 4 didn't match the 3-wide output the
existing test pins ("johnny001").

Pull the suffix into a small helper that always pads to 3 digits, so collisions
and the returned value share one definition and every suggestion is uniformly
zero-padded. Add unit tests for the first-attempt path and for two- and
three-digit suffixes; the two-digit case fails on the old code.

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-19 05:37:42 +00:00
ebf696a991 fix: remove console.log and improve type safety in tRPC routers (#29529)
- Remove two console.log statements dumping private hashed link data
  in update.handler.ts (fixes production data leakage)
- Replace console.log(e) with structured logger.error in
  getScheduleByEventTypeSlug.handler.ts
- Fix @ts-expect-error by typing reduce accumulator as
  Record<string, unknown> in update.handler.ts
- Narrow Prisma include to select in duplicate.handler.ts:
  team and webhooks now fetch only required fields

Fixes #29500

Co-authored-by: lucadapice <dapice.lc@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-19 10:53:23 +05:30
Chayan Das 4e529cbad1 fix: user table to load on scroll (#29593)
* fix: load more users on table scroll

Signed-off-by: Chayan Das <daschayan8837@gmail.com>

* refactor: move user listing logic to UserRepository

Add a dedicated listUsers method with search and cursor pagination support.

Add repository tests covering filtering and pagination.

Ensure user listing metadata remains consistent with the returned results.

Signed-off-by: Chayan Das <daschayan8837@gmail.com>

---------

Signed-off-by: Chayan Das <daschayan8837@gmail.com>
2026-06-18 18:09:12 +00:00
Bryan Varela 561cf889ab fix(daily-webhook): use BookingRepository instead of direct prisma call (#29541) 2026-06-16 12:34:18 +00:00
Bandhan Majumder 70a883b191 fix(ci): retry workflow cancellation on 409 conflicts (#29584) 2026-06-16 17:46:01 +05:30
Anirban SinghaandBandhan Majumder dcd0da831f refactor: use userRepository class methods for signup handlers (#29561)
* refactor: use userRepository class methods for signup handlers

* feat: add user repo modules for DI

* feat: build user repo container

* test: integration test for user repository

* fix: use DI container in selfhosted

* refactor: tests, module, container and handlers

---------

Co-authored-by: Bandhan Majumder <bandhanmajumder16@gmail.com>
2026-06-14 16:11:21 +00:00
Jörg RömhildandClaude Sonnet 4.6 642c38582e fix: correct CLAUDE.md symlink casing to AGENTS.md (#29556)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 07:05:48 +00:00
Chayan Das 9104545a18 fix(frontend): improve password update form UX and add translation (#29544)
- disable update button until form is valid
- add required field validation
- add translation key for password complexity message

Signed-off-by: Chayan Das <daschayan8837@gmail.com>
2026-06-12 20:12:36 +00:00
H PandBandhan Majumder ca03f007df fix: getUserVerifiedPhoneNumber calls phone lookup instead of email (#29458)
getUserVerifiedPhoneNumber incorrectly called getUserVerifiedEmail
on the repository, causing verified phone numbers to never be found.

Fixes #29450

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-12 13:26:28 +05:30
Chayan DasandBandhan Majumder 4026669e68 fix(api): return 401 instead of 409 for unauthenticated /api/me requests (#29538)
* api: me: fix return 401 instead of 409 for unauthorized requests in the me API route

Signed-off-by: Chayan Das <daschayan8837@gmail.com>

* undo import changes

Reorder imports for better organization.

---------

Signed-off-by: Chayan Das <daschayan8837@gmail.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-11 03:56:55 +00:00
Bandhan Majumder 743f988d30 fix: shell-quote update to 1.8.4 (#29535) 2026-06-11 01:38:51 +05:30
MadelynandBandhan Majumder a216f6b785 fix: correct typo 'occured' -> 'occurred' in k_bar_ai_error i18n value (#29478)
* fix: correct typo 'paramater' → 'parameter' in getQueryParam.ts

* fix: correct typo 'occured' -> 'occurred' in k_bar_ai_error i18n value

---------

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-10 09:01:38 +05:30
Tushar KhaddeandBandhan Majumder ecfb05ba55 fix(api-v2): rethrow unexpected errors in deleteSelectedCalendar catch block (#29519)
* fix(api-v2): rethrow unexpected errors as InternalServerErrorException in deleteSelectedCalendar

* fix(selected-calendars): rethrow unexpected errors in deleteSelectedCalendar method

* fix(selected-calendars): improve error handling in deleteSelectedCalendar method

* fix lint and error handlers

Refactor error handling in deleteSelectedCalendar method.

---------

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-09 12:36:31 +05:30
Bhavana 75c5eb8531 fix: use write service for membership creation (#29521) 2026-06-08 17:52:57 +00:00
c645c0cbf7 fix: move null check before metadata parse in setDefaultConferencingApp (#29457) (#29466)
teamMetadataSchema.parse(team?.metadata) was called before checking
if team exists, causing a Zod validation error on undefined instead
of the intended NotFoundException. Also corrected the misleading
error message from 'user not found' to 'team not found'.

Co-authored-by: Pranav Gawande <pranavv00@users.noreply.github.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-08 09:46:19 +00:00
KATHIR ESWARAN 07a288bbd8 fix(api):missing trpc route added for the api keys (#29517) 2026-06-08 06:12:29 +00:00
MAHESH KUMAR JENAandBandhan Majumder d1ad4ea8b2 fix(eventtypes): persist requiresCancellationReason selection (#29282)
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-03 09:51:54 +00:00
ff184db553 fix: correct Arabic translation of upload/download terms (#29226)
* fix(i18n): correct Arabic translation of upload/download terms in ar/common.json

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-06-03 11:55:54 +05:30
e003426580 fix: use PrismaWriteService for write operations in ProfilesRepository (#29447) (#29468)
ProfilesRepository was routing create() and update() calls through
PrismaReadService, which silently breaks in read-replica production
environments. Added PrismaWriteService injection and routed write
operations through dbWrite, matching the existing pattern used by
TeamsRepository and other repositories.

Co-authored-by: Pranav Gawande <pranavv00@users.noreply.github.com>
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-03 01:59:12 +05:30
MadelynandBandhan Majumder 287cea3001 fix: correct typo 'paramater' → 'parameter' in getQueryParam.ts (#29477)
Co-authored-by: Bandhan Majumder <133476557+bandhan-majumder@users.noreply.github.com>
2026-06-02 18:33:51 +05:30
Bandhan Majumder 717fed8f86 fix(vitest): update to patched version (#29496)
* fix(vitest): update to patched version

* fix(vitest): coverage-v8 and ui dep update to patched version
2026-06-02 17:57:17 +05:30
Arjun 180ede28f0 fix: add system-ui fallback to font stack for non-Latin script support (#29346) 2026-05-14 19:30:21 +00:00
premsreelathasugeendranandPremsugeendran fb0149453e fix: "Deadlinks" → "Dead links" in SECURITY.md (#29292)
Closes #29279

Minor typo fix in the "Out of scope vulnerabilities" list.
"Deadlinks" should be two words: "Dead links".

Co-authored-by: Premsugeendran <premsugeendran23@gmail.com>
2026-05-10 16:02:21 +05:30
Romit a4a01a0fa8 cleanup(attributes): remove entrypoints (#29034)
* refactor: remove attributes and segments entrypoints

* fix: restore segment entrypoints

* cleanup
2026-05-05 15:03:00 +05:30
Mandar Joshi 46eb533dbd chore: tidy up typos across docs, comments, and setup copy (#29260) 2026-05-03 13:45:57 +00:00
PankajandRomit e64de009ec fix(docs): resolve documentation search in documentation header (#29245)
* fix(docs): resolve documentation search in documentation header

* fix: move pagefind from devDependencies to dependencies

* fix(docs): inline pagefind in build script for reliable CI execution

Merge postbuild script into build command to ensure pagefind runs
in all CI environments (Vercel, Turbo, yarn workspace).

---------

Co-authored-by: Romit <romitgabani1.work@gmail.com>
2026-05-03 09:15:08 +00:00
Romit d278d6c9bc refactor: remove dead insights references (#29029) 2026-05-01 08:22:35 +05:30
Romit 9cd1f34f16 cleanup(workspace-platform): remove entrypoints (#29035)
* refactor: remove workspace platform entrypoints

* cleanup
2026-05-01 02:46:18 +00:00
Romit 91341cbba4 cleanup(webhooks): remove instant meeting trigger support (#29022)
* cleanup(webhooks): remove instant meeting trigger support

* remove dead code

* remove instant meeting from prisma enums and related cleanup

* fix(webhooks): make instant meeting enum migration atomic
2026-05-01 08:11:32 +05:30
Prateet Tiwari 1591a50bc5 fix(app-store): normalize search to handle spacing and casing issues (#29236)
- Fixes search mismatch for apps like 'Zoho CRM' vs 'zohocrm'
- Normalizes input by removing spaces, dashes, and underscores
- Updates ZohoCRM display name to 'Zoho CRM' for consistency
- Keeps change minimal without expanding search scope
2026-04-30 15:48:03 +00:00
Cael Shepley 44ccc72f99 fix: onboarding "Continue" button overlaps Bio textarea on small viewports (#29046)
* Update OnboardingCard.tsx

* Update OnboardingLayout.tsx
2026-04-29 12:33:21 +00:00
Romit c2c95b371a cleanup(test): remove org booking integration coverage (#29019) 2026-04-28 17:43:57 +05:30
Romit de1ffb08d6 cleanup(test): remove org admin event type integration coverage (#29016) 2026-04-28 13:18:02 +05:30