Commit graph

84 commits

Author SHA1 Message Date
Johann150 35e814fab4
fix: don't use psql 13 functions
The function GEN_RANDOM_UUID was only introduced to built in postgresql
in version 13, however, the installation guide specifies that version 12
should be sufficient.
2023-05-27 11:18:06 +02:00
Johann150 9859537b02
BREAKING migrate note favorites to clips
The following endpoints are removed:
- `api/i/favorites`
- `api/notes/favorites/create`
- `api/notes/favorites/delete`
The following endpoints are changed:
- `api/notes/state`
- `api/users/stats`

closes FoundKeyGang/FoundKey#374

Changelog: Removed
2023-05-26 21:17:04 +02:00
Johann150 4312393169
Revert 'Revert "server: fix user deletion race condition"'
This reverts commit bb3ec8bafe.
2023-05-23 21:49:33 +02:00
Johann150 fe65cba9be
add "nobody" follower visibility
Adds a new follower/following visibility that hides followers even from
yourself.

Changelog: Added
2023-05-20 23:18:57 +02:00
Johann150 94d1cf75aa
server: unify drive object types in database
Minor adjustment: The 'name' columns have the same max length.

Major adjustment: Rename both columns to be "parentId" and update
all references of this name in the backend. API parameters are not
changed, since that would be an unnecessary breaking change.
2023-03-26 11:05:55 +02:00
Johann150 5ad18c8626
server: add migration for movedTo user/notif 2023-03-23 21:10:16 +01:00
Richard "EpicKitty" Bowey 79a9b04d25
put the migration in its place 2023-03-17 16:16:41 +01:00
Johann150 8f5952bb7d
server: handle note visibility in SQL
This allows to check visibility recursively, which should hopefully
solve problems with timelines not showing up properly.

Changelog: Changed
2023-02-20 21:08:47 +01:00
Johann150 7c89e99243
fix registry migration
It can happen that registry items were created at exactly the same time for some reason.
2023-02-11 12:52:28 +01:00
Johann150 3ad6323c23
fix registry migration
closes FoundKeyGang/FoundKey#337
2023-02-05 20:37:06 +01:00
Mia Herkt a8c0e1f827
fix migration for note.url unique index
fixes FoundKeyGang/FoundKey#331

Co-authored-by: Johann150 <johann.galle@protonmail.com>
2023-02-04 11:03:29 +01:00
Johann150 17324e1e94
server: add unique constraint for registry items
fixes FoundKeyGang/FoundKey#335
2023-02-03 00:27:33 +01:00
Chloe Kudryavtsev bb3ec8bafe Revert "server: fix user deletion race condition"
This reverts commit cc83cbe523, reversing
changes made to 8abd3ebec7.

This changeset contains:
* multiple type errors
* a foreign key incompatibility
* breaks outgoing note federation (in at least two ways)
2023-01-30 14:59:24 +01:00
Johann150 cc83cbe523
server: fix user deletion race condition
Changelog: Fixed
Ref: https://github.com/misskey-dev/misskey/issues/7506
2023-01-29 12:53:29 +01:00
Johann150 e7644eb757
server: add index to human readable URL 2023-01-23 19:58:07 +01:00
Johann150 c4b5952788
migrate galleries to notes/clips 2023-01-22 19:44:39 +01:00
Johann150 85e985d13f
server: change data structure to track deletion completion 2023-01-08 21:21:54 +01:00
Norm 5102d0bc2e
chore: remove unused user_group_invite table
Based on `1558257926829-UserGroupInvite.js` but switched `up` and `down`
migrations around.

Closes #314
2023-01-06 02:51:44 -05:00
Johann150 8f09b05e7c
chore: remove reversi database tables
Changelog: Fixed
2023-01-01 22:27:34 +01:00
Andy b023741f50 server: remove integrations field from user 2022-12-06 23:00:08 +01:00
Andy b4b1204f77 server: remove integration-related fields from meta 2022-12-06 21:47:59 +01:00
Johann150 de18c8306d
server: fix token-permissions migration
The table that is affected here was not properly purged of old entries. It only holds
data that is needed while a 3rd party authorization is in progress but not finished.

The code that typeorm generated for this migration is a bit wonky because it should
probably have dropped one column and created another one. But if we clear out all entries
it should work regardless and I'm feeling lazy right now. :P
2022-12-04 19:05:02 +01:00
Johann150 5291f29581 implement OAuth PKCE
This implements Proof Key for Code Exchange a.k.a. RFC 7636.
2022-12-03 10:38:33 +00:00
Johann150 79e3c20189 server: allow to grant tokens with more restricted privileges
This also simplifies API authentication a bit by not having to fetch
the App that is related to a token.

The restriction of 1 token per app is also lifted. This was not a
constraint in the database but it was enforced by the code and
kinda wrong schema the auth_session table had.
2022-12-03 10:38:32 +00:00
Norm 973bd4532b Merge pull request 'server: always enable push notifications' (#235) from enable-push-notifs into main
Reviewed-on: FoundKeyGang/FoundKey#235
Changelog: Changed
2022-11-29 21:51:10 +00:00
Johann150 8130a2a9b1
server: remove deeplIsPro setting
This setting is unnecessary because DeepL free keys can be detected
easily according to <https://www.deepl.com/docs-api/api-access/authentication/>:
> DeepL API Free authentication keys can be identified easily by the suffix ":fx"

Changelog: Removed
2022-11-27 12:12:56 +01:00
Johann150 563f3672a9
server: always enable push notifications
The thing that previously presumably hindered this was that the VAPID
keys had to be set up. Previously admins had to do this, but this is a bad
idea for multiple reasons:
1) The meaning of "public key" and "private key" was not well documented
in the settings.
2) Giving out a private key over the API, even just for admins, sounds
like a bad idea.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
2022-11-21 22:00:53 +01:00
Norm 8cde66b8ac
backend: Add LibreTranslate support 2022-11-19 23:00:33 -05:00
Norm 71b3b5a60c backend: implement not forwarding block activities (#212)
Fixes FoundKeyGang/FoundKey#211

Commits pulled from https://github.com/misskey-dev/misskey/pull/7799

Changelog: Added
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Reviewed-on: FoundKeyGang/FoundKey#212
2022-11-17 21:24:38 +00:00
Norm d411ea6281
backend: make removeAds migration plain JS 2022-11-10 12:56:39 -05:00
Johann150 6f65326b32
chore: synchronize code and database schema 2022-11-03 21:50:55 +01:00
Chloe Kudryavtsev 3d9df839a5 add down-migration for renote mutes 2022-10-11 10:42:39 +00:00
Hélène c414f24a2c feat: per-user renote muting
Changelog: Added
2022-10-11 10:42:39 +00:00
Puniko 186d693385
increase image description limit to 2048 characters
Changelog: Changed
2022-09-24 14:32:07 -04:00
Johann150 35fd970c4a
add column: muted types in thread 2022-09-21 15:52:14 +02:00
Norm 57f4312a27
chore: Change Misskey references to Foundkey
Also remove the contributors list from about-foundkey (renamed from
about-misskey).

Some comments that referenced Misskey were also translated to English.

Closes: FoundKeyGang/FoundKey#141
2022-09-13 13:19:36 -04:00
Norm 1120b6959d
backend: increase requestId max size for GNU Social
GNU Social's follow request IDs are larger than the 128 character limit
of the follow_request.requestId column. This prevents follow requests
from GNU Social instances from being handled by Foundkey instances.

The solution is to make the requestId column larger.

Fixes FoundKeyGang/FoundKey#146
2022-09-12 11:38:55 -04:00
Johann150 7a981de883
refactor: remove note.mentionedRemoteUsers column
The column mentionedRemoteUsers on the note table in the database is
firstly in the wrong type since it contains JSON data but is typed as
text. Secondly it seems redundant, since that data can be acquired by
using the note.mentions column to fetch the respective data instead.

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
2022-09-07 14:43:04 +02:00
Norm 7b4ebd2715 backend: remove room data from user
Rooms were remove a while back in upstream Misskey. This removes the
associated data left over in the database.

Changelog: Removed
2022-09-07 08:30:28 +00:00
Johann150 5d41384708
fix: await promises in migration 2022-08-18 18:26:17 +02:00
Johann150 c0b0720ede
add best effort migration for pages 2022-08-18 17:34:20 +02:00
Andy c7bf29fd49 Remove promo entities and endpoints 2022-08-11 23:13:09 +02:00
Johann150 bc1c66e16e
remove admin/drive/cleanup API
This API endpoint is not working correctly and can cause unintended data loss:
It may remove emojis that have been imported from other instances.

See also https://github.com/misskey-dev/misskey/issues/8222
2022-08-03 11:00:48 +02:00
Johann150 aca724e0bf
enable to fetch replies recursively 2022-07-25 16:41:46 +02:00
Johann150 9ca504784a
keep URL of reported object separate
Instead of putting the URL in the report text, it is stored separately
so that users do not accidentally change or remove it.

This way it can easily be used when forwarding reports to different
instances to tell them what exactly was reported.
2022-07-19 17:18:18 +02:00
Johann150 a0940c49a2
refactor: remove repositoryUrl & feedbackUrl from meta
These two URLs are static so there is no reason to keep them in the
database. They are also not even used anywhere by the API, so they can
also be removed from there.

Where they are used is in the nodeinfo, where they are now hardcoded.

While editing the nodeinfo, also uncommented nodeinfo version 2.1.
2022-07-18 14:39:27 +02:00
Johann150 a717fcc70c
remove ads from database 2022-07-13 23:20:18 +02:00
Johann150 03aa41664f
chore: remove unused columns
The columns "mascotImageUrl" and "errorImageUrl" are unused in the
web client. It is unlikely that they are being used elsewhere.
2022-07-11 12:49:39 +02:00
Johann150 68f9341e95
hotfix: uniform color migration fix 2022-05-19 15:42:55 +02:00
Johann150 aaf5bb62ab
enhance: uniform theme color (#8702)
* enhance: make theme color format uniform

All newly fetched instance theme colors will be uniformely formatted
as hashtag followed by 6 hexadecimal digits.

Colors are checked for validity and invalid colors are not handled.

* better input validation for own theme color

* migration to unify theme color formats

Fixes theme colors of other instances as well as the local instance.

* add changelog entry

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2022-05-19 09:54:45 +02:00