MCPcopy
hub / github.com/anomalyco/opencode / ResolvedTargetSessionRoute

Function ResolvedTargetSessionRoute

packages/app/src/pages/session.tsx:222–265  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

220}
221
222function ResolvedTargetSessionRoute() {
223 const params = useParams<{ serverKey: string; id: string }>()
224 const settings = useSettings()
225 const tabs = useTabs()
226 const sync = useServerSync()
227 const serverKey = createMemo(() => requireServerKey(params.serverKey))
228 const cached = createMemo(() => sync().session.lineage.peek(params.id))
229 const [resolved] = createResource(
230 () => {
231 if (cached()) return
232 return { id: params.id, sync: sync() }
233 },
234 ({ id, sync }) => sync.session.lineage.resolve(id),
235 )
236 const current = createMemo(() => selectSessionLineage(params.id, cached(), resolved()))
237 const directory = createMemo(() => current()?.session.directory)
238 const targetDirectory = () => directory()!
239
240 createEffect(() => {
241 const session = current()
242 if (!session) return
243 tabs.addSessionTab({
244 server: serverKey(),
245 sessionId: session.root.id,
246 })
247 })
248
249 return (
250 <TargetServerScopedProviders directory={directory} sessionID={() => params.id}>
251 <Show when={directory()}>
252 <Show
253 when={settings.general.newLayoutDesigns()}
254 fallback={<Navigate href={legacySessionHref(directory()!, params.id)} />}
255 >
256 <SDKProvider directory={targetDirectory}>
257 <DirectoryDataProvider directory={targetDirectory} server={serverKey}>
258 <TargetSessionPage />
259 </DirectoryDataProvider>
260 </SDKProvider>
261 </Show>
262 </Show>
263 </TargetServerScopedProviders>
264 )
265}
266
267function TargetSessionPage() {
268 const sdk = useSDK()

Callers

nothing calls this directly

Calls 7

requireServerKeyFunction · 0.90
selectSessionLineageFunction · 0.90
legacySessionHrefFunction · 0.90
directoryFunction · 0.70
syncFunction · 0.50
currentFunction · 0.50
serverKeyFunction · 0.50

Tested by

no test coverage detected