Skip to content

v3.45.2

@MrCoder MrCoder tagged this 06 Jan 12:15
* refactor: rename index.tsx to Message.tsx

* refactor: update Message import paths and extract MessageView component

* MessageView does not need .return class.

* refactor: unify message normalization across components

* refactor: extract MessageView and introduce normalizeText callback

- Extract pure MessageView component from Message.tsx
- Replace isAsync prop with normalizeText callback in MessageLabel
- Create messageNormalizers.ts with sync/async normalizers
- Update all statement components to pass appropriate normalizers
- Fix editable-label tests to use stable locators and page.keyboard

* refactor: extract pure EditableSpan component

- Create generic EditableSpan component in src/components/common/EditableSpan/
- Refactor MessageLabel, ParticipantLabel, ConditionLabel to use EditableSpan
- Remove useEditLabel.ts hook (logic moved to component)
- Move specialCharRegex to messageNormalizers.ts
- Update dark theme selector from label to .name class
- Update tests to use .editable-span-base selector
- Change style-panel test to use dblclick (editing now requires double-click)

Architecture: Three-layer pattern
- EditableSpan: pure view component, no DSL knowledge
- Wrapper components: DSL-aware, handle code replacement
- Layout components: handle decoration (guillemets, brackets)

* fix: ESC key now properly cancels EditableSpan edits without saving

- Fixed race condition by moving ESC handling from keyup to keydown
- ESC now sets cancel flag before blur event fires
- Simplified handleBlur by removing unnecessary setTimeout
- Removed unused onCancel and showHoverHint props
- Added comprehensive Playwright tests for ESC behavior (6 tests)
- Added ESC cancel test to existing editable-label tests
- Added Storybook story demonstrating ESC cancel behavior

* fix: handle undefined labelText in MessageLabel to prevent crash

* fix: simplify EditableSpan CSS and add maxDiffPixels tolerance for flaky screenshot tests

- Simplify EditableSpan.css by removing !important and unnecessary styles
- Add maxDiffPixels: 3 to fragments-with-return test for anti-aliasing tolerance
- Update snapshot baselines

* refactor(Return): reuse ret variable to avoid redundant method calls

* refactor(ReturnTo): move asyncMessage target logic to parser layer

* refactor(RetContext): add Signature function and update From to handle asyncMessage

* refactor(Message): simplify getEditable with creation-specific check

* refactor(Message): simplify stylable check by removing redundant type validation

* refactor(MessageView): remove unused content prop, use labelText for display

* refactor: rename borderStyle to lineStyle and simplify logic

- Rename borderStyle to lineStyle in Message.tsx and MessageView.tsx
- Simplify lineStyle calculation from object lookup to ternary expression
- Remove incorrect type assertion

* refactor: move getEditable to Creation.tsx.

* refactor: move getLabelPosition for 'sync' message to Interaction.tsx.

* refactor: move getLabelPosition for 'async' message to Interaction-async.tsx.

* refactor: move getLabelPosition for 'creation' message to Creation.tsx.

* refactor: move getLabelPosition for 'assignment' message to Interaction.tsx.

* refactor: move getLabelPosition for 'return' message to Return.tsx.

* refactor: Renamed labelPosition1 to labelPosition.

* refactor: Removed 'style' from EditableSpan.tsx

* refactor: stop extracting param of creation from signature.

* refactor: stop passing stylable to MessageView.tsx

* refactor: removed parameters of style and editable.

* refactor: calc lineStyle inside MessageView.tsx.

* added styling panel for SelfInvocationAsync.tsx

* removed class right-to-left from MessageView.tsx

* removed class from Creation.tsx; removed style attribute from Message inside Creation.tsx

* chore: use local vendor files for offline development

* refactor: update context prop in Creation.tsx to use creation object

* Revert "refactor: removed parameters of style and editable."

This reverts commit 67f88ba585bf3af78475555f09141218885eb18b.

* Removed `translate: 0` from styling Message.

* Removed `w-full` from styling Message as Message gets width from style.

* Add Playwright test for RTL creation message layout

- Add cy/creation-rtl.html with DSL testing right-to-left creation layout
- Add tests/creation-rtl.spec.ts for visual regression testing
- Test focuses on creation message RTL layout with participant declaration and assignment

* Add labelPosition to assignee return message in Creation component

- Extract assigneeStart and assigneeStop from creation assignment context
- Add labelPosition prop to assignee return Message component
- Matches the pattern used in Interaction component for consistency

* Refactor: streamline assignee handling in Creation and Occurrence components

* fix: consistent occurrence height with proper return message styling

- Wrap return Message in statement-container and interaction return divs
- Add mb-[-16px] bottom-[-1px] for consistent height across occurrences
- Add conditional transform based on rtl prop for correct positioning

* test: update Playwright snapshots for occurrence height fix

* chore: update Playwright snapshots for Linux CI

  Generated Linux-specific snapshots for chromium-linux platform.

  🤖 Generated with [Claude Code](https://claude.ai/code)

  Co-Authored-By: Claude <noreply@anthropic.com>

* fix: correct bun.lock file reference in e2e workflow

- Changed bun.lockb to bun.lock to match actual lock file
- This ensures proper caching and workflow execution

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Assets 2
Loading