Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Round Robin weights future members toggle #17782

Merged
merged 28 commits into from
Jan 10, 2025

Conversation

sean-brydon
Copy link
Member

@sean-brydon sean-brydon commented Nov 21, 2024

What does this PR do?

Fixes: #17781 CAL-4771

Loom: https://www.loom.com/share/2df7aad3c6764094b3002f0c3530d2e4
CleanShot 2024-11-22 at 09 25 35

How should this be tested?

Assign a RR to a team event
Select all team members
Edit weights for users
Test out form - save - check sheet/db that the weights updated
Download the current csv
Modify the weights of some of the users
Upload the CSV with the new weights
Save
Test out form - save - check sheet/db that the weights updated

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

@graphite-app graphite-app bot requested a review from a team November 21, 2024 13:50
@github-actions github-actions bot added the High priority Created by Linear-GitHub Sync label Nov 21, 2024
@dosubot dosubot bot added event-types area: event types, event-types teams area: teams, round robin, collective, managed event-types ✨ feature New feature or request labels Nov 21, 2024
@keithwillcode keithwillcode added consumer core area: core, team members only labels Nov 21, 2024
const line = lines[i].trim();
if (!line) continue;

const [, , email, weightStr] = line.split(",");
Copy link
Member Author

Choose a reason for hiding this comment

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

We expect the format of the downloaded CSV. In the future we can rely on checking headers for a ID/EMAIL + weight so any CSV/sheets can be used

Copy link

graphite-app bot commented Nov 21, 2024

Graphite Automations

"Add consumer team as reviewer" took an action on this PR • (11/21/24)

1 reviewer was added to this PR based on Keith Williams's automation.

@@ -267,6 +270,15 @@ function AddMembersWithSwitch({
}}
onInactive={onAssignAllTeamMembersInactive}
/>
{!assignRRMembersUsingSegment ? (
Copy link
Member Author

Choose a reason for hiding this comment

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

Currently only render when were not using RR member assigment for attributes as the teamMember logic comes from internal and gets pretty complex. Will do this in a follow up to support weights on attribute assignees too

Copy link

vercel bot commented Nov 21, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
cal ⬜️ Ignored (Inspect) Visit Preview Jan 9, 2025 5:44pm
calcom-web-canary ⬜️ Ignored (Inspect) Visit Preview Jan 9, 2025 5:44pm

Copy link
Member

@CarinaWolli CarinaWolli left a comment

Choose a reason for hiding this comment

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

Nice work 👏🏻 Left some small but blocking comments

Button looks a little lost there. Not sure how to make it look better, but maybe you have an idea (otherwise also fine for now)

Screenshot 2024-11-21 at 11 09 04 AM

@zomars
Copy link
Member

zomars commented Jan 10, 2025

Reviewing now

if (newErrors.length > 0) {
showToast(t("weights_updated_with_errors", { count: newErrors.length }), "warning");
} else {
showToast(t("weights_updated_from_csv"), "success");
Copy link
Member

Choose a reason for hiding this comment

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

@sean-brydon Missing translation in common.json for this

Copy link
Member

@zomars zomars left a comment

Choose a reason for hiding this comment

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

There's a missing translation but we can follow up. Non blocking.

@zomars zomars dismissed CarinaWolli’s stale review January 10, 2025 21:24

addressed feedback

@zomars zomars merged commit 2fd2578 into main Jan 10, 2025
39 checks passed
@zomars zomars deleted the feat/rr-weights-future-members-toggle branch January 10, 2025 21:24
zomars added a commit that referenced this pull request Jan 14, 2025
keithwillcode pushed a commit that referenced this pull request Jan 15, 2025
joeauyeung added a commit that referenced this pull request Jan 17, 2025
* Upgrade jsforce to 3.6.2

* Refactor connecting to Salesforce

* Revert yarn.lock changes

* Add `TASKER_ENABLE_CRM_EVENT_CREATION` to .env

* Add createCRMEvent scheduler

* Schedule CRM event creating in `EventManager`

* Add calendar event builder for CRM tasks

* Do not write to person record if fields don't exist

* Change type to expect string from tasker

* Create CRM event

* Create booking references

* Type fixes

* Migrate callback endpoint

* Add jsforce node dependency

* Migrate add endpoint

* Import

* Import package into crmService

* Use new package types

* Type fix

* Update vite config

* Push updated lockfile

* Attempt to bump platform/libraries to unlock jsforce

* Also update lockfile, naturally

* bump platform libraries

* feat: salesforce to tasker improvements (#18419)

* feat: salesforce to tasker

* refactor: event manager

* tests: add unit tests for create CRM Event

* Update vite.config

* Add jsforce to vite config

* Revert mint.json changes

* Default to not enabling

* Revert yarn.lock changes

* Remove `TASKER_ENABLE_CRM_EVENT_CREATION` variable

* Revert yarn.lock changes

* feat: Round Robin weights future members toggle (#17782)

Co-authored-by: Omar López <[email protected]>

* detailed customer card (#18511)

Co-authored-by: Omar López <[email protected]>

* chore: app router - all sub-pages in `/apps` (#16976)

* chore: apps/[slug] remove pages router

* remove apps/[slug] pages from /future

* chore: apps/installed remove pages router

* chore: apps/installation remove pages router

* remove Head element

* fix metadata

* fix test

* fix another test

* chore: apps/categories remove pages router

* revert unneeded changes

* update middleware

* Remove <Head>

* remove unused import and code

* remove unused import and code again

* fix

* fix category page

* add split icon

* add /routing paths to middleware matcher

* wip

* remove HeadSeo from App.tsx

* clean up head-seo test

* add generateAppMetadata

* use generateAppMetadata in apps/[slug] page

* delete file

* remove log

* fix

* fix

* fix apps/installed pages

* fix cateogires pages

* fix

* fix imports

* wip

* fix

* fix

* fix metadata

* fix

* redirect /apps/routing-forms to /routing

* replace all usages of /apps/routing-forms to /routing

* better naming

* /routing -> /routing/forms

* fix

* fix

* fix

* fix

* remove backPath as it is irrelevant when withoutMain is true

* fix type checks

* fix type check in apps/[slug]

* refactors

* fix

* fix test

* fix

* fix

* fix

* Replace multiple leading slashes with a single slash

* migrate routing-forms too

* add re routing

* fix

* add redirection

---------

Co-authored-by: Peer Richelsen <[email protected]>
Co-authored-by: Anik Dhabal Babu <[email protected]>

* chore: app router 404 page (#18597)

* wip

* wip

* fix not found page

* render middleware for /settings pages

* fix

* remove global-error page

* add metadata to not-found page

* make not-found page static

* remove 404

* adding not-found to middleware is not necessary

* add every routes to config.matcher

* fix test

* fix style

* use i18n string

* fix tests

* fix

* fix

* revert unneeded changes

* fix

* fix

* fix

* fix style

* fix

* remove 404

* remove log

* fix

* fix

* fix

* fix

* better naming

* parallel testing

---------

Co-authored-by: Benny Joo <[email protected]>

* feat: render custom error page for unexpected sever error + remove` pages/_error` (#18606)

* remove page/_error

* refactor app/error

* fix: app/not-found cannot be a static page (#18610)

* Async False (#18611)

* chore: redirect to /500 if pathname does not exist + better error handling (#18615)

* fix lint error

* fix booking page and better error handling

* chore: gracefully handle 404s from pages router's dynamic pages + tests (#18618)

* restore pages/_error

* set custom header in pages/_error

* handle it in middleware

* add test

* remove logs

* better test description

* chore: try using custom 404 in pages/_error (#18622)

* fix: parsing teamId (#18623)

* chore: restore error pages for pages router (#18625)

* disable emails to all guests (#18628)

Co-authored-by: CarinaWolli <[email protected]>

* revert: "feat: bulk shorten links with dub.links.createMany (#18539)" (#18587)

This reverts commit 4902c6a.

Co-authored-by: Alex van Andel <[email protected]>

* chore: release v4.8.18

* fix: disable sending sms when email is present (#18632)

* fix: disable sending sms when email is present

* fix: update test

* fix: main lint errors (#18634)

* fix: error-page.tsx related lint errors

* fix: lint no continue-on-error

* Adding more lint fixes

* Bring back annotate code linting results

* Bring back linting continue-on-error

* Slimline lint

* feat: do not show automation webhooks in webhook list (#18607)

* fix: make ESLint work and fix lint errors that were undetected before (#18639)

* fix eslint config

* fix

* add it to dev dep

* fix

* sync eslint version

* force ts-node to compile our ESLint plugin's TS files into CommonJS (which ESLint requires)

* fix some lint errors

* fix lint errors

* remove duplicate classname

* make @typescript-eslint/ban-types a warn for packages/trpc files

* fix lint errors in trpc

* fix lint errors in trpc - 2

* fix

* fix

* fix lint warnings

* chore: clean up config.matcher in middleware (#18638)

Co-authored-by: Alex van Andel <[email protected]>

* Allow lint to error but continue (unblock pipeline)

* fix: potential fix for flaky layout shift (#18651)

* potential fix: layout shift

* fix lint error

* feat: update translations via @replexica (#18598)

* chore: sync with main

* feat: update translations via @replexica

---------

Co-authored-by: Replexica <[email protected]>

* Update yarn.lock

* nit: let tasker handle payload stringification

---------

Co-authored-by: Udit Takkar <[email protected]>
Co-authored-by: Alex van Andel <[email protected]>
Co-authored-by: Morgan <[email protected]>
Co-authored-by: Morgan Vernay <[email protected]>
Co-authored-by: Omar López <[email protected]>
Co-authored-by: sean-brydon <[email protected]>
Co-authored-by: Nizzy <[email protected]>
Co-authored-by: Benny Joo <[email protected]>
Co-authored-by: Peer Richelsen <[email protected]>
Co-authored-by: Anik Dhabal Babu <[email protected]>
Co-authored-by: Carina Wollendorfer <[email protected]>
Co-authored-by: CarinaWolli <[email protected]>
Co-authored-by: Keith Williams <[email protected]>
Co-authored-by: GitHub Actions <[email protected]>
Co-authored-by: Kartik Saini <[email protected]>
Co-authored-by: Calcom Bot <[email protected]>
Co-authored-by: Replexica <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consumer core area: core, team members only event-types area: event types, event-types ✨ feature New feature or request Medium priority Created by Linear-GitHub Sync ready-for-e2e teams area: teams, round robin, collective, managed event-types
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CAL-4771] UI Weights in RR when all team members assigned
5 participants