Skip to content

E2Eテストでワークフロー開始フォームを開くと画面が二重に描画される不具合を修正 - #198

Draft
yacchin1205 wants to merge 1 commit into
RCOSDP:developfrom
yacchin1205:fix/files-manager-can-edit-alias
Draft

E2Eテストでワークフロー開始フォームを開くと画面が二重に描画される不具合を修正#198
yacchin1205 wants to merge 1 commit into
RCOSDP:developfrom
yacchin1205:fix/files-manager-can-edit-alias

Conversation

@yacchin1205

@yacchin1205 yacchin1205 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
  • Ticket: []
  • Feature flag: n/a

Purpose

開発モード(ember serve / development ビルド)で起きうる不具合の修正。本番ビルドでは Ember の assertion が無効なため下記の二重描画は発生しないが、その原因である「node の権限値の上書き」は本番でも起きている。

RDM-e2e-test-nb の E2E は ember を開発モードで動かしており、Flowable Forms(example-wizard 実行テスト)が 8/20 以降の ember イメージで失敗し続けていた。失敗時の DOM ではアプリのルートが二重に描画されており、label:has-text("Project Metadata (single)") が 2 要素にヒットする strict mode violation になっていた。

原因は Files::ManagercanEdit@alias('node.userHasAdminPermission') で定義されていること。Ember の alias は書き込み可能なため、呼び出し側(workflow / package の file-selector)が @canEdit={{false}} を渡すと、コンポーネント生成時に node.userHasAdminPermission へ false が書き戻される。userHasAdminPermission は getter のみの computed なので、Ember はこれを plain 値で上書きし(computed-property.override の deprecation)、以降その node レコードは管理者権限なしとして扱われる。

#187 で node-navbar が @node.userHasAdminPermission を参照するようになってからは、同一描画内で先に読まれた値を file-selector が書き換える形になる。開発ビルドでは Ember の autotracking assertion(You attempted to update ... but it had already been used previously in the same computation)に該当し、初回描画が中断されて上記の二重描画になると考えられる。

Summary of Changes

  • Files::ManagercanEdit@alias から @reads(一方向 alias)に変更。@canEdit が渡された場合はコンポーネント側のローカル値として保持し、node へ書き戻さない

Side Effects

  • workflow / package の file-selector を表示しても node.userHasAdminPermission が変化しなくなる(従来は false に上書きされ、証跡管理タブなど管理者権限で表示する UI に影響しうる状態だった)
  • 本番ビルドでは assertion が無効なため二重描画自体は発生しないが、上記の上書きは同様に解消される

QA Notes

  • ワークフローの開始フォーム(_FILE_SELECTOR を含むテンプレート)およびメタデータのパッケージ画面で、ファイル選択 UI が表示・操作できること
  • 管理者ユーザーで上記画面を開いた後も、プロジェクトナビゲーションの証跡管理タブが表示され続けること
  • 本ブランチのイメージ(yacchin1205/rdm-ember-osf-web:fix_files-manager-can-edit-alias)で RDM-e2e-test-nb の E2E を実行し、失敗していた Flowable Forms ジョブが成功することを確認済み: https://github.com/RCOSDP/RDM-e2e-test-nb/actions/runs/33582880064

@yacchin1205 yacchin1205 changed the title Files::Manager の canEdit が node.userHasAdminPermission を上書きする問題を修正 E2Eテストでワークフロー開始フォームを開くと画面が二重に描画される不具合を修正 Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant