Skip to content

feat(frontend): add upload support to overview page#5459

Merged
scott-ray-wilson merged 1 commit intomainfrom
SECRETS-84
Feb 12, 2026
Merged

feat(frontend): add upload support to overview page#5459
scott-ray-wilson merged 1 commit intomainfrom
SECRETS-84

Conversation

@scott-ray-wilson
Copy link
Contributor

@scott-ray-wilson scott-ray-wilson commented Feb 11, 2026

Context

This PR adds upload support to the overview page; enabling drag n drop or pasting .env, csv, json or yml files and uploading them to one or more environments.

Screenshots

CleanShot 2026-02-11 at 14 06 57@2x CleanShot 2026-02-11 at 14 07 36@2x CleanShot 2026-02-11 at 14 07 13@2x

Steps to verify the change

  • Verify you can drag and drop, file select and parse all file types (csv, env, json and yml)
  • verify empty display (no resources in env and dropdown upload button)
  • verify you can upload to one or more environments
  • verify the overwrite toggle behavior (enabled and disabled)
  • verify lacking permissions disable relevant actions

Type

  • Fix
  • Feature
  • Improvement
  • Breaking
  • Docs
  • Chore

Checklist

  • Title follows the conventional commit format: type(scope): short description (scope is optional, e.g., fix: prevent crash on sync or fix(api): handle null response).
  • Tested locally
  • Updated docs (if needed)
  • Read the contributing guide

@linear
Copy link

linear bot commented Feb 11, 2026

@maidul98
Copy link
Collaborator

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

This PR adds “upload/import secrets” support to the Secret Manager Overview page by introducing a dropzone flow (drag/drop, file picker, paste), parsing supported file formats (env/csv/json/yml), mapping CSV columns, and then uploading secrets to one or more environments. It also includes small supporting updates to shared UI components (Dialog/Field/TextArea/ReactSelect components) and updates dependencies in the frontend lockfile.

The new feature is wired into the Overview page’s existing resource/secret UX by adding a SecretDropzone component and related dialogs/modals to the Overview page component tree and export indices, so users can import secrets without navigating away from Overview.

Confidence Score: 2/5

  • This PR should not be merged yet because the core import/upload flow needs additional verification for correctness and safety around parsing and permission gating.
  • The change introduces new, user-input-driven parsing and bulk secret creation paths in multiple UI components. Without concrete verification of required-field validation, file/type handling, and permission-gated actions in the import modal/dropzone codepaths, there’s a material risk of broken imports or unintended uploads. Once these edge cases are validated and any issues addressed, the change should be safe.
  • frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/ImportSecretsModal.tsx; frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/SecretDropzone.tsx; frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/CsvColumnMapDialog.tsx; frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/PasteSecretsDialog.tsx

Important Files Changed

Filename Overview
frontend/package-lock.json Updates frontend lockfile for new/updated dependencies needed by the upload/import flow; no functional code changes here.
frontend/src/components/v3/generic/Dialog/Dialog.tsx Minor adjustments to the Dialog component to support the new import dialogs/modals; no obvious correctness issues detected.
frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx Wires the new SecretDropzone/import modals into the Overview page; needs careful checking of permissions gating and upload state handling.
frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/CsvColumnMapDialog.tsx Implements CSV column mapping dialog; needs validation that mapping/required fields are enforced correctly and does not allow ambiguous mappings.
frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/ImportSecretsModal.tsx Main import modal handling file parsing + environment selection + overwrite toggle; highest risk for edge-case parsing and permission-gated actions.
frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/PasteSecretsDialog.tsx Paste secrets dialog; needs checking for correct parsing, size limits, and error handling on invalid input.
frontend/src/pages/secret-manager/OverviewPage/components/SecretDropzone/SecretDropzone.tsx Implements drag-and-drop/paste/file-select handling and routes into import modal; needs checking for event handling and file type validation.

@scott-ray-wilson scott-ray-wilson merged commit f260c8b into main Feb 12, 2026
9 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.

3 participants