Skip to main content

Friendica Developers reshared this.

Yet another Git-Repo :D

!Friendica Developers

@Tobias - I'd like to commit changes for the computed "docs" page at

Can you create this repo for me and make me admin for it? Thx :-)

Friendica Developers reshared this.

I can, and I did... but you could have done so as well.

Friendica Developers reshared this.

!Friendica Developers

Hi, I'd like to add a new domain `` where we store the whole documentation. It should be versioned, like for the docs of the stable 2022.09 version or for the docs of the develop branch.

I think it would be possible to automatically generate it.

But before, I do need the domain - pinging @Michael Vogel - and a routing to the current vm-instance - pinging @utzer ~Friendica~ :-)

I'd like to generate it automatically during the CI, so the update would be smooth and automatically :-)

Friendica Developers reshared this.

@Philipp Holzer Excellent work on automating updates of documentation, maybe the usual user won't care, but we developers might care.

Friendica Developers reshared this.

Done: :-) .. automatically created/updated/published per CI

Friendica Developers reshared this.

I like the new look! There are a few hiccups but overall looking sharp. Are the doc links from the wiki going to point to this as well?

Friendica Developers reshared this.

@Philipp Holzer @Michael Vogel @utzer ~Friendica~ Oh, even manuals are being updated and searchable. Now it is time to put links into #Friendica code. URL:<branch>/ or only for develop?

Friendica Developers reshared this.

I don't have currently that time, so it's still WIP .. When it's finished, of course there will be a sub-dir for stable releases and develop - and Release candidates, similar to our branch structure :)

Friendica Developers reshared this.

2 Factor & DB plaintext

!Friendica Developers

Hi all, I lost my mobile phone during the last festival and so my TOTP-App was gone forever. Unfortunately, I wasn't aware of my recovery codes, so I thought I would have to reset my accounts of Friendica.

But no! just use select code from 2fa_recorvery_codes where uid = 66 and used is NULL; and voilรก, I used the first code and was back in.

@Hypolite Petovan , isn't this a possible security issue, is it?? Storing such sensible data as plaintext. I think we should save it as hash like for passwords to make it impossible to read it again .. Yes, the downside is that there's no possibility to save recovery_codes from the settings-panel again, but tbh I feel a little bit unsafe, but maybe it's just a feeling :-)

Friendica Developers reshared this.

We hash passwords not just because we want to prevent someone having a database dump from logging in the website depending on this database, but also for the other websites users might use the same password for. There is no such risk for randomly generated recovery codes.

Additionally, the use of the recovery codes necessitates the use of the password (that you still had in your head/password manager), after all it's a second-factor authentication, which means that it can be freely compromised as long as the first factor (the password) is safe.

Still, we can hash these codes and as a result only show them once, it isn't that hard other than requiring someoneโ„ข to spend some quality time on this task.

Friendica Admins reshared this.

Large database

!Friendica Admins
Hi everyone,

last week, I struggled with the size of my database for .. It went full (80GB) .. I added additional 10GB to the volume, but it seems to constantly increase and I think in a few weeks, I will be at the same situation like the last week.

Is there a possibility to shrink the database, or to wipe old data?
I recently deleted about 1.200 spam accounts (and set the register option to approval first ... lessons learned...). Are there leftovers inside the db which I can delete?

It's not that I don't have enough space, but I'm afraid of my backup borg-backup space in the near future ^^

Friendica Admins reshared this.

nope, there're no active relays "Das System hat derzeit keinerlei Relays abonniert."

Friendica Admins reshared this.

Disable the avatar cache in the admin settings. The avatar cache is most likely the biggest table in your database. Also enable a maximum lifetime for posts (See the performance section in the admin settings) with now around 5.000 users has da database size of around 100 GB.
This entry was edited (3 weeks ago)

haha, I think I will try to call her with that name and see what happens :D
What I did:

  • Clicked at "Friendica Developers" under "Forums" inside the left navbar
  • Opened a new Topic per pencil-button

Friendica Developers reshared this.

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?
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).

Friendica Developers reshared this.

Locks with hostname

!Friendica Developers
Calling @Hypolite Petovan and @Michael Vogel for support at

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: 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
Any idea @Michael Vogel ? :) I'm really stuck here and it's one major piece in the puzzle to make Friendica cluster-ready ;-)
@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?

Friendica Developers reshared this.

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 (1 year ago)
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 ^^..

@Philipp Holzer So I can finally setup my @Nextcloud instance as storage back-end for files being uploaded here on my Friendica instance or how do I have understand it? That is I was looking for!
Yes you can :-)

But Disclaimer: I was the only one who tested it yet, so please test it for your own before using it in production

A test Post from Friendica

Hi all, I'm trying to reach Twitter with my new Friendica Twitter plugin :-)
@Hypolite Petovan I got a lot of posts mirrored to my feed as well .. Do you know any other test for twitter plugin?