Commit graph

2035 commits

Author SHA1 Message Date
dakkar
0f3764ff71 teach ReactionService about non-ASCII emoji names 2024-04-23 14:42:02 +01:00
Latte macchiato
dd3d562a1e Rework cache clearing to be fault tolerant 2024-04-19 21:58:37 +00:00
dakkar
e0afeff248 merge: hide images/videos in og cards, when under a CW - fixes #487 (!488)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/488

Closes #487

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-04-11 20:40:38 +00:00
Marie
011ccd3a9a merge: bump devel version (!486)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/486

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-04-11 17:21:32 +00:00
dakkar
960f4fcff7 detect size of remote files - fixes #494
without this, remote files are assumed to have size 0 (even if we just
downloaded them!) and the range-related code won't run
2024-04-09 16:21:30 +01:00
dakkar
92eec2178f return 206 for every ranged response - fixes #494 2024-04-09 15:42:29 +01:00
dakkar
56dca6dbf5 hide images/videos in og cards, when under a CW - fixes #487 2024-04-07 16:58:13 +01:00
Marie
d6c736f1a5 fix conflicts 2024-04-07 15:42:28 +00:00
Marie
bb7b4a8ea4 merge: fix: send null for empty edited_at in mastodon api (!487)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/487

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-04-07 15:36:59 +00:00
dakkar
0690b9a429 merge: fix: load libopenmpt on demand (!469)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/469

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-04-07 14:56:16 +00:00
Sugar🍬🍭🏳️‍⚧
e779c1e667 fix: send null for empty edited_at in mastodon api 2024-04-04 10:43:28 +02:00
dakkar
328546c4cd Merge branch 'develop' into release/2024-03-30 2024-03-30 11:08:26 +00:00
dakkar
074de82bf7 some validation fixes 2024-03-30 11:05:58 +00:00
Marie
56b19ab6bb fix: incorrect type for quote property 2024-03-24 23:41:23 +00:00
dakkar
4271402e0d recognise numbers and boolean values 2024-03-24 11:17:55 +00:00
dakkar
0e8cdb30b7 allow setting values not present in the config file
replicas and arrays in general, are more complicated :/
2024-03-24 11:12:17 +00:00
dakkar
435cab01c8 deal with (possible, future) non-alnum config keys 2024-03-21 10:00:16 +00:00
dakkar
25e6409cc9 allow overriding all string config values via env - fixes #465
will need end-user documentation!
2024-03-20 15:38:20 +00:00
Alina Sireneva
0085305579 fix: load libopenmpt on demand 2024-03-11 15:32:59 +03:00
dakkar
354cb2a675 handle non-ASCII emoji names
* use the more inclusive regexp for validating emoji names
* always normalize emoji names, aliases, categories

the latter point is necessary to allow matching, for example, `ä`
against `a`+combining diaeresis

this will also need to bump the version of `sfm-js` once we merge
https://activitypub.software/TransFem-org/sfm-js/-/merge_requests/2
2024-03-09 12:51:51 +00:00
dakkar
ff0117a1a5 check prohibited words when creating notes
some small differences (between Misskey and us) inside the `create`
method made `git` put all the changes inside the `import` method… I
thought I had copied them all, but I had missed one, and it's a pretty
important one: prohibited words were not being checked!
2024-03-05 16:52:05 +00:00
dakkar
6ecfe7c7c3 remove duplicate method 2024-03-02 17:34:31 +00:00
dakkar
23f476dbf3 Merge branch 'develop' into release/2024.3.1 2024-03-02 17:28:34 +00:00
dakkar
af548d05ca merge upstream for 2024.2.1 2024-03-02 16:36:49 +00:00
Marie
1b65c06d60 merge: fix: delete old follow request (if exists) before creating new (!440)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-02-24 18:16:16 +00:00
Kaity A
def2e8dff0
Merge remote-tracking branch 'origin/develop' into fix/failed-follow 2024-02-24 05:05:25 +00:00
Kaity A
ea948ccadc
fix: delete old follow request (if exists) before creating new 2024-02-24 04:38:01 +00:00
Marie
d1b787192a
fix: align note edit errors with note create errors 2024-02-23 17:01:35 +01:00
Marie
15d2319011
merge: upstream 2024-02-23 13:42:52 +01:00
tamaina
c0156b740b
enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (#13382) 2024-02-23 18:15:39 +09:00
tamaina
600d91beda
enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)
* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする
2024-02-23 18:04:30 +09:00
okayurisotto
a861f913a7
fix(backend): より多くの人に使われているハッシュタグが検索結果上位に来るように (#11498) (#13340) 2024-02-23 18:02:12 +09:00
tamaina
b8d8b359bc
fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (#13407)
* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache
2024-02-23 17:19:08 +09:00
okayurisotto
64953fadc9
refactor(backend): Array.prototype.filterでの非null確認ではisNotNull関数を使うように (#13442)
* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`
2024-02-23 14:12:57 +09:00
かっこかり
080a3c20bd
fix: SSR時のmetaをエスケープするように (#13440)
* fix: SSR時のmetaをエスケープするように

* エスケープ方法を変更
2024-02-23 14:10:13 +09:00
かっこかり
d20542c495
enhance: metaをSSR HTMLに埋め込む (#13436)
* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* ✌️

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-23 10:47:17 +09:00
dakkar
4afbf3b91e some fixes for note edits 2024-02-22 18:23:46 +00:00
FineArchs
bf5952fd63
flash/update で部分的に変更できるようにする (#13396)
* make flash/update params optional

* Update autogen files

pnpm run build-misskey-js-with-types

* Update update.ts

* Update CHANGELOG.md

* hasOwnProperty -> hasOwn

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-22 21:31:57 +09:00
tamaina
4d6fab06de
refactor: Refactor NoteReadService.read (#13429)
* refactor: Refactor NoteReadService.read

* clean up

* Update packages/backend/src/core/NoteReadService.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-22 21:10:28 +09:00
syuilo
2bd9f05a92 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-22 20:59:57 +09:00
syuilo
26c8b53f70 enhance: サーバーごとにモデレーションノートを残せるように 2024-02-22 20:59:52 +09:00
Marie
349f846f32 Add fail safe for sponsors endpoint in case of not being able to connect 2024-02-21 18:59:31 +00:00
anatawa12
b36e6b1a77
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)
* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正
2024-02-22 00:59:59 +09:00
tamaina
ae27085f69
fix: Bump sharp to 0.33.2 (#13391) 2024-02-21 14:42:37 +09:00
okayurisotto
750d262604
refactor(backend): ReactionService.prototype.convertLegacyReactions (#13375)
* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整
2024-02-21 14:31:50 +09:00
dakkar
c9940b7359 Switch source code bits 2024-02-20 20:01:31 +00:00
Marie
4a13508da0 Note Edited notification type 2024-02-20 15:10:41 +00:00
Marie
6931f50af5 merge: check prohibited words when editing note (!429)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/429

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-02-19 19:19:27 +00:00
Marie
3912436f4f merge: hide blocked&c instances when not logged in - fixes #422 (!430)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/430

Closes #422

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-02-19 19:09:11 +00:00
Marie
e248e41287 fix: merge conflict 2024-02-19 19:06:30 +00:00
Marie
d182402cfa
fix: icons and update urls 2024-02-19 18:46:42 +01:00
dakkar
bf82942245 hide blocked&c instances when not logged in - fixes 422 2024-02-19 14:53:24 +00:00
dakkar
9c1437bdf9 check prohibited words when editing note 2024-02-19 14:27:10 +00:00
Marie
10bfc61670
merge: upstream 2024-02-19 10:47:42 +01:00
Marie
6ef2d471e9 merge: fix: keep alt text of file if present (!418)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/418

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-02-19 01:27:08 +00:00
anatawa12
0b636d1bf9
fix: nodeinfoにenableMcaptchaとenableTurnstileが無い (#13387) 2024-02-19 08:33:36 +09:00
syuilo
7562d233c5 fix of 9a70ce8f5e
Co-Authored-By: RyotaK <49341894+Ry0taK@users.noreply.github.com>
2024-02-17 13:09:16 +00:00
tamaina
0a8ffd9cfa Merge pull request from GHSA-qqrm-9grj-6v32
* maybe ok

* fix

* test wip

* ✌️

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;
2024-02-17 13:09:08 +00:00
syuilo
6132bc3b3e fix of 9a70ce8f5e
Co-Authored-By: RyotaK <49341894+Ry0taK@users.noreply.github.com>
2024-02-17 12:54:45 +00:00
tamaina
1948ca9aa8 Merge pull request from GHSA-qqrm-9grj-6v32 2024-02-17 12:36:44 +00:00
Cocoa Hoto
b0030d148d
fix: allow moderators see role assigned users; fix #13301 (#13315) 2024-02-17 14:41:18 +09:00
syuilo
01de1519dd fix of 9a70ce8f5e
Co-Authored-By: RyotaK <49341894+Ry0taK@users.noreply.github.com>
2024-02-17 14:26:48 +09:00
Acid Chicken (硫酸鶏)
acba96c1d3
feat: license violation protection (#13285)
* spec(frontend): aboutページにリポジトリ・フィードバックのURLを表示させる

Cherry-picked from MisskeyIO#441
Cherry-picked from MisskeyIO#438

* feat: license violation protection

* build: fix typo

* build: fix typo

* fix: farewell to the static type land

* fix: key typo

* fix: import typo

* fix: properly interpret `prominently`

* docs: add disclaimer

* docs: update CHANGELOG

* chore: add gap

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-17 13:34:50 +09:00
tamaina
9a70ce8f5e
Merge pull request from GHSA-qqrm-9grj-6v32
* maybe ok

* fix

* test wip

* ✌️

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;
2024-02-17 12:41:19 +09:00
zyoshoka
37959bab1d
refactor(backend): remove/replace deprecated type deps (#13252) 2024-02-16 20:09:07 +09:00
dakkar
b5cfd92e2b point default repo/feedback URLs to our repos
the migration will update instances that have the old defaults, too
2024-02-16 10:54:33 +00:00
syuilo
f8ac072bc3 fix type 2024-02-16 15:19:55 +09:00
syuilo
7cfe7da73d fix 2024-02-16 15:09:05 +09:00
syuilo
f55e1ee138 refactor(backend): misc/cacheをシンプルな実装に戻した 2024-02-16 15:07:12 +09:00
MeiMei
cfa573a3a1
リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273 (#13275)
* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273

* CHAGELOG

* Use Redis event

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-16 14:30:53 +09:00
zyoshoka
40bbae3d6c
fix(backend): add missing schemas and fix incorrect schemas (#13295)
* fix(backend): add missing schemas and fix incorrect schemas

* fix: ci

* fix: ci (本命)

* fix: run `pnpm build-misskey-js-with-types`

* fix: typos

* fix: role-condition-formula-value contains `id`

* fix: incorrect schema
2024-02-16 14:27:33 +09:00
Kisaragi
147e8f1e3e
feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える (#13299)
* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える

close #13298

* Update ReactionService.ts

* chore(backend): prefer single quote for string literal
2024-02-16 14:25:48 +09:00
Amelia Yukii
be36a793cd merge: Fix Note Edits being federated incorrectly (!417)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/417

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-02-15 22:18:58 +00:00
Marie
8f6dfa611e fix: keep alt text of file if present 2024-02-13 22:01:53 +00:00
Marie
8b90c6c045 merge: Never return broken notifications #409 (!415)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/415

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-02-13 18:23:37 +00:00
tamaina
c1514ce91d (re) update SPDX-FileCopyrightText
Fix  #13290
2024-02-13 15:59:27 +00:00
tamaina
311c2172d7 Revert "update SPDX-FileCopyrightText"
This reverts commit 9b5aeb76d8.
2024-02-13 15:50:11 +00:00
dakkar
1015901a9d avoid parsing undefined
I don't understand why upstream wouldn't have this same problem ☹

We already have this same conditional in `ApRenderService.renderNote`
and `ApRenderService.renderUpNote`, and Misskey doesn't
2024-02-13 14:04:07 +00:00
Marie
fef5dbb6e2 fix: note edits being federated incorrectly 2024-02-13 13:08:44 +00:00
Acid Chicken (硫酸鶏)
309a943528
perf: omit search for immutable static requests (#13265)
* perf: omit search for immutable static requests

* perf: also applies to /files

* fix: exclude /proxy

* /files/:key/*を301 redirectに

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-13 10:43:06 +09:00
tamaina
32c5c43b6d
enhance: 禁止ワードはリモートノートも対象に (#13280)
Resolve #13279
2024-02-13 04:54:01 +09:00
syuilo
a1e12c0ec3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-12 11:37:55 +09:00
syuilo
9b5aeb76d8 update SPDX-FileCopyrightText 2024-02-12 11:37:45 +09:00
Acid Chicken (硫酸鶏)
3dc095d1c9
feat: provide tarball (#13260)
* feat: provide tarball

* build: pack on build-assets

* chore: use ignore-walk

* chore: debug

* build: dependencies
2024-02-12 10:02:27 +09:00
dakkar
421f8d49e5 Never return broken notifications #409
Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.
2024-02-11 12:25:50 +00:00
Marie
2e7df3297c
fix: diff between NoteCreateService and NoteEditService 2024-02-09 19:51:41 +01:00
Marie
85355813ad
merge: latest changes 2024-02-09 19:22:06 +01:00
おさむのひと
614c9a0fc6
fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加 (#13210)
* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加

* Serviceでチェックするように変更
2024-02-09 10:07:18 +09:00
かっこかり
0f7918c51b
refactor(backend): exist -> exists (#13203)
* refactor(backend): exist -> exists

* fix
2024-02-08 16:04:41 +09:00
Marie
af5ebdfced
merge: more upstream changes 2024-02-07 21:52:27 +01:00
MeiMei
e89d760240
Enhance: 連合向けのノート配信を軽量化 (#13192)
* AP HTML表現をシンプルに

* a

* CHANGELOG

* リンク
2024-02-07 19:57:59 +09:00
Marie
6a94a52131
merge: upstream 2024-02-06 21:23:37 +01:00
MeiMei
d6cb68b091
AP Key の JSON-LD 表現を修正 (#13170) 2024-02-06 16:51:14 +09:00
1Step621
74245df382
Enhance(frontend): フロント側でもリアクション権限のチェックをするように (#13134)
* フロント側でもリアクション権限のチェックをするように

* update CHANGELOG.md

* lint fixes

* remove unrelated diffs

* deny -> reject
denyは「(信用しないことを理由に)拒否する」という意味らしい

* allow -> accept

* EmojiSimpleにlocalOnlyを含めるように

* リアクション権限のない絵文字は打てないように(ダイアログを出すのではなく)

* regenerate type definitions

* lint fix

* remove unused locales

* remove unnecessary async
2024-02-06 16:45:21 +09:00
Marie
0aadc302c3 fix: quote being returned as null instead of false on mastodon api 2024-02-05 19:38:00 +00:00
Gianni Ceccarelli
dabf1867fd
keep cached avatar&banner when refresh fails to get new values (#13145)
* keep cached avatar&banner when refresh fails to get new values

when the remote explicitly tells us a user image is gone, we remove
our cached value, but if we fail to get the image, we keep whatever
value we already have

this should minimise the problem of avatars randomly disappearing

* autogen bits

* pnpm run build-misskey-js-with-types

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-04 21:03:49 +09:00
Gianni Ceccarelli
bafef1f8b4
ignore instance.actor when checking if there are local users (#13146)
* ignore `instance.actor` when checking if there are local users

We've seen this happen a few times:

* there was some AP software at $some_domain
* it gets replaced by Misskey
* before the first user can be created, an AP activity comes in
* Misskey resolves the activity
* to do this, it creates the `instance.actor` to sign its request
* now there *is* a local user, so the `meta` endpoint returns
  `requireSetup:false`
* the admin is very confused

This commit factors out the check, and doesn't count the
`instance.actor` as a real user.

* autogen bits
2024-02-04 20:46:28 +09:00
atsuchan
2c4ba4723f
fix(backend): メール配信機能が無効ならばメールを送ることのないように (#13152)
Do not send email if email delivery is disabled
2024-02-04 20:44:35 +09:00
Marie
11628e4b6a
merge: upstream 2024-02-03 20:19:44 +01:00
Marie
f93a8e2d38 merge: Fix sfm-js linkage (!399)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/399

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-02-03 18:28:47 +00:00