Skip to content

fix(library): restore relationship assessment popovers - #840

Closed
FelixTJDietrich wants to merge 3 commits into
mainfrom
agent/assessment-edge-feedback
Closed

fix(library): restore relationship assessment popovers#840
FelixTJDietrich wants to merge 3 commits into
mainfrom
agent/assessment-edge-feedback

Conversation

@FelixTJDietrich

Copy link
Copy Markdown
Contributor

Summary

Relationship assessment popovers open again when edge-editing actions are hidden.

Assessment integrations can intentionally make a diagram read-only while still letting instructors double-click nodes and relationships to add feedback. Node feedback continued to work, but relationship feedback silently failed because its positioning anchor disappeared together with the edit toolbar.

Release note

Assess relationships reliably when editing controls are hidden.

Implementation notes

React Flow unmounts an EdgeToolbar when its isVisible prop is false. Apollon used that same toolbar as the relationship popover anchor, so hiding delete, edit, and routing controls also removed the anchor required by assessment popovers.

This change keeps React Flow's positioning host mounted as a non-interactive anchor and conditionally renders only the editing actions. The anchor lifecycle is therefore independent of toolbar visibility, without adding host-specific DOM handling or changing Apollon's public API.

A focused regression test verifies both sides of the contract: the anchor remains mounted while editing buttons remain absent. A patch changeset is included.

Steps for testing

  1. Open a modeling submission in a host integration that provides assessment popovers while the diagram is read-only.
  2. Double-click a relationship.
  3. Verify that the assessment popover opens at the relationship and exposes its feedback fields.
  4. Verify that edit, delete, and reset-routing buttons remain hidden.
  5. Double-click a node and confirm that its existing assessment behavior is unchanged.

Automated validation:

  • pnpm lint (green; existing warnings only)
  • pnpm format:check
  • pnpm build
  • pnpm test (89 files, 1,782 passed, 1 skipped)
  • Downstream Artemis Playwright regression using real pointer input for relationship assessment

Screenshots / screencasts

Not applicable: this restores an existing transient popover interaction without changing its visual design. The interaction and hidden-toolbar state are covered by automated tests.

Checklist

  • Linked to a related issue (not applicable — no related issue)
  • Added a changeset whose summary is written in the user's voice
  • PR title's Conventional Commit type matches the kind of change
  • Tests added or updated
  • Ran pnpm lint && pnpm format:check && pnpm build && pnpm test locally — green
  • Documentation updated (not applicable — no public API or workflow changed)
  • Screenshots or screencasts attached (not applicable — no visual design changed)

@FelixTJDietrich

Copy link
Copy Markdown
Contributor Author

Superseded by #841, which carries this work plus the rest of the fixes the Artemis integration needs on a single branch off main. Splitting the integration across two branches meant neither could be reviewed or released on its own. Closing in favour of that one.

@github-project-automation github-project-automation Bot moved this from Backlog to Done in Apollon Development Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant