Milestone 6 images registries#2
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…ad/tag/prune, login/logout/test) - ImageSummary carries digest + createdAt (digest-centric copy; sorting). - CLIProcessRunner gains stdin support; registry login feeds the password via --password-stdin so the secret never reaches argv/logs/transcripts. - ContainerBackend port + CLI adapter + MockBackend implement every new op with last-call tracking and failure injection; argv verified against container v1.0.0 --help. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…entric copy - Image domain model parses repository/tag, exposes full+short digest, flags dangling. - ImageBrowserModel: load states (no-images vs daemon-failure), search, sort (name/size/created), dangling filter, selection, raw-retaining inspect. - ImageListView (Table + search/sort/dangling toolbar + Copy Digest/Reference) and ImageInspectorView (Summary + Raw JSON, copy digest/reference); routed in ContentColumnView + AppShellView and wired through AppEnvironment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…lict surfacing - ImageActionsModel: tag (reload+log), delete (idempotent not-found, dependency-conflict notice with raw stderr, bulk), prune (dangling/all-unused preview + reclaimed result). - ConfirmationKind gains .deleteImage/.pushImage; delete always confirms; push confirms its destination repo. - TagImageSheet (keeps source digest visible), ImagePruneSheet (scope toggle + live preview), delete via the generic ConfirmationSheet; image notices surfaced in the shell. Wired through AppEnvironment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…ipts + retry - TaskCenter + OperationTask back the Activity pane's Tasks/Progress tabs: transcript accumulation, success/failure, onSuccess hook, and retry. - ImageActionsModel.pull/push/save/load register tasks; pull/load refresh the list on success; retryTask re-runs. - PullImageSheet, PushImageSheet (confirm destination), LoadImageSheet (file picker + drag/drop + archive validation), Save via NSSavePanel; transfer errors stay visible in a raw transcript. Activity pane Tasks/Progress now real, wired through AppEnvironment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…rets never echoed) - RegistriesModel: list (no-logins vs daemon-failure), login, logout, credential test; the password flows to the backend (via --password-stdin) and is never stored or logged. - RegistryLoginSheet (SecureField, Test, raw auth-error display), RegistriesView (list + add + remove-with-confirmation), PreferencesView; exposed as a Settings scene (⌘,). Wired through AppEnvironment + CapsuleScene. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
…prune/bulk/tasks) - Image carries the backend id; dangling images are inspected/deleted/tagged by it (their <none> reference can't address them) — fixes broken dangling inspect. - Push destination parse no longer mistakes a short tagged ref (alpine:latest) for a host. - Bulk image delete aggregates every dependency conflict into one notice. - Prune sheet no longer blocks an all-unused prune on a heuristic empty preview; labels it best-effort. - Activity Tasks tab gains Clear Finished (wires the previously-unused TaskCenter API). - Removed dead push-confirmation kind/factory (push confirms via the sheet dialog). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
Pull/push progress is commonly emitted on stderr; coloring it red made a successful transfer look alarming. stderr is now dimmed while running/succeeding and turns red only once the task has failed. Verified live: an alpine pull now shows neutral progress + a green success check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRY8sjZCmM87FEsjo8A4he
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.