Commit graph

6279 commits

Author SHA1 Message Date
easrng
16795f18a7
Enhance(frontend): Allow negative delay in MFM (#14200)
Co-authored-by: easrng <me@easrng.net>
2024-07-14 21:31:30 +09:00
Kisaragi
f0b9d70720
ci: cache eslint (#14204)
* ci: cache eslint

* dummy commit to trigger

* fix syntax error
2024-07-14 21:30:57 +09:00
anatawa12
d47fd4ffe1
fix: error with trying to handle SIGKILL (#14208) 2024-07-14 21:29:35 +09:00
Sayamame-beans
4b9c60ad21
fix(backend): ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正 (#14100)
* fix: mute/block was not considered on users/reactions

* docs(changelog): update changelog

* chore: Apply suggestion from code review

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-14 20:24:29 +09:00
syuilo
c5607d8633 enhance(backend): configにsignToActivityPubGetの指定が無い場合trueと見做すように
trueの方が望ましいため
2024-07-14 20:14:43 +09:00
かっこかり
722acf5986
fix(frontend): follow-up of #13089 (#14206)
* fix(frontend): #13089 を修正

* fix

* 正規表現を強化

* fix
2024-07-14 17:28:34 +09:00
かっこかり
b9f3fccfac
fix(frontend): Nested RouteのときにRouterViewに当たるキーがルートのpathとぶち当たる可能性があるのを修正 (#14202)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-14 16:21:59 +09:00
Kisaragi
76181385d2
refactor(misskey-js): enable exactOptionalPropertyTypes (#14203)
* refactor(misskey-js): enable exactOptionalPropertyTypes

* refactor(misskey-js): fix error where is appeared by enabling
2024-07-14 15:52:43 +09:00
かっこかり
3c032dd5b9
enhance: 非ログイン時には別サーバーに遷移できるように (#13089)
* enhance: 非ログイン時にはMisskey Hub経由で別サーバーに遷移できるように

* fix

* サーバーサイド照会を削除

* クライアント側の照会動作

* hubを経由せずにリモートで続行できるように

* fix と pleaseLogin誘導箇所の追加

* fix

* fix

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-14 15:27:52 +09:00
かっこかり
6dd6fcf88f
enhance(frontend): サーバー情報・お問い合わせページを改修 (#14198)
* improve(frontend): サーバー情報・お問い合わせページを改修 (#238)

* Revert "Revert "enhance(frontend): add contact page" (#208)" (This reverts commit 5a329a09c987b3249f97f9d53af67d1bffb09eea.)

* improve(frontend): サーバー情報・お問い合わせページを改修

(cherry picked from commit e72758d8cda3db009c5d1bf1f4141682931b91f8)

* fix

* Update Changelog

* tweak

* lint

* 既存の翻訳を使用するように

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-07-14 14:49:50 +09:00
Kisaragi
31e82fc29a
test(backend): kill many any in backend test (partial) (#14054)
* kill any on utils:api

* kill any on timeline test

* use optional chain to kill TS2532 on timeline test
変更前: 該当ノートが見つからなければundefinedに対するプロパティアクセスとしてテストがクラッシュ
変更後: 該当ノートが見つからなければoptional chainがundefinedとして評価されるが、strictEqualの右辺がnon-nullableなためアサーションに失敗しテストがクラッシュ

* kill `as any` for ApMfmService

* kill argument any for api-visibility

* kill argument any across a few tests

* do not return value that has yielded from `await`-ing `Promise<void>`

* force cast

* runtime non-null assertion to coerce

* rewrite `assert.notEqual(expr, null)` to `assert.ok(expr)`
こうすることでassertion type扱いになり、non-nullableになる

* change return type of `failedApiCall` to `void`
戻り値がどこにも使われていない

* split bindings for exports.ts
型が合わなくて文句を言ってくるので適切に分割

* runtime non-null assertion

* runtime non-null assertion

* 何故かうまく行かないので、とりあえずXORしてみる

* Revert "何故かうまく行かないので、とりあえずXORしてみる"

This reverts commit 48cf32c930924840d0892af92d71b9437acb5844.

* castAsErrorで安全ではないキャストを隠蔽

* 型アサーションの追加

* 型アサーションの追加

* 型アサーションの追加

* voidで値を返さない

* castAsError

* assert.ok => kill nullability

* もはや明示的な型の指定は必要ない

* castAsError

* castAsError

* 型アサーションの追加

* nullableを一旦抑止

* 変数を分離して型エラーを排除

* 不要なプロパティを削除する処理を隠蔽してanyを排除

* Repository type

* simple type

* assert.ok => kill nullability

* revert `as any` drop
reverts fe95c05b3f53266108128680d9358a3796844232 partialy

* test: fix invalid assertion
partially revert b99b7b5392d9d20c81dfee1346ba8b33ff9e1fbb

* test: 52d8a54fc7 により型が合うようになった部分の`as any`を除去

* format

* test: apply https://github.com/misskey-dev/misskey/pull/14054#discussion_r1672369526 (part 1)

* test: use non-null assertion to suppress too many error

* Update packages/backend/test/utils.ts

Co-authored-by: anatawa12 <anatawa12@icloud.com>

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:33:16 +09:00
Sayamame-beans
7afa593d11
Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に (#14078)
* feat: implement role policy "canUpdateBioMedia"

* docs(changelog): update changelog

* docs(changelog): update changelog

* chore: regenerate misskey-js type definitions

* chore: Apply suggestion from code review

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* chore: fix unnecessarily strict inequality check

* chore: policies should be gotten only once

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:31:05 +09:00
かっこかり
58c596cacf
fix(backend): 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正 (#14195)
* enhance(backend): 公開バッジのみをpackするように (MisskeyIO#652)

(cherry picked from commit b8a90659f35fef49d1d00fb2f9b152226c97643c)

* Update Changelog

* fix

* Update UserEntityService.ts

---------

Co-authored-by: CyberRex <26585194+CyberRex0@users.noreply.github.com>
2024-07-14 09:26:25 +09:00
かっこかり
b5fd6183d2
deps(frontend): AiScript VSCodeのバージョンを上げる (#14199) 2024-07-14 08:00:27 +09:00
Gianni Ceccarelli
c83c831c53
parse notRespondingSince from redis instance cache (#14079)
if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`
2024-07-13 20:26:48 +09:00
dakkar
9a9570ab62 mute users when blocking them - fixes #558
we already unfollow them, and make them unfollow us, so muting them is
a very sensible thing to want

since the mute is handled separately, users can un-mute the people
they block (same as they can re-follow them)
2024-07-13 10:53:40 +01:00
Kisaragi
9fcae7d9b2
refactor(sw): enable noImplicitAny (#14191) 2024-07-13 16:59:08 +09:00
かっこかり
bcc92d546f
fix(frontend): ホットキーのレートリミットがallowRepeatを考慮しない問題を修正 (#14192) 2024-07-13 16:15:25 +09:00
かっこかり
1b175ea759
fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように (#14189)
* fix(frontend): すでにfocus trap対象の要素にinertがかかっている場合は解除するように

* 他のfocus-trapped要素とのインタラクションがある場合の動作を変更

* typo
2024-07-13 13:02:27 +09:00
syuilo
91de35ecdf fix(backend): デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正
Fix #13955
2024-07-13 10:30:28 +09:00
slonkazoid
d81aadfe23
replace useHttp with defaultProtocol 2024-07-12 15:46:23 +03:00
slonkazoid
6fa6f1ba45
i re-read the code several times but oh well 2024-07-12 15:28:05 +03:00
おさむのひと
6cd15275bb
fix: サジェストされるユーザのリストアップ方法を見直し (#14180)
* fix: サジェストされるユーザのリストアップ方法を見直し

* fix comment

* fix CHANGELOG.md

* ノートの無いユーザ(updatedAtが無いユーザ)は含めないらしい

* fix test
2024-07-12 21:14:09 +09:00
slonkazoid
0b6fb394c0
apply fixes from review 2024-07-12 14:28:19 +03:00
dakkar
872460404a use correct user for preview/link of collapsed parent - fixes #575 2024-07-12 12:17:30 +01:00
dakkar
d433c336d8 only require alt-text on image/video/audio - fixes #536 2024-07-12 11:40:37 +01:00
dakkar
cced87da7f rate limit all password checks - fixes #540
all of these endpoints require the caller to already be logged in, so
it's not really much of a security problem, but it's still safer to
limit any endpoints that can be used to guess the current password
2024-07-12 11:15:58 +01:00
かっこかり
76b1c74a37
fix(frontend): use proper import path 2024-07-12 16:39:09 +09:00
かっこかり
385969e9f5
fix(frontend): フォーカスの挙動を修正 (#14158)
* fix(frontend): 直前のパターンを記録するように

* fix(frontend): フォーカス/タブ移動に関する挙動を調整 (#226)

Cherry-pick commit e8c030673326871edf3623cf2b8675d68f9e1b13

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>

* focusのデザイン修正

* move scripts

* Modalにfocus trapを追加

* 記録するホットキーはレートリミット式にする

* escキーのハンドリングをMkModalに統一

* fix

* enterで子メニューを開けるように

* lint

* fix focus trap

* improve switch accessibility

* 一部のmodalのフォーカストラップが外れない問題を修正

* fix

* fix

* Revert "記録するホットキーはレートリミット式にする"

This reverts commit 40a7509286a87911ad4cc06d9482e8a2e5d0e7e8.

* Revert "fix(frontend): 直前のパターンを記録するように"

This reverts commit 5372b2594023952cff34aa62253ed4efef15b5dd.

* Revert "Revert "fix(frontend): 直前のパターンを記録するように""

This reverts commit a9bb52e799e110927ad92cd8f26af980819334e1.

* Revert "Revert "記録するホットキーはレートリミット式にする""

This reverts commit bdac34273e0bc5f13604c7e2f9fa6b1321a0df3d.

* 試験的にCypressでのFocustrapを無効化

* fix

* fix focus-trap

* Update Changelog

* ✌️

* fix focustrap invocation logic

* スクロールがsticky headerを考慮するように

* 🎨

* スタイルの微調整

* 🎨

* remove deprecated key aliases

* focusElementが足りなかったので修正

* preview系にfocus時スタイルが足りなかったので修正

* `returnFocusElement` -> `returnFocusTo`

* lint

* Update packages/frontend/src/components/MkModalWindow.vue

* Apply suggestions from code review

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>

* keydownイベントをまとめる

* use correct pesudo-element selector

* fix

* rename

---------

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-12 16:25:44 +09:00
かっこかり
121af778a0
enhance(frontend): 未使用のサウンド設定を削除 (#14116)
* enhance(frontend): 未使用のサウンド設定を削除

* Update Changelog

* Update CHANGELOG.md
2024-07-11 18:44:18 +09:00
かっこかり
6b876da44a
enhance(frontend): ウェルカムタイムラインのデザインを調整 (#14156)
* enhance(frontend): 非ログイン時のハイライトTLのデザイン調整

* Update Changelog

* fix cw handling

* ホバーしてたらスクロールを止めるように

* fix

* lint
2024-07-11 18:41:04 +09:00
woxtu
679318541a
Improve background color specification (#14176) 2024-07-11 16:29:18 +09:00
Kisaragi
52d8a54fc7
feat(misskey-js): POST admin/roles/createの型を具象化 (#14167)
* feat(misskey-js): `POST admin/roles/create`の型を具象化

* fix

* docs: CHANGELOG.md

* test(misskey-js): admin/roles/createの型が合うことを表明

* test(misskey-js): single quote

* test(misskey-js): 無を読もうとして爆発するのを修正

* test(misskey-js): fix comment
2024-07-10 20:40:04 +09:00
かっこかり
02e0a86b12
fix(frontend): remove unused statement
fix #14162
2024-07-10 01:00:40 +09:00
かっこかり
600f16d625
fix(backend): api-docをScalarに変更 (#14152)
* fix(backend): api-docをScalarに変更

* Update Changelog
2024-07-09 21:57:19 +09:00
かっこかり
a5407131d4
fix/refactor(frontend): hotkeyの改修 (#14157)
* improve(frontend): hotkeyの改修 (#234)

(cherry picked from commit 678be147f4db709dadf25d007cc2e679e98a370e)

* Change path, add missing script

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>

* fix

* fix

* add missing keycodes

* fix

* update changelog

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-07-09 17:59:15 +09:00
slonkazoid
7a62e1be31
implement fetching host-meta before the webfinger endpoint
code ported from iceshrimp: c3e685a925/packages/backend/src/remote/webfinger.ts
2024-07-09 05:45:41 +03:00
かっこかり
9ef6c4716c
fix(backend): 名前を空白文字列だけにできる問題を修正 (#14119)
* fix(backend): 名前を空白文字列だけにできる問題を修正

* Update Changelog

* fix test

* Unicodeを含める

* fix

* ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに

* Revert "ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに"

This reverts commit 6c752a69c0d3649072e7e4ed30025183bceb48f9.

* [ci skip] changelog typo
2024-07-07 14:19:00 +09:00
かっこかり
f119f8c2cc
feat(misskey-js): multipart/form-dataのリクエストに対応 (#14147)
* feat(misskey-js): multipart/form-dataのリクエストに対応

* lint

* add test

* Update Changelog

* テストを厳しくする

* lint

* multipart/form-dataではnullのプロパティを弾くように
2024-07-07 14:08:18 +09:00
かっこかり
984d582796
fix(frontend): サーバーサイドbootでエラー画面の描画時にDOMが初期化できていないことがあるのを修正 (#14139) 2024-07-07 09:56:09 +09:00
おさむのひと
fe852920c3
fix(backend): parse5関係の型のimport方法を変更 (#14146) 2024-07-07 09:55:06 +09:00
syuilo
8e1d94c6c7 fix import path 2024-07-06 21:46:19 +09:00
dakkar
f086bc23f5 don't send real-time updates of replies to blocked users
this is in line with the behaviour of a note's detailed view, which
does not show me replies from users who blocked me
2024-07-06 11:35:52 +01:00
かっこかり
b9ed3b2427
fix(dev): devサーバーで/notes/に直でアクセスしたらサーバー側のレスポンスが返ってくる問題を修正 (#14137) 2024-07-06 11:46:43 +09:00
syuilo
6dd2e9fc0b refactor(frontend): refactor popup api and make sure call dispose callback
Close #14122
2024-07-04 13:14:49 +09:00
zyoshoka
fab7d5e484
fix(storybook): build skipping even after updating impl story files (#14124) 2024-07-04 12:33:43 +09:00
anatawa12
5d03efa1bb
dev: fix pnpm dev is broken (#14123)
* dev: pnpm dev is broken

* dev: fix crash pnpm dev because of unhandled promise
2024-07-03 06:40:31 +09:00
woxtu
de1fe7cc5a
Use built-in API (#14095) 2024-07-02 14:47:07 +09:00
Kisaragi
eafae79869
test(backend): goodbye, Lenna (#14111) 2024-07-02 14:29:44 +09:00
syuilo
427648c4b8
update deps (#14057)
* wip

* locales/index.jsのymlファイル取得ロジックを調節

* regenerate pnpm-lock.yaml

* fix(backend): typecheck fails

* chore(deps): bump ip-cidr from 4.0.0 to 4.0.1 in /packages/backend

* chore: migrate ESLint configs to flat config (#14094)

* chore: migrate ESLint configs to flat config

* fix: update paths

* fix: frontend lint fails

* refactor(misskey-js): lint build.js

* update deps

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
Co-authored-by: zyoshoka <root@zyoshoka.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-02 11:38:34 +09:00
zyoshoka
f1b1e2a7cc
fix(storybook): prevent infinite remount of component (#14101)
* fix(storybook): prevent infinite remount of component

* fix: disable flaky `.toMatch()` test
2024-07-02 10:57:20 +09:00
dakkar
320db585e3 pass all the options to the cache constructor 2024-06-30 11:08:21 +01:00
dakkar
8cdea537e9 cache URL previews on the server
we already tell browsers to cache the preview for 7 days, but each
browser will ask the server, and the server will talk to the network,
hammering the poor site that got mentioned on fedi

let's instead cache the preview on the server!
2024-06-30 10:55:13 +01:00
Leah
b5a69c3aea Add locales for search bar 2024-06-28 17:17:13 +02:00
Leah
1c0b1cab4f Style the searchbar 2024-06-28 16:55:48 +02:00
Leah
2ebdc36c7a Add search for files in drive 2024-06-28 16:27:28 +02:00
dakkar
7bafb3ab2e rename our components - fixes #534 2024-06-28 11:10:21 +01:00
ぬるきゃっと
a6edd50a5d
chore(docker-compose): 推奨の名前にする (#14096)
* chore(docker-compose): 推奨の名前にする

5c18e329d5/spec.md (compose-file)

* yaml to yml

* fix

* fix
2024-06-28 11:16:12 +09:00
woxtu
4096dabe1e
Add null checking (#14089) 2024-06-27 21:59:19 +09:00
ぬるきゃっと
77012f2f29
fix(frontend): テーマプレビューが見れない問題を修正 (#14097)
* fix(frontend): テーマプレビューが見れない問題を修正

* fix: MkPreview.vue, preview.vue
2024-06-27 10:40:46 +09:00
yupix
1c5d0cf536
feat: アンテナの編集画面のボタンにgapを追加 (#14091) 2024-06-26 10:25:18 +09:00
woxtu
634764e1a6
refactor(frontend): Remove unused directives (#14085) 2024-06-24 21:32:12 +09:00
anatawa12
0e5a52c678 fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-23 10:59:43 +01:00
dakkar
3c3485e8a8 parse notRespondingSince from redis instance cache
if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`
2024-06-23 10:57:05 +01:00
dakkar
4bcad17013 fix "detailed" component load 2024-06-22 22:17:32 +01:00
woxtu
b269c43168
Fix type annotations (#14071) 2024-06-23 01:00:12 +09:00
dakkar
e082cbe669 make same replacements to Sk* 2024-06-22 16:14:06 +01:00
dakkar
5461c040ba move icon replacements to their own file 2024-06-22 15:53:36 +01:00
dakkar
5e3b21fd09 replaced last few ti-* 2024-06-22 15:53:36 +01:00
dakkar
fccfde8f2b replaced many more ti-* 2024-06-22 15:53:36 +01:00
dakkar
f2c56f395e replaced more ti-* 2024-06-22 15:53:36 +01:00
dakkar
138127a5b6 replaced ti-apps and a few more 2024-06-22 15:53:36 +01:00
dakkar
9f8873574c replaced tool pencil bell refresh 2024-06-22 15:53:36 +01:00
dakkar
b675c66d70 replaced another bunch, and some fixes 2024-06-22 15:53:36 +01:00
dakkar
712682ea47 replaced ti-whirl 2024-06-22 15:53:36 +01:00
dakkar
df26b6501d replaced a bunch of ti-* 2024-06-22 15:53:32 +01:00
dakkar
fc00c7401e replaced ti-arrow-back-up ti-quote ti-send 2024-06-22 15:53:13 +01:00
dakkar
4910c1f030 replaced most ti-arrow* 2024-06-22 15:53:13 +01:00
dakkar
db0c17dd3e replaced ti-movie 2024-06-22 15:53:13 +01:00
dakkar
3d917a4430 fix eye-closed → ti-eye-exclamation
we use eye-slash for sensitive, only in a few places we used
eye-closed and I think we shouldn't
2024-06-22 15:53:13 +01:00
dakkar
b34a8a9a69 replaced ti-clock 2024-06-22 15:53:13 +01:00
dakkar
acddf7e149 replaced ti-rocket ti-repeat ti-repeat-off 2024-06-22 15:53:13 +01:00
dakkar
172f9e7443 replaced ti-player-* and ti-volume-* 2024-06-22 15:53:13 +01:00
dakkar
d21d428d64 replaced ti-music 2024-06-22 15:53:13 +01:00
dakkar
0b72513ce5 replaced ti-external-link 2024-06-22 15:53:13 +01:00
dakkar
48d29fa1ae replaced ti-hourglass-empty and ti-search 2024-06-22 15:53:13 +01:00
dakkar
a25f13cb67 replaced ti-leaf and ti-hash 2024-06-22 15:53:13 +01:00
dakkar
d6ba786169 replaced ti-asterisk and ti-mood-happy 2024-06-22 15:53:13 +01:00
dakkar
5a016778d4 fix an icon 2024-06-22 15:53:13 +01:00
dakkar
ad56e745c8 replaced ti-file*
and some simplification
2024-06-22 15:53:13 +01:00
dakkar
e1bf3e2fff replaced ti-video 2024-06-22 15:53:13 +01:00
dakkar
834e449978 replaced ti-photo 2024-06-22 15:53:13 +01:00
dakkar
99d7ba8bbc replaced ti-upload 2024-06-22 15:53:13 +01:00
dakkar
8f60c6d7e1 replaced ti-cloud 2024-06-22 15:53:13 +01:00
dakkar
e84844b4ae replaced ti-id 2024-06-22 15:53:13 +01:00
dakkar
dfc5cbd5d7 replaced ti-trash 2024-06-22 15:53:13 +01:00
dakkar
f1bfe9602e replaced ti-forms 2024-06-22 15:53:13 +01:00
dakkar
cf9e5d72e0 replaced ti-app-window 2024-06-22 15:53:13 +01:00
dakkar
20aff7dd74 replaced ti-folder-plus 2024-06-22 15:53:13 +01:00
dakkar
f28095ddeb replaced ti-folder 2024-06-22 15:53:13 +01:00
dakkar
d4e1df7243 replaced ti-x 2024-06-22 15:53:13 +01:00
dakkar
bdffa579b8 replaced ti-help-circle 2024-06-22 15:53:13 +01:00
dakkar
cd3b8e6d8f replaced ti-chevron-down 2024-06-22 15:53:13 +01:00
dakkar
fb618dc624 replaced ti-chevron-up 2024-06-22 15:53:13 +01:00
dakkar
232bbd20e3 replaced ti-copy 2024-06-22 15:53:13 +01:00
dakkar
582f4b01ce replaced ti-cookie 2024-06-22 15:53:13 +01:00
dakkar
e1074c22ba replaced ti-device-tv 2024-06-22 15:53:13 +01:00
dakkar
318e5ff0f9 replaced ti-minus 2024-06-22 15:53:13 +01:00
dakkar
180ba9f5df replaced ti-plane-departure 2024-06-22 15:53:13 +01:00
dakkar
721b41a436 replaced ti-checklist 2024-06-22 15:53:13 +01:00
dakkar
5e465e222e simplify the announcement icons 2024-06-22 15:53:13 +01:00
dakkar
d2b4b2fb94 replaced ti-info-circle 2024-06-22 15:53:13 +01:00
dakkar
5409440501 replaced ti-exclamation-circle and ti-user-exclamation 2024-06-22 15:53:13 +01:00
dakkar
527bbd036c replaced ti-users 2024-06-22 15:53:13 +01:00
dakkar
84fd5822bc remove our icon classes from a test file 2024-06-22 15:53:13 +01:00
dakkar
3f38f409f9 replaced ti-reload 2024-06-22 15:53:13 +01:00
dakkar
278916be58 replaced ti-alert-triangle with ph-warning-circle 2024-06-22 15:53:13 +01:00
dakkar
cb2734e9a6 factor out plugin call
this will make it easier to do per-file replacements
2024-06-22 15:53:12 +01:00
dakkar
7d74cf62c3 replaced ti-alert-triangle 2024-06-22 15:53:12 +01:00
dakkar
1b965dd866 replaced ti-lock 2024-06-22 15:53:12 +01:00
dakkar
e8684ba98f replaced ti-eye-exclamation 2024-06-22 15:53:12 +01:00
dakkar
b1954d9898 replaced ti-eye-off 2024-06-22 15:53:12 +01:00
dakkar
8830c94591 replaced ti-eye 2024-06-22 15:53:12 +01:00
dakkar
e17f7b7297 replaced ti-star 2024-06-22 15:53:12 +01:00
dakkar
7eed0aec69 replaced ti-code 2024-06-22 15:53:12 +01:00
dakkar
2f4a9010c9 replaced ti-key 2024-06-22 15:53:12 +01:00
dakkar
bc0fbca65e replaced ti-link 2024-06-22 15:53:12 +01:00
dakkar
65605683c7 replaced ti-settings 2024-06-22 15:53:12 +01:00
dakkar
e7b3a60698 replaced ti-arrow-left 2024-06-22 15:53:12 +01:00
dakkar
f8248853d1 replaced ti-heart 2024-06-22 15:53:12 +01:00
dakkar
b4e3217cc2 replaced ti-pin 2024-06-22 15:53:12 +01:00
dakkar
79df8774da replaced ti-arrow-right 2024-06-22 15:53:12 +01:00
dakkar
01b9736c8c stricter replacement rules 2024-06-22 15:53:12 +01:00
dakkar
78b21cecc4 replaced ti-pencil 2024-06-22 15:53:12 +01:00
dakkar
5ab3f601da replaced ti-clock 2024-06-22 15:53:12 +01:00
dakkar
bdbcb55a81 replaced ti-home 2024-06-22 15:53:12 +01:00
dakkar
d83438dea2 replaced ti-confetti 2024-06-22 15:53:12 +01:00
dakkar
b149a67a4b replaced ti-shield ti-shield-lock 2024-06-22 15:53:12 +01:00
dakkar
0b0b2e95da replaced ti-device-floppy 2024-06-22 15:53:12 +01:00
dakkar
ad2412d3cd replaced ti-check 2024-06-22 15:53:12 +01:00
dakkar
14fbac7ca5 replaced ti-dots 2024-06-22 15:53:12 +01:00
dakkar
b2054a674d replaced ti-chevron-right ti-chevrons-right 2024-06-22 15:53:12 +01:00
dakkar
96ce65dc62 replaced ti-planet ti-world-x ti-world-search 2024-06-22 15:53:12 +01:00
dakkar
6f5099f699 replaced ti-plus 2024-06-22 15:53:12 +01:00
dakkar
cb124607ce replaced ti-circle-x 2024-06-22 15:53:12 +01:00
dakkar
2258d84f08 replaced ti-download 2024-06-22 15:53:12 +01:00
dakkar
babe2f3fcf replaced ti-terminal-2 2024-06-22 15:53:12 +01:00
zyoshoka
961cb6c5ee
fix(backend): fix creating reactions bugs (#13901)
* fix(backend): add fallback for empty string when creating reaction

* fix(backend): prohibit reactions to Renote

* test(backend): add some tests for `notes/reactions/create` endpoint

* Update CHANGELOG.md

* lint

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 19:49:38 +09:00
woxtu
00b213373b
Remove @types/node-fetch (#13948) 2024-06-22 19:46:29 +09:00
Kisaragi
9368eb3038
refactor: say bye to the weird groupBy friends (#13975)
* refactor(frontend): say bye to the weird groupBy friends

* refactor(backend): say bye to the weird groupBy friends
2024-06-22 19:40:55 +09:00
かっこかり
7c22a64b8c
fix(backend): 自分以外のクリップ内のノート個数が見えるのを修正 (#14065)
* fix(backend): 自分以外のクリップ内のノート個数が見えることがあるのを修正

* Update Changelog

* fix
2024-06-22 16:52:27 +09:00
かっこかり
bf403aa656
fix(frontend): ベースロールを編集してもUI上では変更が反映されない問題を修正 (#13995)
* fix(frontend): ベースロールを変更してもUI上では変更が反映されない問題を修正

* Update CHANGELOG.md
2024-06-22 15:35:54 +09:00
yupix
b50eb511b0
refactor: api/*/update系の必須キーを最低限に (#13824)
* refactor: clips/updateの必須キーをclipIdのみに

* refactor: admin/roles/update の必須キーをroleIdのみに

* feat: pages/update の必須キーをpageIdのみに

* refactor: gallery/posts/update の必須キーをpostidのみに

* feat: misskey-jsの型を更新

* feat: i/webhooks/updateの必須キーをwebhookIdのみに

* feat: admin/ad/updateの必須キーをidのみに

* feat: misskey-jsの型を更新

* chore: update CHANGELOG.md

* docs: update CHANGELOG.md

* fix: secretが更新できなくなる場合がある

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

* Update packages/backend/src/server/api/endpoints/gallery/posts/update.ts

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 14:52:27 +09:00
Kisaragi
ac12ab8629
fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (#14006)
* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (test wip)

* chore: beforeEachを使う?

* fix: プレーンテキストにフォールバックしてMFMが含まれていないか調べる方針を実装

* fix: application/jsonだとパースされるのでその作用をキャンセル

* build: fix lint error

* docs: update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:51:02 +09:00
ぬるきゃっと
ef205fb60e
enhance(frontend): WidgetInstanceInfo.vue と WidgetProfile.vue のスタイル調整 (#14028)
* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 WidgetInstanceInfo.vue and WidgetProfile.vue

* 🎨 home.vue
2024-06-22 12:46:30 +09:00
かっこかり
7e21497edc
fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正 (#14045)
* fix(frontend): リバーシ開始時の自動投稿のURLが正しくない場合があるのを修正

* ✌️
2024-06-22 12:45:37 +09:00
anatawa12
1e78ef1cb8
fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:44:01 +09:00
zyoshoka
8a9de081f1
fix(backend): fallback if sinceId is older than the oldest in cache when using FTT (#14061)
* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT

* Update CHANGELOG.md

* chore: fix description of test
2024-06-22 12:43:03 +09:00
woxtu
4d2eddec2e
Replace with vue/no-setup-props-reactivity-loss rule (#14062) 2024-06-22 12:40:00 +09:00
dakkar
c57931d408 merge: ugly work-around to prevent plugins from breaking timelines (!558)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/558

Approved-by: Leah <kevinlukej@gmail.com>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-06-21 14:39:26 +00:00
dakkar
385ecc30a3 don't await in <setup>
`defineAsyncComponent` exists for exactly this purpose…
2024-06-21 11:41:08 +01:00
dakkar
513a8e5de4 select note component in <setup>
this makes our templates much more similar to upstream's, making
merges simpler

changing note design is already marked as needing a reload, so having
non-reactive code that selects the note component is not a problem
2024-06-21 11:17:11 +01:00
zyoshoka
a9012d3d0c
test(frontend): fix component error in MkChart story (#14056) 2024-06-21 17:29:37 +09:00
woxtu
2c84d06a66
Fix type checking (#14052) 2024-06-21 13:48:04 +09:00
syuilo
e88f08ad7d refactor 2024-06-21 13:31:02 +09:00
syuilo
1d6ccd9781 remove unused files 2024-06-21 13:21:27 +09:00
syuilo
811ffbf3a4 remove unused file 2024-06-21 13:18:19 +09:00
syuilo
bf33382082 refactor(backend): remove unnecessary isNotNull sugar 2024-06-21 13:03:51 +09:00
syuilo
1df90cef4c update typescript 2024-06-21 13:03:00 +09:00
dakkar
d6a1db1e7b ugly work-around to prevent plugins from breaking timelines
as the comment says, this is a complicated interaction that must be
fixed upstream (I'm not going to fork aiscript for this!)

but at least this stops errors in plugins from completely breaking
Sharkey's frontend
2024-06-20 10:23:29 +01:00
woxtu
b683d79f8b
Fix type checking (#14047) 2024-06-20 16:24:10 +09:00
dakkar
6d1b1df1aa cache-bursting for stylesheets and fonts
adding `?version=…` makes sure browsers get the latest files, and it
looks like they honour the caching headers we send back
2024-06-19 17:04:49 +01:00
woxtu
77ae69355c
Enable to iterate over DOM collections (#14040) 2024-06-19 12:19:38 +09:00
KevinWh0
da63519854 add .js to import in general.vue 2024-06-18 15:45:00 +01:00
KevinWh0
c71b74c2a0 remove $i check from attemptShowNotificationDot 2024-06-18 15:45:00 +01:00
KevinWh0
72c8391208 change notificationDotNotWorkingAdvice wording 2024-06-18 15:45:00 +01:00
KevinWh0
a3ff0510fb added docs for how to enable it 2024-06-18 15:45:00 +01:00
KevinWh0
88eb1a0c53 fixes & add button to see if notification dot works 2024-06-18 15:44:58 +01:00
dakkar
16ecc2e406 merge: Revert "fix: start only one instance of ChartManagementService scheduled job" (!555)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/555

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-06-18 14:26:51 +00:00
dakkar
91cd995fb2 Revert "fix: start only one instance of ChartManagementService scheduled job"
This reverts commit 2532fea702.
2024-06-18 15:20:09 +01:00
woxtu
f37d684fab
Add missing styles (#14031) 2024-06-18 19:46:20 +09:00
Ryu jongheon
d0ee0203e1
Fix(backend): Limit antenna/webhook/list to exact amount (#14036)
... not +1
* Update antennas/clips e2e test
2024-06-18 12:18:04 +09:00
Sugar
be5cda6f6f add fade to animated mfm tags 2024-06-17 05:36:10 +02:00
dakkar
4c06f9a6e2 followmouse should be gated by "play animation" button 2024-06-15 13:45:27 +01:00
dakkar
b525c5887f add copyright text to all our files 2024-06-15 11:36:55 +01:00
zyoshoka
379ce0145b
fix(frontend): fix time on MkChart's story (#13958) 2024-06-15 16:35:41 +09:00
zyoshoka
d4e2be68ee
fix(frontend): chart in MkInstanceCardMini is no longer displayed (#13932)
* fix(frontend): chart in `MkInstanceCardMini` is no longer displayed

* Update CHANGELOG.md

* test: add `MkInstanceCardMini` story

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-15 10:32:51 +09:00
Acid Chicken
1a82a41f92
refactor(backend): get column names from metadata (#13943)
* ci: enable

* chore: stop when generated column found

* chore: get column names from metadata

* ci: disable
2024-06-15 10:28:57 +09:00
anatawa12
220e112c83
fix rate limit check never ends (#13994) 2024-06-15 08:42:13 +09:00
dakkar
d27965d8b3 remove duplicate switches
I got confused in the last merge from `develop`
2024-06-14 11:40:22 +01:00
dakkar
fdd9df8ae9 Merge branch 'develop' into future-2024-05-31 2024-06-14 11:19:13 +01:00
dakkar
a22450d4f3 merge: feat: add an option to collapse replies (!545)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/545

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-06-14 10:13:59 +00:00
dakkar
7c6312833f fix "react" button style in SkNoteDetailed
thanks fEmber for noticing!
2024-06-13 14:17:04 +01:00
dakkar
26975419af more lints 2024-06-13 09:52:48 +01:00
dakkar
6601e95e67 types 2024-06-13 09:24:56 +01:00
dakkar
599bc708de lints 2024-06-13 09:24:36 +01:00
dakkar
ed8b1b8f07 keep renoteCollapsed as it was before adding reply collapse 2024-06-13 10:13:46 +02:00
dakkar
b2cbd507fe Merge branch 'develop' into future-2024-05-31 2024-06-13 09:06:24 +01:00
dakkar
853058e78d merge: tweak the rate limit for notes/create and other improvements (!548)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/548

Closes #467 and #468

Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <marie@kaifa.ch>
2024-06-13 07:58:28 +00:00
dakkar
fef64e9c69 merge: Choosing search engines for search mfm (!547)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/547

Approved-by: Luna <her@mint.lgbt>
Approved-by: Marie <marie@kaifa.ch>
2024-06-13 07:58:06 +00:00
Kisaragi
dc3629e732
feat(backend): report Retry-After if client hit rate limit (#13949)
* feat(backend): report `Retry-After` if client hit rate limit

* refactor(backend): fix lint error
2024-06-13 10:56:26 +09:00
syuilo
c73d739bd6 node 22 support 2024-06-13 10:40:20 +09:00
sirsegv
1616cb533e
Fix json module imports for node 22 (#13875) 2024-06-13 10:18:01 +09:00
dakkar
73323a70a3 use configured boost visibility, instead of note's 2024-06-12 17:51:35 +01:00
dakkar
935cb73c0b more robust "only one renote at a time" logic
this blocks the button as well, not just the hotkey
2024-06-12 17:49:13 +01:00
dakkar
f98229d3e0 semicolons 2024-06-12 17:47:34 +01:00
dakkar
58c77c4d5c fix accesses to canRenote 2024-06-12 17:47:25 +01:00
dakkar
5c311e8a28 tweak the rate limit for notes/create
while fixing #467 #468, we changed the rate limit from 300/hour to
5/minute

some people felt it was too low: they often boost notes in quick
succession

so here's a different approach: back to 300/hour, but not more than
1/second; this is the same settings that `notes/delete` has, BTW
2024-06-12 17:06:33 +01:00
KevinWh0
d53df1c5d2 undid weird / in search engine map 2024-06-12 15:00:12 +02:00
KevinWh0
62f54713bc fixing some things 2024-06-12 14:46:20 +02:00
KevinWh0
c87ed51311 made it so you can pick a search engine 2024-06-12 13:35:37 +02:00
Kisaragi
ff3a38a7f5
fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)
* fix(frontend): 追加情報のラベルを投稿者のサーバーの絵文字で表示する

* docs: update changelog
2024-06-12 10:52:22 +09:00
Sugar
a061c6c2d5 reduce margin-top for collapsed in replies to in small containers 2024-06-11 20:33:22 +02:00
Sugar
c149734fba avoid renoteCollapsed dependency in inReplyToCollapsed 2024-06-11 19:57:31 +02:00
Sugar
460e7f05ab correct collapsed in reply to line alignment with small screen sizes 2024-06-11 17:24:45 +02:00
Sugar
9ce2c8c081 include usernames in collapsed notes replied to 2024-06-11 17:19:24 +02:00
dakkar
fe0d95b277 remove duplicate settings switch 2024-06-11 15:48:25 +01:00
Sugar
c808147292 replace reply with inReplyTo in in-reply-to collapse code 2024-06-11 16:28:09 +02:00
Sugar
c9d0b81555 feat: add an option to collapse replies 2024-06-11 15:25:43 +02:00
Marie
8f3549b494 merge: fix #520, render usernames containing custom emoji in welcome toast properly (!541)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/541

Closes #520

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-06-09 21:02:58 +00:00
dakkar
6060fdcae7 merge: celebrate our testers - fixes #552 (!543)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/543

Closes #552

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Tess K <me@thvxl.se>
2024-06-09 15:23:32 +00:00
tess
e7b87c0269 Pass renderMfm as true to wrap welcome back toast in Mfm 2024-06-09 16:21:12 +02:00
tess
ce197bc2e6 add ability to conditionally wrap toast message in Mfm tag 2024-06-09 16:19:56 +02:00
Tess K
df333d1855 merge: Add tess to contributor list (!542)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/542

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-06-09 12:55:42 +00:00
dakkar
2768245bc7 fix link to "all contributors" graphs 2024-06-09 10:11:54 +01:00
dakkar
450b2abdae add section for testers in about page 2024-06-09 10:11:40 +01:00
dakkar
0b39869bdc merge: better block display for <bdi> elements - fixes #550 (!538)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/538

Closes #550

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Tess K <me@thvxl.se>
2024-06-09 08:50:22 +00:00
tess
5bbdd07c95 Add tess to contributor list 2024-06-09 03:46:08 +02:00
tess
c8535b5d26 MkToast Mfm plain prop should be static 2024-06-09 03:34:11 +02:00
tess
3bfff3509c fix custom emoji in welcome message 2024-06-09 03:20:32 +02:00
Marie
4a9260a432 upd: seperate H2/H3 into own case 2024-06-08 18:53:42 +00:00
Marie
0c3690a8ba upd: bold some Header tags 2024-06-08 18:00:29 +00:00
dakkar
e7fcdd47e5 another semicolon 2024-06-08 17:34:48 +01:00
dakkar
cc6b9f4cb0 spaces 2024-06-08 17:34:14 +01:00
dakkar
f64e6e8646 semicolons 2024-06-08 17:33:15 +01:00
dakkar
c0f9e44712 fix accesses to canRenote 2024-06-08 17:30:56 +01:00
dakkar
11af7e6587 fix indents 2024-06-08 16:57:17 +01:00
dakkar
5dc8c2827c Merge branch 'develop' into future-2024-05-31 2024-06-08 16:45:53 +01:00
zyoshoka
9849aab402
test(#10336): add components/MkC.* stories (#13830)
* test(storybook): add `components/MkC.*` stories

* test(storybook): add some tests

* test: add sleep

* test: comment-out flaky test

* test(storybook): add test for `MkChannelFollowButton`

* chore(storybook): tweak sleep duration in `MkChannelFollowButton` story test

* fix(chromatic): add delay to `MkChannelList`

* chore: replace `mswDecorator` with `mswLoader`

* fix(storybook): tweak some parameters

* chore: serve static files

* fix(chromatic): add delay to `MkCwButton`

* chore: delete logging for debug

* fix: add right click in `MkContextMenu` play

* refactor: remove unused imports
2024-06-08 18:00:54 +09:00
おさむのひと
61fae45390
feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする (#13758)
* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする

* モデログに対応&エンドポイントを単一オブジェクトでのサポートに変更(API経由で大量に作るシチュエーションもないと思うので)

* fix spdx

* fix migration

* fix migration

* fix models

* add e2e webhook

* tweak

* fix modlog

* fix bugs

* add tests and fix bugs

* add tests and fix bugs

* add tests

* fix path

* regenerate locale

* 混入除去

* 混入除去

* add abuseReportResolved

* fix pnpm-lock.yaml

* add abuseReportResolved test

* fix bugs

* fix ui

* add tests

* fix CHANGELOG.md

* add tests

* add RoleService.getModeratorIds tests

* WebhookServiceをUserとSystemに分割

* fix CHANGELOG.md

* fix test

* insertOneを使う用に

* fix

* regenerate locales

* revert version

* separate webhook job queue

* fix

* 🎨

* Update QueueProcessorService.ts

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-08 15:34:19 +09:00
Porlam Nicla
c39de769ca 配信停止したインスタンス一覧が見れなくなる問題を修正 (#13945)
* 配信停止したインスタンス一覧が見れなくなる問題を修正

* Update CHANGELOG.md
2024-06-07 22:11:13 +01:00
dakkar
079abfd713 rate limit note/reply/boost creation more tightly
5/minute is the same as 300/hour on average, and still high enough
that it shouldn't be a problem for most people
2024-06-07 15:10:16 +01:00
dakkar
388926775e I meant finally, not then, thanks fEmber 2024-06-07 14:47:16 +01:00
dakkar
cb43994841 only allow a single boost via hotkey - fixes #467 #468
As usual, have to write the same thing four times ☹

The parentheses around `q` tell the hotkey/keymap code to ignore
auto-repeat events (which works fine in Chrome but not in Firefox, I
reported the bug https://bugzilla.mozilla.org/show_bug.cgi?id=1900397
)

In addition, I've added a guard variable that is true while calling
the backend to boost/renote, and false otherwise. This way, even in
Firefox we don't spam-boost. Unboosting is still *only with the
mouse*, I have not added that functionality.
2024-06-07 11:40:44 +01:00
dakkar
43c0ffe7f8 better block display for <bdi> elements
We use MfM in all sorts of places, and only some of them are actual
blocks. We can now tell the `Mfm` component to make the top-level
`<bdi>` a block when we need to (mostly note bodies, user
descriptions, announcements) and leave it inline in all other places.

This should still rendener inline rtl content embedded in ltr text in
a sensible way, while providing right-alignment for fully rtl blocks.
2024-06-07 11:18:25 +01:00
Porlam Nicla
e0cf5b2402
配信停止したインスタンス一覧が見れなくなる問題を修正 (#13945)
* 配信停止したインスタンス一覧が見れなくなる問題を修正

* Update CHANGELOG.md
2024-06-07 14:46:46 +09:00
syuilo
8592716139 enhance(backend): improve sentry integration 2024-06-07 13:15:37 +09:00
taichan
00157864e9
fix(backend): チャート生成時にinstance.isSuspendedが読まれてしまう問題の修正 (#13951)
* fix(backend): use sustensionState instead of isSuspended

* Update CHANGELOG.md
2024-06-07 09:00:01 +09:00
syuilo
8f833d742f enhance(backend): improve sentry integration 2024-06-06 11:51:31 +09:00
syuilo
d55e638a23 lint fixes 2024-06-06 11:40:11 +09:00