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

Developに追従するとノート作成画面でカスタム絵文字を入力できない(385969e適用以降) #14188

Closed
1 task
kanarikanaru opened this issue Jul 12, 2024 · 16 comments · Fixed by #14189
Assignees
Labels
🐛Bug Unexpected behavior 🔥high priority packages/frontend Client side specific issue/PR

Comments

@kanarikanaru
Copy link
Contributor

kanarikanaru commented Jul 12, 2024

💡 Summary

  • fix(frontend): フォーカスの挙動を修正 (fix(frontend): フォーカスの挙動を修正 #14158) (385969e) を適用するとノート作成画面でカスタム絵文字ピッカーを起動した際にフォーカスが当たらない
  • 該当のコミットをrevertすることで再現しないことを確認

🥰 Expected Behavior

  • ノート作成画面でカスタム絵文字ピッカー起動時にピッカーにフォーカスがいく

🤬 Actual Behavior

  • フォーカスが当たらない

📝 Steps to Reproduce

  1. 追従してpnpm run
  2. ノート作成画面を開いてカスタム絵文字ピッカーを起動
  3. wow

💻 Frontend Environment

* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS 14.5 (23F79)
* Browser: Google Chrome Version 126.0.6478.127 (Official Build) (arm64)
* Server URL: dev container + misskey.backspace.fm(revert済み)
* Misskey: developまで追従(6cd1527)

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service: development environment + systemd
* Misskey: developまで追従(6cd1527)
* Node: 20.x
* PostgreSQL: 15.x
* Redis: 7.x
* OS and Architecture: Ubuntu 22

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@kanarikanaru kanarikanaru added the ⚠️bug? This might be a bug label Jul 12, 2024
@samunohito
Copy link
Member

強火

@samunohito samunohito added 🔥high priority 🐛Bug Unexpected behavior packages/frontend Client side specific issue/PR and removed ⚠️bug? This might be a bug labels Jul 13, 2024
@samunohito
Copy link
Member

@kakkokari-gtyih
心当たりあります?

@samunohito
Copy link
Member

image
ピッカーの親要素にinertが当たってる…?

@samunohito
Copy link
Member

①絵文字ピッカー・リアクションピッカーは常にDOM上で待機してる(このへんによるもの)
②新しくダイアログが生成された時に、それ以外の要素に対してinertを当てる

①+②=新しくダイアログが生成された時にDOM上で控えてた絵文字ピッカーに対してinertを当てる

@kakkokari-gtyih
Copy link
Contributor

新しくダイアログが生成された時に、それ以外の要素に対してinertを当てる

常時待機要素にinertが当たらないように、本当に表示されているかどうかでfocustrapを判断させていたはず

@samunohito
Copy link
Member

けど、domを見る限り当たってしまってるので、その条件に漏れがありそう…?

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jul 13, 2024

@samunohito
Copy link
Member

本当に表示されているかどうか

これどこか教えてほしいです
ソース見てるんだけど、分からなくて…

@kakkokari-gtyih
Copy link
Contributor

Modalの326行目辺り

@samunohito
Copy link
Member

image
まず、ページ表示直後はこいつらがいて(常駐してるピッカーたち)

image
MkPostForm(黄枠)を表示した段階で、ピッカーたちにinertが設定される

image
その状態でMkPostFormの絵文字ボタンを押すと、inertが設定されたピッカーが表に出てくる

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jul 13, 2024

あー解除しないといけないのか(できてなかったのか…)

@samunohito
Copy link
Member

「自分自身」に対してはModalの制御で良いけど、他の要素に対してまでは及んでない認識

@samunohito
Copy link
Member

inertする要素の除外条件を増やした方が丸そうですかね(idふるなり、data-*で独自属性をつけて判定するなり)

@kakkokari-gtyih
Copy link
Contributor

inertが既にかかっていた場合は解除する処理が必要そう

@kakkokari-gtyih
Copy link
Contributor

#14189 を適用すると解消する

@samunohito
Copy link
Member

samunohito commented Jul 13, 2024

@kanarikanaru
#14189 でもだめそうであれば、お手数ですが再度open(または新規issueの発行)いただけますと幸いです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛Bug Unexpected behavior 🔥high priority packages/frontend Client side specific issue/PR
Projects
None yet
3 participants