Compare commits

..

3 Commits

Author SHA1 Message Date
nivedin
5a453cf2ce fix: update schema validation type for restTab test 2024-02-13 17:39:00 +05:30
nivedin
d72fdd1118 chore: minor refactor 2024-02-13 17:39:00 +05:30
nivedin
1d7c0c0ba1 fix: team secret env tooltip update bug 2024-02-13 17:39:00 +05:30
33 changed files with 83 additions and 104 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "hoppscotch-backend",
"version": "2023.12.5",
"version": "2023.12.4",
"description": "",
"author": "",
"private": true,

View File

@@ -429,11 +429,6 @@ pre.ace_editor {
}
}
.splitpanes__pane {
@apply will-change-auto;
transform: translateZ(0);
}
.smart-splitter .splitpanes__splitter {
@apply relative;
@apply before:absolute;

View File

@@ -1,7 +1,7 @@
{
"name": "@hoppscotch/common",
"private": true,
"version": "2023.12.5",
"version": "2023.12.4",
"scripts": {
"dev": "pnpm exec npm-run-all -p -l dev:*",
"test": "vitest --run",

View File

@@ -1,5 +1,5 @@
<template>
<div class="h-full">
<div class="flex h-full flex-1 flex-col">
<HoppSmartTabs
v-model="selectedOptionTab"
styles="sticky top-0 bg-primary z-10 border-b-0"

View File

@@ -72,9 +72,7 @@
</tippy>
</div>
</div>
<div class="h-full">
<div ref="schemaEditor"></div>
</div>
<div ref="schemaEditor" class="flex flex-1 flex-col"></div>
</div>
<component
:is="response[0].error.component"

View File

@@ -145,9 +145,11 @@
/>
</div>
</div>
<div v-if="schemaString" class="h-full relative w-full">
<div ref="schemaEditor" class="absolute inset-0"></div>
</div>
<div
v-if="schemaString"
ref="schemaEditor"
class="flex flex-1 flex-col"
></div>
<HoppSmartPlaceholder
v-else
:src="`/images/states/${colorMode.value}/blockchain.svg`"

View File

@@ -67,9 +67,7 @@
/>
</div>
</div>
<div class="h-full relative">
<div ref="variableEditor" class="flex flex-1 flex-col"></div>
</div>
<div ref="variableEditor" class="flex flex-1 flex-col"></div>
</template>
<script setup lang="ts">

View File

@@ -49,9 +49,7 @@
/>
</div>
</div>
<div v-if="bulkMode" class="h-full relative w-full">
<div ref="bulkEditor" class="absolute inset-0"></div>
</div>
<div v-if="bulkMode" ref="bulkEditor" class="flex flex-1 flex-col"></div>
<div v-else>
<draggable
v-model="workingHeaders"

View File

@@ -112,7 +112,7 @@ const handleAccessTokenRequest = async () => {
}
const envs = getCombinedEnvVariables()
const envVars = [...envs.selected, ...envs.global]
const envVars = [...envs.selected.variables, ...envs.global]
try {
const tokenReqParams = {

View File

@@ -44,9 +44,7 @@
/>
</div>
</div>
<div v-if="bulkMode" class="h-full relative">
<div ref="bulkEditor" class="absolute inset-0"></div>
</div>
<div v-if="bulkMode" ref="bulkEditor" class="flex flex-1 flex-col"></div>
<div v-else>
<draggable
v-model="workingParams"

View File

@@ -30,8 +30,8 @@
</div>
</div>
<div class="flex flex-1 border-b border-dividerLight">
<div class="w-2/3 border-r border-dividerLight h-full relative">
<div ref="preRequestEditor" class="h-full absolute inset-0"></div>
<div class="w-2/3 border-r border-dividerLight">
<div ref="preRequestEditor" class="h-full"></div>
</div>
<div
class="z-[9] sticky top-upperTertiaryStickyFold h-full min-w-[12rem] max-w-1/3 flex-shrink-0 overflow-auto overflow-x-auto bg-primary p-4"

View File

@@ -59,9 +59,7 @@
/>
</div>
</div>
<div class="h-full relative">
<div ref="rawBodyParameters" class="absolute inset-0"></div>
</div>
<div ref="rawBodyParameters" class="flex flex-1 flex-col"></div>
</div>
</template>

View File

@@ -9,7 +9,7 @@
/>
</template>
<template #secondary>
<HttpResponse v-model:document="tab.document" :is-embed="false" />
<HttpResponse v-model:document="tab.document" />
</template>
</AppPaneLayout>
</template>

View File

@@ -30,8 +30,8 @@
</div>
</div>
<div class="flex flex-1 border-b border-dividerLight">
<div class="w-2/3 border-r border-dividerLight h-full relative">
<div ref="testScriptEditor" class="h-full absolute inset-0"></div>
<div class="w-2/3 border-r border-dividerLight">
<div ref="testScriptEditor" class="h-full"></div>
</div>
<div
class="z-[9] sticky top-upperTertiaryStickyFold h-full min-w-[12rem] max-w-1/3 flex-shrink-0 overflow-auto overflow-x-auto bg-primary p-4"

View File

@@ -44,9 +44,7 @@
/>
</div>
</div>
<div v-if="bulkMode" class="h-full relative">
<div ref="bulkEditor" class="absolute inset-0"></div>
</div>
<div v-if="bulkMode" ref="bulkEditor" class="flex flex-1 flex-col"></div>
<div v-else>
<draggable
v-model="workingUrlEncodedParams"

View File

@@ -44,9 +44,11 @@
/>
</div>
</div>
<div v-show="!previewEnabled" class="h-full">
<div ref="htmlResponse" class="flex flex-1 flex-col"></div>
</div>
<div
v-show="!previewEnabled"
ref="htmlResponse"
class="flex flex-1 flex-col"
></div>
<iframe
v-show="previewEnabled"
ref="previewFrame"

View File

@@ -119,12 +119,11 @@
/>
</div>
</div>
<div class="h-full">
<div
ref="jsonResponse"
:class="toggleFilter ? 'responseToggleOn' : 'responseToggleOff'"
></div>
</div>
<div
ref="jsonResponse"
class="flex h-auto h-full flex-1 flex-col"
:class="toggleFilter ? 'responseToggleOn' : 'responseToggleOff'"
></div>
<div
v-if="outlinePath"
class="sticky bottom-0 z-10 flex flex-shrink-0 flex-nowrap overflow-auto overflow-x-auto border-t border-dividerLight bg-primaryLight px-2"

View File

@@ -35,9 +35,7 @@
/>
</div>
</div>
<div class="h-full">
<div ref="rawResponse" class="flex flex-1 flex-col"></div>
</div>
<div ref="rawResponse" class="flex flex-1 flex-col"></div>
</div>
</template>

View File

@@ -35,9 +35,7 @@
/>
</div>
</div>
<div class="h-full">
<div ref="xmlResponse" class="flex flex-1 flex-col"></div>
</div>
<div ref="xmlResponse" class="flex flex-1 flex-col"></div>
</div>
</template>

View File

@@ -130,9 +130,7 @@
/>
</div>
</div>
<div class="h-full">
<div ref="wsCommunicationBody" class="flex flex-1 flex-col"></div>
</div>
<div ref="wsCommunicationBody" class="flex flex-1 flex-col"></div>
</div>
</template>
<script setup lang="ts">

View File

@@ -62,7 +62,7 @@
:shortcut="['T']"
@click="
() => {
emit('open-shared-request', parseRequest)
openInNewTab()
hide()
}
"
@@ -128,7 +128,6 @@ const emit = defineEmits<{
embedProperties?: string | null
): void
(e: "delete-shared-request", codeID: string): void
(e: "open-shared-request", request: HoppRESTRequest): void
}>()
const tippyActions = ref<TippyComponent | null>(null)

View File

@@ -53,7 +53,6 @@
:request="request"
@customize-shared-request="customizeSharedRequest"
@delete-shared-request="deleteSharedRequest"
@open-shared-request="openRequestInNewTab"
/>
<HoppSmartIntersection
v-if="hasMoreSharedRequests"
@@ -484,13 +483,6 @@ const getErrorMessage = (err: GQLError<string>) => {
}
}
const openRequestInNewTab = (request: HoppRESTRequest) => {
restTab.createNewTab({
isDirty: false,
request,
})
}
defineActionHandler("share.request", ({ request }) => {
requestToShare.value = request
displayShareRequestModal(true)

View File

@@ -171,6 +171,9 @@ export const baseTheme = EditorView.theme({
".cm-activeLineGutter": {
backgroundColor: "transparent",
},
".cm-scroller::-webkit-scrollbar": {
display: "none",
},
".cm-foldPlaceholder": {
backgroundColor: "var(--divider-light-color)",
color: "var(--secondary-dark-color)",
@@ -317,6 +320,9 @@ export const inputTheme = EditorView.theme({
".cm-activeLineGutter": {
backgroundColor: "transparent",
},
".cm-scroller::-webkit-scrollbar": {
display: "none",
},
".cm-foldPlaceholder": {
backgroundColor: "var(--divider-light-color)",
color: "var(--secondary-dark-color)",

View File

@@ -568,18 +568,7 @@ export function getLegacyGlobalEnvironment(): Environment | null {
}
export function getGlobalVariables(): Environment["variables"] {
return environmentsStore.value.globals.map(
(env: Environment["variables"][number]) => {
if (env.key && "value" in env && !("secret" in env)) {
return {
...(env as Environment["variables"][number]),
secret: false,
}
}
return env
}
) as Environment["variables"]
return environmentsStore.value.globals
}
export function getGlobalVariableID() {

View File

@@ -425,10 +425,7 @@ export class PersistenceService extends Service {
if (globalIndex !== -1) {
const globalEnv = environmentsData[globalIndex]
globalEnv.variables.forEach(
(variable: Environment["variables"][number]) =>
addGlobalEnvVariable(variable)
)
globalEnv.variables.forEach((variable) => addGlobalEnvVariable(variable))
// Remove global from environments
environmentsData.splice(globalIndex, 1)
@@ -631,7 +628,7 @@ export class PersistenceService extends Service {
private setupGlobalEnvsPersistence() {
const globalEnvKey = "globalEnv"
let globalEnvData: z.infer<typeof GLOBAL_ENV_SCHEMA> = JSON.parse(
let globalEnvData: Environment["variables"] = JSON.parse(
window.localStorage.getItem(globalEnvKey) || "[]"
)
@@ -647,7 +644,7 @@ export class PersistenceService extends Service {
)
}
setGlobalEnvVariables(globalEnvData as Environment["variables"])
setGlobalEnvVariables(globalEnvData)
globalEnv$.subscribe((vars) => {
window.localStorage.setItem(globalEnvKey, JSON.stringify(vars))

View File

@@ -229,23 +229,23 @@ export const MQTT_REQUEST_SCHEMA = z.nullable(
.strict()
)
const EnvironmentVariablesSchema = z.union([
z.object({
key: z.string(),
value: z.string(),
secret: z.literal(false).catch(false),
}),
z.object({
key: z.string(),
secret: z.literal(true),
}),
z.object({
key: z.string(),
value: z.string(),
}),
])
export const GLOBAL_ENV_SCHEMA = z.union([
z.array(z.never()),
export const GLOBAL_ENV_SCHEMA = z.array(EnvironmentVariablesSchema)
z.array(
z.union([
z.object({
key: z.string(),
secret: z.literal(true),
}),
z.object({
key: z.string(),
value: z.string(),
secret: z.literal(false),
}),
])
),
])
const OperationTypeSchema = z.enum([
"subscription",
@@ -364,6 +364,22 @@ const HoppTestDataSchema = z.lazy(() =>
.strict()
)
const EnvironmentVariablesSchema = z.union([
z.object({
key: z.string(),
value: z.string(),
secret: z.literal(false),
}),
z.object({
key: z.string(),
secret: z.literal(true),
}),
z.object({
key: z.string(),
value: z.string(),
}),
])
export const SECRET_ENVIRONMENT_VARIABLE_SCHEMA = z.union([
z.object({}).strict(),

View File

@@ -15,7 +15,7 @@ export const V1_SCHEMA = z.object({
z.object({
key: z.string(),
value: z.string(),
secret: z.literal(false).catch(false),
secret: z.literal(false),
}),
])
),

View File

@@ -1,7 +1,7 @@
{
"name": "@hoppscotch/selfhost-desktop",
"private": true,
"version": "2023.12.5",
"version": "2023.12.4",
"type": "module",
"scripts": {
"dev:vite": "vite",

View File

@@ -1260,7 +1260,7 @@ dependencies = [
[[package]]
name = "hoppscotch-desktop"
version = "23.12.5"
version = "23.12.4"
dependencies = [
"cocoa 0.25.0",
"hex_color",

View File

@@ -1,6 +1,6 @@
[package]
name = "hoppscotch-desktop"
version = "23.12.5"
version = "23.12.4"
description = "A Tauri App"
authors = ["you"]
license = ""

View File

@@ -8,7 +8,7 @@
},
"package": {
"productName": "Hoppscotch",
"version": "23.12.5"
"version": "23.12.4"
},
"tauri": {
"allowlist": {

View File

@@ -1,7 +1,7 @@
{
"name": "@hoppscotch/selfhost-web",
"private": true,
"version": "2023.12.5",
"version": "2023.12.4",
"type": "module",
"scripts": {
"dev:vite": "vite",

View File

@@ -1,7 +1,7 @@
{
"name": "hoppscotch-sh-admin",
"private": true,
"version": "2023.12.5",
"version": "2023.12.4",
"type": "module",
"scripts": {
"dev": "pnpm exec npm-run-all -p -l dev:*",