Skip to content

Conversation

@uni-kakurenbo
Copy link
Contributor

@uni-kakurenbo uni-kakurenbo commented Sep 26, 2025

概要

既存の実装がかなり複雑だったので 1 commit あたりの差分が大きくなってしまいました.すみません.

  • fix: 候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正

    • fix & refactor: 選択候補の管理をテキストベースから index ベースに変更
      • これにより,候補リストに同じ文字列が含まれていても正しく操作できるようになった
    • refactor: useWordSuggestionList の役割を,候補リストの提供のみに限定
    • refactor: types の定義を /@/lib/suggestion/base.ts にまとめる
    • refactor: 引数の型をより汎用的にする
    • refactor: 命名や空白や宣言順序の軽微な改善
  • fix: 非推奨の insert API の代わりに setRangeText を利用する

なぜこの PR を入れたいのか

closes: #4105

PR を出す前の確認事項

  • 動作確認ができている
  • 自分で一度コードを眺めて自分的に問題はなさそう

@uni-kakurenbo uni-kakurenbo requested a review from a team September 26, 2025 14:49
@uni-kakurenbo uni-kakurenbo self-assigned this Sep 26, 2025
@uni-kakurenbo uni-kakurenbo added bug Something isn't working refactor labels Sep 26, 2025
@uni-kakurenbo uni-kakurenbo moved this from Inbox to In review in traQ Client Sep 26, 2025
@github-actions
Copy link

@codecov
Copy link

codecov bot commented Sep 26, 2025

Codecov Report

❌ Patch coverage is 81.31868% with 17 lines in your changes missing coverage. Please review.
✅ Project coverage is 13.59%. Comparing base (ccea15d) to head (b9c562a).

Files with missing lines Patch % Lines
...geInput/composables/suggestion/useWordSuggester.ts 82.92% 7 Missing ⚠️
...ain/MainView/MessageInput/MessageInputTextArea.vue 0.00% 6 Missing ⚠️
src/composables/dom/useInsertText.ts 70.00% 3 Missing ⚠️
src/lib/suggestion/basic.ts 96.15% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4836      +/-   ##
==========================================
+ Coverage   13.50%   13.59%   +0.09%     
==========================================
  Files         703      703              
  Lines       31568    31566       -2     
  Branches      676      686      +10     
==========================================
+ Hits         4263     4292      +29     
+ Misses      27293    27262      -31     
  Partials       12       12              

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@uni-kakurenbo uni-kakurenbo force-pushed the fix/suggestion-keyboard-controll branch from 4909181 to 89fb017 Compare September 26, 2025 14:57

This comment was marked as resolved.

@uni-kakurenbo uni-kakurenbo force-pushed the fix/suggestion-keyboard-controll branch from 89fb017 to 535d742 Compare September 26, 2025 14:59

This comment was marked as resolved.

- fix & refactor: 選択候補の管理をテキストベースから index ベースに変更
    - これにより,候補リストに同じ文字列が含まれていても正しく操作できるようになった
- refactor: `useWordSuggestionList` の役割を,候補リストの提供のみに限定
- refactor: types の定義を `/@/lib/suggestion/base.ts` にまとめる
- refactor: 引数の型をより汎用的にする
- refactor: 命名や空白や宣言順序の軽微な改善
- fix: 非推奨の `insert` API の代わりに `setRangeText` を利用する
@uni-kakurenbo uni-kakurenbo force-pushed the fix/suggestion-keyboard-controll branch from 535d742 to b9c562a Compare September 26, 2025 15:03

This comment was marked as resolved.

@uni-kakurenbo uni-kakurenbo changed the title fix: 候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正 fix(suggestion): 候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正 Sep 26, 2025
@uni-kakurenbo uni-kakurenbo changed the title fix(suggestion): 候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正 fix(suggestion): 補完候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正 Sep 27, 2025
@uni-kakurenbo uni-kakurenbo changed the title fix(suggestion): 補完候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなる問題を修正 fix(suggestion): 補完候補リストに同じ文字列が含まれる場合にキーボードによる候補の移動がおかしくなったりする問題を修正 Oct 10, 2025
@uni-kakurenbo uni-kakurenbo requested a review from cp-20 October 30, 2025 07:36
@cp-20
Copy link
Contributor

cp-20 commented Oct 30, 2025

直るのは良いと思うんだけど、そもそも補完で同じ文字列が2回出てくる方がヘンな感じがするかも? そっちを改善するという手もありそうだけどどう思う?

@uni-kakurenbo
Copy link
Contributor Author

直るのは良いと思うんだけど、そもそも補完で同じ文字列が2回出てくる方がヘンな感じがするかも? そっちを改善するという手もありそうだけどどう思う?

恐らくこういう場合が主に問題で、(個人的には) これは別にヘンな挙動ではない気がしました
image

@cp-20
Copy link
Contributor

cp-20 commented Oct 30, 2025

一定納得できるうえで、でも結局同じ文字列の候補からは同じ補完が生成されるから、本質的に同じ選択肢だと思っちゃうんだよな むしろ一番上のデフォルトの選択肢をなくすのが自然なのかも、と思っちゃう (Discordとかはそんな挙動だった)

@uni-kakurenbo
Copy link
Contributor Author

え、言われてみれば確かに要らないかも、と思ったんですが、その辺にいた人たちには「:regional_indicator_***」みたいな長いスタンプを打つときに使ってるかもみたいなことは言われました

@cp-20
Copy link
Contributor

cp-20 commented Oct 30, 2025

長いスタンプを打つときにどうやって使うんだ...?

@uni-kakurenbo
Copy link
Contributor Author

たとえば :regional_indicator_g::regiona まで打って Tab を押すと :regional_indicator_ まで出てくるのでキー入力が削減されて嬉しい、みたいなことだと思います

@cp-20
Copy link
Contributor

cp-20 commented Oct 30, 2025

実際にスタンプ名の補完で代替できるような感覚がある 機能をシンプルに保った方が良いような感覚

でも任せます (今の挙動のままこの機能を入れるらレビューします)

@uni-kakurenbo
Copy link
Contributor Author

んーー、私も実状をよく把握できていないので一旦次の作戦集会に回したいです

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working refactor

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

メンションのサジェストのキーボード操作がおかしいことがある

3 participants