Commit graph

276 commits

Author SHA1 Message Date
Hazelnoot
9de5ecae51 delete fetch logs when a note or user is deleted 2025-02-16 19:25:42 -05:00
Hazelnoot
4858276465 don't log slow activities, as this is known to happen under regular circumstances 2025-02-16 19:25:24 -05:00
Hazelnoot
81944b3bdf implement AP fetch logs 2025-02-16 19:25:22 -05:00
Hazelnoot
cc2edae7ab rename activity_log and activity_context to ap_inbox_log and ap_context 2025-02-16 19:25:04 -05:00
Hazelnoot
15148b7875 fix activity duration calculation
* Ensure that timing is recorded even if an exception is thrown.
* Round to the correct decimal place.
2025-02-16 19:25:04 -05:00
Hazelnoot
871c63b48b print warning when activity processing exceeds 10 seonds 2025-02-16 19:25:04 -05:00
Hazelnoot
e35e92beb9 log inbound activity duration 2025-02-16 19:25:04 -05:00
Hazelnoot
b65b4ecadc add inbound activity logger for debugging 2025-02-16 19:25:02 -05:00
Hazelnoot
f2fb408ffc fix import order in DeleteAccountProcessorService.ts 2025-02-04 09:57:02 -05:00
Hazelnoot
3391c2414b add IdentifiableError.isRetryable to ensure that Identifiable Errors can still terminate a batch process 2025-02-03 15:03:42 -05:00
Hazelnoot
a4e86758c1 merge upstream 2025-02-03 2025-02-03 14:36:09 -05:00
dakkar
eef8a9e24c use import configuration for media downloads in notes importer 2025-01-23 12:26:51 +00:00
dakkar
b3d2cd65aa use import configuration for downloads in emoji importer 2025-01-23 12:24:06 +00:00
おさむのひと
f9ad127aaf
feat: 新カスタム絵文字管理画面(β)の追加 (#13473)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* fix

* fix

* fix size

* fix register logs

* fix img autosize

* fix row selection

* support delete

* fix border rendering

* fix display:none

* tweak comments

* support choose pc file and drive file

* support directory drag-drop

* fix

* fix comment

* support context menu on data area

* fix autogen

* wip イベント整理

* イベントの整理

* refactor grid

* fix cell re-render bugs

* fix row remove

* fix comment

* fix validation

* fix utils

* list maximum

* add mimetype check

* fix

* fix number cell focus

* fix over 100 file drop

* remove log

* fix patchData

* fix performance

* fix

* support update and delete

* support remote import

* fix layout

* heightやめる

* fix performance

* add list v2 endpoint

* support pagination

* fix api call

* fix no clickable input text

* fix limit

* fix paging

* fix

* fix

* support search

* tweak logs

* tweak cell selection

* fix range select

* block delete

* add comment

* fix

* support import log

* fix dialog

* refactor

* add confirm dialog

* fix name

* fix autogen

* wip

* support image change and highlight row

* add columns

* wip

* support sort

* add role name

* add index to emoji

* refine context menu setting

* support role select

* remove unused buttons

* fix url

* fix MkRoleSelectDialog.vue

* add route

* refine remote page

* enter key search

* fix paste bugs

* fix copy/paste

* fix keyEvent

* fix copy/paste and delete

* fix comment

* fix MkRoleSelectDialog.vue and storybook scenario

* fix MkRoleSelectDialog.vue and storybook scenario

* add MkGrid.stories.impl.ts

* fix

* [wip] add custom-emojis-manager2.stories.impl.ts

* [wip] add custom-emojis-manager2.stories.impl.ts

* wip

* 課題はまだ残っているが、ひとまず完了

* fix validation and register roles

* fix upload

* optimize import

* patch from dev

* i18n

* revert excess fixes

* separate sort order component

* add SPDX

* revert excess fixes

* fix pre test

* fix bugs

* add type column

* fix types

* fix CHANGELOG.md

* fix lit

* lint

* tweak style

* refactor

* fix ci

* autogen

* Update types.ts

* CSS Module化

* fix log

* 縦スクロールを無効化

* MkStickyContainer化

* regenerate locales index.d.ts

* fix

* fix

* テスト

* ランダム値によるUI変更の抑制

* テスト

* tableタグやめる

* fix last-child css

* fix overflow css

* fix endpoint.ts

* tweak css

* 最新への追従とレイアウト微調整

* ソートキーの指定方法を他と合わせた

* fix focus

* fix layout

* v2エンドポイントのルールに対応

* 表示条件などを微調整

* fix MkDataCell.vue

* fix error code

* fix error

* add comment to MkModal.vue

* Update index.d.ts

* fix CHANGELOG.md

* fix color theme

* fix CHANGELOG.md

* fix CHANGELOG.md

* fix center

* fix: テーブルにフォーカスがあり、通常状態であるときはキーイベントの伝搬を止める

* fix: ロール選択用のダイアログにてコンディショナルロールを×ボタンで除外できなかったのを修正

* fix remote list folder

* sticky footers

* chore: fix ci error(just single line-break diff)

* fix loading

* fix like

* comma to space

* fix ci

* fix ci

* removed align-center

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2025-01-20 11:35:37 +00:00
おさむのひと
d2e22f9050
refactor: SystemWebhook/UserWebhookの配信処理呼び出し部分の改善 (#15035)
* UserWebhook側の対処

* SystemWebhook側の対処

* fix test
2025-01-14 11:14:02 +00:00
かっこかり
c4192e81ed
enhance(backend): チャートの処理を一つずつ行うことでDBの同時接続とタイムアウトを削減 (#15239)
* sync charts one-at-a-time to reduce database contention and timeouts

* fix merge resolve failure

* Update Changelog

* update changelog

* add comments

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-11 13:43:42 +00:00
dakkar
f4aa986abd fix scheduled replies becoming quote-boosts
thanks to @CenTdemeern1 for triggering this bug!
see https://kitsunes.club/notes/a2h1y2rq9n

also compare with https://s.thenautilus.net/notes/a2h1y2rqx9

my instance errored out with:

> WARN 1	[remote ap]	Failed to resolve quote
> https://mastodon.social/users/DrALJONES/statuses/110586222749407429
>  for note https://kitsunes.club/notes/a2h1y2rq9n: StatusError: 404 Not
> Found

What happened?

* Charlotte scheduled a reply
* the processor called `findOneBy` with an undefined `note.renote`,
  which probably caused a `select` without any `where`
* a random note was attached as a quote
* that note has been deleted on the original instance but not on
kitsuclub's database
* the rest of fedi didn't notice the quote
2025-01-01 17:10:56 +00:00
dakkar
e4047b4076 rethrow everything but non-retryable HTTP errors
every job that ends without an exception will be considered
"completed" and not retried
2024-12-22 15:28:21 -05:00
Hazelnoot
0b40f2734e sync charts one-at-a-time to reduce database contention and timeouts 2024-12-17 10:37:29 -05:00
dakkar
6d4ae93592 Merge branch 'develop' into feature/2024.10 2024-12-12 13:04:51 +00:00
Marie
bf01dcd8fb
Apply suggestions 2024-12-09 18:58:57 +01:00
Marie
152cc07483
Apply suggestions 2024-12-09 05:58:25 +01:00
Marie
1d3c825398
upd: add notification for when scheduled note gets posted 2024-12-09 05:33:19 +01:00
Marie
fc9d777dc3
upd: add notification for failures, add reasons for failure, apply suggestions 2024-12-09 05:32:51 +01:00
NoriDev
2528508cff
feat: 노트 게시를 예약할 수 있음 (yojo-art/cherrypick#483, [Type4ny-Project/Type4ny@271c872c](271c872c97)) 2024-12-09 05:31:03 +01:00
dakkar
66dd12fb8a Merge branch 'develop' into feature/2024.10 2024-11-29 11:42:47 +00:00
Hazelnoot
536060e63c merge: Clear jobs from blocked domains (resolves #773) (!720)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/720

Closes #773

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-29 10:29:27 +00:00
dakkar
eb25238a8e Merge branch 'develop' into feature/2024.10 2024-11-28 11:17:27 +00:00
Hazelnoot
1e99782666 allow anonymous activities (resolves #819) 2024-11-26 09:05:04 -05:00
Hazelnoot
3f5ea11a1f clarify logging when an inbox job is skipped or fails 2024-11-26 08:59:08 -05:00
dakkar
6c13dc04f2 Merge branch 'develop' into feature/2024.10 2024-11-23 10:41:33 +00:00
Hazelnoot
2bbccde2ce reduce inbox log spam when fetching blocked / unavailable notes 2024-11-22 09:16:03 -05:00
dakkar
585052646a better wording for moderator inactivity messages 2024-11-22 10:49:16 +00:00
dakkar
d069d78c21 Merge branch 'develop' into feature/2024.10 2024-11-22 10:42:58 +00:00
Julia Johannesen
23c4aa2571
Fix style error 2024-11-20 20:24:59 -05:00
Laura Hausmann
ad8e8793c7
fix: primitives 5 & 8: reject activities with non-string identifiers 2024-11-20 19:17:24 -05:00
Julia
5f675201f2
Merge commit from fork
* enhance: Add a few validation fixes from Sharkey

See the original MR on the GitLab instance:
https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/484

Co-Authored-By: Dakkar <dakkar@thenautilus.net>

* fix: primitive 2: acceptance of cross-origin alternate

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 3: validation of non-final url

* fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities

* fix: primitives 5 & 8: reject activities with non
string identifiers

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 6: reject anonymous objects that were fetched by their id

* fix: primitives 9, 10 & 11: http signature validation
doesn't enforce required headers or specify auth header name

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections

* fix: code style for primitive 14

* fix: primitive 15: improper same-origin validation for
note uri and url

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 16: improper same-origin validation for user uri and url

* fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array

* fix: code style for primitive 17

* fix: check attribution against actor in notes

While this isn't strictly required to fix the exploits at hand, this
mirrors the fix in `ApQuestionService` for GHSA-5h8r-gq97-xv69, as a
preemptive countermeasure.

* fix: primitive 18: `ap/get` bypasses access checks

One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.

* fix: primitive 19 & 20: respect blocks and hide more

Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.

* fix: primitives 21, 22, and 23: reuse resolver

This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.

* fix: primitives 25-33: proper local instance checks

* revert: fix: primitive 19 & 20

This reverts commit 465a9fe6591de90f78bd3d084e3c01e65dc3cf3c.

---------

Co-authored-by: Dakkar <dakkar@thenautilus.net>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:20:09 +09:00
dakkar
f079edaf3c Merge tag '2024.10.1' into feature/2024.10 2024-11-08 15:52:37 +00:00
Hazelnoot
27b502fab5 normalize re-fetch logic between InboxProcessorService and ActivityPubServerService 2024-10-26 10:40:15 -04:00
Hazelnoot
5eb9a263e2 fix public key re-fetch logic 2024-10-26 10:40:15 -04:00
おさむのひと
33b34ad7b8
feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知 (#14757)
* feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知

* fix misskey-js.api.md

* Revert "feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知"

This reverts commit 3ab953bdf87f28411a1a10bce787a23d238cda80.

* 通知をやめてユーザ単位でのお知らせ機能に変更

* テスト用実装を戻す

* Update packages/backend/src/queue/processors/CheckModeratorsActivityProcessorService.ts

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

* fix remove empty then

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-13 20:32:12 +09:00
syuilo
ff47fef572
feat: リモートサーバーのサーバー情報を収集しないオプション (#14634)
* wip

* wip

* Update FetchInstanceMetadataService.ts

* Update FetchInstanceMetadataService.ts

* Update types.ts
2024-10-13 20:22:16 +09:00
おさむのひと
a2cd6a7709
feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする (#14746)
* feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする

* fix RoleService.

* fix

* fix

* fix

* add test and fix

* fix

* fix CHANGELOG.md

* fix test
2024-10-11 20:59:36 +09:00
dakkar
f00576bce6 Merge remote-tracking branch 'misskey/master' into feature/2024.9.0 2024-10-09 15:17:22 +01:00
かっこかり
9d026975bc
fix(backend/test): #14558 以降e2eテストがたまに失敗する問題を修正 (#14709)
* fix(backend/test): MisskeyIO#727 以降e2eテストがたまに失敗する問題を修正 (MisskeyIO#735)

* ✌️

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-10-05 16:20:44 +09:00
syuilo
f0d0cd2e50
wip (#14643) 2024-09-28 18:15:32 +09:00
かっこかり
d8a2eeb7ed
feat: エクスポート完了時に通知を発行するように (#14484)
* feat: エクスポート完了時に通知を発行するように

* Update Changelog

* entitity -> entity

* fix: ペイロードを含むように

* fix icon

* exportableEntities -> userExportableEntities
2024-09-26 14:15:03 +09:00
KOBA789
7134d24c1f
perf(backend): Defer instance metadata update (#14558)
* Defer instance metadata update

* Fix last new line

* Fix typo

* Add license notice

* Fix syntax

* Perform deferred jobs on shutdown

* Fix missing async/await

* Fix typo :)

* Update collapsed-queue.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 10:25:20 +09:00
Aleteoryx
689848943b
Fix: Continue importing from file if single emoji import fails (#14461)
* Fix: Continue importing from file if single emoji import fails

* Fix indentation

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-24 09:50:00 +09:00
syuilo
023fa30280
refactor/perf(backend): provide metadata statically (#14601)
* wip

* Update ReactionService.ts

* Update ApiCallService.ts

* Update timeline.ts

* Update GlobalModule.ts

* Update GlobalModule.ts

* Update NoteEntityService.ts

* wip

* wip

* wip

* Update ApPersonService.ts

* wip

* Update GlobalModule.ts

* Update mock-resolver.ts

* Update RoleService.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* clean up

* Update utils.ts

* Update UtilityService.ts

* Revert "Update utils.ts"

This reverts commit a27d4be764b78c1b5a9eac685e261fee49331d89.

* Revert "Update UtilityService.ts"

This reverts commit e5fd9e004c482cf099252201c0c1aa888e001430.

* vuwa-

* Revert "vuwa-"

This reverts commit 0c3bd12472b4b9938cdff2d6f131e6800bc3724c.

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update jest.setup.ts
2024-09-22 12:53:13 +09:00