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(frontend): 絵文字ピッカーの実装 #12617

Merged
merged 20 commits into from
Dec 14, 2023

Conversation

samunohito
Copy link
Member

@samunohito samunohito commented Dec 10, 2023

What

#12560 の対応です。
この対応により、絵文字ピッカー・リアクションピッカーに以下の変化が発生します。

  • (あるユーザにとっては)絵文字ピッカーにリアクションデッキが復活する
  • (あるユーザにとっては)リアクションピッカーと絵文字ピッカーで別々のデッキを使用できる

related: #12337 , #12336

Why

fix #12560

Additional info (optional)

以下を確認しました

  • 表示確認
    • 設定→リアクションを開いたとき、コンソールに何らかのエラーが出ないこと(PC・スマホそれぞれ)
    • スマホ表示時にボタンが不自然に重なったりしていないこと
    • 表示文言が欠けていないこと
  • 動作確認
    • 設定→リアクション
      • 「リアクションデッキと同じ設定を使う」初期値
        • ONであること
      • リアクションデッキ操作
        • +ボタン→絵文字選択→絵文字が追加されること。また、絵文字デッキの内容が変わらないこと
        • 絵文字クリック→削除→絵文字が削除されること。また、絵文字デッキの内容が変わらないこと
        • プレビュー押下→リアクションデッキの内容が設定されたピッカーが表示されること
        • デフォルト押下→リアクションデッキがデフォルトの絵文字にリセットされること。また、絵文字デッキの内容が変わらないこと
        • サイズ・列数・高さの設定を変更→プレビュー押下で設定内容がピッカーに反映されること
      • 絵文字デッキ操作(「リアクションデッキと同じ設定を使う」はOFFにする)
        • +ボタン→絵文字選択→絵文字が追加されること。また、リアクションデッキの内容が変わらないこと
        • 絵文字クリック→削除→絵文字が削除されること。また、リアクションデッキの内容が変わらないこと
        • プレビュー押下→絵文字デッキの内容が設定されたピッカーが表示されること
        • デフォルト押下→絵文字デッキがデフォルトの絵文字にリセットされること。また、リアクションデッキの内容が変わらないこと
        • サイズ・列数・高さの設定を変更→プレビュー押下で設定内容がピッカーに反映されること
    • ノート投稿画面
      • リアクションデッキと同じ設定を使うをOFF→ノート投稿画面から絵文字ピッカーを表示
        • リアクションデッキに設定した絵文字一覧が表示されること
      • リアクションデッキと同じ設定を使うをON→ノート投稿画面から絵文字ピッカーを表示
        • 絵文字デッキに設定した絵文字一覧が表示されること
    • TLにあるノート
      • +ボタンを押下→リアクションピッカーを表示
        • リアクションデッキに設定した絵文字一覧が表示されること
        • 絵文字押下によりリアクションがつくこと
    • 設定のインポート・エクスポート
      • 絵文字ピッカーの使用スイッチをエクスポートし、他のブラウザなどで設定を復元できること

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 the packages/frontend Client side specific issue/PR label Dec 10, 2023
# Conflicts:
#	packages/frontend/src/components/MkEmojiPicker.vue
Copy link

codecov bot commented Dec 10, 2023

Codecov Report

Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (364efbe) 81.91% compared to head (4821535) 81.90%.

Files Patch % Lines
packages/frontend/src/scripts/emoji-picker.ts 33.33% 4 Missing ⚠️
packages/frontend/src/scripts/reaction-picker.ts 33.33% 4 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #12617      +/-   ##
===========================================
- Coverage    81.91%   81.90%   -0.01%     
===========================================
  Files          184      184              
  Lines        28282    28290       +8     
  Branches       503      503              
===========================================
+ Hits         23167    23171       +4     
- Misses        5115     5119       +4     

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

@syuilo syuilo mentioned this pull request Dec 10, 2023
@samunohito samunohito marked this pull request as ready for review December 10, 2023 12:02
@samunohito samunohito changed the title [WIP] feat(frontend): 絵文字ピッカーの実装 feat(frontend): 絵文字ピッカーの実装 Dec 10, 2023
@samunohito
Copy link
Member Author

@syuilo
openにしました、ご確認よろしくお願い致します 🙇‍♂️

focus();
setTimeout(() => {
focus();
}, 10);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

絵文字ピッカーを閉じた後、フォーカスが当たらないのでついでに修正しました

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nextTick ではダメだったという感じかしら

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

他の個所でsetTimeoutをつかって解決しているのを見かけたので、マネしました。
nextTickは試してないので、ちょっと試してみます

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nextTickでいけました。感謝 🙏

@samunohito
Copy link
Member Author

画面のレイアウトイメージ
image
image
image
image

@syuilo
Copy link
Member

syuilo commented Dec 10, 2023

  • リアクション設定にあるのはおかしいから名前変えた方が良さそう
  • ワードミュートのようにタブ表示の方が合ってそう
  • 「リアクションデッキと同じ設定を使う」は要らないかも

@samunohito
Copy link
Member Author

リアクション設定にあるのはおかしいから名前変えた方が良さそう
ワードミュートのようにタブ表示の方が合ってそう

たしかに。なおします!

「リアクションデッキと同じ設定を使う」は要らないかも

以下の点から、あったほうがいいと考えます。
(ユーザが自由に設定できる領域の破壊的変更なので、段階を踏みたい)

  • 2023.11.1から次リリースを適用したサーバのユーザが混乱する(設定したリアクションデッキが壊れたかのように映る)
  • 大量の絵文字をリアクションデッキに登録して運用しており、絵文字デッキ用途と区別をしていないユーザにとって、イチからデッキを構築しなおすのは酷(このタイプのユーザは自分が観測した限りでもそこそこいる)

@samunohito
Copy link
Member Author

~ちょっと余談~
2つのサーバでしか観測できていませんが、現行developの対応がリリースされて絵文字ピッカーからリアクションが消えた直後は本当に大混乱でした(バグを疑うユーザも多数…)。その状態でリリースされると波紋はさらに広がるかと思っており、この一連の対応はそれを強く危惧してのものです。

@yuriha-chan
Copy link
Contributor

私の管理するサーバーでも同様の反応で、バグを疑ったり、設定が消えてしまったと不安になるユーザーが多かったです。

@samunohito
Copy link
Member Author

ねんのため確認させてください。

タブのイメージなんですけど、↓ではなくて

↓で相違ありませんか?

@syuilo
Copy link
Member

syuilo commented Dec 11, 2023

あー今ワードミュートのUI変わってるのか

タブというのはこういうやつ
IMG_5150

@syuilo
Copy link
Member

syuilo commented Dec 11, 2023

私の管理するサーバーでも同様の反応で、バグを疑ったり、設定が消えてしまったと不安になるユーザーが多かったです。

まだリリースされてない変更だから仕方なさそう
リリースされたらリリースノートが出るからそれ見てもらえば済むと思う

@syuilo
Copy link
Member

syuilo commented Dec 11, 2023

(ユーザが自由に設定できる領域の破壊的変更なので、段階を踏みたい)

破壊的変更というよりはバグ修正という認識ですね
デッキの内容を同期する設定を増やすのではなく、リアクションデッキの設定をコピーするボタンの方が良さそう

@syuilo
Copy link
Member

syuilo commented Dec 11, 2023

その方式であれば逆に絵文字デッキの内容をリアクションデッキにコピーする操作の実装余地も生まれるし

@samunohito
Copy link
Member Author

samunohito commented Dec 11, 2023

なるほど。コピーする方針で実装しなおします(タブの件もいっしょに)
しばしお時間ください・・・

@samunohito
Copy link
Member Author

@syuilo
ロジックはおいといて、ガワだけ先に直してみました。イメージに相違ございませんでしょうか
image
image

@syuilo
Copy link
Member

syuilo commented Dec 11, 2023

そんな感じ👍

@samunohito
Copy link
Member Author

@syuilo
諸々対応しました 🙏

@syuilo
Copy link
Member

syuilo commented Dec 12, 2023

引き継ぎます

@syuilo syuilo merged commit a92795d into misskey-dev:develop Dec 14, 2023
13 of 15 checks passed
@syuilo
Copy link
Member

syuilo commented Dec 14, 2023

👍🏻 👍🏻

camilla-ett pushed a commit to kaseiski/misskey that referenced this pull request Jan 2, 2024
* 絵文字デッキの作成

* 細かい不備を修正

* fix lint

* fix

* fix CHANGELOG.md

* fix setTimeout -> nextTick

* fix misskey-dev#12617 (comment)

* fix bug

* fix CHANGELOG.md

* fix CHANGELOG.md

* wip

* Update CHANGELOG.md

* Update CHANGELOG.md

* wip

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
@samunohito samunohito deleted the feature/add_emoji_deck branch January 11, 2024 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/frontend Client side specific issue/PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

絵文字ピッカーでも予め設定した絵文字デッキを使いたい
4 participants