Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpha 0.6.2-8 Feedback #60

Closed
S7venLights opened this issue Oct 16, 2022 · 56 comments
Closed

Alpha 0.6.2-8 Feedback #60

S7venLights opened this issue Oct 16, 2022 · 56 comments

Comments

@S7venLights
Copy link

Using alpha version shared in issue #14.

Obtanium downloaded all APKS flawlessly and applied their app icons, Nice!

In an attempt to mark all apps as installed I used the select all then ✅ icons. But that didn't work.
Then I performed that install all function, two apps were out of date. They now reflect in Obtanium as being on the latest version but they aren't actually updated [I assume this is just a once off Error due to the switch to the alpha version].
To remedy, I tried swipe down refresh but I got an error pop-up saying something about Null...
I restarted the app and did a refresh again with no error.
But the apps still don't detect updates so I had to remove and redownload them since the 'Mark as uninstalled' option is gone.
Once I did this they updated properly 👍

@S7venLights
Copy link
Author

During the initial install all switch to 0.6.2 two apps gave an error to the effect of, unable to update as a newer version is not available (I can't remember the exact wording ).
They now show as update available but if I try install them obtainiam says 'cant install older version'.
These are the two apps:
https://github.com/AndBible/and-bible (I had beta installed and pre-release update was off)

https://github.com/darshan-/Battery-Indicator-Pro (Github release is behind F-droid version)

Marking apps as up to date resolved this issue.

@S7venLights
Copy link
Author

Will test update checking in the week.

@ImranR98
Copy link
Owner

Thanks for the feedback!

Some points to note:

  • There is no "mark as installed/uninstalled" button as installed Apps should be detected automatically. But this detection only happens on page load for efficiency. So leaving Obtainium and returning should help fix some problems when upgrading from the older version (I'll try to improve on this).
    • The "mark as updated" (✔️) button remains since it is needed in some cases. Only affects installed Apps with an update available, not non-installed ones.
  • Android doesn't allow you to install an older version of an App over a newer one. Before this used to fail silently, since we can now compare versions before attempting install, it shows you the error.
  • I remember there being issues with updating F-droid Apps with APKs from GitHub or the other way around, due to F-droid signing the Apps themselves. This might fail silently, not sure. Better to stick to one source.

If there are any more unexpected errors, please take a screenshot or copy/paste.

@S7venLights
Copy link
Author

I think you misunderstood my feedback a bit but no worries the issues I shared were not bugs so much as side effects of switching to the new detect method.

EG: I didn't add F-droid as a source in Obtanium. I did have https://github.com/darshan-/Battery-Indicator-Pro as a source in my Obtanium app list.
But battery indicator was actually installed originally from Droidify F-droid.

Fdroid has v12 of battery indicator hosted while github releases only has v10. So that's why Obtanium couldn't update it.
I guess it's kinda a bug that Obtanium shows it as update available in that case. In the case that github releases are older than the installed version, perhaps obtaniam should show them as up to date by default??

@ImranR98
Copy link
Owner

Can't do that as we don't know what the real version of an App is until the APK is downloaded. The version displayed in the App is a version string from GitHub, which may be different. So we can't compare the two until install time.

@S7venLights
Copy link
Author

Okay, it's no big issue at least

@ImranR98
Copy link
Owner

Not sure if anyone else has encountered this, sometimes Apps say update available even though there isn't, because the version string gets overwritten. Only happens in the background process (of course). Not sure why yet, and it doesn't happen consistently. will have to look into it.

@ImranR98
Copy link
Owner

Small improvements, still haven't fixed the issue above (or know what causes it) but it should happen with fewer Apps: app-release-0.6.3-beta.zip

@S7venLights
Copy link
Author

S7venLights commented Oct 19, 2022

Testing update notifications without launching the app:

Monday I was on wifi all day and got no notifications. I know there was one update available half way through the day.

Yesterday (Tuesday) I had Wifi on most of the day. At some point I saw a notification 'checking for updates' but around the same time I lost signal. When I got signal again the notification quickly changed to 'error checking for updates, failed to lookup api.github.com' But it seems only because the vpn was still connecting. This seems to happen every time, then the update only checks again three hours later.
Obtanium fails too quickly when trying to re-check updates when Wi-fi comes on.
Perhaps some form of delay, connectivity check or a certain amount of retry attempts could be implemented.
Come to think of it… I have actually excluded Obtanium from the VPN, so it's not tunnelled but perhaps androids block connection without VPN feature still blocks Obtanium while the VPN connects.
I'm using InviZiblePro connecting to Tor if that helps.

This morning I turned on the phone and got a 'Checking for updates' notification but shortly after putting on Wi-fi and just after the VPN was connecting and did in fact connect: 'Error checking for updates connection refused'

This is related to Issue #47

@S7venLights S7venLights changed the title Alpha 0.6.2 Feedback Alpha 0.6.2/3 Feedback Oct 19, 2022
@S7venLights
Copy link
Author

I'll install 0.6.3 and keep testing

@S7venLights
Copy link
Author

On 0.6.3 Yesterday I had wifi on all day with no notification. Last night I turned off Wi-fi but left the phone on.
When I turned on the Wifi now I got a: 'Error checking for updates - connection refused' again. Same issue as before, VPN was still connecting.

@S7venLights
Copy link
Author

I just got a checking for updates 🔔
Then it went away. I know there are 2 updates available

@S7venLights
Copy link
Author

Just got a 🔔 'Error checking for updates - Connection refused'
But this time while having a working connection to internet and VPN

@ImranR98
Copy link
Owner

Yep, I've also had this twice now with perfectly working connection. It also seems to cause that issue I mentioned earlier. Can't seem to reproduce the issue in the dev emulator though, very frustrating.

@ImranR98
Copy link
Owner

Sometimes it's 'hostname not found', sometimes something like 'software connection abort', and apparently it can be 'connection refused' too. Seemingly always in the background update checking.

@S7venLights
Copy link
Author

Hmm… what can I test for you? I have only tested background updates without launching the app so far, should I test launching and refreshing?

@ImranR98
Copy link
Owner

ImranR98 commented Oct 22, 2022

Not sure tbh. There's no reason to get a connection error when there is an active internet connection, so I'm not sure what the problem is (maybe related to #55). I guess we could just quietly handle these errors by waiting 15 minutes and trying again (like it already handles rate limit errors), but there are 3 different error objects to track down so that will be tricky.

In the meantime, there's a new release which hopefully fixes that version string issue I ran into earlier: app-release-0.6.4.zip
If I don't get the version string error, I'll release this version because the connection error seems not to be related to the recent changes from 0.6.0, so can be dealt with separately (issue #47) later.

@S7venLights
Copy link
Author

The thing is the current release (non alpha) was notifying successfully in the background. So maybe it's worth testing 0.6 a bit longer

@S7venLights
Copy link
Author

S7venLights commented Oct 22, 2022

I opened Obtanium now and had a number of updates to do.
I clicked update all.
The apps downloaded successfully but after 3 installs the rest failed to continue.
In order to update the rest,
I then had to backup(export obtanium) and remove all apps restart obtanium and import apps.
This may have been a once of thing though due to one app or since I changed the default apk launcher to 'always package installer' in the middle of the updates.

PS: a reboot is required between exports and imports or the app fails to update, you may want to automate this or give a warning.

PPS I changed the update interval to 2hours for future testing.

I know the current issues may be frustrating but don't stress, the app is doing great so far.

@ImranR98
Copy link
Owner

Interesting, my notifications and import/export seem to work fine. But I don't have that many Apps, will continue to test.

@ImranR98
Copy link
Owner

Could you give more details about the error you mentioned above? What error did you get when the installs failed, and why wouldn't it let you update without re-importing? Also was this on the latest 0.6.4

@ImranR98
Copy link
Owner

Slight changes: app-release-0.6.5.zip

Might help with some issues

@S7venLights
Copy link
Author

Was on 0.6.3, the update fail was a silent error but as I said, I think it's isolated incident due to me changing android defaults during install, don't worry about that.

"Why wouldn't it let me update without re-importing"
As a result of that android error Obtanium thought the apps were up to date but they weren't.

I'll update to 0.6.5 now.

@ImranR98
Copy link
Owner

Meanwhile, I'm still having that weird issue with App versions being changed in the background. Only happens on my phone (not the emulator) and only sometimes. Still no clue what causes it but there are a couple small changes in this version that might help:
app-release-0.6.6.zip

Will see about adding logging to the next release so people who have issues can attach logs and hopefully make it easier to track down bugs.

@S7venLights
Copy link
Author

So I've had no update notifications lately but opened the app now and without refreshing, I see it shows updates for some apps that Octodroid didn't notify me about so that's nice but it's also showing updates for some apps that were supposedly updated by obtanium already. Namely:
https://github.com/tw-hx/Signal-Android
https://github.com/organicmaps/organicmaps
https://github.com/meganz/android

Also I keep marking
https://github.com/darshan-/Battery-Indicator-Pro
As updated but it keeps resetting to update available (Since the github version is older than the F-droid).

I updated all apps, and got an error in app that I could only read by repeating the process a few times: platform exception invalid package parse error, Storage/emulated/0… LibreCamera APK null

I restarted Obtanium, redownloaded updates, and got the same error
I then excluded https://github.com/iakmds/librecamera
from update selection

And updates worked but only 3/6 or so apps actually installed which to me confirms that some of the apps showing updates were actually already updated.

Not sure why librecamera won't work.

@S7venLights
Copy link
Author

Perhaps my Obtanium is also changing app versions in the background and falsely detecting some updates

@ImranR98
Copy link
Owner

ImranR98 commented Oct 25, 2022

So I've had no update notifications lately but opened the app now and without refreshing, I see it shows updates for some apps that Octodroid didn't notify me about so that's nice but it's also showing updates for some apps that were supposedly updated by obtanium already. Namely: https://github.com/tw-hx/Signal-Android https://github.com/organicmaps/organicmaps https://github.com/meganz/android
...
And updates worked but only 3/6 or so apps actually installed which to me confirms that some of the apps showing updates were actually already updated.

Yes, that's the same issue I'm having. Was able to narrow down what happens - the installedVersion is being reset to null - still looking into why. This is also the reason for many update notifications being missed.

It's most likely happening because I'm using a Flutter plugin to detect installed Apps, and it's possible that plugin works well in the foreground process but not in the background. Worst case I'll just disable that detection for background processes - it should not make a difference for most users. The one downside is that users who uninstall an App between beckground update checks (without opening Obtainium in the foreground at any point) will still be notified of updates for that App even though it is not installed.

Also I keep marking https://github.com/darshan-/Battery-Indicator-Pro As updated but it keeps resetting to update available (Since the github version is older than the F-droid).

Better not to add an App to Obtainium if a different App (F-Droid) is already used to manage it.

@ImranR98
Copy link
Owner

Regarding Librecamera, I just downloaded the APK from GitHub (through the browser) and tried installing it on my phone, and got an "invalid package" error. So it looks like this is not an Obtainium issue.

@S7venLights
Copy link
Author

Gotta love & hate a good workaround 😅

@ImranR98
Copy link
Owner

Lol, I'm half expecting it to still fail though 🤦‍♂️

I've only halfway implemented the originally intended workaround because that avoids the problem mentioned earlier:

... users who uninstall an App between beckground update checks (without opening Obtainium in the foreground at any point) will still be notified of updates for that App even though it is not installed.

Might still have to finish the job and live with that compromise.

@ImranR98
Copy link
Owner

Yep, the problem is still there, I just had to wait a bit longer to see it (been using this version since last night). If you haven't downloaded it don't bother.

@S7venLights
Copy link
Author

I have… I'm still testing background update checks so not launching the app

@S7venLights
Copy link
Author

See I got a weird Error 🔔. 26min ago:
Error checking for Updates
Connection Reset by Peer (Mega)

@ImranR98
Copy link
Owner

See I got a weird Error bell. 26min ago: Error checking for Updates Connection Reset by Peer (Mega)

That means the App Source (GitHub I guess) decided to close the connection. It may be a one-off thing. Does it happen every time for that App?

@S7venLights
Copy link
Author

No, never seen it before

@ImranR98
Copy link
Owner

Ok I promise* it should be fixed with this one: app-release-0.6.8.zip

*Maybe

@S7venLights
Copy link
Author

Haha I'll install now, what did you find/do? By the way just got a failed host lookup api.github 🔔 5min ago

@S7venLights S7venLights changed the title Alpha 0.6.2/3 Feedback Alpha 0.6.2-8 Feedback Oct 28, 2022
@ImranR98
Copy link
Owner

ImranR98 commented Oct 28, 2022

When Apps load, Obtainium checks to see if they are installed on the phone. If they are, it corrects any discrepancies between the real install status of each App and its internally stored install status. For some reason, this would sometimes fail in the background, causing all Apps to be marked as "not installed". I just disabled that detection and correction for background processes.

As for the failed host lookup errors, yeah I get those too sometimes even with a good connection. No idea what the cause is since it seems random. May have to work around those too eventually but since they are not that frequent, I'll release the changes made so far this weekend.

@ImranR98
Copy link
Owner

Okay, I think this is ready for release: app-release-0.6.0-42.zip
Aside from the switch to package IDs as App IDs, and the addition of icons, it also has a few other bugfixes like #64, #66, #67.

For some reason Obtainium was using the master branch of Flutter which is unstable (don't remember ever switching to it). so I've switched to the stable branch which should hopefully help with some of the more random glitches. I already noticed some weird UI issues I had are no longer there. It does mean some material UI elements like switches will have the old design again for now, but that will be fixed when those changes come to the stable branch eventually.

Also reset the versioning to 0.6.0 as the builds we've been testing (0.6.2-0.6.8) were not actually released.
If there are no problems, will release tomorrow and hopefully close a bunch of issues.

@S7venLights
Copy link
Author

Will you release even though background updates worked on 0.5 but haven't once worked for me on 0.6 versions?

@ImranR98
Copy link
Owner

Huh. I thought they worked for you aside from the occasional hostname error. They seem to work for me but definitely can't release if you're not able to update at all. Could you try this new one and let me know.

@S7venLights
Copy link
Author

S7venLights commented Oct 28, 2022

I can only update when opening the app all background notifications on these alpha versions have been errors. It may have found the updates for most aops but only ever reported errors.

I will test this new version though and its up to you if you release, the app still sees and does the updates when I open it, so it still does it's job

@ImranR98
Copy link
Owner

Hmm, definitely can't release if there's come bug that breaks background checking completely. Maybe it's a specific app you have added because things are fine for me. Anyways try this one and see.

@ImranR98

This comment was marked as outdated.

@S7venLights
Copy link
Author

S7venLights commented Oct 29, 2022

Great, I'll try that out, maybe I can open JSON files with this: https://github.com/laiiihz/alga/

Was thinking, you probably should add basic logs sometime as you mentioned before and an easy way to submit them. Maybe an email address in the app or link to Github. Cos there are bound to be difficulties getting some apps to update when you're pulling from so many sources. The email could autoreply with FAQs and ask people to let you know if they solved the issue.

@ImranR98
Copy link
Owner

Sorry, uploaded the wrong version, so marked the comment as outdated. Will upload in 5 mins.

@ImranR98
Copy link
Owner

Great, I'll try that out, maybe I can open JSON files with this: https://github.com/laiiihz/alga/

I use Markor but whatever works,

@ImranR98
Copy link
Owner

app-release0.6.0-44.zip

Also yes, will work on logs.

@ImranR98
Copy link
Owner

Amazingly, not one of the logging plugins I've looked at works in background processes (zubairehman/Flogs#66, umair13adil/flutter_logs#14). It feels like Flutter devs don't think mobile Apps need to do anything in the background since plugins look to be very limited in bg processes 🤦
Will make this a separate issue.

@S7venLights
Copy link
Author

Okay Markor worked, um should I use that new 44 version 👆 Did you already put logs in?

You know… long term it may be useful to extend the Github PAT to allow people to browse Github and post issues. That way people can easily give app feedback for you and other developers.

I know never used Github until I got this Octodroid app since its convenient and very nice to be able to interact with repo devs.

@S7venLights
Copy link
Author

Oh I missed that earlier message, I'm installing 44 now

@S7venLights
Copy link
Author

S7venLights commented Oct 29, 2022

Alternatively you could add a link to a forum where people can find and give feedback. Or if you want something that doesn't require accounts or apps for user feedback
https://www.getgrist.com
is very powerful.

@S7venLights
Copy link
Author

S7venLights commented Oct 29, 2022

Hooray 🚀
I just got a successful background notification.
It detected the apps I marked as older and while downloading the 'please wait…' text showed.
When done downloading, two apps install dialogue showed up and I clicked update. The other 3 simply changed to reflect the correct version number of the installed app.
Tested with a github and gitlab app.

It also notified me under non-ideal scenarios because my phone was off wifi most of the morning but when I reconnected to the vpn about twenty minutes ago it struggled to connect at first. Previously obtainium would error notify right away if the vpn was struggling, but now there was only a successful notification after 20min or so. ✨

ImranR98 added a commit that referenced this issue Oct 29, 2022
* Fixes #14 (although detection is disabled in background processes due to the bug described in #60)
    * Added App icons and basic installed detection
    * Real Package Names Used as IDs + App Icons (INCONVENIENT FOR PREVIOUS VERSION USERS)
    * Switch to using extracted names (no custom names)

* Fixes #57

* Fixes #67

* Fixes #64

* Fixes #61

* Commented out APKMirror and added code to remove their Apps

* Updated README

* Switched to Flutter stable (causes some UI elements to switch back to the old material design style, but this will be fixed in later Flutter releases)

* BG task silently retries on network errors

* Updated screenshots
@ImranR98
Copy link
Owner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants