Skip to content

Note in Set-remote that saving creates a new package revision - #767

Merged
fiskus merged 2 commits into
mainfrom
set-remote-revision-notice
Jul 13, 2026
Merged

Note in Set-remote that saving creates a new package revision#767
fiskus merged 2 commits into
mainfrom
set-remote-revision-notice

Conversation

@fiskus

@fiskus fiskus commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

The Set-remote dialog looks like it just records an address, but saving it re-commits the package (rehashed for the bucket, workflow stamped and validated) — a new revision. Users had no way to know that, which is also why the workflow selector in the dialog felt unexplained.

Adds a short semi-bold line between the workflow selector and the Save/Cancel buttons:

Setting a remote will create a new revision of the package.

That framing makes the operation's nature clear (it's a commit-like action, hence the workflow choice) without exposing internals. Shown only in the editable first-push mode — the locked "Show remote" view creates nothing.

Deliberately says "new revision," not "new commit hash": the hash value isn't actionable and surfacing raw hashes to non-engineers was flagged as confusing in earlier user feedback; "revision" also implies something local (nothing is uploaded until push).

Testing

Pure UI copy + one CSS rule. wasm clippy clean; UI tests pass.

Versions

quilt-sync 0.18.3-alpha14 (alpha13 is taken by the open PR #766; renumber if these merge out of order).

Greptile Summary

This PR clarifies the Set-remote dialog and updates the release metadata.

  • Adds a semi-bold notice before the Set-remote action buttons.
  • Styles the new notice in the installed packages page CSS.
  • Updates the changelog and package version to 0.18.3-alpha14.

Confidence Score: 4/5

This is close, but the dialog copy should be fixed before merging.

  • The new notice can still appear when saving only records the remote and does not create a revision.
  • The render condition is broader than the save path condition that actually creates a revision.

quilt-sync/ui/src/components/set_remote_popup.rs

Important Files Changed

Filename Overview
quilt-sync/ui/src/components/set_remote_popup.rs Adds the Set-remote revision notice.
quilt-sync/ui/assets/css/pages/installed-packages-list.css Adds styling for the Set-remote notice.
quilt-sync/src-tauri/Cargo.toml Updates the quilt-sync package version.
Cargo.lock Updates the locked quilt-sync package version.
quilt-sync/CHANGELOG.md Adds the release note for the Set-remote dialog copy.

Reviews (2): Last reviewed commit: "Note in Set-remote that saving creates a..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Comment thread quilt-sync/ui/src/components/set_remote_popup.rs
@fiskus

fiskus commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

@greptileai The revision-notice overstatement is fixed in 89aa2ce — instead of weakening the copy to "may", the notice is now gated on the package actually having a local commit (has_local_commit, the same condition set_remote uses to decide whether to recommit), threaded to both the detail-page and packages-list Set-remote surfaces with the wire-form test updated. Please re-review.


// Only the editable (first-push) path re-commits on save;
// the locked "Show remote" view creates nothing.
{(!locked).then(|| view! {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Notice Still Overstates
This notice still renders for every editable Set-remote dialog. A package with no local commit is editable, but saving in that state only writes the remote into lineage and skips the recommit path, so no new revision is created. Users can still be told that Save will create a revision when it will only record the remote.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This re-review ran before the fix commit reached the remote — my re-review request went out at 16:31 but 89aa2ce wasn't pushed until just after, so the branch you re-read was still the pre-fix code. 89aa2ce is now on origin: the notice renders under (!locked && has_local_commit) (set_remote_popup.rs:365), and has_local_commit = lineage.commit.is_some() — the exact condition set_remote gates the recommit on — threaded from both backends. A commit-less editable dialog now shows no notice. Please re-review the current head.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right — I reviewed stale code. Looking at the current head (89aa2ce), the condition at line 365 is (!locked && has_local_commit), and the prop doc above it explicitly states that has_local_commit mirrors lineage.commit.is_some() — the same predicate the backend gates the recommit on. A commit-less editable dialog correctly shows no notice.

My original concern is fully addressed. This is good to merge.

@fiskus
fiskus merged commit 536d564 into main Jul 13, 2026
3 checks passed
@fiskus
fiskus deleted the set-remote-revision-notice branch July 13, 2026 16:42
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