リンク編集中の補完リストに存在しないリンクが表示されてしまう
2020/01/06(月)
要望していた動作になりました。ありがとうございます!foldrr.icon
要望
リンク編集中のリンク補完リストに出てくるリンクは
既存リンクのみであって欲しいです。
現在は既存リンクだけでなく、「編集しているリンクの編集前のリンク」も表示されます。
補足
ここで言う「既存リンク」とは文字通り現在存在するリンクのことです。
青色リンクだけでなくオレンジ色リンクも含めて、という意味です。
要望する理由
リンク補完リストに「編集しているリンクの編集前のリンク」が表示されると混乱します。
混乱するのは編集を開始する時点でリンクがオレンジ色だった場合です。
オレンジ色のリンクというのは以下の条件を満たします。
そのリンク先にページ内容は存在しません。
そのリンクは他のページのどこにも存在しません。
言い方を変えると、そのオレンジ色リンクのテキストを書き換えた時、元のリンクテキストはプロジェクトのどこにも存在しないはずです。
そしてScrapboxが補完リストに表示する候補は既存リンクのみであると期待しています。
Scrapboxは知っているリンクを候補としてサジェストしてくれます。
過去に存在し今はすでに存在しないリンクはサジェストしません。
サジェストして欲しくありません。
しかし、現在の動作には例外があり「リンク編集中の元リンク」だけは現在存在しなくても候補に表示されてしまいます。
現在は「編集しているリンクの編集前のリンク」が候補に表示されるため、
そのリンクが
自分の探しているリンクなのか
自分の探しているリンクではなくScrapboxも今や知らないはずのリンクなのか
を候補から選択した後に、リンクの色で判断する必要があります。
よく起きている困ること
こんな時に困っています。
ページ本文のテキストを(青リンクになることを期待して)リンクにします。
ところが、既存のリンクと微妙に名前が違うためオレンジリンクになったとします。
これはリンクにするテキストの範囲を間違えていたり、
リンクの表記揺れがあったりした時に起きます。
そこで、青リンクになるようリンクを編集すると候補として先程のオレンジリンクが表示されます。
この時、先程のオレンジリンクは今やどのページにも存在しないにも関わらずです。
リンクの名前が少し長めで、かつ正しいリンクの名前をはっきり記憶していない状況だと、補完リストに出てきたリンクを「探しているリンク」だと勘違いして選択してしまいます。
このリンクは最初にオレンジリンクになったものです。
この勘違いは上で書いたように、間違いや表記ゆれをきっかけとしているのでよく発生してしまいます。
一瞬待てば青リンクになるだろうと少し待っても、オレンジリンクのままなのでまた補完リストから探し直しになります。
今は個人的には「既存リンクを編集する前には編集前のテキストをよく覚えておくかメモしてからリンク編集に手を付ける」というとても回りくどいことをしています。
これ私もありましたmiyamonz.icon
現在の仕様では、空リンクも含めて候補にでるようになっていますrakusai.icon 上部の検索バーで出てくる候補と一致させました
困っているのは「空リンクですらない(さっきまで存在していたが)今は存在しないリンク」が候補に現れる点ですfoldrr.icon
例えば
[今やどこにも存在しないリンク] と書いて、このリンクはオレンジ色だったとします。
カーソルをリンク内に移動して最後の ク を消します。
すると、候補に 今やどこにも存在しないリンク が出てきてしまいます。
以下、実際に試してみる用のリンク:
青リンクもオレンジリンクも候補に出るのはとてもよいのですが、リンク編集時だけScrapboxが過去の記憶を持っているような動きになるので戸惑ってしまいます。
この挙動はリンク編集が発生しない検索バーでは発生しません。
(見た目上は)以下のように見えます。
リンク編集状態から抜けた時に、(内部的な)候補リストが更新されます。
リンク編集開始時には候補リストは更新されません。
ここでオレンジ色のリンクテキストを編集すると、編集中は古いリンクテキストがまだ候補リストに残っています。
そのため編集中は候補リストに「今や存在しないリンク」が現れます。
/icons/わかる.icontyama.iconmiyamonz.iconnekketsuuu.iconyosider.icon
ミスタイプしたときにリンク補完が「これだろ?」って持ってくると、「だからそれは打ち間違いなんだって!」という気持ちになってしまう
別ページで作られた空リンクであれば当然候補に出てくるべきですが、同一ページの場合は別の処理をするとよさそうmiyamonz.icon
ページから抜けるか、別ページに入るかのタイミングで候補に入るようにする?
自分だけのからリンクなら無視する
サーバーからの通知により、ブラウザ上の辞書は即更新しているそうですfoldrr.icon
古い候補が出てしまうのは
ネットワークが詰まっているとか、
ブラウザを大量に開いていてそれぞれで辞書を計算しなおしているので追いついてないとか
試してみたらリンク編集中でも候補が更新されているのを確認できました。
リンク編集中の候補が表示されている状態で数秒待ってから、編集中のリンクを引き続き編集すると候補が新しくなっていました。
ただそれでも候補に出てくるとつい選んでしまいます。
打ち間違いをした時は
「間違えた」ことは意識にあるのですが、
「間違えたテキストが何だったか」は意識していないので。