Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor sw #10579

Merged
merged 34 commits into from
Apr 11, 2023
Merged

Refactor sw #10579

merged 34 commits into from
Apr 11, 2023

Conversation

okayurisotto
Copy link
Contributor

@okayurisotto okayurisotto commented Apr 11, 2023

What

このPRではswパッケージを全体的にリファクタリングしています。具体的には主に次のようなことをしています。

  • デッドコードの削除
  • 冗長な書き方をしている部分の修正
  • 型アサーション(as)をできるかぎりやめる
  • anyをできるかぎりやめる

Why

新機能を追加するときには既存のコードがどのように動いているのか理解することが必要になりますが、デッドコードなどがあるとそれが邪魔されてしまいます。このPRはそういったことがないようにあらかじめ整理しておくことを目的としています。そのため、大規模な変更などはしていません。

Additional info (optional)

実際にサーバーを構築した上での挙動の確認がまだできていないのですが、ある程度形になったためドラフトなPRとして提出します。

問題なく動作しているように見えるためドラフトを外しました。よろしくお願いします。

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

okayurisotto and others added 21 commits April 11, 2023 14:28
対処と言っても`throw`するだけ。いままでもこの状況ではエラーが投げられていたはずなので、この対処により新たな問題が起きることはないはず。
`codes`が`(string | undefined)[]`から`string[]`になった
@codecov
Copy link

codecov bot commented Apr 11, 2023

Codecov Report

Merging #10579 (6c97849) into develop (35613fd) will increase coverage by 3.70%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop   #10579      +/-   ##
===========================================
+ Coverage    75.11%   78.82%   +3.70%     
===========================================
  Files          887      162     -725     
  Lines        87213    19883   -67330     
  Branches      5911      332    -5579     
===========================================
- Hits         65513    15673   -49840     
+ Misses       21700     4210   -17490     

see 725 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@okayurisotto
Copy link
Contributor Author

実際にサーバーを構築して、プッシュ通知が正常に送られてくることが確認できました。

ESLintのWarning(Errorではない)がたくさんあるので、それをなくしたらこのPRのドラフトを外します。ただ、すべての関数の返り値の型を定義するなど作業量が膨大かつ難解なため、時間がかかることが予想されます。

@okayurisotto
Copy link
Contributor Author

ESLintのWarningへの対処も、現時点でできる範囲では終えました。また、再度サーバーを構築しプッシュ通知が正常に送られてくるか確かめたところ、問題なさそうでした。

ドラフトを外します。どうかよろしくお願いします。

@okayurisotto okayurisotto marked this pull request as ready for review April 11, 2023 14:18
@tamaina tamaina merged commit 5002eff into misskey-dev:develop Apr 11, 2023
@tamaina
Copy link
Contributor

tamaina commented Apr 11, 2023

🙏🙏🙏

@okayurisotto okayurisotto deleted the refactor-sw branch April 12, 2023 03:27
Ry0taK pushed a commit to MisskeyIO/misskey that referenced this pull request Apr 13, 2023
* Refactor sw (misskey-dev#10579)

* refactor(sw): remove dead code

* refactor(sw): remove dead code

* refactor(sw): remove dead code

* refactor(sw): remove dead code

* refactor(sw): remove dead code

* refactor(sw): remove dead code

* refactor(sw): 冗長な部分を変更

* refactor(sw): 使われていない煩雑な機能を削除

* refactor(sw): remove dead code

* refactor(sw): URL文字列の作成に`URL`を使うように

* refactor(sw): 型アサーションの削除とそれに伴い露呈したエラーへの対処

* refactor(sw): `append` -> `set` in `URLSearchParams`

* refactor(sw): `any`の削除とそれに伴い露呈したエラーへの対処

* refactor(sw): 型アサーションの削除とそれに伴い露呈したエラーへの対処

対処と言っても`throw`するだけ。いままでもこの状況ではエラーが投げられていたはずなので、この対処により新たな問題が起きることはないはず。

* refactor(sw): i18n loading

* refactor(sw): 型推論がうまくできる書き方に変更

`codes`が`(string | undefined)[]`から`string[]`になった

* refactor(sw): クエリ文字列の作成に`URLSearchParams`を使うように

* refactor(sw): `findClient`

* refactor(sw): `openClient`における`any`や`as`の書き換え

* refactor(sw): `openPost`における`any`の書き換え

* refactor(sw): `let` -> `const`

* refactor(sw): `any` -> `unknown`

* cleanup(sw): import

* cleanup(sw)

* cleanup(sw): `?.`

* cleanup(sw/.eslintrc.js)

* refactor(sw): `@typescript-eslint/explicit-function-return-type`

* refactor(sw): `@typescript-eslint/no-unused-vars`

* refactor(sw): どうしようもないところに`eslint-disable-next-line`を

* refactor(sw): `import/no-default-export`

* update operations.ts

* throw new Error

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* Update CHANGELOG.md (misskey-dev#10591)

* feat: queueing bulk follow/unfollow and block/unblock (misskey-dev#10544)

* wrap follow/unfollow and block/unblock as job queue

* create import job to follow in each iteration

* make relationship jobs concurrent

* replace to job queue if called repeatedly

* use addBulk to import

* omit stream when importing

* fix job caller

* use ThinUser instead of User to reduce redis memory consumption

* createImportFollowingToDbJobの呼び出し方を変える, 型補強

* Force ThinUser

* オブジェクト操作のみのメソッド名はgenerate...Data

* Force ThinUser in generateRelationshipJobData

* silent bulk unfollow at admin api endpoint

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* perf(backend): ノート作成時のアンテナ追加パフォーマンスを改善

* update CHANGELOG.md

* refactor: サウンド関連の設定をpizzaxに移行 (misskey-dev#8105)

* enhane: unison-reloadに指定したパスに移動できるように

* null

* null

* feat: ログインするアカウントのIDをクエリ文字列で指定する機能

* null

* await?

* rename

* rename

* Update read.ts

* merge

* get-note-summary

* fix

* swパッケージに

* add missing packages

* fix getNoteSummary

* add webpack-cli

* ✌️

* remove plugins

* sw-inject分離したがテストしてない

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix notification.vue

* remove a blank line

* disconnect intersection observer

* disconnect2

* fix

* ✌️

* clean up config

* typesを戻した

* backend/src/web/index.ts

* notification-badges

* add scripts

* change create-notification.ts

* Update packages/client/src/components/notification.vue

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* disconnect

* oops

* Failed to load the script unexpectedly回避
sw.jsとlib.tsを分離してみた

* truncate notification

* Update packages/client/src/ui/_common_/common.vue

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* clean up

* clean up

* refactor

* キャッシュ対策

* Truncate push notification message

* fix

* wip

* clean up

* migration

* migration

* comment

* move soundConfigStore

* ✌️

* clean up

* クライアントがあったらストリームに接続しているということなので通知しない判定の位置を修正

* components/drive-file-thumbnail.vue

* components/drive-select-dialog.vue

* components/drive-window.vue

* merge

* fix

* remove reversi setting

* Service Workerのビルドにesbuildを使うようにする

* return createEmptyNotification()

* fix

* fix

* i18n.ts

* update

* ✌️

* remove ts-loader

* fix

* fix

* enhance: Service Workerを常に登録するように

* pollEnded

* pollEnded

* URLをsw.jsに戻す

* clean up

* clean up

* update sounds.vue

* update

* fix type

* ✌️

* ;v;

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance: カスタム絵文字関連の変更 (misskey-dev#9794)

* PackedNoteなどのemojisはプロキシしていないURLを返すように

* MFMでx3/x4もしくはscale.x/yが2.5以上に指定されていた場合にはオリジナル品質の絵文字を使用する

* update CHANGELOG.md

* fix changelog

* ??

* wip

* fix

* merge

* Update packages/frontend/src/scripts/media-proxy.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* merge

* calc scale

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* feat: role timeline

Resolve misskey-dev#10581

* feat(server): Misskey Webでユーザーフレンドリーなエラーページを出す (misskey-dev#10590)

* (add) user-friendly error page

* Update CHANGELOG.md

* (add) cache-control header

* Add ClientLoggerService

* Log params and query

* remove error stack on client

* fix pug

* 文面を調整

* :art]

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* test(backend): Add tests for users (misskey-dev#10546)

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* fix(backend): カスタム絵文字でリアクションできないことがある問題を修正

* Update CustomEmojiService.ts

* fix type

* Use unique identifier for each follow request (misskey-dev#10600)

Co-authored-by: anemone <anemoneya@icloud.com>

* fix type in CustomEmojiService

* fix type in CustomEmojiService 2

* fix

* Update CHANGELOG.md

* fix(server): アンテナとロールTLのuntil/sinceプロパティが動くように (misskey-dev#10605)

* fix(server): アンテナとロールTLのuntil/sinceプロパティが動くように

* fix

* Update CHANGELOG.md

* Update about-misskey.vue

* 🎨

* fix(backend): チャンネルのピン留めされたノートの順番が正しくない問題を修正

Fix misskey-dev#10541

* New Crowdin updates (misskey-dev#10585)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Chinese Traditional)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Chinese Traditional)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Chinese Simplified)

* 13.11.3

* [ci skip] remove outdated comment

* [ci skip] improve readability

* 一部の Workflow を削除

---------

Co-authored-by: okayurisotto <aytkzm@gmail.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: futchitwo <74236683+futchitwo@users.noreply.github.com>
Co-authored-by: Namekuji <11836635+nmkj-io@users.noreply.github.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Nanashia <nanashia.128@gmail.com>
Co-authored-by: hutchisr <42283663+hutchisr@users.noreply.github.com>
Co-authored-by: anemone <anemoneya@icloud.com>
Co-authored-by: Ebise Lutica <7106976+EbiseLutica@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants