From 11b07db12c3441ba88b234cf3dc0f9d7380ad836 Mon Sep 17 00:00:00 2001 From: James George <25279263+jamesgeorge007@users.noreply.github.com> Date: Mon, 6 Oct 2025 16:45:35 +0530 Subject: [PATCH 1/4] fix(js-sandbox): resolve errors with `pw.env` namespace in legacy sandbox (#5433) --- .../src/types/post-request.d.ts | 4 ++- .../hoppscotch-js-sandbox/src/utils/shared.ts | 33 +++++++++++-------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/hoppscotch-common/src/types/post-request.d.ts b/packages/hoppscotch-common/src/types/post-request.d.ts index 1b5eafca..c8fd9eea 100644 --- a/packages/hoppscotch-common/src/types/post-request.d.ts +++ b/packages/hoppscotch-common/src/types/post-request.d.ts @@ -256,9 +256,11 @@ declare namespace pw { headers: HoppRESTResponseHeader[] }> namespace env { + function set(key: string, value: string): void + function unset(key: string): void function get(key: string): string function getResolve(key: string): string - function resolve(key: string): string + function resolve(value: string): string } } diff --git a/packages/hoppscotch-js-sandbox/src/utils/shared.ts b/packages/hoppscotch-js-sandbox/src/utils/shared.ts index ac738d37..d95a3ff4 100644 --- a/packages/hoppscotch-js-sandbox/src/utils/shared.ts +++ b/packages/hoppscotch-js-sandbox/src/utils/shared.ts @@ -158,21 +158,24 @@ export function getSharedEnvMethods( } /** - * Legacy sandbox version - Returns flat methods for `pw` namespace only + * Legacy sandbox version - Methods pre-wrapped in `env` for direct `pw` namespace assignment + * (Experimental sandbox powered by `faraday-cage` handles this wrapping via bootstrap code) */ export function getSharedEnvMethods( envs: TestResult["envs"], isHoppNamespace?: false ): { methods: { - get: (key: string, options?: EnvAPIOptions) => string | null | undefined - getResolve: ( - key: string, - options?: EnvAPIOptions - ) => string | null | undefined - set: (key: string, value: string, options?: EnvAPIOptions) => void - unset: (key: string, options?: EnvAPIOptions) => void - resolve: (key: string) => string + env: { + get: (key: string, options?: EnvAPIOptions) => string | null | undefined + getResolve: ( + key: string, + options?: EnvAPIOptions + ) => string | null | undefined + set: (key: string, value: string, options?: EnvAPIOptions) => void + unset: (key: string, options?: EnvAPIOptions) => void + resolve: (key: string) => string + } } updatedEnvs: TestResult["envs"] } @@ -380,11 +383,13 @@ export function getSharedEnvMethods( // Legacy scripting sandbox (Only `pw` namespace) return { methods: { - get: envGetFn, - getResolve: envGetResolveFn, - set: envSetFn, - unset: envUnsetFn, - resolve: envResolveFn, + env: { + get: envGetFn, + getResolve: envGetResolveFn, + set: envSetFn, + unset: envUnsetFn, + resolve: envResolveFn, + }, }, updatedEnvs, } From 2b9b45ea761732868f1a117b1ce38ba249003adf Mon Sep 17 00:00:00 2001 From: Nivedin <53208152+nivedin@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:15:06 +0530 Subject: [PATCH 2/4] fix: prevent syncing secret variable initial values (#5434) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com> --- .../components/environments/my/Details.vue | 22 +++++- .../components/environments/teams/Details.vue | 22 +++++- .../src/helpers/RequestRunner.ts | 77 ++++++++++++------- .../editor/extensions/HoppEnvironment.ts | 13 +++- .../src/helpers/utils/environments.ts | 2 + .../src/newstore/environments.ts | 44 +++++++++-- .../secret-environment.service.spec.ts | 33 ++++++-- .../persistence/validation-schemas/index.ts | 1 + .../services/secret-environment.service.ts | 27 ++++++- 9 files changed, 187 insertions(+), 54 deletions(-) diff --git a/packages/hoppscotch-common/src/components/environments/my/Details.vue b/packages/hoppscotch-common/src/components/environments/my/Details.vue index 6ceb12bd..ba7e68e4 100644 --- a/packages/hoppscotch-common/src/components/environments/my/Details.vue +++ b/packages/hoppscotch-common/src/components/environments/my/Details.vue @@ -436,7 +436,7 @@ const workingEnvID = computed(() => { const getCurrentValue = (id: string | "Global", varIndex: number) => { const env = workingEnv.value?.variables[varIndex] - if (env && env.secret) { + if (env?.secret) { return secretEnvironmentService.getSecretEnvironmentVariable(id, varIndex) ?.value } @@ -444,6 +444,15 @@ const getCurrentValue = (id: string | "Global", varIndex: number) => { ?.currentValue } +const getInitialValue = (id: string | "Global", varIndex: number) => { + const env = workingEnv.value?.variables[varIndex] + if (env?.secret) { + return secretEnvironmentService.getSecretEnvironmentVariable(id, varIndex) + ?.initialValue + } + return env?.initialValue +} + watch( () => props.show, (show) => { @@ -469,7 +478,13 @@ watch( : workingEnvID.value, index ) ?? e.currentValue, - initialValue: e.initialValue, + initialValue: + getInitialValue( + props.editingEnvironmentIndex === "Global" + ? "Global" + : workingEnvID.value, + index + ) ?? e.initialValue, secret: e.secret, }, })) @@ -535,6 +550,7 @@ const saveEnvironment = () => { key: e.key, value: e.currentValue, varIndex: i, + initialValue: e.initialValue, }) : O.none ) @@ -583,7 +599,7 @@ const saveEnvironment = () => { A.map((e) => ({ key: e.key, secret: e.secret, - initialValue: e.initialValue || "", + initialValue: e.secret ? "" : e.initialValue, currentValue: "", })) ) diff --git a/packages/hoppscotch-common/src/components/environments/teams/Details.vue b/packages/hoppscotch-common/src/components/environments/teams/Details.vue index ba40ed11..18814e70 100644 --- a/packages/hoppscotch-common/src/components/environments/teams/Details.vue +++ b/packages/hoppscotch-common/src/components/environments/teams/Details.vue @@ -419,6 +419,13 @@ const getCurrentValue = ( )?.currentValue } +const getInitialValue = (editingID: string, varIndex: number) => { + return secretEnvironmentService.getSecretEnvironmentVariable( + editingID, + varIndex + )?.initialValue +} + watch( () => props.show, (show) => { @@ -449,7 +456,11 @@ watch( index, e.secret ) ?? e.currentValue, - initialValue: e.initialValue, + initialValue: e.secret + ? (getInitialValue(props.editingEnvironment?.id ?? "", index) ?? + e.initialValue ?? + "") + : e.initialValue, secret: e.secret, }, })) @@ -516,7 +527,12 @@ const saveEnvironment = async () => { filteredVariables, A.filterMapWithIndex((i, e) => e.secret - ? O.some({ key: e.key, value: e.currentValue, varIndex: i }) + ? O.some({ + key: e.key, + value: e.currentValue, + varIndex: i, + initialValue: e.initialValue, + }) : O.none ) ) @@ -540,7 +556,7 @@ const saveEnvironment = async () => { A.map((e) => ({ key: e.key, secret: e.secret, - initialValue: e.initialValue || "", + initialValue: e.secret ? "" : e.initialValue, currentValue: "", })) ) diff --git a/packages/hoppscotch-common/src/helpers/RequestRunner.ts b/packages/hoppscotch-common/src/helpers/RequestRunner.ts index 9c06f737..7824af60 100644 --- a/packages/hoppscotch-common/src/helpers/RequestRunner.ts +++ b/packages/hoppscotch-common/src/helpers/RequestRunner.ts @@ -167,15 +167,15 @@ const updateEnvironments = ( key: e.key, value: e.currentValue ?? "", varIndex: index, + initialValue: e.initialValue ?? "", }) - // delete the value from the environment - // so that it doesn't get saved in the environment - + // create a new object with cleared values for secret variables + // so that these values don't get saved in the environment return { key: e.key, secret: e.secret, - initialValue: e.initialValue ?? "", + initialValue: e.secret ? "" : (e.initialValue ?? ""), currentValue: "", } } @@ -210,24 +210,36 @@ const updateEnvironments = ( return updatedEnv } +/** + * Get the environment variable value from the secret environment service + * @param envID The environment ID + * @param index The index of the environment variable + * @returns Current value and initial value of the environment variable + */ +const getSecretEnvironmentVariableValue = ( + envID: string, + index: number +): { + value: string + initialValue?: string +} | null => { + return secretEnvironmentService.getSecretEnvironmentVariableValue( + envID, + index + ) +} + /** * Get the environment variable value from the current environment * @param envID The environment ID * @param index The index of the environment variable * @param isSecret Whether the environment variable is a secret - * @returns The environment variable value + * @returns Current value of the environment variable */ const getEnvironmentVariableValue = ( envID: string, - index: number, - isSecret: boolean + index: number ): string | undefined => { - if (isSecret) { - return secretEnvironmentService.getSecretEnvironmentVariableValue( - envID, - index - ) - } return currentEnvironmentValueService.getEnvironmentVariableValue( envID, index @@ -823,6 +835,27 @@ const getUpdatedEnvVariables = ( ) ) +// Helper to resolve currentValue & initialValue for (secret/non-secret) env vars +const resolveEnvVars = ( + envID: string, + vars: Environment["variables"] +): Environment["variables"] => + vars.map((v, index) => { + const secretMeta = v.secret + ? getSecretEnvironmentVariableValue(envID, index) + : null + return { + ...v, + currentValue: + (v.secret + ? secretMeta?.value + : getEnvironmentVariableValue(envID, index)) ?? "", + // fallback to var initialValue if secretMeta is not found + initialValue: + (v.secret ? secretMeta?.initialValue : "") ?? v.initialValue, + } + }) + function translateToSandboxTestResults( testDesc: SandboxTestResult ): HoppTestResult { @@ -834,20 +867,10 @@ function translateToSandboxTestResults( } } - const globals = cloneDeep(getGlobalVariables()).map((g, index) => ({ - ...g, - currentValue: getEnvironmentVariableValue("Global", index, g.secret) ?? "", - })) - - const envVars = getCurrentEnvironment().variables.map((e, index) => ({ - ...e, - currentValue: - getEnvironmentVariableValue( - getCurrentEnvironment().id, - index, - e.secret - ) ?? "", - })) + const globals = resolveEnvVars("Global", cloneDeep(getGlobalVariables())) + const { id: currentEnvID, variables: currentEnvVariables } = + getCurrentEnvironment() + const envVars = resolveEnvVars(currentEnvID, currentEnvVariables) return { description: "", diff --git a/packages/hoppscotch-common/src/helpers/editor/extensions/HoppEnvironment.ts b/packages/hoppscotch-common/src/helpers/editor/extensions/HoppEnvironment.ts index a7442326..f0c3fcaa 100644 --- a/packages/hoppscotch-common/src/helpers/editor/extensions/HoppEnvironment.ts +++ b/packages/hoppscotch-common/src/helpers/editor/extensions/HoppEnvironment.ts @@ -145,10 +145,15 @@ const cursorTooltipField = (aggregateEnvs: AggregateEnvironment[]) => ? tooltipEnv.sourceEnvID! : currentSelectedEnvironment.id - const hasSecretStored = secretEnvironmentService.hasSecretValue( + const hasSecretValueStored = secretEnvironmentService.hasSecretValue( tooltipSourceEnvID, tooltipEnv?.key ?? "" ) + const hasSecretInitialValueStored = + secretEnvironmentService.hasSecretInitialValue( + tooltipSourceEnvID, + tooltipEnv?.key ?? "" + ) // We need to check if the environment is a secret and if it has a secret value stored in the secret environment service // If it is a secret and has a secret value, we need to show "******" in the tooltip @@ -158,12 +163,12 @@ const cursorTooltipField = (aggregateEnvs: AggregateEnvironment[]) => // If the source environment is not found, we need to show "Not Found" in the tooltip, ie the the environment // is not defined in the selected environment or the global environment if (isSecret) { - if (!hasSecretStored && envInitialValue) { + if (hasSecretValueStored && hasSecretInitialValueStored) { envInitialValue = "******" - } else if (hasSecretStored && !envInitialValue) { envCurrentValue = "******" - } else if (hasSecretStored && envInitialValue) { + } else if (!hasSecretValueStored && hasSecretInitialValueStored) { envInitialValue = "******" + } else if (hasSecretValueStored && !hasSecretInitialValueStored) { envCurrentValue = "******" } else { envInitialValue = "Empty" diff --git a/packages/hoppscotch-common/src/helpers/utils/environments.ts b/packages/hoppscotch-common/src/helpers/utils/environments.ts index d197c384..c466e2a3 100644 --- a/packages/hoppscotch-common/src/helpers/utils/environments.ts +++ b/packages/hoppscotch-common/src/helpers/utils/environments.ts @@ -36,6 +36,7 @@ const unWrapEnvironments = ( return { ...globalVar, currentValue: secretVar.value, + initialValue: secretVar.initialValue ?? "", } } return { @@ -58,6 +59,7 @@ const unWrapEnvironments = ( return { ...selectedVar, currentValue: secretVar.value, + initialValue: secretVar.initialValue ?? "", } } return { diff --git a/packages/hoppscotch-common/src/newstore/environments.ts b/packages/hoppscotch-common/src/newstore/environments.ts index 6013dba7..de313c89 100644 --- a/packages/hoppscotch-common/src/newstore/environments.ts +++ b/packages/hoppscotch-common/src/newstore/environments.ts @@ -556,12 +556,19 @@ export function getAggregateEnvsWithCurrentValue() { ...currentEnv.variables.map((x, index) => { let currentValue = x.currentValue + let initialValue = x.initialValue if (x.secret) { currentValue = secretEnvironmentService.getSecretEnvironmentVariableValue( currentEnv.id, index - ) ?? "" + )?.value ?? "" + + initialValue = + secretEnvironmentService.getSecretEnvironmentVariableValue( + currentEnv.id, + index + )?.initialValue ?? "" } return { @@ -571,19 +578,26 @@ export function getAggregateEnvsWithCurrentValue() { currentEnv.id, index ) ?? currentValue, - initialValue: x.initialValue, + initialValue: x.initialValue ?? initialValue, secret: x.secret, sourceEnv: currentEnv.name, } }), ...getGlobalVariables().map((x, index) => { let currentValue = x.currentValue + let initialValue = x.initialValue if (x.secret) { currentValue = secretEnvironmentService.getSecretEnvironmentVariableValue( "Global", index - ) ?? "" + )?.value ?? "" + + initialValue = + secretEnvironmentService.getSecretEnvironmentVariableValue( + "Global", + index + )?.initialValue ?? "" } return { key: x.key, @@ -592,7 +606,7 @@ export function getAggregateEnvsWithCurrentValue() { "Global", index ) ?? currentValue, - initialValue: x.initialValue, + initialValue: x.initialValue ?? initialValue, secret: x.secret, sourceEnv: "Global", } @@ -623,12 +637,19 @@ export const aggregateEnvsWithCurrentValue$: Observable< selectedEnv?.variables.map((x, index) => { let currentValue = x.currentValue + let initialValue = x.initialValue if (x.secret) { currentValue = secretEnvironmentService.getSecretEnvironmentVariableValue( selectedEnv.id, index - ) ?? "" + )?.value ?? "" + + initialValue = + secretEnvironmentService.getSecretEnvironmentVariableValue( + selectedEnv.id, + index + )?.initialValue ?? "" } results.push({ key: x.key, @@ -637,7 +658,7 @@ export const aggregateEnvsWithCurrentValue$: Observable< selectedEnv.id, index ) ?? currentValue, - initialValue: x.initialValue, + initialValue: x.initialValue ?? initialValue, secret: x.secret, sourceEnv: selectedEnv.name, }) @@ -645,12 +666,19 @@ export const aggregateEnvsWithCurrentValue$: Observable< globalEnv.variables.map((x, index) => { let currentValue = x.currentValue + let initialValue = x.initialValue if (x.secret) { currentValue = secretEnvironmentService.getSecretEnvironmentVariableValue( "Global", index - ) ?? "" + )?.value ?? "" + + initialValue = + secretEnvironmentService.getSecretEnvironmentVariableValue( + "Global", + index + )?.initialValue ?? "" } results.push({ key: x.key, @@ -659,7 +687,7 @@ export const aggregateEnvsWithCurrentValue$: Observable< "Global", index ) ?? currentValue, - initialValue: x.initialValue, + initialValue: x.initialValue ?? initialValue, secret: x.secret, sourceEnv: "Global", }) diff --git a/packages/hoppscotch-common/src/services/__tests__/secret-environment.service.spec.ts b/packages/hoppscotch-common/src/services/__tests__/secret-environment.service.spec.ts index a3958957..a4390ec6 100644 --- a/packages/hoppscotch-common/src/services/__tests__/secret-environment.service.spec.ts +++ b/packages/hoppscotch-common/src/services/__tests__/secret-environment.service.spec.ts @@ -72,18 +72,37 @@ describe("SecretEnvironmentService", () => { }) describe("getSecretEnvironmentVariableValue", () => { - it("should return the value of the specified secret environment variable", () => { + it("should return the value and initialValue of the specified secret environment variable", () => { const id = "testEnvironment" - const secretVars = [{ key: "key1", value: "value1", varIndex: 1 }] + const secretVars = [ + { key: "key1", value: "value1", initialValue: "init1", varIndex: 1 }, + ] service.secretEnvironments.set(id, secretVars) const result = service.getSecretEnvironmentVariableValue(id, 1) - expect(result).toEqual(secretVars[0].value) + expect(result).toEqual({ + value: "value1", + initialValue: "init1", + }) }) - it("should return undefined if the specified variable does not exist", () => { + it("should return null if the variable has no value/initialValue", () => { + const id = "testEnvironment" + const secretVars = [{ key: "key1", varIndex: 1 }] + + service.secretEnvironments.set(id, secretVars as any) + + const result = service.getSecretEnvironmentVariableValue(id, 1) + + expect(result).toEqual({ + value: "", + initialValue: "", + }) + }) + + it("should return null if the specified variable does not exist", () => { const id = "testEnvironment" const secretVars = [{ key: "key1", value: "value1", varIndex: 1 }] @@ -91,15 +110,15 @@ describe("SecretEnvironmentService", () => { const result = service.getSecretEnvironmentVariableValue(id, 2) - expect(result).toBeUndefined() + expect(result).toBeNull() }) - it("should return undefined if the specified environment does not exist", () => { + it("should return null if the specified environment does not exist", () => { const id = "nonExistentEnvironment" const result = service.getSecretEnvironmentVariableValue(id, 1) - expect(result).toBeUndefined() + expect(result).toBeNull() }) }) diff --git a/packages/hoppscotch-common/src/services/persistence/validation-schemas/index.ts b/packages/hoppscotch-common/src/services/persistence/validation-schemas/index.ts index d8a5d9b3..10e94aaf 100644 --- a/packages/hoppscotch-common/src/services/persistence/validation-schemas/index.ts +++ b/packages/hoppscotch-common/src/services/persistence/validation-schemas/index.ts @@ -379,6 +379,7 @@ export const SECRET_ENVIRONMENT_VARIABLE_SCHEMA = z.union([ .object({ key: z.string(), value: z.string(), + initialValue: z.string().optional().catch(""), varIndex: z.number(), }) .strict() diff --git a/packages/hoppscotch-common/src/services/secret-environment.service.ts b/packages/hoppscotch-common/src/services/secret-environment.service.ts index 5b16c8d7..f42841be 100644 --- a/packages/hoppscotch-common/src/services/secret-environment.service.ts +++ b/packages/hoppscotch-common/src/services/secret-environment.service.ts @@ -4,11 +4,15 @@ import { reactive, computed, watch } from "vue" /** * Defines a secret environment variable. + * Value is the current value of the variable. + * InitialValue is the value of the variable when it was created. + * VarIndex is the index of the variable in the environment. */ export type SecretVariable = { key: string value: string varIndex: number + initialValue?: string } /** @@ -61,13 +65,17 @@ export class SecretEnvironmentService extends Service { } /** - * Used to get the value of a secret environment variable. + * Used to get the initial and current value of a secret environment variable. * @param id ID of the environment * @param varIndex Index of the variable in the environment */ public getSecretEnvironmentVariableValue(id: string, varIndex: number) { const secretVar = this.getSecretEnvironmentVariable(id, varIndex) - return secretVar?.value + if (!secretVar) return null + return { + value: secretVar.value || "", + initialValue: secretVar.initialValue || "", + } } /** @@ -134,6 +142,21 @@ export class SecretEnvironmentService extends Service { ) } + /** + * Checks if a secret variable has an initial value set. + * @param id ID of the environment + * @param key Key of the variable to check the initial value exists + * @returns true if the key has an initial value + */ + public hasSecretInitialValue(id: string, key: string) { + return ( + this.secretEnvironments.has(id) && + this.secretEnvironments + .get(id)! + .some((secretVar) => secretVar.key === key && secretVar.initialValue) + ) + } + /** * Used to update the value of a secret environment variable. */ From a5e9f830664f9a5504f4036fe814adde6b043ddd Mon Sep 17 00:00:00 2001 From: Nivedin <53208152+nivedin@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:21:00 +0530 Subject: [PATCH 3/4] fix: focus existing request tab instead of duplicating (#5452) Addresses an issue where multiple tabs would open even when a request tab was already active. It now correctly switches to the active tab instead. --- packages/hoppscotch-common/src/components/collections/index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/hoppscotch-common/src/components/collections/index.vue b/packages/hoppscotch-common/src/components/collections/index.vue index 4dab6207..8178a6f4 100644 --- a/packages/hoppscotch-common/src/components/collections/index.vue +++ b/packages/hoppscotch-common/src/components/collections/index.vue @@ -2085,7 +2085,9 @@ const selectRequest = (selectedRequest: { originLocation: "user-collection", requestIndex: parseInt(requestIndex), folderPath: folderPath!, + requestRefID: request._ref_id ?? request.id, }) + if (possibleTab) { tabs.setActiveTab(possibleTab.value.id) } else { From d80ea5d214ad5089e47bb3ba468c879a7f6b8e8a Mon Sep 17 00:00:00 2001 From: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:22:23 +0530 Subject: [PATCH 4/4] chore: bump version to `2025.9.2` --- packages/hoppscotch-backend/package.json | 2 +- packages/hoppscotch-common/package.json | 2 +- packages/hoppscotch-desktop/package.json | 2 +- packages/hoppscotch-desktop/src-tauri/Cargo.lock | 2 +- packages/hoppscotch-desktop/src-tauri/Cargo.toml | 2 +- packages/hoppscotch-desktop/src-tauri/tauri.conf.json | 2 +- .../src-tauri/tauri.portable.macos.conf.json | 2 +- .../src-tauri/tauri.portable.windows.conf.json | 2 +- packages/hoppscotch-desktop/src/views/Home.vue | 2 +- packages/hoppscotch-selfhost-web/package.json | 2 +- packages/hoppscotch-selfhost-web/src/main.ts | 2 +- .../hoppscotch-selfhost-web/webapp-server/src/bundle/model.rs | 2 +- packages/hoppscotch-selfhost-web/webapp-server/src/config.rs | 4 ++-- packages/hoppscotch-sh-admin/package.json | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/hoppscotch-backend/package.json b/packages/hoppscotch-backend/package.json index 41b29d7f..ba40830f 100644 --- a/packages/hoppscotch-backend/package.json +++ b/packages/hoppscotch-backend/package.json @@ -1,6 +1,6 @@ { "name": "hoppscotch-backend", - "version": "2025.9.1", + "version": "2025.9.2", "description": "", "author": "", "private": true, diff --git a/packages/hoppscotch-common/package.json b/packages/hoppscotch-common/package.json index 72ecfd06..789557c8 100644 --- a/packages/hoppscotch-common/package.json +++ b/packages/hoppscotch-common/package.json @@ -1,7 +1,7 @@ { "name": "@hoppscotch/common", "private": true, - "version": "2025.9.1", + "version": "2025.9.2", "scripts": { "dev": "pnpm exec npm-run-all -p -l dev:*", "test": "vitest --run", diff --git a/packages/hoppscotch-desktop/package.json b/packages/hoppscotch-desktop/package.json index 318fbaa6..f3fadf73 100644 --- a/packages/hoppscotch-desktop/package.json +++ b/packages/hoppscotch-desktop/package.json @@ -1,7 +1,7 @@ { "name": "hoppscotch-desktop", "private": true, - "version": "25.9.1", + "version": "25.9.2", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/hoppscotch-desktop/src-tauri/Cargo.lock b/packages/hoppscotch-desktop/src-tauri/Cargo.lock index 18d22d9e..753fd927 100644 --- a/packages/hoppscotch-desktop/src-tauri/Cargo.lock +++ b/packages/hoppscotch-desktop/src-tauri/Cargo.lock @@ -2307,7 +2307,7 @@ dependencies = [ [[package]] name = "hoppscotch-desktop" -version = "25.9.1" +version = "25.9.2" dependencies = [ "axum", "dirs 6.0.0", diff --git a/packages/hoppscotch-desktop/src-tauri/Cargo.toml b/packages/hoppscotch-desktop/src-tauri/Cargo.toml index ed826d85..6f7e1bb0 100644 --- a/packages/hoppscotch-desktop/src-tauri/Cargo.toml +++ b/packages/hoppscotch-desktop/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hoppscotch-desktop" -version = "25.9.1" +version = "25.9.2" description = "Desktop App for hoppscotch.io" authors = ["CuriousCorrelation"] edition = "2021" diff --git a/packages/hoppscotch-desktop/src-tauri/tauri.conf.json b/packages/hoppscotch-desktop/src-tauri/tauri.conf.json index eb0e3151..0ca3eaa2 100644 --- a/packages/hoppscotch-desktop/src-tauri/tauri.conf.json +++ b/packages/hoppscotch-desktop/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Hoppscotch", - "version": "25.9.1", + "version": "25.9.2", "identifier": "io.hoppscotch.desktop", "build": { "beforeDevCommand": "pnpm dev", diff --git a/packages/hoppscotch-desktop/src-tauri/tauri.portable.macos.conf.json b/packages/hoppscotch-desktop/src-tauri/tauri.portable.macos.conf.json index 01be3e4d..0884d130 100644 --- a/packages/hoppscotch-desktop/src-tauri/tauri.portable.macos.conf.json +++ b/packages/hoppscotch-desktop/src-tauri/tauri.portable.macos.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Hoppscotch", - "version": "25.9.1", + "version": "25.9.2", "identifier": "io.hoppscotch.desktop", "build": { "beforeDevCommand": "pnpm dev", diff --git a/packages/hoppscotch-desktop/src-tauri/tauri.portable.windows.conf.json b/packages/hoppscotch-desktop/src-tauri/tauri.portable.windows.conf.json index e0f647f0..d66c50fc 100644 --- a/packages/hoppscotch-desktop/src-tauri/tauri.portable.windows.conf.json +++ b/packages/hoppscotch-desktop/src-tauri/tauri.portable.windows.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Hoppscotch", - "version": "25.9.1", + "version": "25.9.2", "identifier": "io.hoppscotch.desktop", "build": { "beforeDevCommand": "pnpm dev", diff --git a/packages/hoppscotch-desktop/src/views/Home.vue b/packages/hoppscotch-desktop/src/views/Home.vue index 0f33576c..f64d031f 100644 --- a/packages/hoppscotch-desktop/src/views/Home.vue +++ b/packages/hoppscotch-desktop/src/views/Home.vue @@ -299,7 +299,7 @@ const loadVendored = async () => { const vendoredInstance: VendoredInstance = { type: "vendored", displayName: "Hoppscotch", - version: "25.9.1", + version: "25.9.2", } const connectionState: ConnectionState = { diff --git a/packages/hoppscotch-selfhost-web/package.json b/packages/hoppscotch-selfhost-web/package.json index 69f1131e..fe950450 100644 --- a/packages/hoppscotch-selfhost-web/package.json +++ b/packages/hoppscotch-selfhost-web/package.json @@ -1,7 +1,7 @@ { "name": "@hoppscotch/selfhost-web", "private": true, - "version": "2025.9.1", + "version": "2025.9.2", "type": "module", "scripts": { "dev:vite": "vite", diff --git a/packages/hoppscotch-selfhost-web/src/main.ts b/packages/hoppscotch-selfhost-web/src/main.ts index b24ae55a..d5eb0980 100644 --- a/packages/hoppscotch-selfhost-web/src/main.ts +++ b/packages/hoppscotch-selfhost-web/src/main.ts @@ -84,7 +84,7 @@ async function initApp() { displayConfig: { displayName: "Hoppscotch", description: "On-Prem", - version: "25.9.1", + version: "25.9.2", connectingMessage: "Connecting to On-prem", connectedMessage: "Connected to On-prem", }, diff --git a/packages/hoppscotch-selfhost-web/webapp-server/src/bundle/model.rs b/packages/hoppscotch-selfhost-web/webapp-server/src/bundle/model.rs index cea7382a..10a01dd4 100644 --- a/packages/hoppscotch-selfhost-web/webapp-server/src/bundle/model.rs +++ b/packages/hoppscotch-selfhost-web/webapp-server/src/bundle/model.rs @@ -47,7 +47,7 @@ pub struct Bundle { impl Bundle { pub fn new(bundle_version: Option, content: Vec, signature: Signature, files: Vec) -> Self { let metadata = BundleMetadata { - version: "2025.9.1".to_string(), + version: "2025.9.2".to_string(), created_at: Utc::now(), signature, manifest: Manifest { files }, diff --git a/packages/hoppscotch-selfhost-web/webapp-server/src/config.rs b/packages/hoppscotch-selfhost-web/webapp-server/src/config.rs index c7598ffd..20e3e8f8 100644 --- a/packages/hoppscotch-selfhost-web/webapp-server/src/config.rs +++ b/packages/hoppscotch-selfhost-web/webapp-server/src/config.rs @@ -54,7 +54,7 @@ impl Default for ServerConfig { Self { port: default_port(), max_bundle_size: default_max_bundle_size(), - bundle_version: Some("2025.9.1".to_string()), + bundle_version: Some("2025.9.2".to_string()), csp_directives: None, signing_key: None, verifying_key: None, @@ -75,7 +75,7 @@ impl ServerConfig { Self { signing_key: Some(key_pair.signing_key), verifying_key: Some(key_pair.verifying_key), - bundle_version: Some("2025.9.1".to_string()), + bundle_version: Some("2025.9.2".to_string()), frontend_path, is_dev: cfg!(debug_assertions), ..Default::default() diff --git a/packages/hoppscotch-sh-admin/package.json b/packages/hoppscotch-sh-admin/package.json index 373f96f1..4f3acbf2 100644 --- a/packages/hoppscotch-sh-admin/package.json +++ b/packages/hoppscotch-sh-admin/package.json @@ -1,7 +1,7 @@ { "name": "hoppscotch-sh-admin", "private": true, - "version": "2025.9.1", + "version": "2025.9.2", "type": "module", "scripts": { "dev": "pnpm exec npm-run-all -p -l dev:*",