YunoHost-Apps / kresus_ynh

Kresus (personal finance manager) for YunoHost
https://kresus.org/
GNU Affero General Public License v3.0
20 stars 20 forks source link

Upgrade broke the app #43

Closed Jaxom99 closed 4 years ago

Jaxom99 commented 4 years ago

Hi @Jibec and thanks for your work so far :)

I have encoutered a bug while upgrading on my VPS : the website display a pop-up alert that says assertion error, all settings must have their default value, missing for : undefined. (and the line number of the error).

Do you know what could be done to fix it ? I did not find the detailed journal of Kresus on my server, maybe there are more details there...

Thanks in advance to anyone that might help !

Jibec commented 4 years ago

Hello, do you have the error log? Even the line number can be useful. Please also provide the upgrade log. You should be able to restore the automatic pre upgrade backup. Search if you can find it Which version did you upgrade from?

Jaxom99 commented 4 years ago

The upgrade went well, here is the log : https://paste.yunohost.org/raw/ejagujehey Error message follows with

Error at M( mycustomsubdomain.xyz/main.js:1:4953) 
at mycustomsubdomain.xyz/main.js:1:59944 
at mycustomsubdomain.xyz/main.js:1:60246 

Is there a log where I can find more details to diagnose this ? I checked in nginx access or error logs but saw nothing...

I upgraded from kresus version 13.6 I believe.

Jibec commented 4 years ago

ok, I think you are missing a value in config.ini

This should fix your issue: https://github.com/YunoHost-Apps/kresus_ynh/commit/2f586557d07c2fd0f8ce5440e04f736cbc19fbec

Please upgrade your app again

Jibec commented 4 years ago

should fixed by https://github.com/YunoHost-Apps/kresus_ynh/pull/44 please reopen if required

Jaxom99 commented 4 years ago

Thanks a lot for this quick sunday morning fix !

Sadly, it didn't solve my problem. I still have the popup error message in Opera. However, I checked in Firefox and it displays the "weboob-readme" page stating that a >1.5 version is needed.

Maybe I should look in this direction and update/replace my weboob version ? I don't know how though, since it was automatically installed with the weboob app :/

Or I could restore the first pre-update-backup, and run the fixed update that you provided. Which one sounds best ?

Jaxom99 commented 4 years ago

The content of /var/www/kresus are owned by user root, exept for the data folder by kresus. Is this normal ?

Btw I confirm that weboob 1.5 is indeed installed in the venv of the package. A step was missed at some point, and now my install is KO.

(PS : I did not find how to reopen the issue by myself :/)

Jibec commented 4 years ago

I'm confused by your messages. Does it work with Firefox? If so, please close the issue. I don't use Opera and any bugs related to browser support have to be opened upstream (to kresus organization itself) Yes, the folder is aimed to be accessible only to kresus application, because it contains your bank details. It's done on purpose.

Any issue remaining? If yes, what is the error message?

Jaxom99 commented 4 years ago

Sorry for confusing you. I was trying to add some info, but it was badly written. Let's try again, many thanks for your time 🤗

It still doesn't work, whether on Opera or Firefox -> so it's not a browser issue.

I restored permissions to the folder as you explained ("only to kresus") with chown -R kresus /var/www/kresus/, since somehow on my system it has been corrupted. -> this did not solve the issue.

I deleted the app and restored an old backup from september (kresus version 13.x) : the app was fully functionnal (I managed to update bank figures). THEN I upgraded the app with yunohost app upgrade kresus. The update went well, here is the log : https://paste.yunohost.org/raw/orenayafod BUT the app broke again, with the same popup messages as when I opened this issue. The webpage then redirects to #/weboob-readme stating that weboob is not installed.

Enjoy your Xmas/NewYear break, take a look when you have time, this is not urgent for me. I'm just trying to avoid anyone else having the same issue 😉

bnjbvr commented 4 years ago

Hey @Jaxom99, Kresus maintainer here. Can you have a look at the logs written by Kresus on the server, if possible, please, and see if there's any mention of an error or something like this?

Can you also look at the browser developer console (on Firefox, can be opened with Ctrl Shift K; on Chrome Ctrl Shift J), and copy/paste any error that would show up there? There might be more details regarding what's going on with this client-side error.

Jaxom99 commented 4 years ago

Hi, thanks for chiming in ! On the kresus log, I find this, for each of my accounts configured :

[2019-12-27T02:40:31.545] [ERROR] poller - Error when polling accounts: Weboob doesn't seem to be installed, skipping fetch.
[2019-12-27T02:40:31.547] [INFO] accounts-manager - Retrieve all accounts from access creditcooperatif with login _redacted_
[2019-12-27T02:40:31.551] [INFO] sources/weboob - Calling weboob: command accounts...
[2019-12-27T02:40:31.551] [INFO] sources/weboob - Weboob will be updated prior to command "accounts"
[2019-12-27T02:40:31.777] [INFO] sources/weboob - exited with code 1.
[2019-12-27T02:40:31.777] [INFO] sources/weboob - Command returned an error code.
[2019-12-27T02:40:31.778] [INFO] sources/weboob - Checking that weboob is installed and can actually be called…
[2019-12-27T02:40:31.778] [INFO] sources/weboob - Calling weboob: command test...
[2019-12-27T02:40:31.988] [INFO] sources/weboob - exited with code 1.
[2019-12-27T02:40:31.989] [INFO] sources/weboob - Command returned an error code.
[2019-12-27T02:40:31.989] [ERROR] sources/weboob - When testing install: KError: Is weboob installed? Unknown exception raised: 'ascii' codec can't decode byte 0xc3 in position 682: ordinal not in range(128).

I can confirm weboob is installed in the venv of the ynh package (weboob-cli --version in the venv returns 1.5)

On Firefox, I don't get errors on console, the app redirects cleanly to the "weboob missing" page. On Opera however, I get these error messages :

main.js:1 Assertion error: all settings must have their default value, missing for: undefined
Error
    at M (https://bank.tchack.xyz/main.js:1:4953)
    at https://bank.tchack.xyz/main.js:1:59944
    at https://bank.tchack.xyz/main.js:1:60246
M @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
Promise.then (async)
Xt @ main.js:1
Hc @ main.js:6
(anonymous) @ main.js:29
(anonymous) @ main.js:29
o @ main.js:1
(anonymous) @ main.js:29
o @ main.js:1
(anonymous) @ main.js:1
(anonymous) @ main.js:1
bnjbvr commented 4 years ago

Are you using Python 3? Otherwise, the server logs suggest there may be an error in the Credit Cooperatif's module code.

The client issue with Opera is a bit weird, I've never seen anything like it before. Does it reproduce with Google Chrome / Chromium? (asking because Opera and Chrome share the same web engine, so I'd expect so)

Jaxom99 commented 4 years ago

Well, I think yunohost' management of python versions is somewhat chaotic... But when I'm in the kresus venv, python --version returns 3.5.3. The error in kresus logs also apears with other accounts, and everything was working just before the ynh'update.

On Chromium (78.0.39), I have the same behaviour as in Firefox (72.0.1), displaying the "no weboob version available" webpage. (Maybe my macOS version of Opera is outdated then ?).

The error messages I get in both browser's consoles are

They seem to be only errors about yunohost, not Kresus itself. I fear we diverge from the reported bug :disappointed: , maybe it's better not to waste more time and just reinstall a clean app on my yunohost. I'll look into exporting backups files without the app being able to run...

Anyway, tell me if you still have time to look at this specific bug !