Giter Club home page Giter Club logo

ios's People

Contributors

dependabot[bot] avatar rattkin avatar tasn avatar xiretza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ios's Issues

Handle iCloud account not available (anymore)

This is a follow-up from #38.

Steps to reproduce:

  1. Install app
  2. Go through onboarding, until the sync screen.
  3. Go to OS settings, disable iCloud sync for contacts, calender + reminders
  4. Switch back to EteSync
  5. Naïvely select cardDAV/calDAV anyway - thinking it would be fine and sync anyway, just not to the cloud but to "the local iCloud account".
  6. Log in.

Actual behaviour:

Sync fails with log pasted below.

Expected behaviour:

Gracefully handle the iCloud account not being available for sync anymore.
Show an error message that suggests to the user what could be the issue (iCloud account is gone) and how they can fix it (go to OS settings and enable it).

I haven't tested this, but my intuition tells me you probably also get this error when, say, after one month you suddenly decide to disable iCloud in the OS settings. So despite #38 being the root cause why I got into this state, I think it's worth handling.

Log:

Calendar: failed to find selected source. Please contact developers.
https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:1261:1771
p@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:112:423
https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:112:898
https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:112:1047
f@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:41:155
https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:41:882
y@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:114:661
C@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:114:1025
callImmediates@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:27:3247
https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:27:1283
value@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:27:2939
value@https://expo.etesync.com/release/5/bundles/ios-75097e16c50105bad314bef7e98fd5c5.js:27:1253
value@[native code]
value@[native code]

iOS Guide: Please be more clear about the order of the steps and any prerequisites

https://www.etesync.com/user-guide/ios/

As of now is in this order:
On the very top:
0: Install the EteSync app from the App Store
Followed by these chapters:
1: Syncing without iCloud
1a: Recommended: turning iCloud off
1b: DAV account workaround (keeping iCloud on)

If one wants variant 1b, then you first have to prepare this barebone CalDAV account, then install the app and run it's initial setup wizard.

Otherwise the barebone CalDAV account is not available for choice in the wizard. And the user will utterly fail. Was the case for myself.

Please very explicitly mention the chronology of what needs to happen when in order to work correctly.

Master password is not saved

On Android the master password is saved in the app, which makes it easier to access. On iOS this seems to be missing, which means users are required to type in the password every time they open the app.

Task priority does not sync

A task created on iOS loses priority after syncing to Android/KDE, and vice versa.

(I have iCloud turned off and use a local account.)

Onboarding and settings screen should check if iCloud is enabled when app is resumed

Steps to reproduce:

  1. Install app
  2. Go through onboarding, until the sync screen.
  3. Go to OS settings, disable iCloud sync for contacts, calender + reminders
  4. Switch back to EteSync

Actual behaviour:

The blue buttons on the left still only allow choosing between "No sync" and "Card (cardDAV)" / "iCloud (caldav)".
Only after going back one step in the wizard and forward again, EteSync shows "No sync" and "local (local)" correctly.

Expected behaviour:

When returning to EteSync, EteSync should check again whether iCloud is disabled, and show the correct options.
Not sure how this is done on iOS, but on Android the equivalent would be checking it during onResume() I suppose?

Setup info:

iPadOS 14

EteSync 1.5.2


The same behaviour goes for the settings screen. Open EteSync settings, go to OS settings, disable iCloud sync, return to EteSync settings screen, still see iCloud as an option.

Photos don't sync

When syncing contacts from iPhone to EteSync, associated photos are not included. All other contact fields upload just fine.

Tested on iOS 13.4.5 (17F5044d)

iOS crash when trying to sync

Hello,

I just downloaded EteSync today. I have a bunch of calendars (Gmail, Nextcloud, iOS) on my iOS, so it was hard to figure out which one I wanted to set to sync. I chose one, turned off iCloud, and the app crashed. It’s happened now for the last 2 hours. The log is below:

Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:21:1111
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1229:154
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1256:4493
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:898
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1273
c@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:205
b@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:1623
_@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:488
u@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1257
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1309
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:3681
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1256:3511
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1254:1711
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:898
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1047
f@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:155
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:882
y@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:661
C@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:1025
callImmediates@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:3247
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:1283
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:2939
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:1253
value@[native code]
value@[native code]
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Fetching collection list
[I] Fetching collection Contacts
[W] XXX i9S8Yme3dVDZgYUt-KIwFk1fVJ-UvM5X 0 0
[I] Starting sync (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Fetching collection list
[I] Fetching collection Calendar
[W] XXX CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84 0 0
[I] Starting sync (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[D] local:  (68851806-CF40-4EBB-B1CD-87BCD58695D8), cardDAV: Address Book (D2192177-F39C-4654-AF2C-65BC0F6A9350), cardDAV: Address Book (7C559DC6-23AE-4752-8831-8A5813833850), cardDAV: Address Book (85E20AEF-B509-415E-94BC-F38315DA2083), cardDAV: Contacts (EB93A9D5-5C6C-4211-A7F2-0E787C5DAACD), cardDAV: Recently contacted (21CC044A-6B89-4575-869D-F438F0837F75)
[D] caldav: IH (311A1DA8-F09D-49DD-84B8-236F3724E0BF), caldav: H&M (FDBB969A-78CB-4FF3-8DA3-E2099BA6EC53), caldav: Sunburnt (88EA79F9-5041-4FBF-BDA8-4788D44987ED), caldav: Nextcloud (66E20004-5F7A-4065-8E30-F78FD9C24B72), local: Default (F0AF15D4-3F6D-49E6-A666-617748D27A53), caldav: Kid (E2CC983D-C178-4F78-ACF6-81AB8784B1A0)
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[D] local:  (68851806-CF40-4EBB-B1CD-87BCD58695D8), cardDAV: Address Book (D2192177-F39C-4654-AF2C-65BC0F6A9350), cardDAV: Address Book (7C559DC6-23AE-4752-8831-8A5813833850), cardDAV: Address Book (85E20AEF-B509-415E-94BC-F38315DA2083), cardDAV: Contacts (EB93A9D5-5C6C-4211-A7F2-0E787C5DAACD), cardDAV: Recently contacted (21CC044A-6B89-4575-869D-F438F0837F75)
[D] caldav: $$ (311A1DA8-F09D-49DD-84B8-236F3724E0BF), caldav: $$$ (FDBB969A-78CB-4FF3-8DA3-E2099BA6EC53), caldav: $$$$$$$ (88EA79F9-5041-4FBF-BDA8-4788D44987ED), caldav: $$$$$$$$$ (66E20004-5F7A-4065-8E30-F78FD9C24B72), local: Default (F0AF15D4-3F6D-49E6-A666-617748D27A53), caldav: $$$ (E2CC983D-C178-4F78-ACF6-81AB8784B1A0)
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Fetching collection list
[I] Fetching collection Contacts
[W] XXX i9S8Yme3dVDZgYUt-KIwFk1fVJ-UvM5X 40 40
[W] XXX i9S8Yme3dVDZgYUt-KIwFk1fVJ-UvM5X 7 7
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[I] Deleting SUwgsStoZpwBjdPu9WgihzX2LUIbW7aW
[I] Pushing changes (Calendars)
[I] Pushing CEvBFfryDJn0DBJkRCc6RBWX_vXFeZ84
[C] Error: Calendar with identifier E4A867F1-7410-42A4-949F-6911EB512458 not found
[I] ConnectionfInfo: true wifi

Issues deleting calendars Code = 25

Issues deleting calendars "That account does not support events."

Reproduction:

Simply open app and attempt to delete an calendar

Calendar 'My Calendar' could not be saved: Error Domain=EKErrorDomain Code=25 "That account does not support events." UserInfo={NSLocalizedDescription=That account does not support events.} @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:21:1111 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:391:710 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:391:377 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1237:904 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1237:572 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:2245 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:2131 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:4147 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:3199 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:1601 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:1389 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1204:4932 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1047 f@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:155 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:882 y@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:661 C@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:1025 callImmediates@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:3100 callImmediates@[native code] value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:3247 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1283 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:2939 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1253 value@[native code] value@[native code]

Syncing causes a "Failed to get group ID" error

When trying to sync the app from iOS, or trying to create a calendar, causes the following error and stack trace to appear:

{"version":"1.3.1","error":{"message":"Failed to get group for id: 72C2DAB2-B58E-4217-8D87-ABF248500A04:ABGroup","stack":"https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:21:1111
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:391:710
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1273
c@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:205
b@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:1623
_@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:488
u@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1257
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1309
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:3681
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:391:377
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1232:5015
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1273
c@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:205
b@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:1623
_@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:488
u@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1257
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1309
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:3681
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1232:4780
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1231:6576
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1273
c@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:205
b@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:1623
_@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:488
u@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1257
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1309
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:3681
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1231:6480
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1240:3920
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1273
c@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:205
b@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:1623
_@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:488
u@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1257
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1309
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:3681
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1240:3146
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1240:1626
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1273
c@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:205
b@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:1623
_@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:488
u@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1257
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1309
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:3681
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1240:1428
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:1203:4218
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:898
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:112:1047
f@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:155
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:41:882
y@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:114:661
C@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:114:1025
callImmediates@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:27:3247
https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:27:1283
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:27:2939
value@https://expo.etesync.com/release/3/bundles/ios-071ae8d3696b16424126e0b58dabcb49.js:27:1253
value@[native code]
value@[native code]","logs":""}}

Contact sync doesn't work, makes app crash

So, additionally to having Etesync in use on Linux, Mac and Android for over a year, I wanted to hook it up with an iPhone.

I noticed the app works pretty well with calendars, but when I activate the sync for contacts, the app crashes at the point it starts to sync the contacts. The logs don't show anything about a crash, so it seems like it crashes before anything can be logged. Around 30 contacts get synchronized before the app crashes.

When trying to logout of the app to delete all date, the confirmation dialog is broken, showing me an Error: Error: Failed fetching group. I tried several times and had to clean everything again by removing the app and add iCloud sync to be able deleting the contacts and groups easily.

Is there any roadmap for this to be addressed in the close future?

Fake DAV Read Only Calendars Writeable

I setup EteSync on my friends iPhone and I used the fake DAV setup so they can still use iCloud. I shared two calendars with their associate account. One calendar is read and write and the other is read only. I was able to create an event on the read only calendar.

I think the fake dav calendars allow the user to read and write but not the etesync calendars unless it shared to allow read and write. I think the fake dav calendars do not sync weather the etesync calendars are read only or not.

Better explain the different sync options during onboarding

Steps to reproduce:

  1. Install EteSync
  2. Advance through onboarding until Sync settigns

Actual behaviour:

Be confused what the different options mean and what consequences they have.

Expected behaviour:

You shouldn't be, thanks to clear and concise explanations.

Suggested fix:

Something along the lines of:

Sync settings
---------------

Choose the local account where EteSync should sync your remote's account data to.

- **Don't sync:** This data will not be synced, i.e. never downloaded from the remote server.
- **iCloud:** Data from EteSync will be synced into (and integrated into) your iCloud account. This means that the data will then in return also be synced by iCloud, i.e. outside of EteSync's control!
- **Local:** Data from EteSync will be synced into the devices "local" account. Due to constraints in iOS, this options is only available if the corresponding iCloud sync is disabled in the device's Setting app.

This is my understanding what these options do, but I'm only 50% sure about them.
If I'm wrong, there's even more user education that needs improvement!

Additionally, I suggest to always show all options in the dropdown, but grey out the currently unavailable ones.

Setup info:

iPadOS 14

EteSync 1.5.2

iOS crash on contact sync

Hello,

I try to sync my contacts on a blank iPhone and the app crash.
Works fine for tasks and calendar but impossible for contacts.
On iPad and Android it works fine.

Below the debug logs. Can you help me about this ?

Failed processing contacts changes
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:21:1111
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1233:6276
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1247:7010
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:898
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1273
c@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:205
b@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:1623
_@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:488
u@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1257
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1309
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:3681
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1247:5745
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1247:8167
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:898
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1273
c@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:205
b@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:1623
_@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:488
u@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1257
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1309
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:3681
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1247:4770
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:1247:1729
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:898
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:112:1047
f@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:155
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:41:882
y@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:661
C@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:1025
callImmediates@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:3247
https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:1283
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:2939
value@https://expo.etesync.com/release/5/bundles/ios-cec52f7a219fd2e7a28390e01ddba26b.js:27:1253
value@[native code]
value@[native code]
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] ConnectionfInfo: true wifi
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling changes (CALENDAR)
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing changes (TASKS)
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Creating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[I] Applying changes. Current uid: 6e8428676247228fc1d877b50f83178905d4c4c6db3086afbf4eaa654f00cc35, last one: null
[D] Proccessing 4b11b140fce5ddcca78335260a002c48e68ad94fdcd6ae63dab1269136d690a0
[D] Proccessing cf5eead98881b1ad241f8deebdd8c361adcc7eb3288f0185e14fe71b94b7be62
[D] Proccessing bf2ad818582944cc7b9572a07c192f0c90a37e98c8c658225e0da61865f9265e
[D] Proccessing 37eac6d75c6e7b91e13daffb004e07f18c4fa411fd7bd7079868b782ffa84762
[D] Proccessing a29690394bcfb26867efeff17c684b72e54389440609aa1a8df26ae30be46fe2
[D] Proccessing 1c2e523e8567aef1b7291d5e24883af2742ad92cb4d1b0722127f4f134da8e52
[D] Proccessing 6deb1e43b11b400411ca5c846af5823d652e98de433ebe16c824af2608f3f916
[D] Proccessing c9eb9a8c421db72fe077f54d94fe1cdd88fc4388b253893a96bf9a0f9cce85d9
[D] Proccessing 06334de18b7f019b90f16688c38efdb363015612169f0767777cdf3d535a5a18
[D] Proccessing 056fdf05ed15d6ae1c63e44e6086bc6fffb8bab459d498f45b3f410bca2ab3c4
[D] Proccessing 00a91e28f4898087d1d28247daabae626a5e26250bcbd91bbabf872a12b82016
[D] Proccessing 17da7576812996b1db11e63131b93a2a3abedaba225436953cb25f74d9902e05
[D] Proccessing e27181d3ae93ea07f5cddec50cca545e1e1d05ad9309c8218a9df9398ed5c946
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[I] ConnectionfInfo: true wifi
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] local:  (E512403C-3319-47AD-8446-EE7650047022)
[D] local: Default (566627C3-4748-473D-AB96-6403D7DEB890)
[D] local: Default (566627C3-4748-473D-AB96-6403D7DEB890)
[D] local:  (E512403C-3319-47AD-8446-EE7650047022)
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing changes (CALENDAR)
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Updating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[I] Applying changes. Current uid: 6e8428676247228fc1d877b50f83178905d4c4c6db3086afbf4eaa654f00cc35, last one: 17da7576812996b1db11e63131b93a2a3abedaba225436953cb25f74d9902e05
[D] Proccessing a93aa7ccd33fc58b3e7ffc58251ef257b661770c40d92e5bebb50c967e68cf5e
[D] Proccessing 1d0da430e6538c5c6bd3e172ecf7e5072e8556037ba9e898d6e38859e9e5dc6e
[D] Proccessing 9035140a656c9ed9e5209cf27e19510a2c879e9be91aada53a3937604566b3bd
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[W] Failed batch saving
[C] Error: Failed processing contacts changes
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] ConnectionfInfo: true wifi
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing changes (CALENDAR)
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Pulling f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing changes (TASKS)
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Updating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[D] Proccessing a93aa7ccd33fc58b3e7ffc58251ef257b661770c40d92e5bebb50c967e68cf5e
[D] Proccessing d1a2de651b8ad2b876d9eebdb8faed7e8ef42a4fbffe9abd19ec8056f4a65b11
[D] Proccessing 9512f244914553ef7ea625767d5c5b4e318ee81651bfd6a418abec49c38b86a4
[D] Proccessing 5a366be91c899284d8219ab5b88e4e0c51a656dc460eb7df9074726739124926
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[W] Failed batch saving
[C] Error: Failed processing contacts changes
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing changes (CALENDAR)
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing changes (TASKS)
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Updating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[I] Applying changes. Current uid: 6e8428676247228fc1d877b50f83178905d4c4c6db3086afbf4eaa654f00cc35, last one: 17da7576812996b1db11e63131b93a2a3abedaba225436953cb25f74d9902e05
[D] Proccessing a93aa7ccd33fc58b3e7ffc58251ef257b661770c40d92e5bebb50c967e68cf5e
[D] Proccessing 1d0da430e6538c5c6bd3e172ecf7e5072e8556037ba9e898d6e38859e9e5dc6e
[D] Proccessing 320cec55fe4ba742da0869afd978de01aec4744dda205837e386b40320df96e2
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[C] Error: Failed processing contacts changes
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] ConnectionfInfo: true wifi
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing changes (CALENDAR)
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[C] Error: AddressBook: failed to find selected container E512403C-3319-47AD-8446-EE7650047022. Please contact developers.
[I] ConnectionfInfo: true wifi
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] cardDAV: Card (5C3734CA-630E-47C7-9745-25FD9A36D70F:ABContainer)
[D] local: Default (566627C3-4748-473D-AB96-6403D7DEB890)
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Updating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[I] Applying changes. Current uid: 6e8428676247228fc1d877b50f83178905d4c4c6db3086afbf4eaa654f00cc35, last one: 17da7576812996b1db11e63131b93a2a3abedaba225436953cb25f74d9902e05
[D] Proccessing a93aa7ccd33fc58b3e7ffc58251ef257b661770c40d92e5bebb50c967e68cf5e
[D] Proccessing 3140db8f9a2ff3f8d64b33ba9a4a69f016727dbc2675dd5ca45e6baae6db478e
[D] Proccessing 03ceb47ee93fb817cfd2013b70435c67369b458595733b78f32ce26961a5a37c
[D] Proccessing f34290f77ec78e3d7d60fceee0f8aab1f164fe64cd9478b777046c6949d4e157
[D] Proccessing 1dcdf6e7cfff6131d9eb0c3ce164257d45a1a807808d25d3603b0427f90d5784
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[W] Failed batch saving
[C] Error: Failed processing contacts changes
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] ConnectionfInfo: true wifi
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] cardDAV: Card (5C3734CA-630E-47C7-9745-25FD9A36D70F:ABContainer)
[D] local: Default (566627C3-4748-473D-AB96-6403D7DEB890)
[I] Deleting My Contacts
[I] ConnectionfInfo: true wifi
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Starting sync (CALENDAR)
[I] Syncing journal list (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing changes (CALENDAR)
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Could not find local account for ADDRESS_BOOK
[I] Starting sync (CALENDAR)
[I] Syncing journal list (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling changes (CALENDAR)
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Could not find local account for ADDRESS_BOOK
[D] local: Default (566627C3-4748-473D-AB96-6403D7DEB890)
[D] cardDAV: Card (5C3734CA-630E-47C7-9745-25FD9A36D70F:ABContainer)
[I] Starting sync (CALENDAR)
[I] Updating f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pulling f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Pushing f2be5fea9aa88337533b2fcab72d2b83a228540f0c7c65635dd500956693e102
[I] Finished sync (CALENDAR)
[I] Starting sync (TASKS)
[I] Updating f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Pulling f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Applying changes. Current uid: undefined, last one: null
[I] Pushing changes (TASKS)
[I] Pushing f9932169e723a268b51fc7a0457bf6cf8f8eabc44b5c3b82eff17e53625b018b
[I] Finished sync (TASKS)
[I] Starting sync (ADDRESS_BOOK)
[I] Creating 088897fcb00d248bf74761641343082c02925d0d83769f21b74931ebaab6ea2b
[I] Creating 566bb38f5cb6b2e38571d39aa28868b450b91fc8cdac5fead28290031bff45a3
[D] Proccessing 97c05cba7580e340591ef54190f63941a7664cc2c7755d70d7ceb31c0f13c517
[D] Proccessing 42012335fff5ca09e6ddbfad086ea55c0a9dd6c6b79552e1be24dda3871bd083
[D] Proccessing 8126caf4b585a4c28ca8bf776e3a49af6fd2755abe4016f7bc1ab7f4767753db
[D] Proccessing 717afa3c91a8fd518ed2cfd9b0680ddac5b1645b59b7a9370de299bab4a11053
[D] Proccessing a29690394bcfb26867efeff17c684b72e54389440609aa1a8df26ae30be46fe2
[D] Proccessing 1c2e523e8567aef1b7291d5e24883af2742ad92cb4d1b0722127f4f134da8e52
[D] Proccessing 6240b6bbb54c3eaba88b5e0dda0e2c27664e41211f38e6831202558acfa3ff43
[D] Proccessing c726db4cdbf4be94f64d716994280dbcb267eeb92caea1e72fef390e37a254e1
[D] Proccessing c9eb9a8c421db72fe077f54d94fe1cdd88fc4388b253893a96bf9a0f9cce85d9
[D] Proccessing 06334de18b7f019b90f16688c38efdb363015612169f0767777cdf3d535a5a18
[D] Proccessing 8e831d851ba76a0e5e4c5718238d1193ac6c90fd0d9d1549347004937420f3ea
[D] Proccessing 056fdf05ed15d6ae1c63e44e6086bc6fffb8bab459d498f45b3f410bca2ab3c4
[D] Proccessing 5518314b067812c994bb11569364c8b8c1493a3bc2b79f31fc02990bf593463b
[D] Proccessing 17da7576812996b1db11e63131b93a2a3abedaba225436953cb25f74d9902e05
[D] Proccessing 320cec55fe4ba742da0869afd978de01aec4744dda205837e386b40320df96e2
[D] Proccessing 89048f619e95b1b77f46ce83a09880026a4aba2d5826c53aa5c64ef6228c0e61
[I] ConnectionfInfo: true wifi

App crashes when syncing contacts if there is no contact journal

Pretty much as the title says: no contact journal / address book (not sure what the right word is) was created yet and when I tried to sync my contacts, I got a stack trace. Unfortunately I didn't have the presence of mind to copy the debug info, but I'm reasonably sure this was the cause as it worked after the main account created and shared an address book with my affiliate account.

iPad version seems to crash on sync (nothing obvious in logs)

Hi there, using V2 with the ipad version, it seems to crash on sync, though nothing obvious is shown in the logs. It appears to crash in the same spot on a reinstall (I.e. never gets further than one particular contact), but previously had synced the fine with the same set of contacts.

I.e. I first set up my contacts, synced and pushed changes fine, then imported calendars on web side, enabled calendar sync, and calendars never pulled down (no matter how I tried). So I removed the app and reinstalled - calendars all seem to sync, but the contacts never go beyond the first ~80 or so. Same account appears to work fine on the iPhone. Debug logs are as follows:


[I] Fetching collection list
[I] Fetching collection Personal
[I] Fetching collection Personal Contacts
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] local:  (D2CD06D4-F16D-4F76-BB82-CENSORED)
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] local:  (D2CD06D4-F16D-4F76-BB82-CENSORED)
[D] local: Default (201EF68D-7C52-42B1-90F9-CENSORED), caldav: iCloud (8793BCA1-D3BB-4CDF-9030-CENSORED)

Let me know if I can help any other way.

Dependency on Google Maps

With the "App Privacy Report" introduced in iOS 15.2 I noticed that EteSync for iOS has outgoing connections to clients3.google.com.

Grepping for "google" in the repo I noticed that there is a dependency on Google Maps: https://github.com/etesync/ios/blob/master/ios/Podfile#L45

  1. Is Google Maps actually needed, or simply a leftover from some default Expo project?
  2. Is that dependency what is (automatically) contacting clients3.google.com, or is there any other culprit? Or any other reason/explanation?

Can't open the app if subscription has expired

Etesync offers associate accounts:
"Associate accounts are a way for users of EteSync to let non-users view and edit their journals without needing to pay for their own EteSync account. For example, sharing your calendar with your spouse."

You thus should be able to login without an active subscription, since there's a chance somebody has shared calendars with you which you'd like to see on your mobile phone.

The error message is: "Your subscription has been cancelled, please check your dashboard."

App does not go past loading/login screen

Hi Tom,

when trying to open EteSync on iOS lately, the app asks to set the encryption password. When I enter the passcode, I get to this screen:
signal-2020-04-07-230514

It looks like I am logged in, and I can logout (and login) via the settings. However, the same loading screen appears again, without changing.

Any ideas on what I could do/try?

Multiple Contact Dates

Not sure if this is specifically related to anniversary dates or just multiple dates within a contact, but the second date is just formatted as numbers in Etesync. Also, not positive if related to Etesync, but when I synced my contacts, those second anniversary dates in the contacts on my phone (not in Etesync) are all incorrect and all seem to show a year of 1610. I wonder if these two issues are somehow connected.

Implement fetching and pushing in chunks rather than all at once

We are currently pulling/pushing everything at once.

In less than perfect internet conditions this is suboptimal. We should do it in smaller chunks. Another nice addition of taking this approach is that we can already start fetching the next batch while we are decrypting the current one.

Unable to Create Account

I tried to sign up for an account on a desktop computer using Firefox on Ubuntu. I got to a screen that said “Deriving encryption data” and it would hang there. I tried to refresh and that brought me to the login page. I tried to log in with my credentials, and it says user not found. I tried to log in with my email address, but no email was sent to me.

iOS doesn't delete local contacts once app is deleted

Scenario

  1. Install etesync.
  2. Sync your contacts in local after disabling iCloud sync.
  3. Delete the app.
  4. Install the app again, repeat 1/2. Contact will create a different collection each time you do this.

This leaves existing contacts there itself without having to delete/edit the old collection.

Current workaround, once you delete the app, switch on the sync feature, let it sync to iCloud, then go to iCloud.com, delete all contacts.

Is etesync ios abandonned ?

I have not really used ete sync since some time, and when i was about to go in i have seen that the website blog is deserted (not many update) the git not move and ios app isn't updated for a year, is this project (and or ios app abandonned ?)

Add background sync

I am using etesync on Android and I got my parents using etesync on iOS. I know the Android app has been around longer than the iOS app.

The Android app has a settings to allow you to choose how often your phone syncs with the etesync servers. I set mine to 15 minutes. There is no option on iOS that I can see and my parents can wait days and will not get the new events I added in the calendar unless they manually open etesync and press the sync button. Same goes for events my parents add, they need to create the events, open the app and press sync in order for me to get the events on my device.

My parents iphones still have iCloud enable so etesync is using the fake dav setup.

Feature: The iOS App Needs Automatic Syncing

The iOS is heavily outdated, with multiple errors, but it also lacks features such as automatic syncing and synced notifications. I don't know if this is an iOS limitation, as emails sync in the background and send notifications.

Recover from currently fatal "Failed fetching event with id ..." errors

Example error:


Failed fetching event with id ECC469D3-F1DB-4058-8B6D-92E0780991CB
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:21:1111
value@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:1242:6316
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:1240:7030
p@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:112:423
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:112:1740
p@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:112:423
n@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:112:898
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:112:1047
f@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:41:155
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:41:882
y@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:114:661
C@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:114:1025
callImmediates@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:27:3247
https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:27:1283
value@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:27:2939
value@https://expo.etesync.com/release/3/bundles/ios-96ebe9dea1c7910885e8e4dd0a91e350.js:27:1253
value@[native code]
value@[native code]

What's going on is that essentially the native code is trying to fetch the event in order to delete/update it, and then failing.

Only one collection is fetched on ios

Etesync works perfectly on my desktop and android phone but on iOS it only fetches one collection.

Logs:

[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Pushing changes (Calendars)
[I] Pulling changes (Calendars)
[I] Finished sync (Calendars)
[I] Starting sync (Tasks)
[I] Updating jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pushing changes (Tasks)
[I] Pushing jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pulling changes (Tasks)
[I] Pulling jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Finished sync (Tasks)
[I] Could not find local account for etebase.vcard
[I] ConnectionfInfo: true wifi
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Pushing changes (Calendars)
[I] Pulling changes (Calendars)
[I] Finished sync (Calendars)
[I] Starting sync (Tasks)
[I] Updating jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pushing changes (Tasks)
[I] Pushing jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pulling changes (Tasks)
[I] Pulling jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Finished sync (Tasks)
[I] Could not find local account for etebase.vcard
[D] local: Default (5ECCFDD0-BF93-41DE-AE13-BE59D53A879C)
[D] local:  (99B729EC-3D83-4447-9493-C8D0D0E5790F)
[D] local: Default (5ECCFDD0-BF93-41DE-AE13-BE59D53A879C)
[D] local:  (99B729EC-3D83-4447-9493-C8D0D0E5790F)
[I] Clearing device collections for etebase.vevent
[I] Clearing device collections for etebase.vtodo
[I] Deleting Huiswerk
[I] Fetching collection list
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Pushing changes (Calendars)
[I] Pulling changes (Calendars)
[I] Finished sync (Calendars)
[I] Starting sync (Tasks)
[I] Creating jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pushing changes (Tasks)
[I] Pushing jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Pulling changes (Tasks)
[I] Pulling jpaCjQJqroYRE9rBLPPh7zSQVyjWGSzE
[I] Applying changes. Current stoken: Jzx9lZqpZCuw4nhh0r2D4nimffPezB_H, last one: null
[D] Processing WxrhXNvZYF63K1kJ9_H7xj2vXvNP3qwn
[D] Processing Z8-gPUUwM2Gm1d_IVo1toOcdYpjq-3mE
[D] Processing _DmEkLOpo3PONDTdIWuMsCMiJxK9xIjC
[D] Processing eijAxCHTQFfV4sl4LMy24q7k2KIGPA7h
[D] Processing cjf1U2MDHRbNq0_IwzOqt7CP8jYhBan6
[D] Processing JjuE885l95KMFxEiToXu304qSFhPQG37
[D] Processing VffGpzqHFb_gqRpUPTM2AIcGcekgWigl
[D] Processing QA3LpzJCrziT9ksPC0CSrJTIsuK88HEu
[D] Processing WocrOqIiVzJYODna3mZrbeagYzSnZ1NC
[D] Processing hKsw9fkXwXCIfcZa5q7iz6KuGM0S194l
[D] Processing X1k40Hoap0LYLR21ufj86CAR1x3gXzRC
[D] Processing 2eAoVcaaeFiqppGV-6Cs4g25BbiCKfMm
[D] Processing ghHfwb6J-zVOSYlm17PY8iOEICHZ7xUQ
[D] Processing kl9h5NWKnTGmgZAre4LudylxeZToeS1W
[D] Processing 2qFXeR4AnrSSfK6EfURFwjH0PWSiUvWF
[D] Processing MIXuBHWW7BjbLY_RtFYJiEQc_VOcXdmr
[D] Processing uNMXSXoZFZAebE-34ixllP5XUVTjy8YM
[D] Processing aMl5HckE48O3bO0ZOnwHqS0noZUM0C11
[D] Processing DcRgTXs1ECzyfNhUJsdp-kJM_wu06iCO
[D] Processing fmvylC6_TWhC6fIOLKIyKwro0wY5RxQD
[D] Processing 2yivJHfhDGsBxb6mJujX1i0EmEOzkw2i
[D] Processing PUM3-K0EIsnuOpigbt5A_ptzAVTQHgSR
[D] Processing x9-wRnRQzEKrlWYhVQsRfo4DCXoq_Grb
[D] Processing ioTc0lFUKoLOJ7N2Kug2kDNhFY9CAU3v
[D] Processing oMHi5Uk0vRwCbH0tGl4I25_CXy042F3W
[D] Processing OkIC8PUsXaRPHkjcC6NSsnz-bqTQxVrh
[D] Processing vrMIS112TI-AorjUfzrZslGNEJ6eFocS
[D] Processing RhpY3J-9bbdAvy4oOZXSAl5puSqvxgu1
[D] Processing hGTOqVAWe5Zp9n8mEC3BLbrGyB-DSS7r
[D] Processing oeUrfIdgJDlbtQanvgjj9LolLXhtsfQM
[D] Processing 3H_3eVka0Wv86xRq-bwCfJ44-ieOvmdD
[D] Processing jrrjX-BgDK8xF3UToI4Q7zjYMwvZMJYt
[D] Processing xDNVzIIt31n9Ery5A_upUxmtbIzNtZsl
[D] Processing sl_YKEtSkhbcMGxFb78N-Po468nXs9R8
[D] Processing hH24ExxOzTLGuDQyuBxdBWiUKQbha0Sc
[D] Processing 4zOkJbR4oIR4YLFv_WSEb452qw68b2Vg
[D] Processing aZ1rZOWtlTcgF7-kiz_ek9aKbtIMdurs
[D] Processing IaFwcaKuU1MZ6aE9XbNxzLu8vGhUZeym
[I] Finished sync (Tasks)
[I] Could not find local account for etebase.vcard
[I] Could not find local account for etebase.vcard
[I] Clearing device collections for etebase.vevent
[I] Deleting Huiswerk
[D] local: Default (5ECCFDD0-BF93-41DE-AE13-BE59D53A879C)
[D] local:  (99B729EC-3D83-4447-9493-C8D0D0E5790F)
[I] Fetching collection list
[I] Fetching collection Huiswerk
[I] Fetching collection code
[I] Fetching collection Taken
[I] Fetching collection Default
[I] Fetching collection Eindexamens
[I] Fetching collection Fanfare
[I] Fetching collection Werk
[I] Fetching collection Prioriteit - laag
[I] Fetching collection Prioriteit - hoog
[I] Fetching collection Vakanties
[I] Fetching collection Prioriteit - gemiddeld
[I] Fetching collection Algemeen
[I] Fetching collection Huiswerk
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Creating pizihWMbtuDhcnoPmdw_cCEYJrw3pxsy
[I] Creating GOyHsLYZsdTIRu_Qqwi7WeLdp0aP0AlI
[I] Creating _5MXcWp-NgpvK-qjxJiblhtnIBnXtUCx
[I] Creating xRbIX1Adw9p8SeifrSA3GZvey3oiFpiF
[I] Creating A7Hf9TcCRhs3aGLXB7jwpjsW5MQYifX6
[I] Creating 2P-9ugI3bPpqwNk8A1oWriV3p8-IUMb4
[I] Creating m1VotUb2fSHQJmMWXeQAWIkZov9riDJT
[I] Creating 07jyfgxZ75QpZ6ksagx1BvwxBr-LQMqS
[I] Creating 2pfzZ0wIDEwCOa540nXQEAv8ODOowLK2
[I] Pushing changes (Calendars)
[I] Pushing pizihWMbtuDhcnoPmdw_cCEYJrw3pxsy
[I] Pushing GOyHsLYZsdTIRu_Qqwi7WeLdp0aP0AlI
[I] Pushing _5MXcWp-NgpvK-qjxJiblhtnIBnXtUCx
[I] Pushing xRbIX1Adw9p8SeifrSA3GZvey3oiFpiF
[I] Pushing A7Hf9TcCRhs3aGLXB7jwpjsW5MQYifX6
[I] Pushing 2P-9ugI3bPpqwNk8A1oWriV3p8-IUMb4
[I] Pushing m1VotUb2fSHQJmMWXeQAWIkZov9riDJT
[I] Pushing 07jyfgxZ75QpZ6ksagx1BvwxBr-LQMqS
[I] Pushing 2pfzZ0wIDEwCOa540nXQEAv8ODOowLK2
[I] Pulling changes (Calendars)
[I] Pulling pizihWMbtuDhcnoPmdw_cCEYJrw3pxsy
[I] Applying changes. Current stoken: JZR-pzRFZNoYiKhbzBX3b0D-zeQ-I_-S, last one: null
[D] Processing 1_PC9uPoANqiePedBVwNm8LgSj14aSmE
[I] ConnectionfInfo: true wifi
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: granted
[I] Permissions status for userFacingNotifications: granted
[D] local:  (99B729EC-3D83-4447-9493-C8D0D0E5790F)
[D] local: Default (5ECCFDD0-BF93-41DE-AE13-BE59D53A879C)

I’m on ipados 14.0 (jailbroken) without an icloud or app store account. It does give me the option to sync to default (local) in the app.

I also remember having an issue with a corrupted item causing a crash when syncing, but I can’t reproduce that now that it’s only fetching a single tasks collection and none of my calendars. I’ll open a new issue for that if I encounter it again.

Edit: I'm self-hosting, I don't know what version/commit/tag my server is running on but if it's relevant I can check

"related name" field is not handled

Hi, thanks for this great piece of software!

It seems like the "related name" field of iOS contacts is not recorded in the Etesync vcard copy.

iOS contact view

Etesync raw contact view

As you can see, the related name friend field with the value "Tester" is not present in the etesync vcard.

Issues reloading sync

Issues reloading apps

Reproduction
Simply open app then press top right reload symbol

Device: iPhone X iOS 15.2

Calendar 'My Calendar' could not be saved: Error Domain=EKErrorDomain Code=25 "That account does not support events." UserInfo={NSLocalizedDescription=That account does not support events.} @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:21:1111 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:391:710 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:391:377 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1237:904 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1237:572 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:2245 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:2131 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:4147 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:3199 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:1601 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273 c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205 b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623 _@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488 u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:1389 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1204:4932 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740 p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423 n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1047 f@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:155 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:882 y@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:661 C@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:1025 callImmediates@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:3100 callImmediates@[native code] value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:3247 @https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1283 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:2939 value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1253 value@[native code] value@[native code] [I] ConnectionfInfo: true cellular

Syncing on application launch prevents fixing configuration errors

Syncing when the iOS application launches prevents users from fixing configuration errors that cause the application to crash. See my other GitHub Issue for an example of a configuration error (combined with a potential bug) that causes the application to crash.

The workaround that I found was to put my iPhone into airplane mode so that EteSync wouldn't attempt a sync. Then I could change the erroneous configuration. Ideally I wouldn't need to use this workaround.

Thanks for all of the hard work!

App crashes when trying to “Pull Changes”

I’m using the app with a self-hosted server (set up according to instructions in the wiki) and a total of four accounts (one superuser, three normal). One user (we’ll call them User A) is active via both the CalDav adapter and the iOS client, the other two (Users B/C) are active only via the iOS client. There are five calendar collections and one reminder collection active which User A is sharing with the others. Permission to write is granted.

When User A and User B were active, syncing worked fine. However, after adding User C, the app started crashing (return to Home Screen) when trying to sync (always when trying to “Pull Changes”) on all iOS devices. When reopening the app, most of the time, the status in the app (“Last Sync on..”) has not updated (as is to be expected after the unsuccessful sync). Despite this, sometimes some changes are made to the calendar – these are either desired changes (however, when there are multiple changes to be loaded/uploaded, usually not all changes are loaded/upload), or duplicates of existing events.

Very rarely, the app does not crash and syncing is successful, with the “last sync” status updating accordingly.

The following is a log captured on the iOS device of User A after the last modifications have been uploaded to the server by User C. User A is trying to sync, but the app crashes.

[I] Fetching collection list [I] Fetching collection Privat [I] Fetching collection Kalender [I] Fetching collection Spezial [I] Starting sync (Calendars) [I] Syncing journal list (Calendars) [I] Updating pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3 [I] Updating AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr [I] Updating HYivaDYl-G072beFS2usrawxTWbGlOn4 [I] Updating TBXm13M-53Vb6v5rfD-KKnWfwLYFj1Pu [I] Updating wQdSLhA2lhLB4xfpck2_x4VZtACMnxWy [I] Deleting ZthFdjMAifyBi1w7P109H3NAfywIk8C1 [I] Pushing pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3 [I] Pushing AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr [I] New entry F8392315-0057-45C8-824E-2FA125CB659B [I] New entry 97764E32-563F-4C7E-A556-E791D9253B5A [I] New entry B66B1579-6C81-482C-AC01-5B1C8C99A6C9 [I] New entry 91201857-BA76-4F51-9FCC-11509CE595A7 [I] New entry 6BEC8DD2-17A3-47FF-B49A-66FC391867A5 [I] New entry 09900E81-6842-47B7-A775-469EAAAD33D5 [I] New entry C3AE68A8-8523-4863-A534-F4053633361E [I] New entry D456145C-80B2-4563-B759-11106B86EDC6 [I] New entry 887FCC22-6E9E-4514-87D1-E64EC8F88FF2 [I] New entry E1AFA68E-1EF7-46F2-A3F1-AFB942473108 [I] New entry D5E942A3-C247-4DE1-8473-39D4B1B01401 [I] New entry 4FB8327A-B1DF-46FF-A239-8919C4379EE6 [I] New entry EB968990-D086-4C3F-933D-80B875AAA9FC [I] New entry 03BDF8C7-275C-494A-B146-D6B3196D8D99 [I] Pushing HYivaDYl-G072beFS2usrawxTWbGlOn4 [I] Pushing TBXm13M-53Vb6v5rfD-KKnWfwLYFj1Pu [I] Pushing wQdSLhA2lhLB4xfpck2_x4VZtACMnxWy [I] Pulling changes (Calendars) [I] Pulling pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3 [I] Pulling AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr [I] Applying changes. Current stoken: AfuyZnZymPjKtpMDABVUHfykV1y1V0DG, last one: _Avy1gKa-0VUhtPFQ1y67D2SgIm9G8NA [D] Processing uwEA9jvGyjZpTm3_KLXueIfq8YGnxz20 [D] Processing feD8xgmdc_0Xl4bl05cYRBs7rHDltWvY [D] Processing yrSZVc6C7lQ-uIVvZ0sToKbi9GKC85bj [D] Processing j5Dowp1UcjYLiGb8zqRfwy9qdYyq0nvJ [D] Processing -R4afh1TSCDPFsBV1y1viHfSSIK-g-If [D] Processing PknggtGJROelqYnbvoO58-qVehnRfWtg [D] Processing Lf1UmVAvNrnHoRgoCF5WaAm62NIP4Bgp [D] Processing xrB0RIn6dJKrhYhtWZDgLJ-25KsoTxbD [D] Processing WMDutm1fDGlb9USZWVhGhaR1oYDMYwvu [D] Processing 04UXd766riKMBfR4ehwM8n9UTN-NdXBJ [D] Processing BAf-UZw_ErSKjaFSQ1eBuFCvv5s318me [D] Processing oywf4u7CW6_saWPzz13hfSIr3uIepNBF [D] Processing e_RQqCk-D0uibgCDp3a2studnHov0-NT [D] Processing G-ivMyAS8gvBD3lKvKSoSeJRLvvi84Mk [D] Processing Cj-jHDZ7q_x4rNlWTObAn39aNT3x5mr6 [D] Processing P2Q4LBkIFo476qDD46JvsuctfBC4zXte [D] Processing c1Mh89nLM7UeDEdHKIkH7LUlqfZjQyp2 [D] Processing diibEde57IWaTJHu2oSCDfSJGAw5hrQZ [D] Processing ir4BAblI--p_n2D5H4si_i3dY-8y8U9n [D] Processing NzU-cyg2jOHWCa1VWRD-tCJ-7Pn97fZR [D] Processing tGyS65RWAruHt6-JOdSJTsyktKBgzVA5 [D] Processing a4Nnqbkoi0owNsyi8tPDrIKh-CfDR0R- [D] Processing n_pNlEwE1JLkfmRk68kzbqpydMXZBGxO [D] Processing ieJH4-KGBY1sO8_alpRUNUt2M4vtfCGd [D] Processing TcGcRwuHuAYEO3AgzSWmXGy8o5PkL4At [D] Processing 45W0cwO88Jy6F5B1upKFBLX1HELXtmKJ [D] Processing QsDsTeF2Vyv6t5YVhNdx7R-YIsS0HOQ1 [D] Processing Gbi38M2G5UNi_u479OXpQNIXDF2J5Jpc [D] Processing MCC2OhccJ1jSHZryaTIH7eQjnyvWl5F0 [D] Processing 22_5eYqO0NUyvarvCwhYfncPPV-g57C- [D] Processing WQAgjUBoM6edyTGuJCj8a38nlR4Cx28p [D] Processing H7V_mvQLKg9WH0XvaMSr4QLFfY2xLIH3 [D] Processing mkK-6uBHM_D3dIdPbIrnZD9txGrCekVP [D] Processing q4pl4Xe1DXJ0WzlHPvdPpSbiUxPgnNuv [D] Processing lG7o4d4wNQnjeErfRrhM0UNxE5fjf9Lw [I] Pulling HYivaDYl-G072beFS2usrawxTWbGlOn4 [I] Applying changes. Current stoken: yVONIdFPB3DoD0EeVsk-7gPKMvzXR3HL, last one: 8eLqLBlgfS5qOfOG2cVIr9COI-zufFNT [D] Processing -i5PVzQtBH9Dy0ASJCXGMGxbsrdPyBdl [D] Processing l0tTXXBkcTnInJllHZZFD4HWJKKuQzTO [D] Processing 5pwOXVtBO-SF16pcY4H_-cy285pL7uEF [D] Processing qAHO_d5-HRZxS0c7ZPEG_q83KrZ16IX7 [D] Processing dkzNs4GjpBDiP57cgEaZnadZofi4A4n5 [D] Processing v2mUtdTaShMKoNi_oDHdyTYY7gOmK7wk [D] Processing HWFjIpKQsJiLKEdWXBrC8dOBocJCfPYD [D] Processing zAc5O7g0aSxK1JDsoKi4aZVFOIZ6pRBg [D] Processing 7CCSP5h6UQZFw1ZEJQC1G_YanYeTTdEO [D] Processing WKK1Ww3xrxphvJWA583sGEiCYCecTZNQ [D] Processing KmCfjUTotxkuj_nd7ZTQVbJuNNSRkUgl [D] Processing -X8Bj7Nh29-23XJjrmaBOv8Sq2Jb2RSy [D] Processing bVsBWGokHpq-P77FLtZ3F9EFXjew90Vi [D] Processing Z2D9n8fPZjdf7pAP9ofHb_S9QcRdUexZ [D] Processing 4z_tNb1ReJ_Sf7hHNrCSZ4X5mFEmr1Ks [D] Processing vq9BOFyfhNJlIMgjEG71qFEuTbN5l7La [D] Processing wZAQjzeXGnSuPYBrUvEDqXuSOaA-xINp [D] Processing SjwXIf1wTeS-1nhqmsD8GQLHVA14N8f1 [D] Processing SJppY5yAsNq7cotc4DeabnfH5oSX3agY [D] Processing pDzrQOKh1aMNW0NhH93AmEgffpCr5kll [D] Processing _C6PkM0qNHy4Ujgx_0ixySkfOWg7tj0B [D] Processing CDS9cqp8uTUGe9lMRoaGBTFkwrrSrUoD [D] Processing kjtW9i2okz0m3rm5_N2HZGqCALzdjGHb [D] Processing Cn1G8KdiAdL6LUES-r4nUOt7YbPo366d [D] Processing XcYSQ0U090J87ZAC8REL3nwvsoyfOsoq [D] Processing JK_-RT63HyMwf8TC-oSmtnq3ZggkYnkY [D] Processing 2hWmwnLv2MAnFuqVrDUZqTXt-3siZAD9 [D] Processing fU4V8d-PgCwm5p-G_cfLutOD2MbG_ZwP [D] Processing ldVnjhsGeBoiY24d3BCHcepemzaBD3iZ [D] Processing sXDlTHxwVgmyGR7JzvSDwj34TC357-xq [D] Processing T74l_MgNmh2T8s-uhbPWlycJMpXEyiUM [I] ConnectionfInfo: true wifi [I] Permissions status for calendar: granted [I] Permissions status for reminders: granted [I] Permissions status for contacts: denied [I] Permissions status for userFacingNotifications: granted [D] local: Default (CE517606-4E4B-4A48-AC86-CC34FA2366B1)

Steps taken to try to solve the issue:

  • EteSync iOS: Settings -> Advanced: Disabled “Sync Calendars & Reminders” (set from local to none), start sync, enabled “Sync Calendars & Reminders” again, start sync. Most of the time, this results in the client being able to properly sync, but the issue returns after some time.

Update: the above workaround has stopped working completely.

There now also seems to be a different problem. Synching seems to be successful according to the “last synched” status in the app, but the app displays the following error:

Calendar with identifier 53454B05-58AA-4B77-9EF9-D8F43773CE28 not found
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:21:1111
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1229:154
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:4493
p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1273
c@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:205
b@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:1623
_@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:488
u@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1257
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1309
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:3681
value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1256:3511
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:1254:1711
p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1740
p@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:423
n@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:898
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:112:1047
f@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:155
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:41:882
y@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:661
C@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:1025
callImmediates@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:114:3100
callImmediates@[native code]
value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:3247
https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1283
value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:2939
value@https://expo.etesync.com/release/5/bundles/ios-4abb3f4b07016839bc99b09033a65770.js:27:1253
value@[native code]
value@[native code]
[I] Fetching collection list
[I] Fetching collection Privat
[I] Fetching collection Kalender
[I] Fetching collection Spezial
[I] Starting sync (Calendars)
[I] Syncing journal list (Calendars)
[I] Updating pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3
[I] Updating AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr
[I] Updating HYivaDYl-G072beFS2usrawxTWbGlOn4
[I] Updating TBXm13M-53Vb6v5rfD-KKnWfwLYFj1Pu
[I] Updating wQdSLhA2lhLB4xfpck2_x4VZtACMnxWy
[I] Deleting ZthFdjMAifyBi1w7P109H3NAfywIk8C1
[I] Pushing pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3
[I] Pushing AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr
[I] New entry F8392315-0057-45C8-824E-2FA125CB659B
[I] New entry 97764E32-563F-4C7E-A556-E791D9253B5A
[I] New entry B66B1579-6C81-482C-AC01-5B1C8C99A6C9
[I] New entry 91201857-BA76-4F51-9FCC-11509CE595A7
[I] New entry 6BEC8DD2-17A3-47FF-B49A-66FC391867A5
[I] New entry 09900E81-6842-47B7-A775-469EAAAD33D5
[I] New entry C3AE68A8-8523-4863-A534-F4053633361E
[I] New entry D456145C-80B2-4563-B759-11106B86EDC6
[I] New entry 887FCC22-6E9E-4514-87D1-E64EC8F88FF2
[I] New entry E1AFA68E-1EF7-46F2-A3F1-AFB942473108
[I] New entry D5E942A3-C247-4DE1-8473-39D4B1B01401
[I] New entry 4FB8327A-B1DF-46FF-A239-8919C4379EE6
[I] New entry EB968990-D086-4C3F-933D-80B875AAA9FC
[I] New entry 03BDF8C7-275C-494A-B146-D6B3196D8D99
[I] Pushing HYivaDYl-G072beFS2usrawxTWbGlOn4
[I] Pushing TBXm13M-53Vb6v5rfD-KKnWfwLYFj1Pu
[I] Pushing wQdSLhA2lhLB4xfpck2_x4VZtACMnxWy
[I] Pulling changes (Calendars)
[I] Pulling pJeO_Rm9xuB4bGsmr4HFL2v1IpmsIMX3
[I] Pulling AcGQlvJexyesMDxV-bUnuPeB1nhMwsOr
[I] Applying changes. Current stoken: AfuyZnZymPjKtpMDABVUHfykV1y1V0DG, last one: _Avy1gKa-0VUhtPFQ1y67D2SgIm9G8NA
[D] Processing uwEA9jvGyjZpTm3_KLXueIfq8YGnxz20
[D] Processing feD8xgmdc_0Xl4bl05cYRBs7rHDltWvY
[D] Processing yrSZVc6C7lQ-uIVvZ0sToKbi9GKC85bj
[D] Processing j5Dowp1UcjYLiGb8zqRfwy9qdYyq0nvJ
[D] Processing -R4afh1TSCDPFsBV1y1viHfSSIK-g-If
[D] Processing PknggtGJROelqYnbvoO58-qVehnRfWtg
[D] Processing Lf1UmVAvNrnHoRgoCF5WaAm62NIP4Bgp
[D] Processing xrB0RIn6dJKrhYhtWZDgLJ-25KsoTxbD
[D] Processing WMDutm1fDGlb9USZWVhGhaR1oYDMYwvu
[D] Processing 04UXd766riKMBfR4ehwM8n9UTN-NdXBJ
[D] Processing BAf-UZw_ErSKjaFSQ1eBuFCvv5s318me
[D] Processing oywf4u7CW6_saWPzz13hfSIr3uIepNBF
[D] Processing e_RQqCk-D0uibgCDp3a2studnHov0-NT
[D] Processing G-ivMyAS8gvBD3lKvKSoSeJRLvvi84Mk
[D] Processing Cj-jHDZ7q_x4rNlWTObAn39aNT3x5mr6
[D] Processing P2Q4LBkIFo476qDD46JvsuctfBC4zXte
[D] Processing c1Mh89nLM7UeDEdHKIkH7LUlqfZjQyp2
[D] Processing diibEde57IWaTJHu2oSCDfSJGAw5hrQZ
[D] Processing ir4BAblI--p_n2D5H4si_i3dY-8y8U9n
[D] Processing NzU-cyg2jOHWCa1VWRD-tCJ-7Pn97fZR
[D] Processing tGyS65RWAruHt6-JOdSJTsyktKBgzVA5
[D] Processing a4Nnqbkoi0owNsyi8tPDrIKh-CfDR0R-
[D] Processing n_pNlEwE1JLkfmRk68kzbqpydMXZBGxO
[D] Processing ieJH4-KGBY1sO8_alpRUNUt2M4vtfCGd
[D] Processing TcGcRwuHuAYEO3AgzSWmXGy8o5PkL4At
[D] Processing 45W0cwO88Jy6F5B1upKFBLX1HELXtmKJ
[D] Processing QsDsTeF2Vyv6t5YVhNdx7R-YIsS0HOQ1
[D] Processing Gbi38M2G5UNi_u479OXpQNIXDF2J5Jpc
[D] Processing MCC2OhccJ1jSHZryaTIH7eQjnyvWl5F0
[D] Processing 22_5eYqO0NUyvarvCwhYfncPPV-g57C-
[D] Processing WQAgjUBoM6edyTGuJCj8a38nlR4Cx28p
[D] Processing H7V_mvQLKg9WH0XvaMSr4QLFfY2xLIH3
[D] Processing mkK-6uBHM_D3dIdPbIrnZD9txGrCekVP
[D] Processing q4pl4Xe1DXJ0WzlHPvdPpSbiUxPgnNuv
[D] Processing lG7o4d4wNQnjeErfRrhM0UNxE5fjf9Lw
[I] Pulling HYivaDYl-G072beFS2usrawxTWbGlOn4
[I] Applying changes. Current stoken: yVONIdFPB3DoD0EeVsk-7gPKMvzXR3HL, last one: 8eLqLBlgfS5qOfOG2cVIr9COI-zufFNT
[D] Processing -i5PVzQtBH9Dy0ASJCXGMGxbsrdPyBdl
[D] Processing l0tTXXBkcTnInJllHZZFD4HWJKKuQzTO
[D] Processing 5pwOXVtBO-SF16pcY4H_-cy285pL7uEF
[D] Processing qAHO_d5-HRZxS0c7ZPEG_q83KrZ16IX7
[D] Processing dkzNs4GjpBDiP57cgEaZnadZofi4A4n5
[D] Processing v2mUtdTaShMKoNi_oDHdyTYY7gOmK7wk
[D] Processing HWFjIpKQsJiLKEdWXBrC8dOBocJCfPYD
[D] Processing zAc5O7g0aSxK1JDsoKi4aZVFOIZ6pRBg
[D] Processing 7CCSP5h6UQZFw1ZEJQC1G_YanYeTTdEO
[D] Processing WKK1Ww3xrxphvJWA583sGEiCYCecTZNQ
[D] Processing KmCfjUTotxkuj_nd7ZTQVbJuNNSRkUgl
[D] Processing -X8Bj7Nh29-23XJjrmaBOv8Sq2Jb2RSy
[D] Processing bVsBWGokHpq-P77FLtZ3F9EFXjew90Vi
[D] Processing Z2D9n8fPZjdf7pAP9ofHb_S9QcRdUexZ
[D] Processing 4z_tNb1ReJ_Sf7hHNrCSZ4X5mFEmr1Ks
[D] Processing vq9BOFyfhNJlIMgjEG71qFEuTbN5l7La
[D] Processing wZAQjzeXGnSuPYBrUvEDqXuSOaA-xINp
[D] Processing SjwXIf1wTeS-1nhqmsD8GQLHVA14N8f1
[D] Processing SJppY5yAsNq7cotc4DeabnfH5oSX3agY
[D] Processing pDzrQOKh1aMNW0NhH93AmEgffpCr5kll
[D] Processing _C6PkM0qNHy4Ujgx_0ixySkfOWg7tj0B
[D] Processing CDS9cqp8uTUGe9lMRoaGBTFkwrrSrUoD
[D] Processing kjtW9i2okz0m3rm5_N2HZGqCALzdjGHb
[D] Processing Cn1G8KdiAdL6LUES-r4nUOt7YbPo366d
[D] Processing XcYSQ0U090J87ZAC8REL3nwvsoyfOsoq
[D] Processing JK_-RT63HyMwf8TC-oSmtnq3ZggkYnkY
[D] Processing 2hWmwnLv2MAnFuqVrDUZqTXt-3siZAD9
[D] Processing fU4V8d-PgCwm5p-G_cfLutOD2MbG_ZwP
[D] Processing ldVnjhsGeBoiY24d3BCHcepemzaBD3iZ
[D] Processing sXDlTHxwVgmyGR7JzvSDwj34TC357-xq
[D] Processing T74l_MgNmh2T8s-uhbPWlycJMpXEyiUM
[I] ConnectionfInfo: true wifi
[I] Permissions status for calendar: granted
[I] Permissions status for reminders: granted
[I] Permissions status for contacts: denied
[I] Permissions status for userFacingNotifications: granted
[D] local: Default (CE517606-4E4B-4A48-AC86-CC34FA2366B1)

Recurring events (only all day?) have wrong start/end times and thus show wrong

For some reason some events show wrong. For example:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//EteSync//com.etesync.syncadapter/1.4.0 ical4j/2.2.3
BEGIN:VEVENT
DTSTAMP:20190404T130241Z
UID:fe65daf1-9049-41cb-9fc2-99993779f235
SUMMARY:Recurring Event
DESCRIPTION:Recurring Event
DTSTART;VALUE=DATE:20120726
DURATION:P1D
RRULE:FREQ=YEARLY;WKST=MO
STATUS:TENTATIVE
END:VEVENT
END:VCALENDAR

Auto Refresh at launch/ Shortcuts functionality

I know because of iOS limitations that you were not able to run the app in the background. Currently on iOS 13/14 you can have automation in the shortcut app. I created shortcut that will show a notification asking to if I would like to refresh when selected it will open EteSync. Then I manually click the refresh button and go back to my application.

It would be great to have a simple shortcut integration that when called will launch EteSync to open and immediately sync every time. I hope that made sense. For example my VPN app has a shortcut integration that when you call their auto connect integration will automatically launch their VPN application and immediately connect to a server every time it’s called. I hope that wouldn’t be too default to do. If so another option would be to add in the app setting itself an auto sync so every time you open the app it will start syncing without needing to press the button first.

If you were able to do one of those two things that would make that would make the workflow much smoother.

All-day events show on the wrong day

Running EteSync 1.3.1 on iOS 13.3.

If my friend using Android creates an all-day event, it shows on iOS on the wrong day. I assume this is due to vCal not having a method for including timezones in all-day events. (The event also shows in EteSync on Android with the wrong day but that's less critical...)

Our phones are both in the same timezone as the server.

Some screenshots:

The event on an Android phone's calendar

e4eba4ca_6IvJ73sIRA-PSH6nZpuLPw

The event in EteSync on Android with the wrong day

84eb7cfb_oP7vN-F1S9SZ-TYrj4HlVg

The event in EteSync on iOS

ima_a7ebcc5

The event in iOS calendar with the wrong day

ima_afd16e6

More accurate explonation of Expo setup in readme

"Add CalDAV and CarDAV accounts to your iPhone as explained in this video. The account description must be exactly etesync otherwise sync won't work."

  1. Typo: probably CardDAV not CarDAV.
  2. There is probable group of visually impaired people (I am one of them) which cannot see the video. So please add step-by-step instructions how to add these accounts with e.g. example data or just describe steps shown on this video.
    Me (and possibly other people) would be greatful.

Deleting events on iOS

I'm getting an error after I delete an event from the calendar on iOS and then sync the EteSync iOS app.

IMG_1039

When I delete an event on the Mac I have no problem with syncing afterwards and it updates all my calendars

iOS client sees two "iCloud" accounts

For some reason EteSync sees two iCloud calendar accounts on my device. Attempting to select either account while iCloud syncing was enabled for any calenders or reminders (see screenshots) caused the application to crash. I have attached the debug output and a few screenshots showing configuration.

P.S. I'm hope that this information is useful. I'm not sure all of what you need to see to diagnose the issue, and I'm happy to test various settings and configurations if it would help with the debug process :-D

EteSync debug output.txt
EteSync screenshot before all iCloud syncing has ben disabled
EteSync screenshot once all iCloud syncing has been disabled
iCloud settings that work - Part 1
iCloud settings that work - Part 2

App needs updating my issue log

App needs updating

[I] ConnectionfInfo: true cellular [I] Permissions status for calendar: granted [I] Permissions status for reminders: granted [I] Permissions status for contacts: granted [I] Permissions status for userFacingNotifications: granted [I] ConnectionfInfo: true cellular [I] Fetching collection list [I] Starting sync (Calendars) [I] Syncing journal list (Calendars) [I] Creating ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [C] Error: Calendar 'My Calendar' could not be saved: Error Domain=EKErrorDomain Code=25 "That account does not support events." UserInfo={NSLocalizedDescription=That account does not support events.} [I] ConnectionfInfo: true cellular [I] Permissions status for calendar: granted [I] Permissions status for reminders: granted [I] Permissions status for contacts: granted [I] Permissions status for userFacingNotifications: granted [I] ConnectionfInfo: true cellular [D] local: (A2DB58A5-616C-4844-A2EA-9A0576D78962) [D] caldav: iCloud (36760BE1-4BBF-40F6-8E8D-8A1C60497C29), local: Local (3B242529-8F5D-47A1-9351-444101218C30) [I] Fetching collection list [I] Fetching collection Test [I] Starting sync (Calendars) [I] Creating ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Pushing changes (Calendars) [I] Pushing ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Pulling changes (Calendars) [I] Pulling ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Applying changes. Current stoken: 8n0Kf2CEr_-dNrbixSXvvIhfRzICXhn6, last one: null [I] Finished sync (Calendars) [I] Starting sync (Tasks) [I] Creating idhv6zKQpZVlhOx1XMqdHRrg6Xu-FTMO [C] Error: Calendar 'My Tasks' could not be saved: Error Domain=EKErrorDomain Code=24 "That account does not support reminders." UserInfo={NSLocalizedDescription=That account does not support reminders.} [I] ConnectionfInfo: true cellular [I] Permissions status for calendar: granted [I] Permissions status for reminders: granted [I] Permissions status for contacts: granted [I] Permissions status for userFacingNotifications: granted [I] ConnectionfInfo: true cellular [I] Fetching collection list [I] Starting sync (Calendars) [I] Updating ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Pushing ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Pulling changes (Calendars) [I] Pulling ZYulf7Z04l0R3HFSxgu71LwauWyNR8zP [I] Applying changes. Current stoken: 8n0Kf2CEr_-dNrbixSXvvIhfRzICXhn6, last one: null [I] Finished sync (Calendars) [I] Starting sync (Tasks) [I] Creating idhv6zKQpZVlhOx1XMqdHRrg6Xu-FTMO [C] Error: Calendar 'My Tasks' could not be saved: Error Domain=EKErrorDomain Code=24 "That account does not support reminders." UserInfo={NSLocalizedDescription=That account does not support reminders.} [I] ConnectionfInfo: true cellular [I] Permissions status for calendar: granted [I] Permissions status for reminders: granted [I] Permissions status for contacts: granted [I] Permissions status for userFacingNotifications: granted [I] ConnectionfInfo: true cellular [D] local: (A2DB58A5-616C-4844-A2EA-9A0576D78962) [D] caldav: iCloud (36760BE1-4BBF-40F6-8E8D-8A1C60497C29), local: Local (3B242529-8F5D-47A1-9351-444101218C30) [D] caldav: iCloud (36760BE1-4BBF-40F6-8E8D-8A1C60497C29), local: Local (3B242529-8F5D-47A1-9351-444101218C30) [D] local: (A2DB58A5-616C-4844-A2EA-9A0576D78962)

Feature Request: Landscape mode support

Can you please add support for landscape mode?

Most iPad flip stand covers are designed for landscape orientation of the device. Using EteSync requires the user to pick up the device from the desk and hold it in portrait mode.

Some iPhone users will probably also appreciate landscape mode so they can be as cool as their Android toting friends, who can already use EteSync in landscape mode :-P

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.