Feat/env var form layout#4269
Closed
logical-tech wants to merge 5 commits intoDokploy:canaryfrom
Closed
Conversation
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
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.
What is this PR about?
Added a toggle in the env editors to toggle between code editor and vercel style editor for env variables.
Pasting a copied env file content will automatically populate env variables
Variables can be reordered just by dragging
Checklist
Before submitting this PR, please make sure that:
canarybranch.Issues related (if applicable)
none
Screenshots (if applicable)
Without anything inside

After pasting the .env.example

Reordering

Greptile Summary
This PR adds a new
EnvEditorcomponent that wraps the existingCodeEditorand introduces a toggleable rows-based view (Vercel-style) with drag-to-reorder and smart paste. The component replaces the rawCodeEditorin bothproject-environment.tsxandsecrets.tsx.isObscureddefaults totrue, which also setsdisabled={isObscured || disabled}on the rawCodeEditor. Any user with write access will find the raw editor completely uneditable until they click the eye toggle — a clear regression from the previous behaviour.=:looksLikeEnvPastereturnstruefor any single-line text that includes=, so pasting a URL with query params, a Base64 string, or similar into a VALUE field will be silently intercepted and split on=instead of inserted as a literal string.parseEnvstrips surrounding quotes from values butserializeRowsnever re-adds them, permanently altering quoted values (e.g. those containing spaces) after one save in rows mode.Confidence Score: 2/5
Not safe to merge — three P1 defects will affect all users of the new component.
Three distinct P1 issues exist in the new EnvEditor: the raw editor is disabled on first load blocking normal editing, single-line paste interception corrupts values containing =, and a parse/serialize asymmetry silently drops quotes from values causing data loss. All three are present on the changed code path and will affect real users.
apps/dokploy/components/ui/env-editor.tsx requires attention on the default isObscured state, looksLikeEnvPaste logic, and the parseEnv/serializeRows quote handling.
Reviews (1): Last reviewed commit: "feat: replace CodeEditor with EnvEditor ..." | Re-trigger Greptile