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

feat: チュートリアル・初期設定ウィザードの統合 #13462

Draft
wants to merge 69 commits into
base: develop
Choose a base branch
from

Conversation

kakkokari-gtyih
Copy link
Contributor

@kakkokari-gtyih kakkokari-gtyih commented Feb 26, 2024

What

2024-02-26.181658.mp4
  • アカウント設定ウィザードからプロフィール設定などを省略し、チュートリアルに統合
    (プロフィール設定はチュートリアル完了後のリンク集に記載で対応)
  • チュートリアルを単独ページ(/onboarding)として用意、アカウント登録完了後はそこに遷移するように
  • チュートリアルが未完了の場合は強制的にチュートリアルを受けさせるオプションを追加

Why

Fix #12997

Additional info (optional)

Checklist

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

@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR packages/misskey-js labels Feb 26, 2024
Copy link

codecov bot commented Feb 26, 2024

Codecov Report

Attention: Patch coverage is 1.83318% with 1071 lines in your changes missing coverage. Please review.

Project coverage is 41.59%. Comparing base (0804092) to head (3c592d6).

Files with missing lines Patch % Lines
packages/frontend/src/components/MkTutorial.vue 0.00% 438 Missing and 1 partial ⚠️
packages/frontend/src/pages/onboarding.vue 0.00% 382 Missing and 1 partial ⚠️
...tend/src/components/MkTutorial.PrivacySettings.vue 0.00% 59 Missing and 1 partial ⚠️
...ckages/frontend/src/components/MkTutorial.Note.vue 0.00% 38 Missing ⚠️
packages/frontend/src/components/form/link.vue 0.00% 33 Missing ⚠️
packages/frontend/src/boot/common.ts 0.00% 22 Missing ⚠️
...tend/src/components/MkTutorial.ProfileSettings.vue 0.00% 15 Missing ⚠️
...kages/frontend/src/components/MkTutorialDialog.vue 0.00% 15 Missing ⚠️
packages/frontend/src/pages/admin/moderation.vue 0.00% 15 Missing ⚠️
...s/frontend/src/components/MkTutorial.Sensitive.vue 0.00% 10 Missing ⚠️
... and 12 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #13462      +/-   ##
===========================================
+ Coverage    39.95%   41.59%   +1.63%     
===========================================
  Files         1563     1563              
  Lines       197780   203882    +6102     
  Branches      3633     3700      +67     
===========================================
+ Hits         79029    84795    +5766     
- Misses      118178   118486     +308     
- Partials       573      601      +28     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

github-actions bot commented Feb 26, 2024

このPRによるapi.jsonの差分

差分はこちら
--- base
+++ head
@@ -48,6 +48,9 @@
                     "emailRequiredForSignup": {
                       "type": "boolean"
                     },
+                    "canSkipInitialTutorial": {
+                      "type": "boolean"
+                    },
                     "enableHcaptcha": {
                       "type": "boolean"
                     },
@@ -585,6 +588,7 @@
                     "cacheRemoteFiles",
                     "cacheRemoteSensitiveFiles",
                     "emailRequiredForSignup",
+                    "canSkipInitialTutorial",
                     "enableHcaptcha",
                     "hcaptchaSiteKey",
                     "enableMcaptcha",
@@ -13968,6 +13972,9 @@
                   "emailRequiredForSignup": {
                     "type": "boolean"
                   },
+                  "canSkipInitialTutorial": {
+                    "type": "boolean"
+                  },
                   "enableHcaptcha": {
                     "type": "boolean"
                   },
@@ -82239,6 +82246,9 @@
           "emailRequiredForSignup": {
             "type": "boolean"
           },
+          "canSkipInitialTutorial": {
+            "type": "boolean"
+          },
           "enableHcaptcha": {
             "type": "boolean"
           },
@@ -82459,6 +82469,7 @@
           "defaultLightTheme",
           "disableRegistration",
           "emailRequiredForSignup",
+          "canSkipInitialTutorial",
           "enableHcaptcha",
           "hcaptchaSiteKey",
           "enableMcaptcha",

Get diff files from Workflow Page

@syuilo
Copy link
Member

syuilo commented Feb 28, 2024

統合すると長くなりすぎる気がするわね

@kakkokari-gtyih
Copy link
Contributor Author

すでにプロフィール編集の部分は削ったけど、要らなさそうな設定項目はさらに削るといいかも(チュートリアルと初期設定が2つに別れてるほうが煩雑な気もするのと、説明した直後に関連する設定ができる方が良さそうなので)

@kakkokari-gtyih
Copy link
Contributor Author

kakkokari-gtyih commented Feb 28, 2024

要らなさそうな設定項目

プッシュ通知の設定画面とかは削っても良いかも

@kakkokari-gtyih
Copy link
Contributor Author

参考:ぶるーすかいのオンボーディングは7ページ( #12997 (comment) )で、このチュートリアルは9ページ

@kakkokari-gtyih
Copy link
Contributor Author

とりあえずプッシュ通知のページは消した(合計8ページ)

@syuilo
Copy link
Member

syuilo commented Mar 1, 2024

チュートリアルはやりたい人だけがやれるようなUIが良いと思ってて、それを考えると初期設定とチュートリアルは分離されてた方が良いのではないかと思うわね
サーバーの設定でチュートリアル強制させる場合もその方が実装しやすそう

@kakkokari-gtyih
Copy link
Contributor Author

kakkokari-gtyih commented Mar 1, 2024

初期設定とチュートリアルは分離されてた方が良いのではないか

このPRで初期設定とチュートリアルを統合する際に、初期設定ウィザードで核となっていたであろう「プロフィール設定」の機能を削除した(理由は下記)ので、残りは「プッシュ通知の設定」「おすすめユーザーの紹介」「プライバシー関連の設定」だけになる
そうなると、初期設定ウィザード自体が必要ない(チュートリアルが必要なほどMisskeyに対しての初心者なら、相応のアシストを行うために設定項目を出す方がいい)のではないかと思ったのでこういう実装にした


※プロフィール設定を消した理由
通常の設定画面に比べて設定できる項目やオプションが整備されておらず、わざわざ別でフォームを設けるよりは、ふつうにプロフィール設定ページに遷移させたほうが良いと思えたため(実際、チュートリアル最終画面ではプロフィール設定画面へのリンクを置くようにしてある)。また、プロフィール設定ページ自体も比較的わかりやすい配置になっており迷うことは少なそうだと考えられるため

トランジションが終わるギリギリを攻めすぎたので余裕を持たせた
@kakkokari-gtyih kakkokari-gtyih changed the title feat: チュートリアル・初期設定ウィザードの統合 (wip) feat: チュートリアル・初期設定ウィザードの統合 Aug 16, 2024
@kakkokari-gtyih
Copy link
Contributor Author

コンフリクト解消

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend:test packages/frontend Client side specific issue/PR packages/misskey-js
Projects
3 participants