Skip to content

UX(frontend): 編集中の未保存 draft が別 mutation の refetch で巻き戻りうる #443

Description

@shogun-aki-tweak

はじめに

#388(workflow statuses editor)のレビューで挙がった、軽微な UX の気づきの記録です。
実害は限定的で、必ずしも対応が要るとは限らないのですが、将来の改善余地として残しておきます。

対象は apps/frontend/src/components/projects/WorkflowStatusesEditor.vue です。

気になりうる挙動

watch(statuses, … { immediate: true }) が statuses の変化のたびに drafts を作り直すため、状況次第で編集途中の入力が巻き戻る可能性があります。
具体的には、次のような順序です。

  1. ある行の名前を編集している途中(未保存)で、
  2. 別の行の Default や Done の切替といった別の mutation が走ると、
  3. statuses が refetch され、編集中だった行の draft がサーバ値に戻ってしまう、かもしれません。

実害の程度

おそらく限定的です。

  • mutation 中(isMutating)は入力が disabled になるため、同時編集に入る窓は狭そうです。
  • データの不整合ではなく、編集途中がふっと消えるという軽い驚きの範囲に留まると思われます。

検討し得る対応

急ぎではなく、任意です。

  • 必要を感じたら、サーバ値と異なる draft は保持する、という差分マージを検討する程度です。
  • 頻度や体感の次第では、このまま様子見でも十分かもしれません。

Refs #388

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions