misskey icon indicating copy to clipboard operation
misskey copied to clipboard

enhance: 招待機能の改善

Open hideki0403 opened this issue 2 years ago • 17 comments

What

Resolve #11158 主に以下の機能を実装しました

  • 招待コードの確認ページ (一般ユーザー向け/管理者向け) の実装 image

  • 招待コードを作成したユーザーと使用したユーザーを確認できるように image

  • ロールごとに招待コードの発行数制限と制限対象期間、有効期限を設定できるように image

  • 管理者向けの招待コード管理ページから任意の数の招待コードを一気に発行できるように image

また、以前は招待コードは使用されたタイミングで削除されていましたが、今回の改修で削除されなくなった (誰が招待コードを使用したのかを確認できる機能が実装された) ため、将来的な招待コードの衝突の可能性を踏まえて、招待コードの長さが従来の8文字に加えて現在時刻を32進数にしたもの5文字の合計13文字になりました。 方針と異なるようでしたら修正いたします。

Why

現状の招待機能は招待コードの発行後に招待コードを確認する方法が無かったり、発行数の制限を設けられないため、ユーザーの流入量の調節ができない等の問題があったため

Additional info (optional)

Checklist

  • [x] Read the contribution guide
  • [x] Test working in a local environment
  • [x] (If needed) Add story of storybook
  • [x] (If needed) Update CHANGELOG.md
  • [ ] (If possible) Add tests

hideki0403 avatar Jul 08 '23 13:07 hideki0403

Codecov Report

Merging #11195 (aa8b547) into develop (12456b2) will increase coverage by 0.00%. The diff coverage is 72.50%.

@@            Coverage Diff            @@
##           develop   #11195    +/-   ##
=========================================
  Coverage    77.65%   77.65%            
=========================================
  Files          908      918    +10     
  Lines        91878    92644   +766     
  Branches      7672     7705    +33     
=========================================
+ Hits         71344    71940   +596     
- Misses       20534    20704   +170     
Impacted Files Coverage Δ
...ackages/backend/src/server/api/SignupApiService.ts 44.48% <15.38%> (-4.61%) :arrow_down:
packages/backend/src/misc/generate-invite-code.ts 25.00% <25.00%> (ø)
...ckend/src/core/entities/InviteCodeEntityService.ts 48.07% <48.07%> (ø)
...s/backend/src/server/api/endpoints/invite/limit.ts 79.62% <50.00%> (ø)
...kend/src/server/api/endpoints/admin/invite/list.ts 64.28% <64.28%> (ø)
.../backend/src/server/api/endpoints/invite/create.ts 70.73% <70.73%> (ø)
.../backend/src/server/api/endpoints/invite/delete.ts 76.05% <76.05%> (ø)
...nd/src/server/api/endpoints/admin/invite/create.ts 77.50% <77.50%> (ø)
...es/backend/src/server/api/endpoints/invite/list.ts 81.03% <81.03%> (ø)
packages/backend/src/core/CoreModule.ts 100.00% <100.00%> (ø)
... and 8 more

... and 3 files with indirect coverage changes

codecov[bot] avatar Jul 08 '23 13:07 codecov[bot]

ちょっとUI調整

image

syuilo avatar Jul 09 '23 01:07 syuilo

概ね良さそうな感じがある

syuilo avatar Jul 09 '23 07:07 syuilo

あと一点気になったことがあったのでお聞きしたいのですが、招待コードを発行する場所が分かりづらいという声を目にすることがあったので、"インスタンスメニュー→ツール→招待"から"インスタンスメニュー→招待"に変更したほうがよさそうだと感じたのですがどうでしょう...?

hideki0403 avatar Jul 09 '23 07:07 hideki0403

よさそう

syuilo avatar Jul 09 '23 07:07 syuilo

MkInviteCode用のStorybookがあるとベターかも

syuilo avatar Jul 09 '23 08:07 syuilo

追加してみました 👀 (Storybook関連はあまりよく分かってないので間違っている箇所があったら申し訳ないです 🙏🏻 )

hideki0403 avatar Jul 09 '23 09:07 hideki0403

👍👍👍

syuilo avatar Jul 09 '23 09:07 syuilo

api-extractorが仕事を放棄してるのはなぜ?

tamaina avatar Jul 11 '23 06:07 tamaina

まじ?

syuilo avatar Jul 11 '23 06:07 syuilo

Typescriptのバージョンについて文句を言われるのでそれかしら?

tamaina avatar Jul 11 '23 06:07 tamaina

CIが落ちているのを言っているのであれば

You have changed the public API signature for this project

だからpnpm apiを実行し忘れているだけと思われる

syuilo avatar Jul 11 '23 06:07 syuilo

pnpm api

しゅいろがやってみてほしい

tamaina avatar Jul 11 '23 06:07 tamaina

p1.a9z.devに適用した

tamaina avatar Jul 11 '23 06:07 tamaina

やった

syuilo avatar Jul 11 '23 07:07 syuilo

Storybookが落ちている理由が不明

syuilo avatar Jul 11 '23 09:07 syuilo

わからんけど rebase してみるのが良いかも

acid-chicken avatar Jul 11 '23 10:07 acid-chicken

Upstreamした段階でStoryBookのビルドは通ってそう 通報のUIでコケてるから本体とは招待機能の改善自体とは無関係なエラーかもです

kazu0617 avatar Jul 13 '23 12:07 kazu0617

👍👍👍

syuilo avatar Jul 15 '23 00:07 syuilo