Skip to content

Pr/copy paste preview persistence - #32

Merged
pavlicekdominik merged 3 commits into
Mountea-Framework:devfrom
thundertone:pr/copy-paste-preview-persistence
Oct 19, 2026
Merged

pavlicekdominik merged 3 commits into
Mountea-Framework:devfrom
thundertone:pr/copy-paste-preview-persistence

Conversation

@thundertone

Copy link
Copy Markdown

Three small changes to the dialogue editor and persistence, from the discussion on Discord. Based on dev at b74d845.

Copy, paste and duplicate nodes

  • Ctrl/Cmd+C, Ctrl/Cmd+V and Ctrl/Cmd+D copy, paste and duplicate the selected nodes and the edges between them (Shift-drag selects several). They are ignored while typing in a field or when text is selected.
  • The clipboard also works between dialogues. Pasted nodes and rows get new ids and fresh localization keys.
  • Pasting into a different project clears speakers and decorators, because those definitions belong to the source project.

Preview

  • Right-click a node, "Preview from here" starts the preview at that node. The label is translated in all six locales.
  • Each choice shows its action label and the line the player then says.
  • Options that end the conversation are listed last; the others keep their order.

Canonicalizing is now a fixed point

Canonicalizing an already canonical snapshot changed it: localized entries were re-stamped with the current time, keyType appeared only on the second pass, and legacy property types (bool, int, float) were normalized only while validating. A revision's payload hash then differed after a round trip, and another device reported the revision as CORRUPT_REMOTE. Unchanged entries now keep their timestamps, entries go through normalizeLocalizedStringEntry, and decorator/condition property types are normalized before hashing. Covered by canonical-idempotence.spec.js.

thundertone and others added 3 commits October 17, 2026 18:24
Canonicalizing an already canonical snapshot re-stamped the timestamps of localized entries and
added keyType only on the second pass, and legacy property types (bool, int, float) were
normalized only while validating. A revision's payload hash therefore differed after a round
trip and other devices reported it as CORRUPT_REMOTE.

Unchanged entries keep their timestamps, entries go through normalizeLocalizedStringEntry, and
decorator/condition property types are normalized before hashing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U2LYX8SVLgzrkJt4GiVG1P
… options

- Ctrl/Cmd+C, V and D copy, paste and duplicate the selected nodes and the edges between them.
  Pasted nodes and rows get new ids and localization keys. Pasting into another project clears
  speakers and decorators, which belong to the source project.
- Right-click a node, "Preview from here" starts the preview at that node.
- Preview options show the action label and the line the player then says; options that end
  the conversation are listed last.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U2LYX8SVLgzrkJt4GiVG1P
The project has no unit test runner; use the module harness like the other regression specs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U2LYX8SVLgzrkJt4GiVG1P
@netlify

netlify Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for mountea-dialoguer ready!

Name Link
🔨 Latest commit 13d5653
🔍 Latest deploy log https://app.netlify.com/projects/mountea-dialoguer/deploys/6ad3c76409b2695f6d8e451d
😎 Deploy Preview https://deploy-preview-32--mountea-dialoguer.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 106 complexity · 3 duplication

Metric Results
Complexity 106
Duplication 3

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@pavlicekdominik

Copy link
Copy Markdown
Member

PR accepted. Code changes will be handled in dev branch.

@pavlicekdominik
pavlicekdominik merged commit fb857cd into Mountea-Framework:dev Oct 19, 2026
5 checks passed
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.

2 participants