fix: fixed bug in gui with masked secrets

This commit is contained in:
Daniel Maurer
2023-07-27 10:32:48 +02:00
committed by nivedin
parent f530fc2853
commit b9a1cc21f1
2 changed files with 36 additions and 22 deletions

View File

@@ -216,7 +216,7 @@ const workingEnv = computed(() => {
} }
}) })
const oldEnvironments = ref<Environment | null>(workingEnv.value) const oldEnvironments = ref<string[]>([])
const envList = useReadonlyStream(environments$, []) || props.envVars() const envList = useReadonlyStream(environments$, []) || props.envVars()
@@ -250,18 +250,25 @@ const liveEnvs = computed(() => {
}) })
watch(liveEnvs, (newLiveEnv, oldLiveEnv) => { watch(liveEnvs, (newLiveEnv, oldLiveEnv) => {
for (let i = 0; i < newLiveEnv.length; i++) { const oldEnvLength = oldLiveEnv.length
const newEnvLength = newLiveEnv.length
if (oldEnvLength === newEnvLength) {
const _oldEnvironments = []
for (let i = 0; i < newEnvLength; i++) {
const newVar = newLiveEnv[i] const newVar = newLiveEnv[i]
const oldVar = oldLiveEnv[i] const oldVar = oldLiveEnv[i]
let newValue = ""
if (!newVar.secret && newVar.value !== oldVar.value) { if (!newVar.secret) {
const _oldEnvironments = oldEnvironments.value newValue = newVar.value
if (_oldEnvironments) { } else if (!oldVar.secret) {
_oldEnvironments.variables[i].value = newVar.value newValue = oldVar.value
} else {
newValue = oldEnvironments.value[i]
}
_oldEnvironments.push(newValue)
} }
oldEnvironments.value = _oldEnvironments oldEnvironments.value = _oldEnvironments
} }
}
}) })
watch( watch(
@@ -312,7 +319,7 @@ const saveEnvironment = () => {
} }
const _vars = vars.value const _vars = vars.value
for (let i = 0; i < vars.value.length; i++) { for (let i = 0; i < vars.value.length; i++) {
const value = oldEnvironments.value?.variables[i].value const value = oldEnvironments.value[i]
if (value) { if (value) {
_vars[i].env.value = value _vars[i].env.value = value
} }

View File

@@ -198,7 +198,7 @@ const vars = ref<EnvironmentVariable[]>([
{ id: idTicker.value++, env: { key: "", value: "", secret: false } }, { id: idTicker.value++, env: { key: "", value: "", secret: false } },
]) ])
const oldEnvironments = ref(props.envVars()) const oldEnvironments = ref<string[]>([])
const clearIcon = refAutoReset<typeof IconTrash2 | typeof IconDone>( const clearIcon = refAutoReset<typeof IconTrash2 | typeof IconDone>(
IconTrash2, IconTrash2,
1000 1000
@@ -227,18 +227,25 @@ const liveEnvs = computed(() => {
}) })
watch(liveEnvs, (newLiveEnv, oldLiveEnv) => { watch(liveEnvs, (newLiveEnv, oldLiveEnv) => {
for (let i = 0; i < newLiveEnv.length; i++) { const oldEnvLength = oldLiveEnv.length
const newEnvLength = newLiveEnv.length
if (oldEnvLength === newEnvLength) {
const _oldEnvironments = []
for (let i = 0; i < newEnvLength; i++) {
const newVar = newLiveEnv[i] const newVar = newLiveEnv[i]
const oldVar = oldLiveEnv[i] const oldVar = oldLiveEnv[i]
let newValue = ""
if (!newVar.secret && newVar.value !== oldVar.value) { if (!newVar.secret) {
const _oldEnvironments = oldEnvironments.value newValue = newVar.value
if (_oldEnvironments) { } else if (!oldVar.secret) {
_oldEnvironments[i].value = newVar.value newValue = oldVar.value
} else {
newValue = oldEnvironments.value[i]
}
_oldEnvironments.push(newValue)
} }
oldEnvironments.value = _oldEnvironments oldEnvironments.value = _oldEnvironments
} }
}
}) })
watch( watch(
@@ -305,7 +312,7 @@ const saveEnvironment = async () => {
const _vars = vars.value const _vars = vars.value
for (let i = 0; i < vars.value.length; i++) { for (let i = 0; i < vars.value.length; i++) {
const value = oldEnvironments.value[i].value const value = oldEnvironments.value[i]
if (value) { if (value) {
_vars[i].env.value = value _vars[i].env.value = value
} }