Meecast / meecast

MeeCast - multiplatform highly customizable open source weather forecast client based on OMWeather code. Copyright (C) 2006-2024
GNU Lesser General Public License v2.1
29 stars 18 forks source link

Fixes for SailfishOS 4 by @carmenfdezb #39

Closed Olf0 closed 1 year ago

Olf0 commented 1 year ago

Wow, thank you @carmenfdezb! See https://github.com/Meecast/meecast/compare/sailfishos...carmenfdezb:meecast:sfos4-fixes, plus a Meecast 1.1.32 release of this. Really excellent, the only thing I am not completely happy about is to unconditionally (i.e., statically) "Lockscreen option isn't needed in sfos 4 -> disabled", because Jolla 1 users (the few remaining) are stuck on SailfishOS 3.4.0 and some community ports also ceased to be maintained on various SFOS 3.x releases. When it comes to fixing other things (i.e., not specifically SFOS4-related), one would have to pay attention to submit them to all SFOS-branches, if there are multiple, hence I believe the development for SailfishOS should be kept in a single sailfishos branch.

P.S.: I am considering to gather a few applications for SailfishOS which became unmaintained and which I love to use under the Storeman-developers organisation or to create a new GitHub organisation for that. The whole aim would be to provide minimal maintenance (i.e., keep these apps running acceptably under recent SFOS releases) and to make things easier for developers, by employing a GitHub CI workflow, using Transifex for translations (even though I don not like Atlassian at all; but lacking an alternative, what else can one do?) etc. @nephros, @b100dian and me have been doing this for Patchmanager, @nephros supports me doing that for Storeman, potential candidates are Mashka (easy, small), MeeCast, AlienDaivik-Control (might require some Android know-how), FileCase and DailyComics.

The aim is not to fork these repos, but to convince the repo owners, either to grant others admin rights to the original repo or to transfer that repo to a GitHub organisation, where the original developers plus a maintenance core team are provided with full admin rights for it. The latter is more elegant and organisationally flexible, plus by transferring, all issues, PRs etc. are also transferred, in contrast to "forking", which only clones the git repo proper, without all the GitHub extras; furthermore all web-accesses to the old repo are redirected to the transferred one.

The hard thing is to trigger or convince the original repo owner(s): Petr Tsymbarovich (@mentaljam) did that with Storeman and Storeman-Installer, but did not answer my request to also do that with Mashka and Beerware, Coderus preferred to provide @nephros, @b100dian and me with admin access to the original repo (well, the process was was a bit more convoluted, but that is the result), Matias Perez (@CepiPerez) provided me with commit rights, but not with admin rights for his FileCase repo, hence I cannot add people to the team there or transfer it to a GitHub "organisation" (at Matias' choice), and I still have to ask Damien Tardy-Panis (@tardypad) and Oleg Linkin (@Maledictus) WRT DailyComics for which PRs have been piling up since March 2020 (or try address them via email, the addresses are denoted on their GitHub account pages).

What makes these considerations tricky for Meecast, is the fact that SailfishOS is only one of many platforms: While most of the other ones are dead, at least the Linux desktop appears worth being retained (I would tend to set the other branches to read-only, which can be undone at any time). I would like to hear @vasvlad's (Uladzislau Vasilyeu) opinion on that, but unfortunately he did not react in the last couple of years, while I had conversations with him more than five years ago. OTOH, a GitHub organisation Meecast already exists, which makes it easy to share admin responsibilities for that (and makes a repo transfer more or less superfluous), if he would provide, e.g., me with these (I can organise the rest, i.e., providing a few other trustworthy people with admin rights).

@carmenfdezb, as I value you as calmly and responsibly acting and you have been contributing to SailfishOS apps for many years, would you be willing to be part of such a team in order to share the admin workload (which is small, as everything is voluntarily)? Most importantly IMO is to have at least three people which are basically reachable in case some action becomes necessary, because one cannot achieve much with repos, whose owners do not respond to issues, PRs etc. at all.

carmenfdezb commented 1 year ago

Wow, thank you @carmenfdezb! See sailfishos...carmenfdezb:meecast:sfos4-fixes, plus a Meecast 1.1.32 release of this. Really excellent, the only thing I am not completely happy about is to unconditionally (i.e., statically) "Lockscreen option isn't needed in sfos 4 -> disabled", because Jolla 1 users (the few remaining) are stuck on SailfishOS 3.4.0 and some community ports also ceased to be maintained on various SFOS 3.x releases. When it comes to fixing other things (i.e., not specifically SFOS4-related), one would have to pay attention to submit them to all SFOS-branches, if there are multiple, hence I believe the development for SailfishOS should be kept in a single sailfishos branch.

Thank you for your kind words. You are right, this aims to avoid to enable this option for sfos 4 devices, because I enabled this option in my Xperia 10 II by mistake and it does weird things, screen blinks when I move from events page to homescreen and viceversa. To be honest, I don't know how to do that, maybe someone with more experience can help and know how this option is visible only for <sfos4 users.

@carmenfdezb, as I value you as calmly and responsibly acting and you have been contributing to SailfishOS apps for many years, would you be willing to be part of such a team in order to share the admin workload (which is small, as everything is voluntarily)? Most importantly IMO is to have at least three people which are basically reachable in case some action becomes necessary, because one cannot achieve much with repos, whose owners do not respond to issues, PRs etc. at all.

Of course, you can count on me for being part of the team, but you have to know that I'm a newbie and I do small things, but I would do the best :)

Olf0 commented 1 year ago

Of course, you can count on me for being part of the team, but you have to know that I'm a newbie and I do small things, but I would do the best :)

How many more years do you want to define yourself as a newbie? :wink: That time is long over! :stuck_out_tongue_winking_eye:

More seriously: Your C++ coding skills are really beyond mine.

But the most important thing is a core team of people who trust each other, especially not to perform any quick & dirty stunts, e.g., out of panic or negligence. Rather take your time to think and ask for a second opinion, which is usually available within a couple of days.

CepiPerez commented 1 year ago

Sorry for the off topic. Afaik I can't add admins to a personal repo. @Olf0 I can transfer filecase ownership to you if that helps in any way.

poetaster commented 1 year ago

P.S.: I am considering to gather a few applications for SailfishOS which became unmaintained and which I love to use under the Storeman-developers organisation or to create a new GitHub organisation for that. The whole aim would be to provide minimal maintenance (i.e., keep these apps running acceptably under recent SFOS releases) and to make things easier for developers, by employing a GitHub CI workflow, using Transifex for translations (even though I don not like Atlassian at all; but lacking an alternative, what else can one do?) etc.

I was about to start working on meecast issues since I have parallel work on my small client and @carmenfdezb pointed me at this thread.

I have one question @Olf0 ... why not use the https://github.com/sailfishos-chum repo? Not that it's that important.

For my part, I'm just going to re-clone from this repo and begin with a couple of small patches here.

Olf0 commented 1 year ago

I have one question @Olf0 ... why not use the https://github.com/sailfishos-chum repo?

Yes, another viable alternative. I did not mention it out of the gut feeling that I do not want to interfere with Piggz's ans Rinigus' way of handling things, and I constrained my thinking a bit too much to organising a team at GitHub "organisation" level. Thanks for making me rethink that, because this can be handled at repo level, too. Though then one will have to replicate that team setting work for each app (= repo) the team shall have access to. Well, lots of option to choose from.

But all these are secondary considerations, because the focus is currently on triggering a reaction by the repo owners of their abadonware in order to get the repo transferred or gain administrative access to avoid loosing all GitHub issues, PRs, releases and all other non-git data by simply cloning ("forking" in GH-parlance).

poetaster commented 1 year ago

But all these are secondary considerations, because the focus is currently on triggering a reaction by the repo owners of their abadonware in order to get the repo transferred or gain administrative access to avoid loosing all GitHub issues, PRs, releases and all other non-git data by simply cloning ("forking" in GH-parlance).

I agree. I have to admit that in general, where I've obtained a response, the developer actually stepped up and the whole repo issue did not occur. The rest (the list is out of control) I have the feeling just don't have time or interest.

In any case, I'll do some testing on chum with a clone of this repo and simply communicate my progress in that regard. Unless you have the spare cycles and wish to take a crack at it?

Olf0 commented 1 year ago

In any case, I'll do some testing on chum with a clone of this repo and simply communicate my progress in that regard.

This sure fine and there is no need to "communicate [your] progress" concurrently to making this progress, because communication should not slow down your progress. Though I am always curious, it is absolutely sufficient for "communicat[ing] [your] progress" if it lastly results in a PR to this original Meecast repo, so the new work can be easily found by anybody interested; for exactly this reason I created this PR with Carmen's work.

Unless you have the spare cycles and wish to take a crack at it?

LOL. But thank you for asking.

Cheers!

poetaster commented 1 year ago

for exactly this reason I created this PR with Carmen's work.

yes, I will test with my changes for chum in a fork of this repo but upstream back here with a PR as soon as we have working releases/tags.

LOL. But thank you for asking.

Can't blame me for trying!

Cheers!

vasvlad commented 1 year ago

Hi all, Can @carmenfdezb create pull request for including his patch to Meecast?

carmenfdezb commented 1 year ago

Hi @vasvlad! It's great to see here! I've just created a pull request with all changes I made. Thank you so much!

vasvlad commented 1 year ago

@carmenfdezb or @poetaster , tell me about currently correct way for build package for SailfishOS. I've found this documentation: https://github.com/sailfishos-chum/main/blob/main/GettingStarted.md . But I can't find user lbt in IRC channel #sailfishos to register me in https://build.sailfishos.org/

carmenfdezb commented 1 year ago

Sorry, I don't have an user in obs and I don't know how to contact to lbt, maybe from sailfish forum.

Olf0 commented 1 year ago

@vasvlad, nice to hear from you, to see that you still care about MeeCast and that you seem to keep maintaining it.

@carmenfdezb or @poetaster , tell me about currently correct way for build package for SailfishOS. I've found this documentation: https://github.com/sailfishos-chum/main/blob/main/GettingStarted.md

This is the documentation for the SailfishOS:Chum community repository. A local build (e.g., carried out by the SailfishOS-SDK), a build by a GitHub CI workflow (see, e.g., the one for Patchmanager), the SailfishOS-OBS etc. are all viable ways to create an RPM file for SailfishOS.

But I can't find user lbt in IRC channel #sailfishos to register me in https://build.sailfishos.org/

You can write a direct message to user lbt at the SailfishOS Forum. IIRC that works best. Side note: Thanks for indicating that solely the IRC channel is mentioned, I will update the SailfishOS:Chum documentation accordingly. Edit: Done via commits https://github.com/sailfishos-chum/main/commit/f1c490bb167e9e1136c5ef0ffaba0ba9b6285d0c and https://github.com/sailfishos-chum/main/commit/858080464b26036275412892b544d3ffaed88b3a.

Nevertheless, you should also consider to update the Meecast package at OpenRepos, because many still obtain software from there (I have the impression, that almost all users of SailfishOS:Chum are also using OpenRepos, hence you likely do not need both distribution paths). Mind that software built at SailfishOS:Chum OBS-repo has its vendor set to chum and software built at the SailfishOS-OBS (apart of "Chum") to meego; both can be overridden in the RPM spec file, but not unset (or set empty). As any vendor change breaks the update path for users, you may want to build separately with no vendor set, if the current binaries at OpenRepos have no vendor set (rpm -qi <RPM file> tells by not mentioning a vendor) and you want to provide their users with updates. BTW, when we fully understood this consequence of building and distributing software via the SailfishOS-OBS rsp. the SailfishOS:Chum community repo, for Patchmanager we ended up setting the vendor to chum for all builds, so updates can be obtained from any source, I set it statically to meego for Storeman (both had the vendor not set (= unset) for binaries built outside of the SailfishOS-OBS, hence a vendor change and a broken upgrade path for some was inevitable) and for sfos-upgrade I already had the vendor set (to olf) in the RPM spec file, hence I kept it for building at any location including the SailfishOS-OBS and thus also SailfishOS:Chum.

TL;DR: Starting to utilise the SailfishOS-OBS rsp. the SailfishOS:Chum community repo for building and distributing software must be well considered before doing so.

poetaster commented 1 year ago

@carmenfdezb or @poetaster , tell me about currently correct way for build package for SailfishOS. I've found this documentation: https://github.com/sailfishos-chum/main/blob/main/GettingStarted.md . But I can't find user lbt in IRC channel #sailfishos to register me in https://build.sailfishos.org/

Hi! I'm currently testing building on obs and will report when I've got it running. It looks like the spec file will need minor mods and I'm looking at some path cleanup. As @Olf0 mentions, some thought has to be put into using chum.

If lbt is not available on irc you can ping @mal or @rainemak on irc who should be able to further the request.

I'm also testing using coderus build images with a github action which I'll report on as soon as I've got the bugs out.

poetaster commented 1 year ago

I'm also testing using coderus build images with a github action which I'll report on as soon as I've got the bugs out.

AND, now I see you are already on it :) Ok. I'll wait a bit before I go any further :)

vasvlad commented 1 year ago

hi I've just uploaded the new version (v1.1.33) of Meecast for Sailfishos to openrepos https://openrepos.net/content/vasvlad/meecast-sailfishos

https://github.com/Meecast/meecast/releases/tag/v1.1.33

Please try it on SailfishOS 4.

carmenfdezb commented 1 year ago

Hi @vasvlad! Thank you for the update, I've installed it from openrepos.net and it works fine, but meecast-daemon and meecast-event must be updated too in openrepos. I've installed them (meecast-daemon and meecast-event) from https://github.com/Meecast/meecast/releases/tag/v1.1.33 and I can confirm that it works perfectly.

vasvlad commented 1 year ago

Fine. I'm going to release the version 1.1.34 which will contain new releases of meecast-daemon and meecast-event.

poetaster commented 1 year ago

Cool! Thanks a bunch! So far I've failed to get either obs or github actions running properly. The seems mostly to have to do with the subdirs laout for builds. At different point both obs and github can't find make output and break off. I'll see if I can get back to it next weekend or toward the end of the week.

a-dekker commented 1 year ago

1.1.33 causes a coredump when trying to update on my Sony Xperia XA2 Plus. Reverting to 1.1.32 and the coredump/crash is gone.

carmenfdezb commented 1 year ago

It's weird, rpms downloaded from https://github.com/Meecast/meecast/releases/tag/v1.1.33 is working fine in my Xperia XA2 and my Xperia 10 II, both with SailfishOS 4.5. Did you do a clean install? Which version of Sailfishos are you using?

a-dekker commented 1 year ago

The version from github has the same issue for me as on OpenRepos. Using the SFOS 4.5.0.21 De-installed Meecast, removed ${HOME}/.config/harbour-meecast. Does not make a difference. What's your user on your xperia xa2, nemo or defaultuser?

carmenfdezb commented 1 year ago

The version from github has the same issue for me as on OpenRepos. Using the SFOS 4.5.0.21 De-installed Meecast, removed ${HOME}/.config/harbour-meecast. Does not make a difference. What's your user on your xperia xa2, nemo or defaultuser?

It's nemo in my XA2 and defaultuser in my Xperia 10 II. Did you install the three rpms: harbour-meecast, harbour-meecast-event and harbour-meecast-daemon? After that, did you restart homescreen o reboot your phone?

a-dekker commented 1 year ago

Check, I also still have the user nemo, so that cannot be the the issue. I did update the meecast-daemon to the latest version for the record. But I think that is only relevant for the meecast-event. And I have not installed meecast-event, that is a separate add-on I do not use. The issue is related to the harbour-meecast app and its weather data update (looking at the crash moment). I did not mention the exact issue very clearly in my first post reading it back. P.s. did also reboot the phone, no change in behavior.

carmenfdezb commented 1 year ago

Sorry, I thought you had an old version of meecas-event and meecast-daemon installed and for this reason, it wasn't working for you. I don't understand why it doesn't work for you, all fixes I did for meecast were about the path for diferent users (nemo or defaultuser) and for the library (lib64 for aarch64 and lib for armv7hl)

a-dekker commented 1 year ago

Thanks for thinking along, I had hoped for a clue related to what has changed recently. I might do some debugging myself if I can find some time.

Olf0 commented 1 year ago

@CepiPerez, many thanks for replying. I hope you are well.

Sorry for the off topic.

As I was the one who started this off-topic side note, I am the one to blame, I guess. :wink:

Afaik I can't add admins to a personal repo.

Sorry, I had not checked this well enough before: Yes, one can only add "Collaborators" to a personal GitHub repository, which provides write access to that GitHub repository, but not access to its settings in the GitHub web-frontend. I assume this is the status I currently have for Filecase and Flowplayer.

@Olf0 I can transfer filecase ownership to you if that helps in any way.

Yes, please do transfer the Filecase repository to the organisation "Cepi's SailfishOS apps", via "General settings: Danger zone: Transfer ownership". Note that you seem to need access to this organisation for that, so please accept my renewed invitation to this organisation, first (I created this organisation for this purpose a while ago, unfortunately invitations time out after 7 days). This also ensures, that you do not loose administrative power over Filecase, only others (right now, just me) also gain this power, as the primary goal is to eliminate a human "single point of failure". Additionally, as most settings are not accessible to collaborators of a personal repository, transferring a personal GH-repo to a GH-repo owned by an organisation allows for sharing administrative tasks like, e.g., setting up or adapting Transifex integration, setting up a webhook, creating GitHub-secrets, etc.

You may also consider transferring Flowplayer to this organisation.

If you want different name for this organisation or have an idea for a proper avatar picture for it, please denote that.

Thank you very much!


Sorry to all other readers here, that I abused this thread for this.

a-dekker commented 1 year ago

@carmenfdezb the issue seems to hit me when I use openweathermap.org as a source. Could you try to add a location using this provider and then try to refresh? Still a bit strange it doesn't seem to bite me with version 1.1.32.

Looking at the xml data, it is incomplete. but that also happens to other providers that do not crash meecast.

carmenfdezb commented 1 year ago

Hi @a-dekker! Yes, I've just added a location with openweathermap.org provider and the weather data never finish to update. But I don't understand why it's working for you with v1.1.32 if this part of code didn't change

a-dekker commented 1 year ago

But no crash? Just tested again. I added Madrid using openweathermap.org with v1.1.32 and I can retrieve weather data no problem. Updated to v.1.1.33 next and a data refresh then leads to a crash/incomplete xml data. At least avoiding openweathermap.org is a workaround.

vasvlad commented 1 year ago

But no crash? Just tested again. I added Madrid using openweathermap.org with v1.1.32 and I can retrieve weather data no problem. Updated to v.1.1.33 next and a data refresh then leads to a crash/incomplete xml data. At least avoiding openweathermap.org is a workaround.

I confirm this problem. I’m going to explore it.

vasvlad commented 1 year ago

hi I've just uploaded the new version (v1.1.34) of Meecast for Sailfishos and other packages to openrepos https://openrepos.net/content/vasvlad/meecast-sailfishos https://github.com/Meecast/meecast/releases/tag/v1.1.34

carmenfdezb commented 1 year ago

Thank you so much, @vasvlad! I've updated from openrepos and it works fine. I've tested Openweatermap.org and weather.com providers and it works fine too.

vasvlad commented 1 year ago

fixed in the version v 1.1.34

a-dekker commented 1 year ago

Sorry to report, but it still crashing in the same way

a-dekker commented 1 year ago

This time a build with the most recent code by myself fixed the crash on openweathermap.org for some reason. I guess we will have to leave it at that.