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

Next release WhereYouGo #251

Closed
Lineflyer opened this issue Jan 9, 2021 · 38 comments
Closed

Next release WhereYouGo #251

Lineflyer opened this issue Jan 9, 2021 · 38 comments
Labels
Feedback required Issue requires feedback of the author or another user

Comments

@Lineflyer
Copy link
Member

I have seen some (mostly refactoring) activity ongoing for WhereYouGo.

Please tell me (by posting to this issue) if and when it would be desirable to release a new version?

Additionally I have just opened two issues, for which it might make sense to issue a release once they are fixed:
#249 #250

@Lineflyer Lineflyer added the Feedback required Issue requires feedback of the author or another user label Jan 9, 2021
@SchoolGuy
Copy link
Contributor

I believe that when I added the button to the settings to check the user credentials we could release a new version. To add that button my current Settings refactoring PRs needs to be well tested and merged. The button afterwards can be added very quickly. Thus I think end of February can be a good idea in my eyes.

@Lineflyer
Copy link
Member Author

@SchoolGuy Any further activity planned from your side on the PR you mentioned above?
Indeed having a possibility to check the login would be good .

@SchoolGuy
Copy link
Contributor

@Lineflyer We are waiting on @bekuno to review it. It is finished.

@Lineflyer
Copy link
Member Author

Ah, sorry. I looked at #210 while you are probably refering to #240...

@SchoolGuy
Copy link
Contributor

@Lineflyer Correct. But since #240 is a requirement for #210, it doesn't make a difference.

@Lineflyer
Copy link
Member Author

AFAICS #240 is merged. What about #210?

I am sorry, that I don't follow this repo as close as I should....but time is limited.
#210 would be interesting to include in a potential next release.

@SchoolGuy
Copy link
Contributor

@Lineflyer #210 is being worked on right now. So will be ready probably by end of the week if everything goes well.

@Lineflyer
Copy link
Member Author

@SchoolGuy Very cool :)

@Lineflyer
Copy link
Member Author

Due to some new problems (no location on Android 12) I created a project listing those issues, which are either regressions or mandatory changes to be done:
https://github.com/cgeo/WhereYouGo/projects/1

Summary:

  • No GPS on Android 12
  • No OSM Mapnik tiles (=default map not working anymore)
  • No scoped storage
  • Refactoring to target SDK30 or 31 needed
  • Raise of minSDK needed to be able to update some dependencies

Sadly this does not mean, that it is anytime soon to happen. It purely depends on volunteers willing to step in and work on it.
Help needed.

@Lineflyer Lineflyer pinned this issue Dec 6, 2021
@ztNFny
Copy link
Contributor

ztNFny commented Dec 14, 2021

Are we able to push a release to Play Store or are there any min/target-SDK or stuff requirements stopping us?

If not I'd suggest to push at least a small fix for the Android 12 and OSM tiles.

SAF is probably a bigger topic and will likely need also a new Mapsforge version - aka "big rewrite"

@Lineflyer
Copy link
Member Author

We need to meet the requirement of targetSDK=30 to publish. I merged this change to master but did not do any extensive regression tests yet. It compiles and runs at least.
There is no requirement for the minSDK though.

So we would be able to publish right away from master but its...lets say....not well tested.
The problem is, that I can strive through the main functions and test on different emulators, but I don't have any setup to play a cartridge from my couch/on my emulator.

@ztNFny
Copy link
Contributor

ztNFny commented Dec 14, 2021

you can set the emulators location via telnet: "geo fix lon lat"

telnet localhost 5554
auth <key from file in your home dir>
geo fix 0 0

@ztNFny
Copy link
Contributor

ztNFny commented Dec 14, 2021

l'll try to run some tests on Android 11 and 12. Cant go lower than SDK 24

@Lineflyer
Copy link
Member Author

Lineflyer commented Dec 25, 2021

I will do some more testing with nightly and emulator for master but won't find the time to play cartridges in real life or emulated.
If I don`t see any obstacles I suggest to push a new version (and evaluate from user feedback and Google reports).

Is there a risk that the OpenWIG code has some problems with the new targetSDK?? Anyone with insights?

@Lineflyer
Copy link
Member Author

I tested the app up to best possibility. Not really in depth due to missing time and possibility to play cartridges.
I added a changelog on master to prepare version 2022.01.02.

If no one objects I will forward release and just push it tonight to Google Play.
There is some risk, that due to the new targetSDK something is not working as expected but I would still like to try to restore functionality for Android 12 and OSM online maps for the users.

@Lineflyer
Copy link
Member Author

Just played a cartridge using mock locations and all went well on Android 11.
Just #329 is a regression...if anyone has some free time to look at that, it would be appreciated. I assume its no difficult bug.

Still planning to release tonight (at least on the beta channel...1456 testers).

@Lineflyer
Copy link
Member Author

Tests (including the latest hotfix for #329) look OK or at least I am confident enough to push an update to the beta testers.
Will prepare now.

@Lineflyer
Copy link
Member Author

While smoke-testing (in emulator) I found, that the app is not working on API16 and working on API19 but with some problems. Tests on API21 seemed to look normal though.

Therefore I decided to merge #273 in order not to deliver a non-working version to API 16-20 users.
A follow up issue regarding a possible legacy release has been created: #333

Will continue checking and releasing now.

@Lineflyer
Copy link
Member Author

WhereYouGo version 2022.01.02 has been pushed to beta users.

As we don't have a separate beta versioning, the plan would be to promote this version into normal production if beta test is normal (maybe next weekend or even earlier).

Tagging and uploading to Github ongoing now.

@Lineflyer
Copy link
Member Author

It took a while but version 2022.01.02 is available to beta testers now. Tagging and uploading on Github also completed.

@Lineflyer
Copy link
Member Author

FYI:
Some first feedback on social channels is positive for Android 12 functionality and general cartridge playing.

@sk-juroot
Copy link
Contributor

Same positive feedback from Slovak geocaching group, people are just asking for SD card support and offline maps functionality. I will look at the requirements for this big refactor later, to see what is possible.

@ztNFny
Copy link
Contributor

ztNFny commented Jan 4, 2022

Same positive feedback from Slovak geocaching group, people are just asking for SD card support

#309

and offline maps functionality

#73

The latest status on that (from c:geo dev meeting) is that it's not really possible to share the maps component between those two as c:geo just has too much "special" stuff in there. Possible routes would be

  • keep WYG completly independent (high effort)
  • integrate it into c:geo
  • recommend Locus as main map option for WYG (lowest effort)

@bekuno
Copy link
Member

bekuno commented Jan 4, 2022

Additional solution

  • use c:geo as map provider in the same way as locus (maybe easier to achieve than a complete new mapsforge solution)

@ztNFny
Copy link
Contributor

ztNFny commented Jan 4, 2022

  • use c:geo as map provider in the same way as locus (maybe easier to achieve than a complete new mapsforge solution)

not sure about that one effort wise... WIGs require drawing shapes, something not currently supported by c:geo

But for any solution (but the Locus one) we need someone willing to spend a considerable amount of time

@sk-juroot
Copy link
Contributor

Some cartridges are unplayable when Locus is used as a map provider - when they manipulate zones from timer/lua code, it breaks. (And this is only my personal experience from playing some local wig, I have not tested this functionality deeply.)

With all the special requirements for both c:geo and WhereYouGo, I would suggest (and also start looking into it) the hardest route - independent solution based on updated Mapsforge and following required components. In the end, they may share mapfiles and have some degree of integration, but should operate on their owns. As you say, c:geo have its own specialities, as WYG have.

@bekuno
Copy link
Member

bekuno commented Jan 4, 2022

@sk-juroot The own mapsforge solution for WYG would real great.

@Lineflyer
Copy link
Member Author

Reminder for myself:
Recent fixes have been merged to master but shall be included before going from beta to public.
This means, master needs to be merged to release another time before next beta/public.

@Lineflyer
Copy link
Member Author

release has been fast-forwarded to HEAD of masterso that recent changes are contained.
I will prepare a new beta version replacing 2022.01.02 tonight.

@sk-juroot and others:
Please from now on target all PRs with fixes which shall be included before beta goes into production to branch release.
Bigger changes or changes needing more test and shall not be contained in the next release shall be targeted to master.

See https://github.com/cgeo/WhereYouGo#branches for branch use explanation.
The principle is the same as described for c:geo here: https://github.com/cgeo/cgeo/wiki/How-to-get-a-bug-fix-into-the-release

@Lineflyer
Copy link
Member Author

FYI:
I had the chance to test the upgrade paths from current production with focus on this preservelegacyexternalstorage=true flag:

  • 2020.08.21 (current production) -> 2022.01.02 (Current beta - without preserve flag) = no file access anymore
  • 2020.08.21 (current production) -> 2022.01.10 (Upcoming beta - with preserve flag) = file access still possible

That's nice, however the problem is with the beta users:

  • 2020.08.21 (current production) -> 2022.01.02 (Current beta - without preserve flag) -> 2022.01.10 (Upcoming beta - with preserve flag) = no file access anymore

Means:

  • Problem will stay for beta users, which already installed 2022.01.02 unless someone has an idea how to fix it.
  • I will immediately replace the old beta version by the new one

@Lineflyer
Copy link
Member Author

Beta 2022.01.10 has been pushed to beta testers on Google Play and is currently digested/checked by Google Play.

@Lineflyer
Copy link
Member Author

I have issued the following posting on Facebook and also sent it to allow beta users previously contacting us on support mail. IMHO this is the only way to get on the "preserve train" again:

Thanks to your feedback we were able to identify a major problem with file access in the current beta version.
On newer Android versions the first WhereYouGo beta version (2021.01.02) is no longer able to access files from random directories (like custom cartridge directory and offline maps).

Unfortunately this problem can`t be undone by another update due to Google file access restrictions. We are really sorry for that trouble, but there is a lot still to be done to modernize WhereYouGo.

Beta users, which have the above described problems should do the following steps:

This new beta version should keep file access available but only if you are upgrading from the previous version.
Sorry for the inconvenience and please share to all WhereYouGo beta users!

@Lineflyer
Copy link
Member Author

The newer beta version 2022.01.10 seems to perform good. We even got some confirmations, that the above described scenario reenables file access to upgrading users.

So the best we can do for now seems to be to publish the current beta.

This will fix some bugs and enable Android 12 installations to use GPS again.
The downside however is, that new installations will be affected by following limitations/issues:

  • No offline mspa available
  • Cartridges only storable in default directory and only via in-app download

Given the fact, that there are almost no new-installations at the moment but a larger audience with Android 12 problem, this is probably the way to go for now, hoping that we get scoped storage into WhereYouGo next months.

Will publish on the weekend if no one objects.

Side info:
The publish will be combined with a legacy release for API16-20, see #333 (comment)

@ztNFny
Copy link
Contributor

ztNFny commented Jan 14, 2022

Cartridges only storable in default directory and only via in-app download

Maybe an "import from sdcard" can be added as a "cheap"workaround for this?

@Lineflyer
Copy link
Member Author

I think not, because we cannot access any files anymore.

@Lineflyer
Copy link
Member Author

Lineflyer commented Jan 14, 2022

Release ongoing for 2022.01.14 (Android 5+) and 2022.01.14-legacy (Android 4.1 to 4.4):

  • Check/Insert correct version name as headline in /src/main/assets/news.xml.
  • Check/Complete the versions changelog in src/main/assets/news.xml (will be shown in the app)
  • Build release on CI server
  • Perform smoke test with resulting whereyougo-release.apk before continuing
  • Upload and publish whereyougo-release.apk to Google Play
  • Tag the release on Github (this will also trigger a new release on F-Droid)
  • Publish the release on Github including upload of whereyougo-release.apk to Github
  • Post release info to Facebook as soon as update is available on Google Play

@Lineflyer
Copy link
Member Author

Google Play is now digesting:

  • 2022.01.14 (20220114) for Android 5.0 and above
  • 2022.01.14-legacy (20220105) for Android 4.1 to 4.4

Will close once available.

Once again, the limitations known are:
If you do not come from the upgrade path 2020.08.21 (or earlier) to this version, there will be no file access. This means, no offline maps and cartridges only via in-app download to default directory.
Needs to be solved by fixing #309

@Lineflyer
Copy link
Member Author

Release is done. Now proper file access should be highest priority.

@Lineflyer Lineflyer unpinned this issue Jan 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback required Issue requires feedback of the author or another user
Projects
None yet
Development

No branches or pull requests

5 participants