Open
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…eating an Application
Comment on lines
+281
to
+286
| onSelect={(val) => { | ||
| setSelectedImage(val); | ||
| setSelectedTag("latest"); | ||
| setTagSearchInput(""); | ||
| setImagePopoverOpen(false); | ||
| }} |
Contributor
There was a problem hiding this comment.
Image search input not cleared on selection
When a user selects an image from the combobox, imageSearchInput is left with the previous search term. The next time the popover is opened, it shows a stale query rather than an empty search box. Consider resetting it alongside the tag state by adding setImageSearchInput("") in the onSelect handler.
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.
Synk fork with Project
Greptile Summary
This PR adds registry-aware Docker provider configuration: users can now select a configured registry and browse its images and tags via searchable comboboxes, instead of typing image references manually. It also introduces
safeDockerLoginCommandto prevent shell injection during docker login and wires up rollback-registry push support in the cluster upload path.upload.ts:getRegistryCommandsstill uses the old unsafeecho \"${registry.password}\" | docker login …pattern.safeDockerLoginCommandwas introduced in this PR and applied todocker.tsbut not toupload.ts; a registry password with\"or$(…)can execute arbitrary shell code on the host.Confidence Score: 4/5
Do not merge until the command injection in getRegistryCommands is fixed; all other changes look solid.
One P1 security finding blocks merge: the registry password is interpolated unescaped into a shell command in upload.ts, enabling command injection for any registry whose password contains shell metacharacters. The fix is straightforward — use the safeDockerLoginCommand helper already introduced in this PR. All other changes look correct and safe.
packages/server/src/utils/cluster/upload.ts — getRegistryCommands needs to use safeDockerLoginCommand.
Security Review
packages/server/src/utils/cluster/upload.ts,getRegistryCommands):registry.passwordis interpolated unescaped into a double-quoted shell string. A password containing",`, or$(…)can break out of the quoted context.safeDockerLoginCommandwas introduced in this same PR and correctly applied indocker.ts, but was not applied toupload.ts.Comments Outside Diff (1)
packages/server/src/utils/cluster/upload.ts, line 119-136 (link)registry.passwordis interpolated inside a double-quoted shell string. A password containing",`, or$(…)can break out of the string and execute arbitrary commands on the host. This PR introducedsafeDockerLoginCommandinregistry.tsand correctly applied it indocker.ts, but the same fix was not applied here.You also need to add the import at the top of the file:
Reviews (1): Last reviewed commit: "Merge branch 'Dokploy:canary' into canar..." | Re-trigger Greptile