mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 16:02:14 +00:00
fix: misc frontend
This commit is contained in:
Generated
+18
-18
@@ -8,7 +8,6 @@
|
||||
"name": "windmill",
|
||||
"version": "1.15.1",
|
||||
"dependencies": {
|
||||
"@codingame/monaco-jsonrpc": "^0.4.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^6.1.1",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.1.1",
|
||||
"@types/vscode": "^1.63.0",
|
||||
@@ -18,7 +17,8 @@
|
||||
"monaco-languageclient": "^1.0.1",
|
||||
"svelte-awesome": "^3.0.0",
|
||||
"svelte-markdown": "^0.2.1",
|
||||
"svelte-split-pane": "^0.1.2"
|
||||
"svelte-split-pane": "^0.1.2",
|
||||
"vscode-ws-jsonrpc": "^1.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-node": "^1.0.0-next.78",
|
||||
@@ -177,14 +177,6 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/@codingame/monaco-jsonrpc": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-jsonrpc/-/monaco-jsonrpc-0.4.0.tgz",
|
||||
"integrity": "sha512-5IQkYvFMyWQWutFhK77Tk5q1VIQoFySElqpAI1fUWXIIAepiYD7xJRawzMgJqhIzER7t44FbBN4uVvoXLRmJ6g==",
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": "^8.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@colors/colors": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||
@@ -6615,6 +6607,14 @@
|
||||
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
|
||||
"integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA=="
|
||||
},
|
||||
"node_modules/vscode-ws-jsonrpc": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-ws-jsonrpc/-/vscode-ws-jsonrpc-1.0.1.tgz",
|
||||
"integrity": "sha512-gcaLDOjweVcqBzB6tMQ+B2QesyVrpFskinur8QsuonyOL2THWoK9KUAahpMOnq9SleX0WS92VhnmRhlIM0slNQ==",
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": "^8.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
@@ -6833,14 +6833,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@codingame/monaco-jsonrpc": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-jsonrpc/-/monaco-jsonrpc-0.4.0.tgz",
|
||||
"integrity": "sha512-5IQkYvFMyWQWutFhK77Tk5q1VIQoFySElqpAI1fUWXIIAepiYD7xJRawzMgJqhIzER7t44FbBN4uVvoXLRmJ6g==",
|
||||
"requires": {
|
||||
"vscode-jsonrpc": "^8.0.1"
|
||||
}
|
||||
},
|
||||
"@colors/colors": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||
@@ -11394,6 +11386,14 @@
|
||||
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz",
|
||||
"integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA=="
|
||||
},
|
||||
"vscode-ws-jsonrpc": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-ws-jsonrpc/-/vscode-ws-jsonrpc-1.0.1.tgz",
|
||||
"integrity": "sha512-gcaLDOjweVcqBzB6tMQ+B2QesyVrpFskinur8QsuonyOL2THWoK9KUAahpMOnq9SleX0WS92VhnmRhlIM0slNQ==",
|
||||
"requires": {
|
||||
"vscode-jsonrpc": "^8.0.1"
|
||||
}
|
||||
},
|
||||
"which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
},
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@codingame/monaco-jsonrpc": "^0.4.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^6.1.1",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.1.1",
|
||||
"@types/vscode": "^1.63.0",
|
||||
@@ -57,6 +56,7 @@
|
||||
"monaco-languageclient": "^1.0.1",
|
||||
"svelte-awesome": "^3.0.0",
|
||||
"svelte-markdown": "^0.2.1",
|
||||
"svelte-split-pane": "^0.1.2"
|
||||
"svelte-split-pane": "^0.1.2",
|
||||
"vscode-ws-jsonrpc": "^1.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
export let formatAction: (() => void) | undefined = undefined
|
||||
export let automaticLayout = true
|
||||
export let websocketAlive = { pyright: false, black: false, deno: false }
|
||||
export let extraLib: string = (lang == 'typescript' && !deno) ? buildExtraLib() : ''
|
||||
export let extraLib: string = lang == 'typescript' && !deno ? buildExtraLib() : ''
|
||||
export let extraLibPath: string = 'file:///node_modules/@types/windmill/index.d.ts'
|
||||
|
||||
let websockets: WebSocket[] = []
|
||||
@@ -86,9 +86,8 @@
|
||||
const vscode = await import('vscode')
|
||||
|
||||
const { RequestType, toSocket, WebSocketMessageReader, WebSocketMessageWriter } =
|
||||
await import('@codingame/monaco-jsonrpc')
|
||||
|
||||
function createLanguageClient(
|
||||
await import('vscode-ws-jsonrpc')
|
||||
s function createLanguageClient(
|
||||
transports: MessageTransports,
|
||||
name: string,
|
||||
initializationOptions?: any
|
||||
|
||||
@@ -3,23 +3,26 @@ import { UserService } from '$lib/gen'
|
||||
import { clearStores } from './stores.js'
|
||||
import { sendUserToast } from './utils.js'
|
||||
|
||||
function clearCookies() {
|
||||
document.cookie.split(";").forEach(function (c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/") })
|
||||
}
|
||||
export function logoutWithRedirect(rd?: string): void {
|
||||
const error = encodeURIComponent('You have been logged out because your session has expired.')
|
||||
goto(`/user/login?error=${error}${rd ? '&rd=' + encodeURIComponent(rd) : ''}`)
|
||||
const error = document.cookie.includes('token')
|
||||
? `error=${encodeURIComponent('You have been logged out because your session has expired.')}&`
|
||||
: ''
|
||||
clearCookies()
|
||||
goto(`/user/login?${error}${rd ? 'rd=' + encodeURIComponent(rd) : ''}`)
|
||||
}
|
||||
|
||||
export async function logout(logoutMessage?: string): Promise<void> {
|
||||
try {
|
||||
clearStores()
|
||||
await UserService.logout()
|
||||
clearCookies()
|
||||
goto(`/user/login${logoutMessage ? '?error=' + encodeURIComponent(logoutMessage) : ''}`)
|
||||
sendUserToast('you have been logged out')
|
||||
} catch (error) {
|
||||
goto(
|
||||
`/user/login?error=${encodeURIComponent(
|
||||
'There was a problem logging you out, check the logs'
|
||||
)}`
|
||||
)
|
||||
goto('/user/login')
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
const monacoEditorUnhandledErrors = [
|
||||
'Model not found',
|
||||
'Connection is disposed.',
|
||||
'Connection got disposed.'
|
||||
'Connection got disposed.',
|
||||
'Stopping server timed out.'
|
||||
]
|
||||
|
||||
async function loadUser() {
|
||||
@@ -72,8 +73,10 @@
|
||||
}
|
||||
|
||||
if (status == '401') {
|
||||
sendUserToast('Logged out after a request was unauthorized', true)
|
||||
logout($page.url.pathname)
|
||||
if ($page.url.pathname != '/user/login') {
|
||||
sendUserToast('Logged out after a request was unauthorized', true)
|
||||
logout($page.url.pathname)
|
||||
}
|
||||
} else {
|
||||
if (body) {
|
||||
sendUserToast(`${body}`, true)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
import { onMount } from 'svelte'
|
||||
import Icon from 'svelte-awesome'
|
||||
import '../app.css'
|
||||
import { page } from '$app/stores'
|
||||
import { OpenAPI } from '$lib/gen'
|
||||
import { superadmin, userStore, usersWorkspaceStore, workspaceStore } from '$lib/stores'
|
||||
import { clickOutside, sendUserToast, sleep } from '$lib/utils'
|
||||
@@ -56,12 +57,9 @@
|
||||
isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent)
|
||||
//Mobile
|
||||
isCollapsed = isMobile
|
||||
await sleep(2000)
|
||||
if (!$workspaceStore || !$userStore) {
|
||||
sendUserToast(
|
||||
'Workspace not set or corresponding to another user. Redirecting to list of workspaces.',
|
||||
true
|
||||
)
|
||||
if (!document.cookie.includes('token')) {
|
||||
goto('/user/login')
|
||||
} else if (!$workspaceStore) {
|
||||
goto('/user/workspaces')
|
||||
}
|
||||
})
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
|
||||
$workspaceStore = localStorage.getItem('workspace') ?? undefined
|
||||
|
||||
if (!$workspaceStore) {
|
||||
goto('/user/workspaces')
|
||||
} else {
|
||||
if ($workspaceStore) {
|
||||
goto('/scripts')
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
let workspaces: { id: string; name: string; username: string }[] = []
|
||||
|
||||
async function loadInvites() {
|
||||
invites = await UserService.listWorkspaceInvites()
|
||||
try {
|
||||
invites = await UserService.listWorkspaceInvites()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
async function loadWorkspaces() {
|
||||
|
||||
Reference in New Issue
Block a user