coddingtonbear / inthe.am

Access your Taskwarrior tasks from any browser anywhere
https://inthe.am/
GNU Affero General Public License v3.0
593 stars 51 forks source link

Unable to sync #384

Closed jonathanabennett closed 2 years ago

jonathanabennett commented 2 years ago

For the last 4 days, I have been unable to sync with inthe.am. When I run task sync, I receive the following error on the client side

The specified session has been invalidated for some reason. Sync failed. Could not connect to the Taskserver.

In the inthe.am logs, I see the following, more extensive, error message.

An error was encountered when attempting to sync Inthe.AM's UI with the Taskserver: 1: :: Configuration override rc.json.array:TRUE Configuration override rc.verbose:new-uuid Configuration override rc.confirmation:no Configuration override rc.dependency.confirmation:no Configuration override rc.gc:off Configuration override rc.recurrence.confirmation:no Configuration override rc.uda.intheamattachments.type:string Configuration override rc.uda.intheamattachments.label:"Inthe.AM Attachments" Configuration override rc.uda.intheamoriginalemailsubject.type:string Configuration override rc.uda.intheamoriginalemailsubject.label:"Inthe.AM E-mail Subject" Configuration override rc.uda.intheamoriginalemailid.type:numeric Configuration override rc.uda.intheamoriginalemailid.label:"Inthe.AM E-mail ID" Configuration override rc.uda.intheamtrelloid.type:string Configuration override rc.uda.intheamtrelloid.label:"Inthe.AM Trello Object ID" Configuration override rc.uda.intheamtrelloboardid.type:string Configuration override rc.uda.intheamtrelloboardid.label:"Inthe.AM Trello Board ID" Configuration override rc.uda.intheamtrellolistid.type:string Configuration override rc.uda.intheamtrellolistid.label:"Inthe.AM Trello List ID" Configuration override rc.uda.intheamtrellolistposition.type:numeric Configuration override rc.uda.intheamtrellolistposition.label:"Inthe.AM Trello Card Position in List" Configuration override rc.uda.intheamtrellolistname.type:string Configuration override rc.uda.intheamtrellolistname.label:"Inthe.AM Trello List Name" Configuration override rc.uda.intheamtrellourl.type:string Configuration override rc.uda.intheamtrellourl.label:"Inthe.AM Trello URL" Configuration override rc.uda.intheamtrellodescription.type:string Configuration override rc.uda.intheamtrellodescription.label:"Inthe.AM Trello Description" Configuration override rc.uda.intheamtrellolastupdated.type:string Configuration override rc.uda.intheamtrellolastupdated.label:"Inthe.AM Trello Last Updated" Configuration override rc.uda.intheamduplicateof.type:string Configuration override rc.uda.intheamduplicateof.label:"Inthe.AM Duplicate of Task" Configuration override rc.uda.intheammergedfrom.type:string Configuration override rc.uda.intheammergedfrom.label:"Inthe.AM Duplicate Tasks Merged" The specified session has been invalidated for some reason. Sync failed. Could not connect to the Taskserver..

This problem has persisted across networks and devices (I receive the same error message when using Foreground on my Android device) and was present even when I backed up my .task folder and used an empty .task folder on my computer. Please advise what further troubleshooting I can do to help isolate this error.

coddingtonbear commented 2 years ago

I'm afraid at the moment I have no idea given that I'm able to connect to the taskserver myself just fine. I think to do any further investigation, I'd have to look up your account on inthe.am to see if I could find anything in your taskd sync logs, but at the moment I don't have a good guess as to which account is yours. If you could let me know which account is yours, I could probably find some time soon to have a look.

coddingtonbear commented 2 years ago

(@jonathanabennett sent me his account info over e-mail)

I've had a look, @jonathanabennett, and it looks like your certificate has expired. I'd thought inthe.am's generated certificates last for a few years, but it looks like they last just a year right now. You can double-check that locally by running something like...

cat my_intheam_certificate.pem | openssl x509 -noout -dates

& what you'll see is:

notBefore=Jan 26 06:36:01 2021 GMT
notAfter=Jan 26 06:36:01 2022 GMT

Unfortunately, there's no button you can click in the UI right now for letting you generate a new certificate and key because I removed it months ago (#385); so I've re-generated yours for you.

If you go into the UI now, you should see that it's synchronizing again with your taskd account. You, though, will need to update your local certificate by downloading the recently-generated one from the website.

Good luck!

folofjc commented 2 years ago

Hi @coddingtonbear it looks like this is my problem as well. How can I regenerate a certificate?

coddingtonbear commented 2 years ago

@folofjc -- I've just run a command that'll refresh expired certificates for everybody and yours was included in that list. If you go into the UI and download the certificate you see there, you should be able to synchronize once again.

folofjc commented 2 years ago

@coddingtonbear Thanks so much! I had to do a re-initialization but after that it works. It looks like these are also valid for one year? So we just need to know that we have to re-download the private certs every year?