walokra / sailimgur

Imgur app for Sailfish OS.
http://ruleoftech.com/lab/sailimgur
GNU General Public License v3.0
10 stars 5 forks source link

Doing anything fails with new device #26

Closed henk84 closed 2 years ago

henk84 commented 2 years ago

Hi

I used to use sailimgur on a jolla1 for years in anonymous mode. Now I got a new device (Gigaset GS290) and migrated to that. Migrating in my case means that I basically copied ~/.local, ~/.config, and ~/.cache over to the new device (with some exceptions but that’s the principle). I also created a backup via sailfish settings’ 'backup' functionality and restored that backup on the new device. Now when I start sailimgur I get two messages at the top of the screen: the first one is "Not signed in, using anonymous mode" (or very similar) and that’s the one I know from my old phone already. It is quickly replaced by a second message saying: "Bad Request: Client id was not found in the headers or body. Can’t refresh tokens. Please sign in again." The main page does not load. Switching to e.g. "user submitted" shows the message again and also does not load. It still works fine on the old phone. One time I got it to work on the new phone right after loading on the old phone. Every image I viewed on the old phone would then also load on the new phone, all others didn’t. I cannot currently reproduce that, though. I tried deleting sailimgurs config/cache/localdata using rm -rf .local/share/harbour-sailimgur/ .cache/harbour-sailimgur/ but that didn’t help. Do you happen to have any idea what might be wrong? Are there settings anywhere else that I could try deleting to get sailimgur to use anonymous mode again? I’m not proficient enough with sailfish application development to make a lot of sense of the code but I know my way around a linux system and I really like this app, so any advice on how to go about debugging this problem is appreciated!

Thank you

henk

henk84 commented 2 years ago

Hi

short update: I tested again with a fresh installation on that device (using piggz’ port from https://www.piggz.co.uk/sites/pgz/blog/volla-manual-install) and it behaves exactly the same. So it seems unrelated to the data I ported in my first attempt but seems to be a problem with new installations (on this type of device).

Again: any advice is appreciated.

Cheers

henk

walokra commented 2 years ago

Thanks for reporting.

I figure that your device is on aarch64 architecture which doesn't yet have builds on Jolla Store or on OpenRepos?

Looks like the issue is with using the Sailimgur package from the Chum repos which is built from the source code and thus doesn't have the Imgur API keys included. (which is a problem of it's own, have to think a solution for that also.)

If I get the build system to work on my local machine (seems to have problems right now with it) I'll do a build for aarch64 to Jolla Store and add it also to OpenRepos.

henk84 commented 2 years ago

Thanks for the quick response!

Yes, something like that seems to be the problem. I have been talking to some people on IRC about this issue and ultimately everything pointed to that as well. Yes, my device is aarch64 AFAIU. My sailimgur package came from the jolla store. I don’t know if that means that chum is involved. I wanted to see whether the package on openrepos has the same issue but didn’t get to that yet.

Is there anything I can do to help?

Cheers

henk

walokra commented 2 years ago

AFAIU the Jolla Store doesn't have Sailimgur for aarch64 built so it may come from Chum. The OpenRepos are also only build for older Jolla devices. Also there's a problem with Jolla Store (what I read from SFOS forum) for providing packages for both older and newer SFOS devices.

I'll have to figure out how to build the packages on OBS so that the API keys are kept secret. It's not the user friendliest service to configure so any help with how to add %define macros in a project config so that they are not shown publicly would be welcome :)

piggz commented 2 years ago

Its not ideal i understand, but someone determined could probably get the api keys from the binary if they really wanted. For amazfish strava api keys, i just scramble them a little to be not completely in the open. https://github.com/piggz/harbour-amazfish/blob/master/ui/src/harbour-amazfish-ui.cpp#L91

henk84 commented 2 years ago

I'll have to figure out how to build the packages on OBS so that the API keys are kept secret. It's not the user friendliest service to configure so any help with how to add %define macros in a project config so that they are not shown publicly would be welcome :)

I don’t know anything about it myself but I asked on IRC and got some responses, see https://irclogs.sailfishos.org/logs/%23sailfishos/%23sailfishos.2021-11-02.log.html#t2021-11-02T05:21:53. I hope you can make something of that or that piggz’ suggestion is a usable approach.

walokra commented 2 years ago

Thanks for asking it and looks like Jolla Store accepts packages for old and new devices (just have to build them separately) so I'll start with that.

It's strange that OBS don't have any means to provide "secrets" or other project defined variables to builds as it's common use case in any other continuous integration platform. But maybe the hidden in plain^H^H encrypted sight will do for now.

henk84 commented 2 years ago

Hi walokra

Thank you very much for updating the code and package! It works fine now on my device and I’m very happy about it (: I hope it’s ok for you that I close this issue. If not, I hope you can reopen it.

Cheers

henk