Skip to content

Commit 4a033d4

Browse files
committed
temp [ci skip]
1 parent 8906f30 commit 4a033d4

6 files changed

Lines changed: 38 additions & 138 deletions

File tree

vscode/extension/src/utilities/isDev.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@
22
* Determines if the extension is running in production mode.
33
*/
44
export function isProduction(): boolean {
5-
console.log('NODE_ENV', process.env.NODE_ENV)
65
return process.env.NODE_ENV === 'production'
76
}

vscode/extension/src/webviews/lineagePanel.ts

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
3131

3232
window.onDidChangeActiveTextEditor(editor => {
3333
if (editor) {
34-
console.log(
35-
'sending message to web view',
36-
editor.document.uri.fsPath,
37-
'panel is present',
38-
this.panel?.webview,
39-
)
4034
this.panel?.webview.postMessage({
4135
key: 'vscode_send',
4236
payload: {
@@ -64,7 +58,6 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
6458
// Set up message listener for events from the iframe
6559
webviewView.webview.onDidReceiveMessage(
6660
async message => {
67-
console.log('message received in vscode', message)
6861
if (!message) {
6962
return
7063
}
@@ -77,7 +70,6 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
7770
// Handle callback events from the iframe
7871
switch (payload.key) {
7972
case 'openFile': {
80-
console.log('opening file ', payload.payload.path)
8173
const workspaceFolders = getWorkspaceFolders()
8274
if (workspaceFolders.length != 1) {
8375
throw new Error('Only one workspace folder is supported')
@@ -87,7 +79,6 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
8779
workspaceFolder.uri,
8880
payload.payload.path,
8981
)
90-
console.log('fullPath', fullPath)
9182
const document = await workspace.openTextDocument(fullPath)
9283
await window.showTextDocument(document)
9384
break
@@ -96,7 +87,7 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
9687
throw new Error('queryRequest is not supported')
9788
}
9889
default: {
99-
console.log(
90+
console.error(
10091
'Unhandled message type under vscode_callback: ',
10192
message,
10293
)
@@ -105,28 +96,24 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
10596
break
10697
}
10798
case 'queryRequest': {
108-
console.log('queryRequest', message.payload)
10999
const payload = message.payload
110100
const requestId = message.payload.requestId
111101
const response = await this.lsp.call_custom_method(
112102
'sqlmesh/api',
113103
payload,
114104
)
115-
console.log(
116-
'response from lsp',
117-
response,
118-
'with requestId',
119-
requestId,
120-
)
121-
webviewView.webview.postMessage({
105+
webviewView.webview.postMessage({
122106
key: 'query_response',
123107
payload: response,
124108
requestId,
125109
})
126110
break
127111
}
128112
default:
129-
console.log('Unhandled message type under queryRequest: ', message)
113+
console.error(
114+
'Unhandled message type under queryRequest: ',
115+
message,
116+
)
130117
}
131118
},
132119
undefined,
@@ -181,7 +168,6 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
181168
182169
// Listen for messages from the extension
183170
window.addEventListener('message', (event) => {
184-
console.log("message received in web view", event);
185171
// Only handle messages that are from the extension
186172
if (event.data && event.data.key === 'vscode_send' || event.data.key === 'query_response') {
187173
const iframe = document.querySelector('iframe');

vscode/react/src/api/instance.ts

Lines changed: 10 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { IS_PRODUCTION } from '@/utilsutils/isProduction'
2-
import { getVSCodeAPI } from '@/utilsutils/vscodeapi'
1+
import { sendVSCodeMessage } from '@/hooks/vscode'
2+
import { isErr } from '@bus/result'
33

44
declare global {
55
interface Window {
@@ -34,22 +34,9 @@ interface FetchOptions<B extends object = any> {
3434
params?: Record<string, string | number | boolean | undefined | null>
3535
}
3636

37-
/**
38-
* A result is a value that can be either an ok or an error
39-
*/
40-
export type Result<T, E> = { ok: true; value: T } | { ok: false; error: E }
41-
42-
/**
43-
* returns true if the result is an error
44-
*/
45-
export const isErr = <T, E>(
46-
result: Result<T, E>,
47-
): result is { ok: false; error: E } => {
48-
return !result.ok
49-
}
50-
51-
async function fetchAPIDevelopment<T = any, B extends object = any>(
37+
export async function fetchAPI<T = any, B extends object = any>(
5238
config: FetchOptions<B>,
39+
_options?: Partial<FetchOptionsWithSignal>,
5340
): Promise<T & ResponseWithDetail> {
5441
// Generate a unique ID for this request
5542
// Create a promise that will resolve when we get a response with matching ID
@@ -77,73 +64,12 @@ async function fetchAPIDevelopment<T = any, B extends object = any>(
7764
// Add the listener
7865
window.addEventListener('message', messageHandler)
7966

80-
// If we're in an iframe, we need to post the message to the parent window
81-
if (window.parent !== window) {
82-
window.parent.postMessage(
83-
{
84-
key: 'queryRequest',
85-
payload: {
86-
requestId,
87-
url: config.url,
88-
params: config.params as any,
89-
data: config.data,
90-
method: config.method,
91-
},
92-
},
93-
'*',
94-
)
95-
return
96-
}
97-
98-
// Set a timeout to prevent hanging promises
99-
setTimeout(() => {
100-
window.removeEventListener('message', messageHandler)
101-
reject(new Error('Query request timed out'))
102-
}, 30000) // 30 second timeout
103-
})
104-
}
105-
106-
export async function fetchAPIProduction<T = any, B extends object = any>(
107-
config: FetchOptions<B>,
108-
): Promise<T & ResponseWithDetail> {
109-
// Generate a unique ID for this request
110-
const requestId = `query_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`
111-
// Create a promise that will resolve when we get a response with matching ID
112-
return new Promise((resolve, reject) => {
113-
// Set up listener for the response
114-
const messageHandler = (event: MessageEvent) => {
115-
if (
116-
event.data &&
117-
event.data.key === 'query_response' &&
118-
event.data.payload &&
119-
event.data.payload.requestId === requestId
120-
) {
121-
// Remove the listener once we get our response
122-
window.removeEventListener('message', messageHandler)
123-
124-
if (event.data.payload.error) {
125-
reject(new Error(event.data.payload.error))
126-
} else {
127-
resolve(event.data.payload.data)
128-
}
129-
}
130-
}
131-
132-
// Add the listener
133-
window.addEventListener('message', messageHandler)
134-
console.log('added listener to window')
135-
136-
// Send the message to VSCode with the query parameters and request ID
137-
// @ts-ignore
138-
const vscode = getVSCodeAPI()
139-
vscode.postMessage({
140-
key: 'query_request',
141-
payload: {
142-
requestId,
143-
queryKey: config.url,
144-
// @ts-ignore
145-
queryParams: config.params as any,
146-
},
67+
sendVSCodeMessage('queryRequest', {
68+
requestId,
69+
url: config.url,
70+
params: config.params as any,
71+
data: config.data,
72+
method: config.method,
14773
})
14874

14975
// Set a timeout to prevent hanging promises
@@ -153,13 +79,3 @@ export async function fetchAPIProduction<T = any, B extends object = any>(
15379
}, 30000) // 30 second timeout
15480
})
15581
}
156-
157-
export function fetchAPI<T = any, B extends object = any>(
158-
config: FetchOptions<B>,
159-
_options?: Partial<FetchOptionsWithSignal>,
160-
): Promise<T & ResponseWithDetail> {
161-
if (IS_PRODUCTION) {
162-
return fetchAPIProduction(config)
163-
}
164-
return fetchAPIDevelopment(config)
165-
}

vscode/react/src/components/graph/ModelLineage.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ export function ModelLineage({
7777
const { refetch: getModelLineage, isFetching: isFetchingModelLineage } =
7878
useApiModelLineage(model.name)
7979
const { isFetching: isFetchingModels } = useApiModels()
80-
console.log('isfetchingmodels models', isFetchingModels)
8180

8281
const [isMegringModels, setIsMergingModels] = useState(false)
8382
const [modelLineage, setModelLineage] = useState<

vscode/react/src/hooks/vscode.ts

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
1+
import { getVSCodeAPI } from '@/utilsutils/vscodeapi'
12
import type { Callback } from '@bus/callbacks'
23

4+
/**
5+
* use this hook to send messages to the vscode extension
6+
*
7+
* when deving the extension, we use an iframe to load the react app
8+
* so we need to send messages to the parent window
9+
*/
310
export const useVSCode = (): (<K extends keyof Callback>(
411
callbackName: K,
512
payload: Callback[K],
613
) => void) => {
7-
return (callbackName, payload) => {
8-
// Check if we're in an iframe, if so, we are in a webview
9-
const isIframe = window !== window.parent
14+
return sendVSCodeMessage
15+
}
1016

11-
if (isIframe) {
12-
// Use a different variable name to avoid conflict with the parameter
13-
const eventPayload = {
14-
key: callbackName,
15-
payload: payload,
16-
}
17-
window.parent.postMessage(
18-
{
19-
key: 'vscode_callback',
20-
payload: eventPayload,
21-
},
22-
'*',
23-
)
24-
} else {
25-
console.log('vscode callback', callbackName, payload)
26-
}
17+
export const sendVSCodeMessage = (
18+
callbackName: string,
19+
payload: any,
20+
): void => {
21+
const eventPayload = {
22+
key: callbackName,
23+
payload: payload,
24+
}
25+
if (window !== window.parent) {
26+
window.parent.postMessage(eventPayload, '*')
27+
} else {
28+
getVSCodeAPI().postMessage(eventPayload)
2729
}
2830
}

vscode/react/src/pages/lineage.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
QueryClientProvider,
66
} from '@tanstack/react-query'
77
import { useApiModels } from '@/api'
8-
import LineageFlowProvider, { useLineageFlow } from '@/components/graph/context'
8+
import LineageFlowProvider from '@/components/graph/context'
99
import { ModelLineage } from '@/components/graph/ModelLineage'
1010
import { useVSCode } from '@/hooks/vscode'
1111
import React from 'react'
@@ -63,11 +63,9 @@ function Lineage() {
6363
if (isLoadingModels || models === undefined) {
6464
return <div>Loading models...</div>
6565
}
66-
console.log('models', models)
6766
if (!Array.isArray(models)) {
6867
return <div>Error: Models data is not in the expected format</div>
6968
}
70-
console.log('models', models)
7169
const modelsRecord = models.reduce(
7270
(acc, model) => {
7371
acc[model.name] = model

0 commit comments

Comments
 (0)