commits
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/158
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/156
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/155
This updates the updater so it will notify if anything odd is hapening with either the docker compose or environment exmple files. These are usually the main breaking changes people might need to be aware so hopefully covers the improtant bits.
It will also update the docker compose file autoamtically if it can.
Additional changes are some updates in the docs both for this feature and the one before
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/154
Due to us using a multi-workspace build the package-lock.json was not part of the docker context, meaning it wasn't used when it built the packages internally. This could lead to supply side attacks, where we accidentally download a later - offending - package version during docker builds
Had to update some packages to make sure backend and frontend are in sync.
Note: requires the docker compose files to be overridden. I'll see I can make the update script more clever to get that sorted
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/150
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/152
Technically we would need .well-known for proper operation, and while FediDB currently passes if they fix their robots parser based on the new RFC this will be required.
Also unblocks the article endpoint so real crawlers can read articles as well
* cb/development:
feat: overflow long user urls
feat: slightly adjust gaps more
fix: username gap
fix: line height messing up spacing
feat: show account posting woot
refactor(post editor): styles
Added an about page
add french trans lation in the settings drop down menu
* cb/development:
Fix bluesky search
updated french trans lation
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/151
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/141
Converts the following static pages into posts / articles so they can be edited by site admins easily:
* About
* Privacy policy
* Welcome message (the one you get on the top of dashboard when you're signed out)
More specifically:
* The old single about / privacy policy page was split into two, an About/Rules/Blocked servers page, and another Privacy Policy one. This mimics a bit how Mastodon is set up
* The legalese compatible privacy policy page was created from the Mastodon one, with a few changes to make sure it's still valid for Wafrn. It also links to the Bluesky AT Protocol privacy policy as well to cover everything
* The rest of the About/Rules page remains as-is, with a couple minor fixes and some additions, like telling the user who the admin is. It also links to the admin user for GDPR purposes instead of the fixed email we had before.
* The welcome message now inluces Wafrn's taglne, but otherwise it should be the same. And now because it comes from the database it doesn't link anymore to an invalid user / invalid avatar on instances that are not the main
Also we didn't really have articles before. We still don't have but the support is now slightly better:
* A new privacy setting called "LinkOnly". Similar to unlisted, but thee posts won't even show for your followers, so perfect for these system posts
* Fixing the article API on both the backend and frontend. Made the "blog" optional, in which case it would point to the admin user. This should allow single-user instances to have a slightly nicer urls for their main articles
* A new column called slug. While I know the original idea was to use the title column for this purpose, but that is now used for other purposes, so adding a unique constraint would have caused potential issues. The new constraint is on the slug - no two local users can have the same slug - which should be okay, especially how the article url is set up.
To support articles properly what's still missing:
* When creating posts the new "LinkOnly" privacy setting is disabled. It might be possible to re-add it if people want to create articles
* The ability to add slugs (or calculate the slug from the article's real title)
* Some way of listing a blog's article, as otherwise they would just float in the void or something
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/129
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/128
Accidentally broke this while doing the logic refactor as it was searching for the handles without the domain name. This fixes it
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/117
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/116
We have some business logic around determining if a user is local, remote, bluesky or fedi. These checks usually determine these based on the presence of '@' in the string with a couple of other checks. Since these checks are scattered around the codebase it is becoming hard to refactor these features if there would be a need - for example if we have to introduce a new type of user. This refactors the backend code to move all of these logix into the `User` class in one place.
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/115
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/114
This updates the updater so it will notify if anything odd is hapening with either the docker compose or environment exmple files. These are usually the main breaking changes people might need to be aware so hopefully covers the improtant bits.
It will also update the docker compose file autoamtically if it can.
Additional changes are some updates in the docs both for this feature and the one before
Due to us using a multi-workspace build the package-lock.json was not part of the docker context, meaning it wasn't used when it built the packages internally. This could lead to supply side attacks, where we accidentally download a later - offending - package version during docker builds
Had to update some packages to make sure backend and frontend are in sync.
Note: requires the docker compose files to be overridden. I'll see I can make the update script more clever to get that sorted
Converts the following static pages into posts / articles so they can be edited by site admins easily:
* About
* Privacy policy
* Welcome message (the one you get on the top of dashboard when you're signed out)
More specifically:
* The old single about / privacy policy page was split into two, an About/Rules/Blocked servers page, and another Privacy Policy one. This mimics a bit how Mastodon is set up
* The legalese compatible privacy policy page was created from the Mastodon one, with a few changes to make sure it's still valid for Wafrn. It also links to the Bluesky AT Protocol privacy policy as well to cover everything
* The rest of the About/Rules page remains as-is, with a couple minor fixes and some additions, like telling the user who the admin is. It also links to the admin user for GDPR purposes instead of the fixed email we had before.
* The welcome message now inluces Wafrn's taglne, but otherwise it should be the same. And now because it comes from the database it doesn't link anymore to an invalid user / invalid avatar on instances that are not the main
Also we didn't really have articles before. We still don't have but the support is now slightly better:
* A new privacy setting called "LinkOnly". Similar to unlisted, but thee posts won't even show for your followers, so perfect for these system posts
* Fixing the article API on both the backend and frontend. Made the "blog" optional, in which case it would point to the admin user. This should allow single-user instances to have a slightly nicer urls for their main articles
* A new column called slug. While I know the original idea was to use the title column for this purpose, but that is now used for other purposes, so adding a unique constraint would have caused potential issues. The new constraint is on the slug - no two local users can have the same slug - which should be okay, especially how the article url is set up.
To support articles properly what's still missing:
* When creating posts the new "LinkOnly" privacy setting is disabled. It might be possible to re-add it if people want to create articles
* The ability to add slugs (or calculate the slug from the article's real title)
* Some way of listing a blog's article, as otherwise they would just float in the void or something
We have some business logic around determining if a user is local, remote, bluesky or fedi. These checks usually determine these based on the presence of '@' in the string with a couple of other checks. Since these checks are scattered around the codebase it is becoming hard to refactor these features if there would be a need - for example if we have to introduce a new type of user. This refactors the backend code to move all of these logix into the `User` class in one place.
Reviewed-on: https://codeberg.org/wafrn/wafrn/pulls/114