("[data-component='sidebar-rail']") ?? state.nav,
onActivate: (directory) => {
- globalSync.child(directory)
+ serverSync.child(directory)
setState("hoverProject", directory)
},
})
@@ -410,7 +410,7 @@ export default function Layout(props: ParentProps) {
alertedAtBySession.delete(sessionKey)
}
- const unsub = globalSDK.event.listen((e) => {
+ const unsub = serverSDK.event.listen((e) => {
if (e.details?.type === "worktree.ready") {
setBusy(e.name, false)
WorktreeState.ready(e.name)
@@ -444,7 +444,7 @@ export default function Layout(props: ParentProps) {
const props = e.details.properties
if (e.details.type === "permission.asked" && permission.autoResponds(e.details.properties, directory)) return
- const [store] = globalSync.child(directory, { bootstrap: false })
+ const [store] = serverSync.child(directory, { bootstrap: false })
const session = store.session.find((s) => s.id === props.sessionID)
const sessionKey = `${directory}:${props.sessionID}`
@@ -507,7 +507,7 @@ export default function Layout(props: ParentProps) {
if (!currentDir() || !currentSession) return
const sessionKey = `${currentDir()}:${currentSession}`
dismissSessionAlert(sessionKey)
- const [store] = globalSync.child(currentDir(), { bootstrap: false })
+ const [store] = serverSync.child(currentDir(), { bootstrap: false })
const childSessions = store.session.filter((s) => s.parentID === currentSession)
for (const child of childSessions) {
dismissSessionAlert(`${currentDir()}:${child.id}`)
@@ -545,11 +545,11 @@ export default function Layout(props: ParentProps) {
const direct = projects.find((p) => pathKey(p.worktree) === key)
if (direct) return direct
- const [child] = globalSync.child(directory, { bootstrap: false })
+ const [child] = serverSync.child(directory, { bootstrap: false })
const id = child.project
if (!id) return
- const meta = globalSync.data.project.find((p) => p.id === id)
+ const meta = serverSync.data.project.find((p) => p.id === id)
const root = meta?.worktree
if (!root) return
@@ -640,7 +640,7 @@ export default function Layout(props: ParentProps) {
const result: Session[] = []
for (const dir of dirs) {
- const [dirStore] = globalSync.child(dir, { bootstrap: true })
+ const [dirStore] = serverSync.child(dir, { bootstrap: true })
const dirSessions = sortedRootSessions(dirStore, now)
result.push(...dirSessions)
}
@@ -692,7 +692,7 @@ export default function Layout(props: ParentProps) {
createEffect(() => {
route()
- globalSDK.url
+ serverSDK.url
prefetchToken.value += 1
clearSessionPrefetchInflight()
@@ -739,13 +739,13 @@ export default function Layout(props: ParentProps) {
}
async function prefetchMessages(directory: string, sessionID: string, token: number) {
- const [store, setStore] = globalSync.child(directory, { bootstrap: false })
+ const [store, setStore] = serverSync.child(directory, { bootstrap: false })
return runSessionPrefetch({
directory,
sessionID,
task: (rev) =>
- retry(() => globalSDK.client.session.messages({ directory, sessionID, limit: prefetchChunk }))
+ retry(() => serverSDK.client.session.messages({ directory, sessionID, limit: prefetchChunk }))
.then((messages) => {
if (prefetchToken.value !== token) return
if (!isSessionPrefetchCurrent(directory, sessionID, rev)) return
@@ -765,7 +765,7 @@ export default function Layout(props: ParentProps) {
if (stale.length > 0) {
clearSessionPrefetch(directory, stale)
for (const id of stale) {
- globalSync.todo.set(id, undefined)
+ serverSync.todo.set(id, undefined)
}
}
@@ -830,7 +830,7 @@ export default function Layout(props: ParentProps) {
const directory = session.directory
if (!directory) return
- const [store] = globalSync.child(directory, { bootstrap: false })
+ const [store] = serverSync.child(directory, { bootstrap: false })
const cached = untrack(() => {
const info = getSessionPrefetch(directory, session.id)
return shouldSkipSessionPrefetch({
@@ -935,7 +935,7 @@ export default function Layout(props: ParentProps) {
if (!target) return
// warm up child store to prevent flicker
- globalSync.child(target.worktree)
+ serverSync.child(target.worktree)
void openProject(target.worktree)
}
@@ -944,7 +944,7 @@ export default function Layout(props: ParentProps) {
const target = projects[index]
if (!target) return
- globalSync.child(target.worktree)
+ serverSync.child(target.worktree)
void openProject(target.worktree)
}
@@ -973,12 +973,12 @@ export default function Layout(props: ParentProps) {
}
async function archiveSession(session: Session) {
- const [store, setStore] = globalSync.child(session.directory)
+ const [store, setStore] = serverSync.child(session.directory)
const sessions = store.session ?? []
const index = sessions.findIndex((s) => s.id === session.id)
const nextSession = sessions[index + 1] ?? sessions[index - 1]
- await globalSDK.client.session.update({
+ await serverSDK.client.session.update({
directory: session.directory,
sessionID: session.id,
time: { archived: Date.now() },
@@ -1246,11 +1246,11 @@ export default function Layout(props: ParentProps) {
)
if (known) return known[0]
- const [child] = globalSync.child(directory, { bootstrap: false })
+ const [child] = serverSync.child(directory, { bootstrap: false })
const id = child.project
if (!id) return directory
- const meta = globalSync.data.project.find((item) => item.id === id)
+ const meta = serverSync.data.project.find((item) => item.id === id)
return meta?.worktree ?? directory
}
@@ -1298,7 +1298,7 @@ export default function Layout(props: ParentProps) {
}
const refreshDirs = async (target?: string) => {
if (!target || target === root || canOpen(target)) return canOpen(target)
- const listed = await globalSDK.client.worktree
+ const listed = await serverSDK.client.worktree
.list({ directory: root })
.then((x) => x.data ?? [])
.catch(() => [] as string[])
@@ -1307,13 +1307,13 @@ export default function Layout(props: ParentProps) {
}
const openSession = async (target: { directory: string; id: string }) => {
if (!canOpen(target.directory)) return false
- const [data] = globalSync.child(target.directory, { bootstrap: false })
+ const [data] = serverSync.child(target.directory, { bootstrap: false })
if (data.session.some((item) => item.id === target.id)) {
setStore("lastProjectSession", root, { directory: target.directory, id: target.id, at: Date.now() })
navigateWithSidebarReset(`/${base64Encode(target.directory)}/session/${target.id}`)
return true
}
- const resolved = await globalSDK.client.session
+ const resolved = await serverSDK.client.session
.get({ sessionID: target.id })
.then((x) => x.data)
.catch(() => undefined)
@@ -1333,7 +1333,7 @@ export default function Layout(props: ParentProps) {
}
const latest = latestRootSession(
- dirs.map((item) => globalSync.child(item, { bootstrap: false })[0]),
+ dirs.map((item) => serverSync.child(item, { bootstrap: false })[0]),
Date.now(),
)
if (latest && (await openSession(latest))) {
@@ -1344,7 +1344,7 @@ export default function Layout(props: ParentProps) {
await Promise.all(
dirs.map(async (item) => ({
path: { directory: item },
- session: await globalSDK.client.session
+ session: await serverSDK.client.session
.list({ directory: item })
.then((x) => x.data ?? [])
.catch(() => []),
@@ -1405,11 +1405,11 @@ export default function Layout(props: ParentProps) {
const name = next === getFilename(project.worktree) ? "" : next
if (project.id && project.id !== "global") {
- await globalSDK.client.project.update({ projectID: project.id, directory: project.worktree, name })
+ await serverSDK.client.project.update({ projectID: project.id, directory: project.worktree, name })
return
}
- globalSync.project.meta(project.worktree, { name })
+ serverSync.project.meta(project.worktree, { name })
}
const renameWorkspace = (directory: string, next: string, projectId?: string, branch?: string) => {
@@ -1506,7 +1506,7 @@ export default function Layout(props: ParentProps) {
setBusy(directory, true)
- const result = await globalSDK.client.worktree
+ const result = await serverSDK.client.worktree
.remove({ directory: root, worktreeRemoveInput: { directory } })
.then((x) => x.data)
.catch((err) => {
@@ -1525,7 +1525,7 @@ export default function Layout(props: ParentProps) {
clearLastProjectSession(root)
}
- globalSync.set(
+ serverSync.set(
"project",
produce((draft) => {
const project = draft.find((item) => item.worktree === root)
@@ -1564,7 +1564,7 @@ export default function Layout(props: ParentProps) {
})
const dismiss = () => toaster.dismiss(progress)
- const sessions: Session[] = await globalSDK.client.session
+ const sessions: Session[] = await serverSDK.client.session
.list({ directory })
.then((x) => x.data ?? [])
.catch(() => [])
@@ -1575,9 +1575,9 @@ export default function Layout(props: ParentProps) {
platform,
getTerminalServerScope(server.current, server.key),
)
- await globalSDK.client.instance.dispose({ directory }).catch(() => undefined)
+ await serverSDK.client.instance.dispose({ directory }).catch(() => undefined)
- const result = await globalSDK.client.worktree
+ const result = await serverSDK.client.worktree
.reset({ directory: root, worktreeResetInput: { directory } })
.then((x) => x.data)
.catch((err) => {
@@ -1599,7 +1599,7 @@ export default function Layout(props: ParentProps) {
sessions
.filter((session) => session.time.archived === undefined)
.map((session) =>
- globalSDK.client.session
+ serverSDK.client.session
.update({
sessionID: session.id,
directory: session.directory,
@@ -1640,7 +1640,7 @@ export default function Layout(props: ParentProps) {
})
onMount(() => {
- globalSDK.client.file
+ serverSDK.client.file
.status({ directory: props.directory })
.then((x) => {
const files = x.data ?? []
@@ -1699,7 +1699,7 @@ export default function Layout(props: ParentProps) {
})
const refresh = async () => {
- const sessions = await globalSDK.client.session
+ const sessions = await serverSDK.client.session
.list({ directory: props.directory })
.then((x) => x.data ?? [])
.catch(() => [])
@@ -1708,7 +1708,7 @@ export default function Layout(props: ParentProps) {
}
onMount(() => {
- globalSDK.client.file
+ serverSDK.client.file
.status({ directory: props.directory })
.then((x) => {
const files = x.data ?? []
@@ -1842,7 +1842,7 @@ export default function Layout(props: ParentProps) {
const next = new Set(dirs)
for (const directory of next) {
if (loadedSessionDirs.has(directory)) continue
- void globalSync.project.loadSessions(directory)
+ void serverSync.project.loadSessions(directory)
}
loadedSessionDirs.clear()
@@ -1939,7 +1939,7 @@ export default function Layout(props: ParentProps) {
const createWorkspace = async (project: LocalProject) => {
clearSidebarHoverState()
- const created = await globalSDK.client.worktree
+ const created = await serverSDK.client.worktree
.create({ directory: project.worktree })
.then((x) => x.data)
.catch((err) => {
@@ -1973,7 +1973,7 @@ export default function Layout(props: ParentProps) {
return [created.directory, ...next]
})
- globalSync.child(created.directory)
+ serverSync.child(created.directory)
navigateWithSidebarReset(`/${base64Encode(created.directory)}/session`)
}
@@ -2078,7 +2078,7 @@ export default function Layout(props: ParentProps) {
if (!item) return false
return item.vcs === "git" || layout.sidebar.workspaces(item.worktree)()
})
- const homedir = createMemo(() => globalSync.data.path.home)
+ const homedir = createMemo(() => serverSync.data.path.home)
return (
{
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const notification = useNotification()
const permission = usePermission()
const dirs = createMemo(() => [props.project.worktree, ...(props.project.sandboxes ?? [])])
@@ -33,7 +33,7 @@ export const ProjectIcon = (props: {
const hasError = createMemo(() => dirs().some((directory) => notification.project.unseenHasError(directory)))
const hasPermissions = createMemo(() =>
dirs().some((directory) => {
- const [store] = globalSync.child(directory, { bootstrap: false })
+ const [store] = serverSync.child(directory, { bootstrap: false })
return hasProjectPermissions(store.permission, (item) => !permission.autoResponds(item, directory))
}),
)
@@ -146,10 +146,10 @@ export const SessionItem = (props: SessionItemProps): JSX.Element => {
const language = useLanguage()
const notification = useNotification()
const permission = usePermission()
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const unseenCount = createMemo(() => notification.session.unseenCount(props.session.id))
const hasError = createMemo(() => notification.session.unseenHasError(props.session.id))
- const [sessionStore] = globalSync.child(props.session.directory)
+ const [sessionStore] = serverSync.child(props.session.directory)
const hasPermissions = createMemo(() => {
return !!sessionPermissionRequest(sessionStore.session, sessionStore.permission, props.session.id, (item) => {
return !permission.autoResponds(item, props.session.directory)
diff --git a/packages/app/src/pages/layout/sidebar-project.tsx b/packages/app/src/pages/layout/sidebar-project.tsx
index b910dd2098..7afaa87ff8 100644
--- a/packages/app/src/pages/layout/sidebar-project.tsx
+++ b/packages/app/src/pages/layout/sidebar-project.tsx
@@ -7,7 +7,7 @@ import { HoverCard } from "@opencode-ai/ui/hover-card"
import { Icon } from "@opencode-ai/ui/icon"
import { createSortable } from "@thisbeyond/solid-dnd"
import { useLayout, type LocalProject } from "@/context/layout"
-import { useGlobalSync } from "@/context/global-sync"
+import { useServerSync } from "@/context/server-sync"
import { useLanguage } from "@/context/language"
import { useNotification } from "@/context/notification"
import { ProjectIcon, SessionItem, type SessionItemProps } from "./sidebar-items"
@@ -274,7 +274,7 @@ export const SortableProject = (props: {
ctx: ProjectSidebarContext
sortNow: Accessor
}): JSX.Element => {
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const language = useLanguage()
const sortable = createSortable(props.project.worktree)
const selected = createMemo(() => props.ctx.currentProject()?.worktree === props.project.worktree)
@@ -294,23 +294,23 @@ export const SortableProject = (props: {
const hoverOpen = () => isHoverProject() && preview() && !selected() && !state.menu
const label = (directory: string) => {
- const [data] = globalSync.child(directory, { bootstrap: false })
+ const [data] = serverSync.child(directory, { bootstrap: false })
const kind =
directory === props.project.worktree ? language.t("workspace.type.local") : language.t("workspace.type.sandbox")
const name = props.ctx.workspaceLabel(directory, data.vcs?.branch, props.project.id)
return `${kind} : ${name}`
}
- const projectStore = createMemo(() => globalSync.child(props.project.worktree, { bootstrap: false })[0])
+ const projectStore = createMemo(() => serverSync.child(props.project.worktree, { bootstrap: false })[0])
const isWorking = createMemo(() =>
dirs().some((directory) => {
- const [store] = globalSync.child(directory, { bootstrap: false })
+ const [store] = serverSync.child(directory, { bootstrap: false })
return Object.keys(store.session_status).some((id) => store.session_working(id))
}),
)
const projectSessions = createMemo(() => sortedRootSessions(projectStore(), props.sortNow()))
const workspaceSessions = (directory: string) => {
- const [data] = globalSync.child(directory, { bootstrap: false })
+ const [data] = serverSync.child(directory, { bootstrap: false })
return sortedRootSessions(data, props.sortNow())
}
const tile = () => (
diff --git a/packages/app/src/pages/layout/sidebar-workspace.tsx b/packages/app/src/pages/layout/sidebar-workspace.tsx
index f423c13d1e..a8b6ad8f8e 100644
--- a/packages/app/src/pages/layout/sidebar-workspace.tsx
+++ b/packages/app/src/pages/layout/sidebar-workspace.tsx
@@ -14,7 +14,7 @@ import { Spinner } from "@opencode-ai/ui/spinner"
import { Tooltip } from "@opencode-ai/ui/tooltip"
import { type Session } from "@opencode-ai/sdk/v2/client"
import { type LocalProject } from "@/context/layout"
-import { useGlobalSync, useQueryOptions } from "@/context/global-sync"
+import { useServerSync, useQueryOptions } from "@/context/server-sync"
import { useLanguage } from "@/context/language"
import { pathKey } from "@/utils/path-key"
import { NewSessionItem, SessionItem, SessionSkeleton } from "./sidebar-items"
@@ -60,7 +60,7 @@ export const WorkspaceDragOverlay = (props: {
activeWorkspace: Accessor
workspaceLabel: (directory: string, branch?: string, projectId?: string) => string
}): JSX.Element => {
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const language = useLanguage()
const label = createMemo(() => {
const project = props.sidebarProject()
@@ -68,7 +68,7 @@ export const WorkspaceDragOverlay = (props: {
const directory = props.activeWorkspace()
if (!directory) return
- const [workspaceStore] = globalSync.child(directory, { bootstrap: false })
+ const [workspaceStore] = serverSync.child(directory, { bootstrap: false })
const kind =
directory === project.worktree ? language.t("workspace.type.local") : language.t("workspace.type.sandbox")
const name = props.workspaceLabel(directory, workspaceStore.vcs?.branch, project.id)
@@ -299,11 +299,11 @@ export const SortableWorkspace = (props: {
}): JSX.Element => {
const navigate = useNavigate()
const params = useParams()
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const queryOptions = useQueryOptions()
const language = useLanguage()
const sortable = createSortable(props.directory)
- const [workspaceStore, setWorkspaceStore] = globalSync.child(props.directory, { bootstrap: false })
+ const [workspaceStore, setWorkspaceStore] = serverSync.child(props.directory, { bootstrap: false })
const [menu, setMenu] = createStore({
open: false,
pendingRename: false,
@@ -328,7 +328,7 @@ export const SortableWorkspace = (props: {
const showNew = createMemo(() => !loading() && (touch() || count() === 0 || (active() && !params.id)))
const loadMore = async () => {
setWorkspaceStore("limit", (limit) => (limit ?? 0) + 5)
- await globalSync.project.loadSessions(props.directory)
+ await serverSync.project.loadSessions(props.directory)
}
const workspaceEditActive = createMemo(() => props.ctx.editorOpen(`workspace:${props.directory}`))
@@ -357,7 +357,7 @@ export const SortableWorkspace = (props: {
createEffect(() => {
if (!boot()) return
- globalSync.child(props.directory, { bootstrap: true })
+ serverSync.child(props.directory, { bootstrap: true })
})
return (
@@ -446,11 +446,11 @@ export const LocalWorkspace = (props: {
sortNow: Accessor
mobile?: boolean
}): JSX.Element => {
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const queryOptions = useQueryOptions()
const language = useLanguage()
const workspace = createMemo(() => {
- const [store, setStore] = globalSync.child(props.project.worktree)
+ const [store, setStore] = serverSync.child(props.project.worktree)
return { store, setStore }
})
const slug = createMemo(() => base64Encode(props.project.worktree))
@@ -461,7 +461,7 @@ export const LocalWorkspace = (props: {
const loading = () => fetching() > 0 && count() === 0
const loadMore = async () => {
workspace().setStore("limit", (limit) => (limit ?? 0) + 5)
- await globalSync.project.loadSessions(props.project.worktree)
+ await serverSync.project.loadSessions(props.project.worktree)
}
return (
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index 0ef0922cc2..c63204a8f3 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -34,7 +34,7 @@ import { useLocation, useSearchParams } from "@solidjs/router"
import { NewSessionDesignView, NewSessionView, SessionHeader } from "@/components/session"
import { useComments } from "@/context/comments"
import { getSessionPrefetch, SESSION_PREFETCH_TTL } from "@/context/global-sync/session-prefetch"
-import { useGlobalSync } from "@/context/global-sync"
+import { useServerSync } from "@/context/server-sync"
import { useLanguage } from "@/context/language"
import { useLayout } from "@/context/layout"
import { usePrompt } from "@/context/prompt"
@@ -181,7 +181,7 @@ function createSessionHistoryLoader(input: SessionHistoryWindowInput) {
}
export default function Page() {
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const layout = useLayout()
const local = useLocal()
const file = useFile()
@@ -558,11 +558,11 @@ export default function Page() {
}
function upsert(next: Project) {
- const list = globalSync.data.project
+ const list = serverSync.data.project
sync.set("project", next.id)
const idx = list.findIndex((item) => item.id === next.id)
if (idx >= 0) {
- globalSync.set(
+ serverSync.set(
"project",
list.map((item, i) => (i === idx ? { ...item, ...next } : item)),
)
@@ -570,10 +570,10 @@ export default function Page() {
}
const at = list.findIndex((item) => item.id > next.id)
if (at >= 0) {
- globalSync.set("project", [...list.slice(0, at), next, ...list.slice(at)])
+ serverSync.set("project", [...list.slice(0, at), next, ...list.slice(at)])
return
}
- globalSync.set("project", [...list, next])
+ serverSync.set("project", [...list, next])
}
const gitMutation = useMutation(() => ({
@@ -671,7 +671,7 @@ export default function Page() {
todoTimer = undefined
if (!id) return
if (status === "idle" && !blocked) return
- const cached = untrack(() => sync.data.todo[id] !== undefined || globalSync.data.session_todo[id] !== undefined)
+ const cached = untrack(() => sync.data.todo[id] !== undefined || serverSync.data.session_todo[id] !== undefined)
todoFrame = requestAnimationFrame(() => {
todoFrame = undefined
@@ -1384,7 +1384,7 @@ export default function Page() {
const ok = await sendFollowupDraft({
client: sdk.client,
sync,
- globalSync,
+ serverSync,
draft: item,
optimisticBusy: item.sessionDirectory === sdk.directory,
}).catch((err) => {
diff --git a/packages/app/src/pages/session/composer/session-composer-state.ts b/packages/app/src/pages/session/composer/session-composer-state.ts
index a7213c4a7d..2287fd674b 100644
--- a/packages/app/src/pages/session/composer/session-composer-state.ts
+++ b/packages/app/src/pages/session/composer/session-composer-state.ts
@@ -3,7 +3,7 @@ import { createStore } from "solid-js/store"
import type { PermissionRequest, QuestionRequest, Todo } from "@opencode-ai/sdk/v2"
import { useParams } from "@solidjs/router"
import { showToast } from "@opencode-ai/ui/toast"
-import { useGlobalSync } from "@/context/global-sync"
+import { useServerSync } from "@/context/server-sync"
import { useLanguage } from "@/context/language"
import { usePermission } from "@/context/permission"
import { useSDK } from "@/context/sdk"
@@ -27,7 +27,7 @@ export function createSessionComposerState(options?: { closeMs?: number | (() =>
const params = useParams()
const sdk = useSDK()
const sync = useSync()
- const globalSync = useGlobalSync()
+ const serverSync = useServerSync()
const language = useLanguage()
const permission = usePermission()
@@ -50,7 +50,7 @@ export function createSessionComposerState(options?: { closeMs?: number | (() =>
const todos = createMemo((): Todo[] => {
const id = params.id
if (!id) return []
- return globalSync.data.session_todo[id] ?? []
+ return serverSync.data.session_todo[id] ?? []
})
const done = createMemo(
@@ -111,7 +111,7 @@ export function createSessionComposerState(options?: { closeMs?: number | (() =>
const clear = () => {
const id = params.id
if (!id) return
- globalSync.todo.set(id, [])
+ serverSync.todo.set(id, [])
sync.set("todo", id, [])
}
diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx
index a39df7122a..7d6b458fde 100644
--- a/packages/app/src/pages/session/message-timeline.tsx
+++ b/packages/app/src/pages/session/message-timeline.tsx
@@ -48,7 +48,7 @@ import { useDialog } from "@opencode-ai/ui/context/dialog"
import { createResizeObserver } from "@solid-primitives/resize-observer"
import { useLanguage } from "@/context/language"
import { useSessionKey } from "@/pages/session/session-layout"
-import { useGlobalSDK } from "@/context/global-sdk"
+import { useServerSDK } from "@/context/server-sdk"
import { usePlatform } from "@/context/platform"
import { useSettings } from "@/context/settings"
import { useSDK } from "@/context/sdk"
@@ -273,7 +273,7 @@ export function MessageTimeline(props: {
let touchGesture: number | undefined
const navigate = useNavigate()
- const globalSDK = useGlobalSDK()
+ const serverSDK = useServerSDK()
const sdk = useSDK()
const sync = useSync()
const settings = useSettings()
@@ -704,14 +704,14 @@ export function MessageTimeline(props: {
}
const shareMutation = useMutation(() => ({
- mutationFn: (id: string) => globalSDK.client.session.share({ sessionID: id, directory: sdk.directory }),
+ mutationFn: (id: string) => serverSDK.client.session.share({ sessionID: id, directory: sdk.directory }),
onError: (err) => {
console.error("Failed to share session", err)
},
}))
const unshareMutation = useMutation(() => ({
- mutationFn: (id: string) => globalSDK.client.session.unshare({ sessionID: id, directory: sdk.directory }),
+ mutationFn: (id: string) => serverSDK.client.session.unshare({ sessionID: id, directory: sdk.directory }),
onError: (err) => {
console.error("Failed to unshare session", err)
},