-
Notifications
You must be signed in to change notification settings - Fork 242
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: Ability to invite circles #5420
Conversation
Hey, I just saw this PR and wanted to thank you for tackling this. Could you please add more context to the PR so that we can proceed, e.g what needs to be done and a short description? It certainly is a nice feature :) |
7dda494
to
201aa4d
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #5420 +/- ##
============================================
- Coverage 24.67% 24.53% -0.15%
- Complexity 406 418 +12
============================================
Files 241 243 +2
Lines 10693 10785 +92
Branches 1739 1755 +16
============================================
+ Hits 2639 2646 +7
- Misses 8054 8139 +85
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
6abd2d6
to
2801294
Compare
Tank you for your interest. Currently thinking on how to query circle information and the circle members with their email addresses all at once with one request. Propably I'll have to add an additional backend controller / api? |
a14695b
to
7da0c49
Compare
@miaulalala @jancborchardt @nimishavijay @tcitworld @st3iny I tested and simplified the PR a bit more, would be nice to know if there's anything missing :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very nice! Only a small wording notice: In the search suggestions it says "Contains 3 contacts" in the subline, but when the Circle is added it says "3 members".
The latter is nicer and I would recommend to also shorten & simplify the subline of the search suggestion to " 3 members". Then it's consistent. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing this currently.
First thing - the circle membership is unclear with the list of attendees like this:
I don't know if it would be possible to have the members displayed as a sub- group. Quick'n'dirty mockup:
It also sends an invitation email to the one creating the event if they are also a member of the circle. In principle, the ORGANIZER can also be an ATTENDEE, so it's not technically wrong, but it creates awkward visuals as well because the calendar app will show me the accept/decline buttons on an event that I made:
Plus I'm a bit concerned about side effects for singificant changes and other stuff if I'm both ORGANIZER and ATTENDEE.
I think it's neccessary to filter out the circle member that is the organizer if that is the case and not set them as an attendee.
Other than that it works flawlessly and I'm super grateful @onny!
Ah, does #5396 address the comments from above about the display? |
@miaulalala I adjusted the code so that the organizer of the event doesn't get imported from the circle :) |
I will test it today, thanks a lot! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi onny, I fixed the tests locally, so if you implement the suggestions it should run through. You will also need an additional entry in psalm.xml
.
Thanks for your hard work - @ChristophWurst and I have agreed since Circles has no public API, it's fine to leave the backend code as is. If you want you can add a comment above the call to the private API in that regard as well that this has been approved but us.
Looking forward to see this in action!!!! 😍
df5f44f
to
04eeeaa
Compare
Thank you @miaulalala and @ChristophWurst for the review. Added the requested changes to the PR :) |
@miaulalala I refactored the code which computes groups and memberships a bit to be more robust and simple. Works quite good for me now :)
|
@onny did anything change design-wise? Cause otherwise I would say it is still fine. :) |
@onny can you rebase on the current main? Tests will pass again, then I will take a look at the linter issues. |
This commit adds support for adding circles as attendees to a calendar event. The relationship between the imported group and members will be compliant with the iCal specification. A circle with the title "testcircle" will be added as an attendee with iCal attributes "CUTYPE=GROUP` and uri "mailto:circle+CIRCLEID@CIRCLE_INSTANCE". Members of the circle will be imported as standard attendees. Each member gets assigned to the circle group entry by assigning them to the group uri using the iCal member property: "MEMBER='mailto:circle+CIRCLEID@CIRCLE_INSTANCE'". Searching for circles is only enabled if the circles app is activated. Circles added to the list of attendees get imported only once and are not synced yet. While adding a circle, a notice about this is shown to the user. Only members of local circles which are local users get imported. Rendering groups in the frontend is done in a separate PR nextcloud#5396 Signed-off-by: Jonas Heinrich <[email protected]>
I refactored the code in @miaulalala Rebased the PR |
@ChristophWurst codecov coverage is complaining, am I ok to ignore? I would like to get this merged today 😊 |
The circles code is probably pain to create test for due to the lack of a stable API so I'll wave this through |
I'll test this one last time during lunch time and then I'll force merge. Thanks so much for your work and patience @onny ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still looks good design-wise :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect!
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! |
Closes #2954
Work inspired by @tcitworld PR #4742