Skip to content

feat(system-builder): CREATE refuses a taken name; UPDATE can replace… - #167

Merged
over2take merged 1 commit into
feature/system-builderfrom
sb/4a1b1b-create-and-replace
Oct 6, 2026
Merged

over2take merged 1 commit into
feature/system-builderfrom
sb/4a1b1b-create-and-replace

Conversation

@over2take

Copy link
Copy Markdown
Owner

… changes (4a1b1b)

createSystem refuses a name another system not deleted has (409, store.nameTaken, shared with renameSystem).

installSystem takes { text, mode, replaceChanges }. An update over a system changed here since it was installed is no longer refused outright: without replaceChanges: true it answers 409 with changed: true, so the window can warn and confirm; with it, it replaces. A file with problems is still refused as an update. An update keeps the name the system has here (installNames.update = its own name). The install route broadcasts customSystemChanged so browsers fetch an updated system.

Decided with the user 2026-10-06; reverses the 2h rule that a system changed here could only be kept both.

Summary

Test plan

  • Tested locally
  • Tests pass

Pre-merge checklist

Code quality:

  • Code follows project style
  • No breaking changes (or clearly documented)
  • No console errors or warnings

Version & Release:

  • Version bumped? If releasing to users, update:
    • frontend/package.json version
    • docker-compose.yml APP_VERSION
    • CHANGELOG.md with release notes
  • GitHub Actions will auto-tag Docker images with the new version

Before merging to main:

  • All tests passing
  • PR reviewed and approved
  • Branch is up to date with main
  • No merge conflicts

Related issues

… changes (4a1b1b)

createSystem refuses a name another system not deleted has (409, store.nameTaken, shared
with renameSystem).

installSystem takes { text, mode, replaceChanges }. An update over a system changed here since
it was installed is no longer refused outright: without `replaceChanges: true` it answers 409
with `changed: true`, so the window can warn and confirm; with it, it replaces. A file with
problems is still refused as an update. An update keeps the name the system has here
(installNames.update = its own name). The install route broadcasts customSystemChanged so
browsers fetch an updated system.

Decided with the user 2026-10-06; reverses the 2h rule that a system changed here could only
be kept both.
@over2take
over2take merged commit 2e658f0 into feature/system-builder Oct 6, 2026
4 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.

1 participant