Skip to content

fix(editor): apply classes to all selected elements - #511

Open
MelmacAlpha wants to merge 1 commit into
CoreBunch:mainfrom
MelmacAlpha:fix/multi-select-class-assignment
Open

fix(editor): apply classes to all selected elements#511
MelmacAlpha wants to merge 1 commit into
CoreBunch:mainfrom
MelmacAlpha:fix/multi-select-class-assignment

Conversation

@MelmacAlpha

@MelmacAlpha MelmacAlpha commented Sep 8, 2026

Copy link
Copy Markdown

Summary

  • Apply a class to, or remove it from, every node in a multi-selection via the Selectors panel.
  • Preserve single-selection and right-click-outside-selection behavior.
  • Keep ambient selectors out of node class assignments.
  • Batch the mutation into one undo step while preserving class order and avoiding duplicates.

Why

The Selectors panel previously applied “Apply to selected element” and “Remove from selected element” only to the last-selected canvas node, even when multiple nodes were selected.

Verification

  • Targeted tests: 109 passed, 0 failed.
  • bun run build passed.
  • bun run lint passed.
  • Full bun test: 6,828 passed; 11 existing collabRelayIntegration socket-environment tests failed independently of this change.
  • No Docker/deployment check required.

Checklist

  • Tests cover behavior changes.
  • No documentation update is needed for this bug fix; configuration, public APIs, and deployment behavior are unchanged.
  • No compatibility shim was added.
  • No secrets, local databases, uploads, or generated artifacts are included.

AI disclosure

The implementation, tests, branch preparation, and pull-request preparation were performed by OpenAI Codex under the submitter’s direction. The submitter functionally verified the fix but did not independently review the implementation. Additional maintainer review is requested.

Assisted-by: OpenAI Codex

@MelmacAlpha
MelmacAlpha marked this pull request as ready for review September 8, 2026 11:31
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