From 78a9dd31a334d5c908c524d630b3905a79429490 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Tue, 14 Jul 2026 19:13:56 +0800 Subject: [PATCH] fix: open requested secrets from workbench --- plugins/secrets/frontend/src/index.js | 13 +++++++++++-- plugins/secrets/locales/en.json | 1 + plugins/secrets/locales/ru.json | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/secrets/frontend/src/index.js b/plugins/secrets/frontend/src/index.js index e8094ba..91cc3f4 100644 --- a/plugins/secrets/frontend/src/index.js +++ b/plugins/secrets/frontend/src/index.js @@ -103,7 +103,8 @@ function selectedIDFromProps(props) { var resource = props && props.resource || {}; - var path = text(resource.path || props && props.secretId); + var request = props && props.request || {}; + var path = text(resource.path || request.path || props && props.secretId); if (path.indexOf('verstak-secret://') === 0) return decodeURIComponent(path.slice('verstak-secret://'.length)); return decodeURIComponent(path.replace(/^\/+/, '')); } @@ -259,7 +260,8 @@ function renderSelected() { if (!selectedRecord) return el('div', { className: 'secrets-card' }, [ - el('h2', {}, [tr('ui.select', null, 'Select a secret')]) + el('h2', {}, [tr('ui.select', null, 'Select a secret')]), + el('div', { className: statusError ? 'secrets-status error' : 'secrets-status' }, [statusText]) ]); return el('div', { className: 'secrets-card' }, [ el('h2', {}, [selectedRecord.title || selectedRecord.id]), @@ -381,6 +383,13 @@ if (wanted) { var found = records.find(function (record) { return record.id === wanted; }); if (found) return selectRecord(found.id); + selectedRecord = null; + selectedValue = ''; + mode = 'selected'; + statusText = tr('ui.requestedUnavailable', null, 'The requested secret is unavailable.'); + statusError = true; + render(); + return; } selectedRecord = records[0] || null; selectedValue = ''; diff --git a/plugins/secrets/locales/en.json b/plugins/secrets/locales/en.json index 1e4b70c..5b2f3ff 100644 --- a/plugins/secrets/locales/en.json +++ b/plugins/secrets/locales/en.json @@ -16,6 +16,7 @@ "ui.new": "New", "ui.empty": "No secrets", "ui.select": "Select a secret", + "ui.requestedUnavailable": "The requested secret is unavailable.", "ui.group": "Group", "ui.username": "Username", "ui.updated": "Updated", diff --git a/plugins/secrets/locales/ru.json b/plugins/secrets/locales/ru.json index 1a34bf5..bdb4415 100644 --- a/plugins/secrets/locales/ru.json +++ b/plugins/secrets/locales/ru.json @@ -16,6 +16,7 @@ "ui.new": "Новый", "ui.empty": "Секретов нет", "ui.select": "Выберите секрет", + "ui.requestedUnavailable": "Запрошенный секрет недоступен.", "ui.group": "Группа", "ui.username": "Имя пользователя", "ui.updated": "Обновлён",