Codex/vynte scheduler replacement #1

Merged
ZachariahSharma merged 11 commits from codex/vynte-scheduler-replacement into main 2026-06-14 19:30:09 +00:00
Owner

What does this PR do?

  • Fixes #XXXX (GitHub issue number)

Visual Demo (For contributors especially)

A visual demonstration is strongly recommended, for both the original and new change (video / image - any one).

Video Demo (if applicable):

  • Show screen recordings of the issue or feature.
  • Demonstrate how to reproduce the issue, the behavior before and after the change.

Image Demo (if applicable):

  • Add side-by-side screenshots of the original and updated change.
  • Highlight any significant change(s).

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 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
## What does this PR do? <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. Note: Cal.diy is a community-maintained open-source project. Contributions here do NOT flow to Cal.com's production service. --> - Fixes #XXXX (GitHub issue number) ## Visual Demo (For contributors especially) A visual demonstration is strongly recommended, for both the original and new change **(video / image - any one)**. #### Video Demo (if applicable): - Show screen recordings of the issue or feature. - Demonstrate how to reproduce the issue, the behavior before and after the change. #### Image Demo (if applicable): - Add side-by-side screenshots of the original and updated change. - Highlight any significant change(s). ## 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 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? <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. Write details that help to start the tests --> - 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 <!-- Remove bullet points below that don't apply to you --> - I haven't read the [contributing guide](https://github.com/calcom/cal.diy/blob/main/CONTRIBUTING.md) - 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
ZachariahSharma added 11 commits 2026-06-14 19:27:06 +00:00
Pure domain logic (no I/O, no React) for the Vynte Scheduler:
shared types, time helpers, free/busy privacy filtering, and
mutual-availability computation. Includes vitest config for
standalone test execution within the scheduler app.
Add Calendar (week grid + meeting composer), Availability (weekly hours +
date overrides), and Connections screens, plus server-side viewer resolution
for Server Components. Teammate busy blocks never reveal titles, demo-mode
auth bypass is refused in production, and the visible week range is shared
from the server so the first client fetch matches server-rendered data.
Add apps/scheduler/Dockerfile, an optional profile-gated `scheduler` service
in docker-compose, and SCHEDULER_IMAGE/PORT/DEMO_MODE examples in
portainer.env.example. The service stays off by default (scheduler profile)
and SCHEDULER_DEMO_MODE defaults to 0 so the Authentik login is never bypassed
in production.
fix: harden demo-mode guard, availability scope, and image secrets
Pull Request Labeler / labeler (pull_request_target) Has been cancelled
Pull Request Labeler / apply-labels-from-issue (pull_request_target) Has been cancelled
PR Welcome Bot / Welcome new contributors (pull_request_target) Has been cancelled
PR Update / Trust Check (pull_request_target) Has been cancelled
Validate PRs / Validate PR title (pull_request_target) Has been cancelled
cleanup caches by a branch / cleanup (pull_request) Has been cancelled
/ cleanup-report (pull_request) Has been cancelled
PR Update / Prepare (pull_request_target) Has been cancelled
PR Update / Type Checks (pull_request_target) Has been cancelled
PR Update / Linters (pull_request_target) Has been cancelled
PR Update / Security Audit (pull_request_target) Has been cancelled
PR Update / Check Prisma Migrations (pull_request_target) Has been cancelled
PR Update / Setup Database (pull_request_target) Has been cancelled
PR Update / Analyze Build (pull_request_target) Has been cancelled
PR Update / required (pull_request_target) Has been cancelled
PR Update / Production builds (pull_request_target) Has been cancelled
PR Update / Tests (pull_request_target) Has been cancelled
a461321dbd
- Move the demo-mode check into a single shared module so the
  NODE_ENV!=production guard cannot drift; service.ts previously had an
  unguarded copy that could serve fixture data / impersonate the organizer
  in production.
- Restrict getAvailability to unlocked team members so an authenticated
  viewer cannot probe free/busy for arbitrary user ids.
- Pass build-time secrets inline on the build RUN instead of persisting them
  in an image ENV layer.
ZachariahSharma merged commit 7039f242e9 into main 2026-06-14 19:30:09 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ZachariahSharma/cal-diy-oidc#1