lfos / calcurse

A text-based calendar and scheduling application
https://calcurse.org
BSD 2-Clause "Simplified" License
963 stars 95 forks source link

calcurse-caldav missing ETag #470

Open Nimuedaertya opened 10 months ago

Nimuedaertya commented 10 months ago

Hey, fell in love with calcurse, but this error drives me crazy...

my problem

Two things, that might be connected. I receive the following error after syncing: error: Missing ETag. However, all appointments are sync and sadly, it is not checking for duplicates. So after my first sync I have an appointment X after the second sync I have it twice, afterwards 4 times, 8 times and so on... So I am getting exponentially busy.

my config

[General]
Binary = calcurse
Hostname = apidata.googleusercontent.com
Path = /caldav/v2/usermail/events/
AuthMethod = oauth2
InsecureSSL = No
HTTPS = Yes
SyncFilter = cal
DryRun = No
Verbose = Yes

[OAuth2]
ClientID = ID_SECRET
ClientSecret = SECRET
Scope = https://www.googleapis.com/auth/calendar
RedirectURI = http://127.0.0.1

example

Dry-Run = True

➜  caldav calcurse-caldav
warning: Dry run; nothing is imported/exported. Add "DryRun = No" to the
warning: [General] section in the configuration file to enable synchronization.
Connecting to apidata.googleusercontent.com...
Loading synchronization database from /home/user/.calcurse/caldav/sync.db...
Importing new object 63828751150.
Replacing object 63829197606.
Importing new object 63830452218.
Importing new object 63830452215.
Importing new object 63830057089.
Importing new object 63830451099.
Importing new object 63829289798.
Importing new object 63830452216.
Importing new object 63829192198.
Importing new object 63830447845.
Importing new object 63830452215.
Importing new object 63830057129.
Importing new object 63828751149.
Replacing object 63829194858.
Replacing object 63829625658.
Importing new object 63830284991.
Importing new object 63830404813.
Importing new object 63830451104.
Importing new object 63830451100.
Importing new object 63830451103.
Importing new object 63828854053.
Importing new object 63828751148.
Importing new object 63828751150.
Importing new object 63830451105.
Replacing object 63829201774.
Importing new object 63829033525.
Importing new object 63828751148.
Importing new object 63830451101.
Importing new object 63830451102.
Replacing object 63829196950.
Importing new object 63830451098.
Importing new object 63829192346.
Importing new object 63830285053.
Importing new object 63830451104.
Importing new object 63830123468.
Pushing new object 6a74e98d4ee213994c92f382a84247e0640ed48e to the server.
Pushing new object 95aae3a3b38b0b738dae459c76fefeb82e9acc73 to the server.
Pushing new object 36bd5525bcf98f1fb06e6e7301cda08344ac58ee to the server.
Pushing new object 04757b32c3b09d26b706a9d02807ae409c83e2e7 to the server.
Pushing new object 09e212b46218d45baadc5109017b424de52c3693 to the server.
Pushing new object b5b0f72e07fb52627a47225f3f554b9cf02fba29 to the server.
Pushing new object 308a7f4c2b5e3655c8742bf47b5012faeab8a217 to the server.
Pushing new object 5d763c032d17897aa8b71e2edd51768cfaf91226 to the server.
Pushing new object 41d73f115f467d2fb8b2a47772d3e9395cac9ac4 to the server.
Pushing new object 252c0821a54900a9acf259c7042323203a695c95 to the server.
Pushing new object aa22d1cfb5bcb52d72b966a039664dd8b8d5cc3f to the server.
Pushing new object fd1d6ddd22cb52424ce1cc11e03e3d1c01b1ce7a to the server.
Pushing new object a1be12a5417346014b9f1c12d6ec048187929524 to the server.
Pushing new object 9f35c1ac69fdfe034787cfc6b893f2d0f8137cf5 to the server.
Pushing new object 97ca2d58e5c819920b4a6907b7af7f9794e9900a to the server.
Pushing new object 9672abc087d89a372c3c795633f085ca8b17f89f to the server.
Pushing new object a752f13eaeffe598be98a0f997acbc29c958c5d3 to the server.
Pushing new object a81034897674e38d71891701e8b0cce921baaf1f to the server.
Pushing new object f5a989a8c7b8d0e4a24b9ea7bfc6c6a39e773df9 to the server.
Pushing new object 15587417a3f90e38bfb8628ce38903f9f1e2d496 to the server.
Pushing new object 66a44bb2bcc683ee27c3a895278e2f6efc460c7b to the server.
Pushing new object eb320f7c6e3e07a3508271776ff6e2a9685b8077 to the server.
Pushing new object b7614945796afbf9c46c6002afef307521f1cb18 to the server.
Pushing new object b5a81c7730e749e13e34b4955d76ff313997648b to the server.
Pushing new object a19ed87f3504099130f263b225200fb3f4742ecb to the server.
Pushing new object 329c53d2003385efea095476dd6a36851a47a38a to the server.
Pushing new object 0b3ba23b898af055be5234834ba4212009ca4d16 to the server.
Pushing new object 3a0abc005636386d1c5184ccd89ef7557281b90d to the server.
Pushing new object e534be6ac0c0839c3f7c1dbe40e6ed82599b4b8e to the server.
Removing remote object 63828521862 (/caldav/v2/usermail%40gmail.com/events/6cp68db565im4bb36tj6cb9kcgrmab9ocgr3eb9lcdhj2pj260o62cj56o%40google.com.ics).
Removing remote object 63828508442 (/caldav/v2/usermail%40gmail.com/events/0b3ba23b898af055be5234834ba4212009ca4d16.ics).
warning: c0472fee2d58a1948ce586349e903ed416255fb8 was deleted locally but
warning: modified in the CalDAV calendar. Keeping the modified version on the
warning: server. Run the script again to import the modified object.
Saving synchronization database to /home/yummy/.calcurse/caldav/sync.db...
0 items imported, 0 items removed locally.
0 items exported, 0 items removed from the server.

Dry-run = False

➜  caldav calcurse-caldav
Connecting to apidata.googleusercontent.com...
Loading synchronization database from /home/user/.calcurse/caldav/sync.db...
Importing new object 63828751150.
Replacing object 63829197606.
Importing new object 63830452218.
Importing new object 63830452215.
Importing new object 63830057089.
Importing new object 63830451099.
Importing new object 63829289798.
Importing new object 63830452216.
Importing new object 63829192198.
Importing new object 63830447845.
Importing new object 63830452215.
Importing new object 63830057129.
Importing new object 63828751149.
Replacing object 63829194858.
Replacing object 63829625658.
Importing new object 63830284991.
Importing new object 63830404813.
Importing new object 63830451104.
Importing new object 63830451100.
Importing new object 63830451103.
Importing new object 63828854053.
Importing new object 63828751148.
Importing new object 63828751150.
Importing new object 63830451105.
Replacing object 63829201774.
Importing new object 63829033525.
Importing new object 63828751148.
Importing new object 63830451101.
Importing new object 63830451102.
Replacing object 63829196950.
Importing new object 63830451098.
Importing new object 63829192346.
Importing new object 63830285053.
Importing new object 63830451104.
Importing new object 63830123468.
Pushing new object a752f13eaeffe598be98a0f997acbc29c958c5d3 to the server.
Pushing new object 252c0821a54900a9acf259c7042323203a695c95 to the server.
Pushing new object 308a7f4c2b5e3655c8742bf47b5012faeab8a217 to the server.
Pushing new object aa22d1cfb5bcb52d72b966a039664dd8b8d5cc3f to the server.
Pushing new object b5a81c7730e749e13e34b4955d76ff313997648b to the server.
error: Missing ETag.

Thanks for your time and I hope you can help me ._.

Nimuedaertya commented 9 months ago

After another loop of adding a new authcode the error changed to

error: The server at apidata.googleusercontent.com replied with HTTP status code
error: 409 (Conflict) while trying to access https://apidata.googleusercontent.c
error: om/caldav/v2/maurice.m.mueller@gmail.com/events/0b3ba23b898af055be5234834
error: ba4212009ca4d16.ics.