FossifyOrg / Calendar

A simple calendar with events, customizable widgets and no ads.
https://www.fossify.org
GNU General Public License v3.0
736 stars 54 forks source link

Calendar events which invited attendees don't execute e-mail notification #135

Open stoneubi opened 8 months ago

stoneubi commented 8 months ago

Checklist

Affected app version

1.0.2

Affected Android/Custom ROM version

Android 13

Affected device model

Realme 10

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug

Using latest nextcloud version 28.0.1 causes a problem with calendar invitations.

Usually if you create an event on a Android device using simple mobile calendar having attendees invited nextcloud sends an invitation email to the user.

Since the last update of simple calendar this emails are not sent anymore. This means if you invite members to an event in simply calendar and you sync it to next cloud then this invitation emails are not sent anymore. Even if you update any shared events updates are not sent via email. Only if you delete an event with attendees an email will be sent to this users.

If you use Google calendar on the Android device or if you create any calendar entries with NTS in for example Thunderbird calendar these emails are sent correctly.

So it seems that within simple calendar that must be an issue that causes nextcloud not sending any emails.

Hopefully you can invest some time to check if this can be fixed within simple calendar app as this app is gorgeous.

Thank you

Expected behavior

Calendar events with invited members should be sent via nextcloud email. The calendar app creates events different to e.g. Google calendar where mentioned events are working fine

Actual behavior

As described above

Screenshots/Screen recordings

No response

Additional information

No response

zmberber commented 7 months ago

can confirm this issue. i have looked at the .ics file, and SCHEDULE-STATUS is always set to 1.0, but it should, at least at some point, be set to 1.1. with other clients, it is at 1.1. i don't know if the client should set it to 1.1, or if 1.0 is correct and nextcloud should set it to 1.1 after nextcloud sends an email. in any case, it is stuck at 1.0 and never sends an email.

it could also be that it is because CUTYPE=UNKNOWN is set, or possibly also because of this in combination with PARTSTAT=NEEDS-ACTION.

also, with the stock android calendar app, everything works fine, so this is not an issue of davx5.

stoneubi commented 7 months ago

I upgraded to NC 28.0.3 and the latest calendar app in NC and the problem still exists.

Newly created calendar items with invited persons with e-mail addresses won't get any invitation via e-mail. The item will be created in the calendar app in Nextcloud but no invitation will be sent.

If your delete this items in fossify on your mobile phone e-mails with cancellation will be sent.

If you do the same with Google calendar app everything works fine. Also directly in NC and via Thunderbird calendar all emails are sent successfully.

This is very annoying and it's seems that no one here is trying to solve this problem.

Is fossify calendar app under no development?

Aga-C commented 7 months ago

Is fossify calendar app under no development?

It is, but it's hard to fix every bug instantly in so many apps when Fossify for us isn't a full-time job. But we're happy for contributions from community if anybody knows how to fix reported bugs.

zmberber commented 7 months ago

@Aga-C thank you for responding!

would you happen to know where/how the ics files and their properties are generated in the code? i would play around with some parameters and possibly make a pull request. i think SCHEDULE-STATUS might be the culprit.

Aga-C commented 7 months ago

@zmberber AFAIK CalDAV whole synchronization is in this file: https://github.com/FossifyOrg/Calendar/blob/master/app/src/main/kotlin/org/fossify/calendar/helpers/CalDAVHelper.kt. However, there's no ICS related code, but you may try to change how Android's calendar database is updated in updateCalDAVEvent and fillEventContentValues methods. ICS is only used for importing and exporting events in IcsExporter.kt and IcsImporter.kt files in the same directory.

zmberber commented 7 months ago

hm, i am having difficulties understanding how this works, i am not experienced with that kind of code, sadly, so i am not sure if i can make the changes myself.

i am going to do a bit more troubleshooting by uploading .ics files to my caldav server (nextcloud), and if certain flags make my server send an email, and the ones that the fossifyorg calendar one sets don't make my caldav server send an email, then the problem should be able to be resolved if the code is changed such that caldav synchronization works in such a way that the resulting .ics file has the correct flags.

stoneubi commented 7 months ago

I updated nextcloud calendar and fossify calendar to the latest version. Still the same. If I create an event with invited email addresses in the calendar app fossify and let it sync via davx5 to my nextcloud, nextcloud won't send any invitation emails.

If I do exactly the same with Google calendar app on my Android device invitations are sent.

This used to work fine in the past.

Please help do make this work again.

Thank you

stoneubi commented 7 months ago
Screenshot_2024-03-24-18-00-01-19_69738a090b59888d6f9e64a3ebfe2c88.jpg
stoneubi commented 7 months ago

I created two same events on my android phone. One using google calendar app -> invitation e-mail was sent and one with fossify app and no inviation e-mail was sent:

BEGIN:VCALENDAR | BEGIN:VCALENDAR -- | -- VERSION:2.0 | VERSION:2.0 PRODID:DAVx5/4.3.15-ose ical4j/3.2.14 (org.fossify.calendar) | PRODID:DAVx5/4.3.15-ose ical4j/3.2.14 (com.google.android.calendar) BEGIN:VTIMEZONE | BEGIN:VTIMEZONE TZID:Europe/Vienna | TZID:Europe/Vienna LAST-MODIFIED:20230104T023643Z | LAST-MODIFIED:20230104T023643Z BEGIN:DAYLIGHT | BEGIN:DAYLIGHT TZNAME:CEST | TZNAME:CEST TZOFFSETFROM:+0100 | TZOFFSETFROM:+0100 TZOFFSETTO:+0200 | TZOFFSETTO:+0200 DTSTART:19810329T020000 | DTSTART:19810329T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU | RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU END:DAYLIGHT | END:DAYLIGHT BEGIN:STANDARD | BEGIN:STANDARD TZNAME:CET | TZNAME:CET TZOFFSETFROM:+0200 | TZOFFSETFROM:+0200 TZOFFSETTO:+0100 | TZOFFSETTO:+0100 DTSTART:19961027T030000 | DTSTART:19961027T030000 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU | RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU END:STANDARD | END:STANDARD END:VTIMEZONE | END:VTIMEZONE BEGIN:VEVENT | BEGIN:VEVENT DTSTAMP:20240326T190054Z | DTSTAMP:20240326T190233Z UID:df3cc969-67d3-4995-b966-9ae5297774d5 | UID:5acc825f-f527-415a-bd68-09b7468cbcb7 SUMMARY:Test created in fossify calendar app on Android | SUMMARY:Test created in Google calendar app on Android DTSTART;TZID=Europe/Vienna:20240407T130000 | DTSTART;TZID=Europe/Vienna:20240407T130000 DTEND;TZID=Europe/Vienna:20240407T140000 | DTEND;TZID=Europe/Vienna:20240407T140000 STATUS:CONFIRMED | ORGANIZER:mailto:my-email-adress@yyyyyyyy.com ORGANIZER:mailto:my-email-adress@yyyyyyyy.com | ATTENDEE;RSVP=TRUE;SCHEDULE-STATUS=1.1:mailto:invited_person@yyyyyyyy.com ATTENDEE;RSVP=TRUE;CUTYPE=UNKNOWN;PARTSTAT=NEEDS-ACTION;SCHEDULE-STATUS=1.0 | ATTENDEE;RSVP=TRUE;CN=Kalender;PARTSTAT=ACCEPTED:mailto:my-email-adress@yyyyyyy :mailto:invited_person@yyyyyyyy.com | y.com END:VEVENT | END:VEVENT END:VCALENDAR | END:VCALENDAR
stoneubi commented 7 months ago

I also reported this issue here: https://github.com/nextcloud/calendar/issues/5706

deathblade666 commented 6 months ago

Just wanted to drop by and say I too am seeing this issue. But found the etar calendar works, so maybe it could provide a way to fix this? Source for etar is below in case it helps

https://github.com/Etar-Group/Etar-Calendar

zmberber commented 6 months ago

@deathblade666 the stock android calendar also works in this regard, which is what i use when the sending of invitations is important. and that is installed by default (and in fact sometimes plays a role for other calendar apps, since it is somehow baked into calendar functionality for android or something)

deathblade666 commented 6 months ago

@deathblade666 the stock android calendar also works in this regard, which is what i use when the sending of invitations is important. and that is installed by default (and in fact sometimes plays a role for other calendar apps, since it is somehow baked into calendar functionality for android or something)

That's true, I posted my comment in hopes that it may lead to some helpful info that could aid in getting this fixed. As I would prefer to use this app over others

stoneubi commented 6 months ago

Any news on this bug?

Joinzar commented 6 months ago

I also reported this issue here: nextcloud/calendar#5706

It is not Nextcloud's problem. If you create or update one event in Nextcloud, emails are sent.

I confirm the issue. I've tried with other app (via Caldav, using DAVx5), as ETAR, and emails are sent. I'm using Nextcloud 28 and Fossify's Calendar, version 1.0.3

Yes, the question is, why don't use you those apps? :-) Because I love this app. I loved when it was SMT and now, Fossify.

thank's for your work.

naveensingh commented 6 months ago

Any news on this bug?

Nope, no progress yet.

gvansanden commented 5 months ago

I also have this issue, Nextcloud 29 As it used to work well, there should have been a recent change that broke it.

kchopein commented 23 hours ago

I found this thread in the Nextcloud forums with some extra information: https://help.nextcloud.com/t/nextcloud-calendar-not-sending-invitation-when-creating-from-android-app/69363/3