Stability of 2025.02-dev
Hey guys, as the February release is coming upon us fast - how stable is the development branch at the moment. There seem to be many big changes under the hood that need to be stabilized till Feb.
How safe is it to change to the develop branch at the moment.
E.g. @Michael Vogel is usually developing on one of his installations, but does not update because of these big changes.
xy..
Als Antwort auf Tobias • • •Hypolite Petovan
Als Antwort auf Tobias • • •developafter the 2024.12 release. Recent changes have been smaller.Tobias
Als Antwort auf Hypolite Petovan • • •Hypolite Petovan
Als Antwort auf Tobias • • •@Tobias I'm not sure what you expect me to reply with this passive-aggressive tone, but none of the recent refactoring changes are intended to be breaking changes.
The fact that the
developbranch has been mostly stable up to recently is more an outlier than what should be expected at all times. We do warn Friendica administrators thedevelopis risky, and the general absence of issues doesn't change this assessment.Since the author of the recent refactoring doesn't run a node themselves (which they aren't under any obligation to do), then someone™️ needs to run these changes on their own node to test them in the wild, which I'll always be grateful for. And I won't look down on admins opting out of the
developbranch either temporarily or permanently.Tobias
Als Antwort auf Hypolite Petovan • • •sorry @Hypolite Petovan - I had no aggression intended. You have followed the develop branch more closely.
Thanks for the insight!
A problem of the currently not so clear situation is that @Michael Vogel is not moving his development environment from the stable branch.
Hypolite Petovan
Als Antwort auf Tobias • • •developbranch in production and can confirm its current stability?Steffen K9 🐰
Als Antwort auf Hypolite Petovan • • •Michael 🇺🇦
Als Antwort auf Hypolite Petovan • • •art4 test-account
Als Antwort auf Hypolite Petovan • •For information only: I do run 2 test servers, but not as productive as I would like. (Server 1 -from which I post atm- runs 2024.08, server 2 runs
developbranch) I will have to shut down my mastodon server in the next 3 months and my plan is to switch to #Friendica. But before that I would like to have more insight and quality in the code so I can trust it. That's why I'm heavily pushing the refactoring.One can follow the refactoring here: github.com/friendica/friendica… And one can make sure that the refactoring shouldn't break anything. The only thing that was a BC break should be in the App class as mentioned. The logic was moved into an AppHelper and replaced DI::app() with DI::appHelper(). All official addons are adjusted. This only might break 3rd-party addons. And to solve this problem in the future I propose to add an BC promise, see github.com/friendica/friendica…
tl;rd:
- The quality was improved (much less warnings)
- If one is using the App class, use the dropin-replacement using DI::appHelper()
- There should no more breaking changes, switch to
developshould be unproblematic.Friendica Developers hat dies geteilt.
art4 test-account
Als Antwort auf Tobias • •Friendica Developers hat dies geteilt.
Matthew Exon
Als Antwort auf art4 test-account • • •cd79d26ed5. I'm finding that my addons are broken. It seems thatloadHooks()is not being called in the worker, now that it's a console command. I haven't dug any further than that. It could be that it's already been fixed, although I don't see any commits along those lines. Or is this a deliberate decision and the addons should be adapted? The two hooks I most need arepost_remoteandpost_remote_end.Hypolite Petovan
Als Antwort auf Matthew Exon • • •art4 test-account
Als Antwort auf Matthew Exon • •Not sure about the exact addon that might has broken I looked at the mailstream addon:
git.friendi.ca/mexon/friendica…
The addon uses the old
Friendica\App. Replace it withFriendica\AppHelperlike this:Friendica Developers hat dies geteilt.
Matthew Exon
Als Antwort auf art4 test-account • • •I will do that, and that makes sense, but I'm pretty sure it's not related to this particular problem.
When a worker retrieves an RSS item and creates a new item from it, it should call
post_remote. And in general, workers should call a bunch of hooks in different contexts. But without loading the hooks, it never will do that. It should be fairly easy to experimentally confirm this, with anything that an addon has to do in a worker. Or even just by logging the hooks that get called without even activating any addons.I was wondering why this isn't causing more obvious problems, then I realised that "normal" AP items arrive as a push. It's usually only RSS feeds that get pulled by a worker.
I think I'll probably have to look into this a bit more, but it'll take time.
art4 test-account mag das.
art4 test-account
Als Antwort auf Matthew Exon • •I'd like to look deeper into this issue on git.friendi.ca, but I cannot register an account. 🙈
art4 test-account
2025-01-20 20:02:09
Friendica Developers hat dies geteilt.
Matthew Exon
Als Antwort auf art4 test-account • • •It is related to the
App->AppHelperrefactoring, for sure. What used to happen was this stack trace:#0 /var/www/friendica/src/App.php(322): Friendica\\Core\\Hook::loadHooks()
#1 /var/www/friendica/src/App.php(289): Friendica\\App->load()
#2 [internal function]: Friendica\\App->__construct()
#3 /var/www/friendica/vendor/level-2/dice/Dice.php(132): ReflectionMethod->invokeArgs()
#4 /var/www/friendica/vendor/level-2/dice/Dice.php(96): Dice\\Dice->Dice\\{closure}()
#5 /var/www/friendica/src/DI.php(79): Dice\\Dice->create()
#6 /var/www/friendica/src/Core/Worker.php(536): Friendica\\DI::app()
Worker.phpno longer callsapp(), it callsappHelper(). I guess the dependency injection library doesn't realise thatloadHooks()is supposed to be called during initialisation? All this dependency injection magic is where I get very lost. Quite likely you could eyeball it and figure out how initialisation of the hooks is supposed to happen.Matthew Exon
Als Antwort auf Matthew Exon • • •art4 test-account mag das.
Tobias
Als Antwort auf art4 test-account • • •art4 test-account mag das.
art4 test-account
Als Antwort auf Tobias • •Friendica Developers hat dies geteilt.
Hypolite Petovan
Als Antwort auf art4 test-account • • •Matthew Exon
Als Antwort auf art4 test-account • • •I confirmed that your fix works, thanks!
While testing that though, I noticed another bug: the moderation users page isn't working, it infinite redirects. Reverting
78444ff2fixed it. I'm not sure if you want me to file bug reports for issues like this, or if discussion belongs on this thread?art4 test-account mag das.
art4 test-account
Als Antwort auf Matthew Exon • •I'd recommend that we switch to the repository for the details.
Friendica Developers hat dies geteilt.
Hypolite Petovan
Als Antwort auf art4 test-account • • •TekNo ⚝ aEvl
Als Antwort auf Matthew Exon • • •I reported this as a post, thanks for the fix.
art4 test-account mag das.