Commit graph

273 commits

Author SHA1 Message Date
dakkar
6ae01e28aa Compact LD-signed activities against well-known context
This should defend against some spoofing attacks, see also
https://nvd.nist.gov/vuln/detail/CVE-2022-24307 for Mastodon,
febb499fcb
from Iceshrimp and
e790d6be90
for Firefish

Thanks to @tesaguri@fedibird.com for reporting and providing the patch.
2024-04-30 10:16:57 +01:00
dakkar
ea6629cebf Merge branch 'develop' into future-2024-04-10-post 2024-04-25 11:18:30 +01:00
PrivateGER
493775ad7b
reformat expression 2024-04-24 16:05:30 +02:00
Latte macchiato
dd3d562a1e Rework cache clearing to be fault tolerant 2024-04-19 21:58:37 +00:00
dakkar
a3b4ca782a Merge remote-tracking branch 'misskey/develop' into future-2024-04-10 2024-04-11 13:39:55 +01:00
Nila
f3500ffda9
fix: report progress out of 100% in CleanRemoteFilesProcessorService (#13633)
* Report progress out of 100% in CleanRemoteFilesProcessorService

* Add changelog entry
2024-03-30 10:28:47 +09:00
dakkar
bc531ac414 Merge remote-tracking branch 'misskey/develop' into future-2024-03-23 2024-03-24 11:53:52 +00:00
かっこかり
f4838e50b4
enhance(antenna): Botの投稿を除外できるように (#13603)
* enhance(antenna): Botの投稿を除外できるように (MisskeyIO#545)

(cherry picked from commit a95ce067c6cf0a93647e358aabc984bdbe99e952)

* Update Changelog

* remove translations

* spdx

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-21 07:51:01 +09: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
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
tamaina
eb60460d28
enhance: 禁止ワードチェック強化 (#27)
* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment
2024-03-01 20:16:32 +09:00
okayurisotto
b7d9d16201
refactor(backend): ノートのエクスポート処理でStreams APIを使うように (#13465)
* refactor(backend): ノートのエクスポート処理でStreams APIを使うように

* fixup! refactor(backend): ノートのエクスポート処理でStreams APIを使うように

`await`忘れにより、ジョブがすぐに完了したことになり削除されてしまっていた。
それによって、`NoteStream`内での`updateProgress`メソッドの呼び出しで、`Missing key for job`のエラーが発生することがあった。

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 15:34:58 +09:00
tamaina
2c6f25b710
fix: 古いキャッシュを使うのを修正 (#13453) 2024-02-25 12:36:10 +09:00
Marie
15d2319011
merge: upstream 2024-02-23 13:42:52 +01:00
tamaina
600d91beda
enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)
* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする
2024-02-23 18:04:30 +09: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
Marie
10bfc61670
merge: upstream 2024-02-19 10:47:42 +01:00
Marie
8f6dfa611e fix: keep alt text of file if present 2024-02-13 22:01:53 +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
syuilo
9b5aeb76d8 update SPDX-FileCopyrightText 2024-02-12 11:37:45 +09:00
Marie
11628e4b6a
merge: upstream 2024-02-03 20:19:44 +01:00
dakkar
4bc517ca89 import fs/promises the right way
thanks Marie
2024-02-03 12:55:56 +00:00
dakkar
bb3694bfed lint 2024-02-03 12:55:46 +00:00
dakkar
1bb5021c54 decode entity references from tweets
apparently *some* tweets have those ☹
2024-02-03 12:05:08 +00:00
dakkar
a981bca7a3 simpler logic
thanks Alina
2024-02-03 11:37:20 +00:00
dakkar
3a3a051bb5 make almost all fs ops async
there's no `fs.promises.exists`
2024-02-03 11:33:42 +00:00
dakkar
7684f45a5e simpler mapping
thanks Alina
2024-02-03 11:30:39 +00:00
dakkar
25948c9232 simpler json-isation
thanks Alina for the suggestion
2024-02-03 11:29:46 +00:00
Amelia Yukii
a6e257f502 Merge branch 'feture/code-injection-fix' into 'develop'
CVE: Fixed code injection from twitter import

See merge request TransFem-org/Sharkey!390

(cherry picked from commit 127f8556d4)

2a8e93e4 Fixed code injection from twitter import
2024-02-01 15:07:35 +00:00
KevinWh0
2a8e93e4be Fixed code injection from twitter import 2024-02-01 15:58:50 +01:00
dakkar
b77c025245 link twitter names to twitter, not nitter #382
nitter seems very dead
2024-01-28 16:06:16 +00:00
woxtu
cdac3988b5
fix(backend): Fix typos in job configurations (#13086)
* Fix typos

* Update CHANGELOG
2024-01-28 15:08:45 +09:00
Marie
913dd581ef
merge: upstream 2024-01-25 14:21:42 +01:00
syuilo
65557d5f27 enhance(reversi): more robust matching process 2024-01-24 10:16:05 +09:00
Marie
7552cea69a
merge: upstream 2024-01-09 02:57:57 +01:00
Kagami Sascha Rosylight
2a9db983fc
feat: export clips (#12931)
* feat: export clips

* Update CHANGELOG.md
2024-01-07 10:35:58 +09:00
riku6460
24645e3d3d
enhance(backend): ActivityPub 周りで連合先から HTTP 429 Too Many Requests を受け取った際にジョブをリトライするように (#12917)
* enhance(backend): ActivityPub 周りで HTTP 429 Too Many Requests を受け取った際にリトライするように

* add to changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-06 09:40:08 +09:00
MeiMei
d415fd29a3
enhance(backend): ActivityPub Deliver queueでBodyを事前処理するように (#12916)
* Pre-processing deliver body

* CHANGELOG

* ループ内で計算されると意味がないので

* 同じ処理を同じ形に

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-06 09:07:48 +09:00
Marie
1805150533 fix: visibility check on masto import
Originally from PR #288
2023-12-31 22:41:35 +01:00
Marie
233eff48f3 merge: pleroma note import - Use hashed filename for exists check (#283)
Reviewed-on: https://git.joinsharkey.org/Sharkey/Sharkey/pulls/283
2023-12-31 18:43:38 +01:00
smitten
8d6d5923da
Simplify hash steps 2023-12-31 11:14:41 -05:00
smitten
327694d4cf
Use base64url digest 2023-12-31 09:13:51 -05:00
smitten
e9428a5a05
Use hex digest 2023-12-31 09:03:46 -05:00
Marie
b700fadbe3 upd: add home as a visibility for mastodon imports 2023-12-31 06:32:39 +01:00
Marie
07f06d7ed6 fix: if condition 2023-12-31 04:09:44 +01:00
Marie
fc6581b948 fix: correct followers visibility on import 2023-12-31 03:50:05 +01:00
Marie
667daebb79 upd: prevent vanilla mastodon imports from importing DMs
Also adds the visibility function to mastodon imports
2023-12-31 03:48:51 +01:00
smitten
0bb0d69543
Use hashed filename for exists check 2023-12-30 20:44:31 -05:00
Marie
5db583a3eb merge: upstream 2023-12-23 02:09:23 +01:00
Kagami Sascha Rosylight
4175b7809b
chore(QueueProcessorService): show error stack for failures (#12727) 2023-12-21 10:29:30 +09:00
Camilla Ett
06ca63f9c2
Fix(backend): inboxJobPerSecのデフォルト値を16から32に (#12631) 2023-12-13 08:14:34 +09:00
dakkar
c958d935e4 thread Pleroma imports as well
I have _not_ tested this, but it should work fine, those exports are
the same shape as Mastodon's
2023-11-30 13:26:55 +00:00
dakkar
c59e74dfd5 fix chaining for Mastodon notes
the id / replyId are not at the top level, so now `recreateChain`
takes a list of keys to walk, not just a single key
2023-11-30 13:26:55 +00:00
dakkar
15503b96a0 properly thread Mastodon imports 2023-11-30 13:26:55 +00:00
Gianni Ceccarelli
e392d523a7 prepare to import more notes
`recreateChain` converts a list of notes into a forest of notes, using
notes that are not replies as roots, and replies as child nodes,
recursively.

Previously, notes that are replies to notes not included in the
export, and their children, were never put in the forest, and
therefore wheren't imported.

This can be fine when importing from Twitter, since we can't really
link a note to a tweet.

And, for the moment, it's acceptable when importing from *key, because
the export doesn't contain the instance URL, so we can't resolve ids
to remote notes.

It's less fine when importing from Mastodon / Pleroma / Akkoma,
because in those cases we _can_ link to the remote note that the user
was replying to.

This commit makes `recreateChain` optionally return "orphaned" note
trees, so in the (near) future we can use it to properly thread
imported notes from those services.
2023-11-30 13:26:55 +00:00
Mar0xy
62bcd42891
upd: create Folders for imported media 2023-11-28 22:46:10 +01:00
Mar0xy
81c36908d9
fix: attachments not working on FB import 2023-11-22 19:02:43 +01:00
Mar0xy
d078a72f38
upd: add Facebook to note importing 2023-11-22 16:00:46 +01:00
Mar0xy
19fc5a74f0
merge: improve recreateChain
Resolves #159
2023-11-18 12:38:13 +01:00
Mar0xy
4929467016
upd: import own replies to own tweets 2023-11-17 20:10:16 +01:00
Mar0xy
e4bd74183f
chore: remove type in DbNoteImportToDbJobData 2023-11-13 13:09:21 +01:00
Mar0xy
6f76a3a1f8
upd: import replies to own posts on *key 2023-11-13 13:07:49 +01:00
Mar0xy
9b3993a652
fix: prevent *key renotes/boosts from being imported
Stop renotes/boosts from *key from being imported due to missing functionality of getting the related posts
2023-11-13 10:25:39 +01:00
Mar0xy
5c38e6b824
add: custom like emoji per instance, fix like
This fixes the fact that likes on mastodon didn't get federated properly and let's instance admins choose a custom emoji
2023-11-12 22:16:47 +01:00
Mar0xy
1f8c12b984
fix: use a proper function 2023-11-12 18:19:44 +01:00
Mar0xy
8cad8f0ae5
fix: broken unicode in strings on IG imports 2023-11-12 18:12:39 +01:00
Mar0xy
486a2ad839
upd: remove unused function, fix logger message 2023-11-12 18:01:39 +01:00
Mar0xy
bc25b28a4e
fix: cleanup not available on development env 2023-11-12 17:32:24 +01:00
Mar0xy
b7fc13efb7
upd: pass full thinuser 2023-11-12 15:48:28 +01:00
Mar0xy
2d1e8ee44d
upd: update limit 2023-11-12 15:37:36 +01:00
Mar0xy
de9ea4d9f1
fix: type 2023-11-12 15:16:27 +01:00
Mar0xy
83f328de8a add: Importing of Posts
- Supports Instagram, Mastodon/Pleroma/Akkoma, Twitter and *key
2023-11-12 15:12:42 +01:00
Mar0xy
d85cf658ca
upd: export headers used during signin 2023-11-07 18:18:04 +01:00
Mar0xy
42ecde475e
upd: add IPs to data export 2023-11-07 12:20:46 +01:00
Mar0xy
fabb876256
upd: send email on export completion 2023-11-07 11:31:11 +01:00
Mar0xy
e9b6ed941b
add: endpoint and processor for account data export 2023-11-07 03:31:47 +01:00
Mar0xy
33eab0d178
upd: change handling of renewkeyFailed 2023-10-20 12:54:25 +02:00
Mar0xy
c76f0f1679
fix: set boolean to true if uri doesn't match activity actor 2023-10-20 12:53:14 +02:00
Mar0xy
71b7c31958
upd: refetch user keys on signature failure
Reference: https://github.com/misskey-dev/misskey/pull/12051
2023-10-20 12:50:56 +02:00
Mar0xy
4b230d792c
merge: upstream changes 2023-10-18 19:48:03 +02:00
woxtu
0bddd0ceae
Remove unnecessary nullish coalescing (#12058) 2023-10-18 09:54:18 +09:00
anatawa12
5a3c6575dd
新規にフォローした人のwithRepliesをtrueにする機能を追加 (#12048)
* feat: add defaultWithReplies to MiUser

* feat: use defaultWithReplies when creating MiFollowing

* feat: update defaultWithReplies from API

* feat: return defaultWithReplies as a part of $i

* feat(frontend): configure defaultWithReplies

* docs(changelog): 新規にフォローした人のをデフォルトでTL二追加できるように

* fix: typo

* style: fix lint failure

* chore: improve UI text

* chore: make optional params of  UserFollowingService.follow() object

* chore: UserFollowingService.follow() accept withReplies

* chore: add withReplies to MiFollowRequest

* chore: process withReplies for follow request

* feat: accept withReplies on 'following/create' endpoint

* feat: store defaultWithReplies in client store

* Revert "feat: return defaultWithReplies as a part of $i"

This reverts commit f2cc4fe6

* Revert "feat: update defaultWithReplies from API"

This reverts commit 95e3cee6

* Revert "feat: add defaultWithReplies to MiUser"

This reverts commit 9f5ab14d7063532de2b049bc2ed40a15658168f5.

* feat: configuring withReplies in import-following

* feat(frontend): configure withReplies

* fix(frontend): incorrectly showRepliesToOthersInTimeline can be shown

* fix(backend): withReplies of following/create not working

* fix(frontend): importFollowing error

* fix: withReplies is not working with follow import

* fix(frontend): use v-model

* style: fix lint

---------

Co-authored-by: Sayamame-beans <61457993+sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2023-10-17 20:56:17 +09:00
Mar0xy
68886b9ab5
merge: upstream performance changes & instance silencing 2023-10-16 23:38:21 +02:00
syuilo
3ebed5aa3e feat: local-only antenna
Resolve #11869
2023-10-16 15:06:00 +09:00
syuilo
1fa1d31696 perf(backend): createdAtをidから取得するように & 無駄なDateインスタンスの生成を避けるように 2023-10-16 10:45:22 +09:00
syuilo
f6ba5cfaf4
merge: timeline 1 2023-10-13 17:58:11 +02:00
Mar0xy
fe4345d191
upd: delete reactions properly in the DB
Fixes https://github.com/misskey-dev/misskey/issues/11906
2023-10-11 23:03:01 +02:00
Mar0xy
bf3d493d04
Revert "feat: improve tl performance" 2023-10-03 20:21:26 +02:00
syuilo
6277a5545c
feat: improve tl performance (#11946)
* wip

* wip

* wip

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* Update NoteCreateService.ts

* wip

* Update user-notes.ts

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* wip

* Update timelines.ts

* Update timelines.ts

* Update timelines.ts

* wip

* wip

* wip

* Update timelines.ts

* Update misskey-js.api.md

* Update timelines.ts

* Update timelines.ts

* wip

* wip

* wip

* Update timelines.ts

* wip

* Update timelines.ts

* wip

* test

* Update activitypub.ts

* refactor: UserListJoining -> UserListMembership

* Update NoteCreateService.ts

* wip
2023-10-03 20:26:11 +09:00
syuilo
b9da1415a5 feat: 通知の受信設定を強化 2023-09-29 11:29:54 +09:00
syuilo
053da10e94 refactor(backend): update directory structure for models 2023-09-20 11:33:36 +09:00
syuilo
6cf466e5d1
update deps (#11820)
* update deps

* fix

* wip

* wip

* wip

* Update docker-compose.yml.example

* Delete reviewer-lottery.yml

* Update RepositoryModule.ts

* wip

* wip

* clean up

* update deps

* wip

* wip
2023-09-15 14:28:29 +09:00
syuilo
d8dc10829c enhance(backend): 古いアンテナを自動停止するか切り替え可能に
Resolve #11785
2023-09-07 16:20:28 +09:00
anatawa12
50ec129b87
feat: 'server' webhook payload which hold misskey server url (#11752) 2023-08-21 16:13:10 +09:00
syuilo
792622aead
refactor: prefix Mi for all entities (#11719)
* wip

* wip

* wip

* wip

* Update RepositoryModule.ts

* wip

* wip

* wip

* Revert "wip"

This reverts commit c1c13b37d2aaf3c65bc148212da302b0eb7868bf.
2023-08-16 17:51:28 +09:00
woxtu
8a6791da3f
refactor(backend): Remove unused injections (#11462)
* Remove unused injections

* Remove unused imports
2023-08-05 10:33:00 +09:00
Shun Sakai
c2370a1be6
chore: 著作権とライセンスについての情報を各ファイルに追加する (#11348)
* chore: Add the SPDX information to each file

Add copyright and licensing information as defined in version 3.0 of
the REUSE Specification.

* tweak format

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-27 14:31:52 +09:00