* feat: Cal.diy — community-driven MIT-licensed fork of Cal.com This squashed commit contains all Cal.diy changes applied on top of calcom/cal.com main: - Rebrand Cal.com to Cal.diy across the entire codebase - Remove Enterprise Edition (EE) features, license checks, and AGPL restrictions - Switch license from AGPL-3.0 to MIT - Remove docs/ directory (migrated to Nextra at cal.diy) - Remove dead code: org tests, EE tips, platform nav, premium username, SAML/SSO, etc. - Clean up .env.example for self-hosted Cal.diy - Update Docker image references to calcom/cal.diy - Update README, CONTRIBUTING.md, and issue templates for Cal.diy community fork - Add PR welcome bot for Cal.diy contributors - Fix API v2 breaking changes oasdiff ignore entries - Replace Blacksmith CI runners with default GitHub Actions 3893 files changed, 20789 insertions(+), 411020 deletions(-) Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * refactor: remove org-specific /organizations/:orgId endpoints from API v2 atoms controllers (#1701) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: revert Cal.diy Inc to Cal.com, Inc. in license files, copyright notices, and package metadata (#1702) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * rip out org related comments in api v2 --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2.5 KiB
2.5 KiB
BUGS
- Test Attribute Edit. It seems to be doing weird things with the ids.
TODO
- Sync from Okta to user could be in core namespace urn:ietf:params:scim:schemas:core:2.0:User and we might need to ask for the namespace to sync from.
- Deleting a sub-option, should remove it from option-group?
- Locked attribute are free to have its options completely reset by SCIM
- Unlocked attribute shouldn't get updates from SCIM but in case they still do, we follow this strategy
- If attribute from SCIM, doesn't exist on user, we allow it to be freely set on the user
- If attribute from SCIM, exists on user
- It is a single select or a non-enum attribute, we don't let it be overridden and completely ignore the SCIM update for that attribute
- It is a multi select, we remove the options that were created from SCIM and add the new options from SCIM. AttributeToUser.createdByDSyncId is set to SCIM directorySync id for those options. It allows both SCIM set and User set options to be assigned to the User.
- The options created by SCIM aren't deletable from Cal.diy UI. User can only remove options created by Cal.diy i.e. where AttributeToUser.createdByDSyncId is null.
- Restrict setting values
- Allow setting any value for non enum attributes(i.e. non-dropdown attributes)
- Restrict setting values for enum attributes(i.e. dropdown attributes)
- AttributeAssignment within App
- For locked field, shouldn't be able to delete an assignment or add a new assignment.
- For unlocked field, should be able to delete the assignments owned by cal.com users only. Should be able to add new assignments for any user.
- Support array update
- Ensure the already existing assignment(with same value) isn't recreated. To ensure weights aren't reset.
- Locked attributes
- Unlocked attributes
Test
- Okta to Cal.diy
- Add a user with attribute
- Simulate a failure in adding the user
- Failure could be in user creation or attribute assignment creation
- Remove the user and Re-add the user and see if it's correctly synced.
- Try removing a locked attribute assignment from a user.
Documentation
Okta stuff
- Removing the assignment of a user from the app, doesn't remove the user from Cal.diy
- I observed that there were only GET request from Okta and no POST request.
- As per https://boxyhq.com/docs/directory-sync/events Okta doesn't even send an event for deleting a user.