Skip to main content


Weird name for a girlfriend but I'm progressive, I don't judge.
haha, I think I will try to call her with that name and see what happens :D


New Github/Gitea Label


!Friendica Developers
I'd like to introduce `Refactoring` as a new label. I feel like we should distinguish between "real" enhancements and "just" refactorings. What do you say?

Friendica Developers reshared this.

We never had any regression issue during refactoring tasks. 🤥
@Philipp Holzer Refacturing tasks are not fixing (maybe they even break some old stuff, AKA regressions) any code nor they add any new functionality. Therefore they can be seen as neither a bug (as nothing is fixed, just heavily rewritten and/or cleaned up) nor a new feature (as nothing new is added).


Locks with hostname


!Friendica Developers
Calling @Hypolite Petovan and @Michael Vogel for support at https://github.com/friendica/friendica/pull/10601

I do want to alter the way how locks are working to make parallel hosts/nodes possible. I think the logic itself is pretty straight forward and final.

BUT - how can I upgrade the lock table without using it during the update process itself, it's a gordon knot :-/
I think about using a new method at DBStructure: https://github.com/friendica/friendica/pull/10601/files#diff-eda5315231a6379d57916642e302e3525c3de2161e7dedb209526c7cfc8afcd6R543 and execute it before using the lock.

Do you think it works? At least my local nodes are working, but I'm totally unsure about it yet ..

I'd like to finish this PR for 2021.12 as another preparation for making Friendica "cluster ready" :D
This entry was edited (4 months ago)

Friendica Developers reshared this.

@Michael Vogel @Hypolite Petovan @Friendica Developers but wouldn't that possibly create a race condition, because a 2nd worker would start another update and wouldn't find the lock anymore so update it again?
You could add a functionality to disallow all locks.


Questions Depository


!Friendica Developers
Calling @Hypolite Petovan for help :-)

Why did you introduce a separate "Navigation" directory under "src"?

My guess: this is really a DDD practice using a directory for a use cases and define the different class-types under it (creating boundaries between differently purposed code). But if so, why don't you include the Modules/Notification as well?
And "Navigation/Notification" triggers for me, that the focus of this class is only the notifications at the top of the navbar, am I right?
I'm trying to follow your pattern and refactor the ProfileField / PermissionSet.

Would it be a new "src":
"src/Profile" , where PermissionSet and ProfileField are Entities/ValueObjects ? Or how would you structure these repositories/models?
This entry was edited (4 months ago)

Friendica Developers reshared this.

Aaahh sounds like the "good old" Model View Controller (MVC) pattern:
- Model --> where the business logic is (=> Entity, Depository, ...)
- View --> the presentation layer (=> Renderer / smarty templates)
- Controller --> The logic to show the right business logic (glue between model & view) (=> Modules)
=> And I like it :-)

I'll give it a try after finishing the WebDav class ;-)
I didn't think in so many terms, but it looks like it, indeed!
I'm sorry, I'm mostly thinking that way ^^..

I found even a better one :D