Commit graph

257 commits

Author SHA1 Message Date
mattyatea 5335e68bde Feat:ゴリラモード 2023-11-02 16:51:03 +09:00
mattyatea 10d38335f2 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	package.json
#	packages/backend/src/server/api/EndpointsModule.ts
#	packages/frontend/src/pages/settings/general.vue
2023-11-02 16:07:27 +09:00
syuilo f62ad3ed3e feat: notification grouping
Resolve #12211
2023-11-02 15:57:55 +09:00
mattyatea 801637ef1d Revert "🎨"
This reverts commit e6e5bf1da4.
2023-11-02 14:45:50 +09:00
mattyatea c2208fb1c5 インジケーターとか 2023-11-02 14:32:07 +09:00
mattyatea d720501c82 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	package.json
#	packages/frontend/src/components/MkLaunchPad.vue
#	packages/frontend/src/ui/_common_/navbar-for-mobile.vue
#	packages/frontend/src/ui/_common_/navbar.vue
#	packages/frontend/src/ui/universal.vue
2023-11-02 06:47:13 +09:00
かっこかり 5fb6847419
Feat: 未読通知数を表示できるように (#11982)
* 未読通知数を表示できるように

* Update Changelog

* オプトインにする

* Fix lint

* (add) テスト通知のプッシュ通知を追加

* add test

* フロントエンドの表示上限を99に変更

* Make it default on

* 共通スタイルをくくりだす

* Update Changelog

* tweak

* Update UserEntityService.ts

* rename

* Update navbar-for-mobile.vue

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-11-01 13:34:05 +09:00
mattyatea 56ea04cb0b Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/ui/_common_/common.ts
2023-11-01 05:23:55 +09:00
syuilo e6e5bf1da4 🎨 2023-10-31 13:46:58 +09:00
mattyatea a76a977358 fix 2023-10-30 18:44:15 +09:00
mattyatea 9199a493f1 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	locales/index.d.ts
#	locales/ja-JP.yml
#	package.json
#	packages/backend/src/core/RoleService.ts
#	packages/backend/src/server/api/endpoints/notes/create.ts
#	packages/frontend/src/components/MkTimeline.vue
#	packages/frontend/src/const.ts
#	packages/frontend/src/pages/admin/roles.editor.vue
#	packages/frontend/src/pages/settings/general.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/store.ts
#	packages/frontend/src/ui/_common_/stream-indicator.vue
#	packages/frontend/src/ui/universal.vue
2023-10-30 18:33:03 +09:00
_ c239058624
feat(frontend): スワイプやボタンでタイムラインを再読込する機能 (#12113)
* pc reloading

* add: disable TL websocket option

* fix: stream disconnect when reload

* add: pull to refresh

* fix: pull to refresh

* add changelog

* fact: change to disableStreamingTimeline

* lint

* remove: en-US text

* refactor

* refactor

* add license identifier

* tweak

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* change name timeoutHeartBeat

* tweak

* 🎨

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-30 09:12:20 +09:00
mattyatea b3084f45b4 Merge remote-tracking branch 'misskey-original/develop' into develop 2023-10-29 18:11:02 +09:00
syuilo 7436e0da18 lint fixes 2023-10-29 16:09:20 +09:00
かっこかり 1a8243f1ca
MkCodeのパースエンジンをShikiに変更 (#12102)
* (swap) prism -> shiki

* fix styles

* (bump) aiscript-vscode to v0.0.5

* refactor

* replace prism-editor (beta)

* Update scratchpad.vue

* (enhance) MkCodeEditor自動インデント改行

* (fix) lint

* (add) scratchpad: MkStickyContainer

* Update CHANGELOG.md

* clean up

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-29 14:12:40 +09:00
mattyatea 7e155917e7 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	package.json
#	packages/frontend/src/components/MkEmojiPicker.vue
#	packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts
#	packages/frontend/src/pages/about.emojis.vue
#	packages/frontend/src/pages/custom-emojis-manager.vue
2023-10-28 16:06:07 +09:00
かっこかり e5ff8d8445
enhance: プラグイン削除時にアクセストークンも削除する (#12167)
* (enhance) プラグイン削除時にトークンも削除

* update changelog
2023-10-28 07:54:06 +09:00
mattyatea 7242b195ab fix 2023-10-28 06:06:41 +09:00
syuilo afb37f0b03 🎨 2023-10-24 14:38:15 +09:00
mattyatea 76aad3f869 2023.11.0-beta.2-prismisskey.1 2023-10-23 05:16:08 +09:00
mattyatea cf14d90f50 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	package.json
#	packages/frontend/src/components/MkPostForm.vue
#	packages/frontend/src/ui/_common_/navbar.vue
2023-10-22 19:47:55 +09:00
syuilo 8091e8b900 🎨 2023-10-22 16:16:02 +09:00
syuilo 1aeae6217e chore(frontend): tweak settings ui 2023-10-22 16:12:01 +09:00
syuilo 18fb7a2080 enhance(frontend): アイコンのデコレーションを非表示にできるように 2023-10-22 16:05:32 +09:00
mattyatea ec5bb48d6b Merge remote-tracking branch 'misskey-original/develop' into develop 2023-10-22 13:15:38 +09:00
syuilo 4eaa02d25f enhance: improve avatar decoration 2023-10-22 13:02:24 +09:00
mattyatea 212986a3a8 Merge remote-tracking branch 'misskey-original/develop' into develop 2023-10-22 12:48:46 +09:00
syuilo fd8d253e1e 🎨 2023-10-22 09:43:55 +09:00
mattyatea 366ea80a06 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	package.json
#	packages/frontend/package.json
#	packages/frontend/src/components/MkMention.vue
#	packages/frontend/src/components/global/MkAvatar.vue
#	packages/frontend/src/pages/settings/general.vue
2023-10-21 20:47:50 +09:00
かっこかり f51bca41c5
Feat: 外部サイトからテーマ・プラグインのインストールができるように (#12034)
* Feat: 外部サイトからテーマ・プラグインのインストールができるように

* Update Changelog

* Change Changelog

* Remove unnecessary imports

* Update fetch-external-resources.ts

* Update CHANGELOG.md

* Update CHANGELOG.md
2023-10-21 18:41:12 +09:00
anatawa12 722584bf72
すべてのフォロー中の人のwithRepliesを変える機能 (#12049)
* feat: endpoint to update all following

* feat(frontend): change show replies for all

* docs(changelog): すでにフォローしたすべての人の返信をTLに追加できるように

* fix: cancel not working
2023-10-21 18:39:19 +09:00
syuilo 2c0a139da6
feat: Avatar decoration (#12096)
* wip

* Update ja-JP.yml

* Update profile.vue

* .js

* Update home.test.ts
2023-10-21 18:38:07 +09:00
mattyatea bbf1ba6a54 Fix: mute 2023-10-20 14:39:25 +09:00
Nafu Satsuki 4d00155a42 feat: ワードミュートに該当したノートを非表示にできるように 2023-10-19 19:15:53 +09:00
mattyatea 1b558e7243 Feat: グローバルタイムラインの表示非表示を 2023-10-19 02:17:16 +09:00
mattyatea eacb74cb44 Merge remote-tracking branch 'misskey-original/develop' into develop
# Conflicts:
#	locales/index.d.ts
#	locales/ja-JP.yml
#	package.json
#	packages/backend/src/core/entities/NoteEntityService.ts
#	packages/backend/src/models/Note.ts
#	packages/backend/src/server/api/endpoints/roles/notes.ts
#	packages/backend/src/server/api/stream/channels/global-timeline.ts
#	packages/backend/src/server/api/stream/channels/home-timeline.ts
#	packages/backend/src/server/api/stream/channels/hybrid-timeline.ts
#	packages/backend/src/server/api/stream/channels/local-timeline.ts
#	packages/frontend/src/components/MkFollowButton.vue
#	packages/frontend/src/pages/settings/general.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/pages/user/home.vue
#	packages/frontend/src/store.ts
2023-10-18 21:22:51 +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 9f5ab14d70.

* 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
mattyatea 40469aa0ce 逆張りモードの実装 2023-10-12 18:02:55 +09:00
mattyatea 592c6e60a9 色々fix 2023-10-12 15:25:41 +09:00
mattyatea abb79a0b36 ユーザーのページでノートを表示するかハイライトを表示するか決められるようにした 2023-10-07 10:40:08 +09:00
mattyatea 560482315b Merge remote-tracking branch 'misskey-original/develop' into timeline-toka
# Conflicts:
#	locales/index.d.ts
#	locales/ja-JP.yml
#	package.json
#	packages/backend/src/server/api/endpoints/admin/emoji/add.ts
#	packages/backend/src/server/api/stream/channels/global-timeline.ts
#	packages/backend/src/server/api/stream/channels/home-timeline.ts
#	packages/backend/src/server/api/stream/channels/hybrid-timeline.ts
#	packages/backend/src/server/api/stream/channels/local-timeline.ts
#	packages/frontend/src/components/MkNote.vue
#	packages/frontend/src/components/MkPostForm.vue
#	packages/frontend/src/pages/timeline.vue
#	pnpm-lock.yaml
2023-10-07 04:15:59 +09:00
Camilla Ett e4ade46a2d
fix(frontend): クライアント設定から13.7.0で削除されたチャット機能に関するサウンド設定を削除 (#11912)
* fix(frontend): クライアント設定から13.7.0で削除されたチャット機能に関するサウンド設定を削除

* fix(frontend): 各localesからsfx/chat sfx/chatbgを削除
2023-10-04 20:17:05 +09:00
syuilo 89e4f28d06 enhance(frontend): tweak ui 2023-10-04 20:03:52 +09:00
CyberRex a511d8eddc
2段階認証のバックアップコード一覧をテキストファイルでダウンロード可能に (#11957) 2023-10-03 20:27:37 +09: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 10ae0b329a enhance(frontend): tweak ui 2023-10-03 18:33:22 +09:00
mattyatea ac1367a0b9 TLの絞り込み保存できるようにした 2023-09-30 19:02:17 +09:00
mattyatea 582a6948e5 いいかんじ 2023-09-29 23:18:18 +09:00
syuilo b9da1415a5 feat: 通知の受信設定を強化 2023-09-29 11:29:54 +09:00
mattyatea 81f56f08b7 Merge remote-tracking branch 'misskey-dev/develop' into prismisskey
# Conflicts:
#	packages/backend/src/server/api/stream/channels/global-timeline.ts
#	packages/backend/src/server/api/stream/channels/home-timeline.ts
#	packages/backend/src/server/api/stream/channels/hybrid-timeline.ts
#	packages/backend/src/server/api/stream/channels/local-timeline.ts
#	packages/frontend/src/pages/settings/general.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/ui/deck/deck-store.ts
2023-09-28 16:11:39 +09:00
syuilo eb740e2c72 enhance: タイムラインからRenoteを除外するオプションを追加 2023-09-28 11:41:41 +09:00
mattyatea dd7b6f92df 公開範囲に色付け(localonly) 2023-09-26 10:54:46 +09:00
mattyatea b8c4c09e59 公開範囲、見やすく。 2023-09-25 21:12:22 +09:00
mattyatea 1a9d3737b1 ゲーミングのスピードの調整 2023-09-25 02:57:48 +09:00
mattyatea 9fe170a488 gaming lighting speed change 2023-09-25 02:02:33 +09:00
mattyatea aec6bccbdf Merge remote-tracking branch 'misskey-dev/develop' into rainbow
# Conflicts:
#	package.json
#	packages/frontend/src/components/MkMenu.vue
2023-09-23 15:48:34 +09:00
mattyatea df4d040f1e 2023.9.0-beta.11-prismisskey.3 2023-09-23 09:31:01 +09:00
かっこかり 1924bd20bb
enhance(frontend): プラグインのソースコードを確認・コピーできるように (#11873)
* (add) plugin: view and copy source code

* (fix) plugin permission ui

* Update Changelog
2023-09-23 09:08:14 +09:00
mattyatea a63bef2d8f Merge remote-tracking branch 'misskey-dev/develop' into prismisskey
# Conflicts:
#	package.json
#	packages/frontend/src/pages/settings/general.vue
2023-09-22 20:03:34 +09:00
かっこかり 7dc9fe4e24
feat(frontend): センシティブなメディアを目立たせる設定を追加 (#11851)
* (add) highlight sensitive image

* Update Changelog

* (change) 設定の位置

* (add) apply mediaHighlight to video

* (change) image -> media

* Update CHANGELOG

* やっぱもうちょっと太い方がいい

* (fix) style

* Update ja-JP.yml

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-09-22 16:03:10 +09:00
syuilo c836157edb
enhance: 二要素認証設定時のセキュリティを強化 (#11863)
* enhance: 二要素認証設定時のセキュリティを強化

パスワード入力が必要な操作を行う際、二要素認証が有効であれば確認コードの入力も必要にする

* Update CoreModule.ts

* Update 2fa.ts

* wip

* wip

* Update 2fa.ts

* tweak
2023-09-22 14:12:33 +09:00
mattyatea 6e0b64bebe Merge remote-tracking branch 'misskey-dev/develop' into prismisskey
# Conflicts:
#	package.json
2023-09-21 19:08:33 +09:00
mattyatea f05f911916 feat: メディアタイムライン実装 2023-09-21 17:31:23 +09:00
mattyatea bbd5282dc6 feat: ゲーミングモード実装 2023-09-21 16:39:18 +09:00
syuilo b654446f93 enhance(frontend): tweak ui 2023-09-21 15:14:08 +09:00
mattyatea d9db4449b4 Merge remote-tracking branch 'misskey-dev/develop' into prismisskey
# Conflicts:
#	CHANGELOG.md
#	package.json
#	packages/frontend/src/components/MkInstanceTicker.vue
#	packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts
#	packages/frontend/src/pages/about.vue
#	packages/frontend/src/pages/settings/theme.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/ui/_common_/navbar-for-mobile.vue
#	packages/frontend/src/ui/_common_/navbar.vue
#	packages/frontend/src/ui/universal.vue
#	packages/frontend/src/widgets/WidgetInstanceInfo.vue
2023-09-21 00:20:12 +09:00
syuilo bb460a1785 feat(frontend): スリープ無効化機能
Resolve #11853
2023-09-20 10:02:39 +09:00
mattyatea 4979c5180c feat: prismisskey用にicon変更する 2023-09-20 09:25:19 +09:00
mattyatea b853625500 Merge remote-tracking branch 'prismisskey/develop' into prismisskey 2023-09-20 09:05:40 +09:00
mattyatea bec8237cb3 feat: prismisskey用に背景画像などを変更する 2023-09-20 09:02:50 +09:00
syuilo b0f6c44f36 refactor(frontend): use ESM 2023-09-19 16:37:43 +09:00
syuilo 299c9c4118 feat(frontend): 任意のユーザーリストをタイムラインページにピン留めできるように 2023-09-19 10:58:42 +09:00
mattyatea 62b70f85f0 なんかもう色々変えた 2023-09-18 21:47:39 +09:00
mattyatea 368afeba34 feat: データセーバー強化(したかった) 2023-09-18 08:24:40 +09:00
かっこかり 3456680e1d
新しい実績を追加 (#11817)
* (add) new achievement

* (update) changelog

* Update test-notification.ts

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-09-12 15:48:19 +09:00
かっこかり cd6428715e
feat: テスト通知を送信できるようにする (#11810)
* (add) Notification test

* Update Changelog

* (add) backend, frontend impl

* globalEventの名前を明確にする

* Run API Extractor
2023-09-11 14:31:50 +09:00
syuilo 295665a177 enhance(frontend): リアクションの表示サイズをより大きくできるように 2023-09-10 17:16:50 +09:00
syuilo ff9a65e8fa
feat: passkey support (#11804)
https://github.com/MisskeyIO/misskey/pull/149
2023-09-08 14:05:03 +09:00
syuilo 1f7a81aae7
update deps (#11764)
* update deps

* node16

* wip

* wip

* wip

* Update test-utils.ts

* wip

* Update tsconfig.json

* wip

* Update package.json

* wip

* Update following.vue

* Update followers.vue

* Update index.vue

* Update share.vue

* Update MkUserPopup.vue

* Update MkPostForm.vue

* wip

* Update MkTokenGenerateWindow.vue

* Update MkPagination.vue

* refactor

* update deps

* update deps

* Update sw.ts

* wip

* wip

* wip

* Update FetchInstanceMetadataService.ts

* Update FetchInstanceMetadataService.ts

* update node

* update deps

* 🎨
2023-09-04 13:33:38 +09:00
syuilo 257c4fccf1
feat: Refine 2fa (#11766)
* wip

* Update 2fa.qrdialog.vue

* Update 2fa.vue

* Update CHANGELOG.md

* tweak

* ✌️
2023-08-28 18:25:31 +09:00
Sayamame-beans ba16abb9f3
fix(frontend): Misskeyプラグインをインストールする際のAiScriptバージョンのチェックが0.14.0以降に対応していない問題を修正 (#11729)
* fix: aiscript version check of plugin

* Update CHANGELOG.md

* docs(CHANGELOG): remove 11420 issue link

* fix(frontend): Possibility of exception in non-semver version format
2023-08-18 19:36:05 +09:00
syuilo bbef2a953e enhance(frontend): tweak user moderation page 2023-08-13 21:02:25 +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
tamaina b8360b1b5a fix(frontend): Remove errors in prefeerences-backups.vue 2023-07-26 12:40:45 +00:00
tamaina 81ba841fb8
perf(frontend): MkMediaListのアスペクト比制限を調整 (#11377) 2023-07-25 19:44:52 +09:00
syuilo 871027fa0c enhance: ユーザーにロールが期限付きでアサインされている場合、その期限をユーザーのモデレーションページで確認できるように
Close #11059
2023-07-20 10:54:41 +09:00
syuilo be595ebd62 enhance(client): Deckで非ルートページにアクセスした際に簡易UIで表示しない設定を追加 2023-07-17 08:11:17 +09:00
tamaina 48d3341462 chore(frontend): Remove experimental flag from migration feature 2023-07-11 05:56:56 +00:00
syuilo c2d7008cff tweak localization
Resolve #11119
2023-07-08 12:53:51 +09:00
okayurisotto d84796588c
cleanup: trim trailing whitespace (#11136)
* cleanup: trim trailing whitespace

* update(`.editorconfig`)

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-08 07:08:16 +09:00
syuilo f5dfb64a52 ユーザー統計表示機能を削除
Resolve #10998
2023-06-13 14:13:33 +09:00
atsuchan 0465e74521
Fix: enhance: タイムラインにフォロイーの行った他人へのリプライを含めるかどうかの設定をアカウントに保存するのをやめるように (#10982) 2023-06-09 14:08:35 +09:00
Ebise Lutica 34a32a8334
エラー画像URLを設定可能に (#10959)
* エラー画像URLを設定可能に

* Update CHANGELOG.md

* 設定したエラーアイコンをprefetchするようにbase.pugを変更

* 不足していたデータを追加

* enhance(frontend): デザイン調整
2023-06-09 14:00:53 +09:00
syuilo f6830885d7 tweak of cd8274888 2023-06-01 17:34:56 +09:00
Acid Chicken (硫酸鶏) 337dd97b49
perf(#10923): CSS Modules のクラス名をインライン化する (#10930)
* perf(#10923): unwind css module class name

* perf(#10923): support multiple components

* refactor: clean up

* refactor(#10923): avoid `useCssModule()`

* fix(#10923): allow direct literal class name

* fix(#10923): avoid computed class name

* fix(#10923): allow literal keys

* fix(#10923): typo

* fix(#10923): invalid class names

* chore: test

* revert: test

This reverts commit 5c7ef366ec.

* fix(#10923): hidden tale

* perf(#10923): also unwind scoped css contained components

* perf(#10923): `normalizeClass` AOT compilation

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-06-01 17:19:46 +09:00
syuilo cd82748889 enhance(frontend): 追加の絵文字用辞書をダウンロードできるように
Resolve #10921
2023-06-01 17:10:53 +09:00
syuilo de71845b35 🎨 2023-05-30 14:38:13 +09:00
syuilo 0a2ac58b82 refactor 2023-05-30 10:20:06 +09:00
syuilo 1c57983bfd refactor 2023-05-24 17:50:15 +09:00
syuilo 1b78c6a309 refactor 2023-05-19 20:52:15 +09:00