feat: add multi-tab support to remote browser
This commit is contained in:
@@ -397,11 +397,21 @@ export const customPagesApi = {
|
||||
}
|
||||
|
||||
// ——— Remote browser sessions ———
|
||||
export interface BrowserTabData {
|
||||
id: string
|
||||
title: string
|
||||
url: string
|
||||
created_at: number
|
||||
}
|
||||
|
||||
export interface BrowserSessionData {
|
||||
id: string
|
||||
custom_page_id: number
|
||||
url: string
|
||||
title: string
|
||||
active_tab_id?: string
|
||||
tabs?: BrowserTabData[]
|
||||
tab_revision?: number
|
||||
}
|
||||
|
||||
export type BrowserEventPayload =
|
||||
@@ -418,6 +428,10 @@ export const browserSessionsApi = {
|
||||
get: (id: string) => api.get<BrowserSessionData>(`/api/browser-sessions/${id}`),
|
||||
event: (id: string, data: BrowserEventPayload) =>
|
||||
api.post<BrowserSessionData>(`/api/browser-sessions/${id}/events`, data),
|
||||
activateTab: (id: string, tabId: string) =>
|
||||
api.post<BrowserSessionData>(`/api/browser-sessions/${id}/tabs/${tabId}/activate`),
|
||||
closeTab: (id: string, tabId: string) =>
|
||||
api.delete<BrowserSessionData>(`/api/browser-sessions/${id}/tabs/${tabId}`),
|
||||
selection: (id: string) => api.get<{ text: string }>(`/api/browser-sessions/${id}/selection`),
|
||||
clipboard: (id: string) => api.get<{ text?: string; error?: string }>(`/api/browser-sessions/${id}/clipboard`),
|
||||
close: (id: string) => api.delete(`/api/browser-sessions/${id}`),
|
||||
|
||||
Reference in New Issue
Block a user