@@ -32,7 +32,7 @@ import { CommentsProvider } from "@/context/comments"
3232import { FileProvider } from "@/context/file"
3333import { ServerSDKProvider , useServerSDK } from "@/context/server-sdk"
3434import { ServerSyncProvider , useServerSync } from "@/context/server-sync"
35- import { GlobalProvider } from "@/context/global"
35+ import { GlobalProvider , useGlobal } from "@/context/global"
3636import { HighlightsProvider } from "@/context/highlights"
3737import { LanguageProvider , type Locale , useLanguage } from "@/context/language"
3838import { LayoutProvider } from "@/context/layout"
@@ -103,10 +103,10 @@ const SessionRoute = () => {
103103
104104const TargetSessionRoute = ( ) => {
105105 const params = useParams < { serverKey : string ; id : string } > ( )
106- const server = useServer ( )
106+ const global = useGlobal ( )
107107 const conn = createMemo ( ( ) => {
108108 const key = requireServerKey ( params . serverKey )
109- return server . list . find ( ( item ) => ServerConnection . key ( item ) === key )
109+ return global . servers . list ( ) . find ( ( item ) => ServerConnection . key ( item ) === key )
110110 } )
111111
112112 return (
@@ -221,25 +221,27 @@ function DraftRoute() {
221221}
222222
223223function ResolvedDraftRoute ( props : { draft : DraftTab } ) {
224- const server = useServer ( )
225- const conn = createMemo ( ( ) => server . list . find ( ( item ) => ServerConnection . key ( item ) === props . draft . server ) )
224+ const global = useGlobal ( )
225+ const conn = createMemo ( ( ) => global . servers . list ( ) . find ( ( item ) => ServerConnection . key ( item ) === props . draft . server ) )
226226 const directory = ( ) => props . draft . directory
227227 const serverKey = ( ) => props . draft . server
228228
229229 return (
230- < ServerSDKProvider server = { conn } >
231- < ServerSyncProvider server = { conn } >
232- < TargetServerScopedProviders directory = { directory } >
233- < SDKProvider directory = { directory } >
234- < DirectoryDataProvider directory = { directory } server = { serverKey } >
235- < DraftProviders >
236- < NewSession />
237- </ DraftProviders >
238- </ DirectoryDataProvider >
239- </ SDKProvider >
240- </ TargetServerScopedProviders >
241- </ ServerSyncProvider >
242- </ ServerSDKProvider >
230+ < Show when = { `${ props . draft . server } \0${ props . draft . directory } ` } keyed >
231+ < ServerSDKProvider server = { conn } >
232+ < ServerSyncProvider server = { conn } >
233+ < TargetServerScopedProviders directory = { directory } >
234+ < SDKProvider directory = { directory } >
235+ < DirectoryDataProvider directory = { directory } server = { serverKey } >
236+ < DraftProviders >
237+ < NewSession />
238+ </ DraftProviders >
239+ </ DirectoryDataProvider >
240+ </ SDKProvider >
241+ </ TargetServerScopedProviders >
242+ </ ServerSyncProvider >
243+ </ ServerSDKProvider >
244+ </ Show >
243245 )
244246}
245247
@@ -588,18 +590,31 @@ function Routes() {
588590 </ Route >
589591 < Show when = { settings . general . newLayoutDesigns ( ) } >
590592 < Route path = "/" component = { NewHome } />
591- < Route
592- path = "/:dir/session/:id"
593- component = { ( ) => {
594- const server = useServer ( )
595- const { id } = useParams ( )
596-
597- return < Navigate href = { `/server/${ server . key } /session/${ id } ` } />
598- } }
599- />
593+ < Route path = "/:dir/session/:id" component = { LegacyTargetSessionRoute } />
600594 </ Show >
601595 < Route path = "/new-session" component = { DraftRoute } />
602596 < Route path = "/server/:serverKey/session/:id" component = { TargetSessionRoute } />
603597 </ >
604598 )
605599}
600+
601+ function LegacyTargetSessionRoute ( ) {
602+ const server = useServer ( )
603+ const tabs = useTabs ( )
604+ const params = useParams < { id : string } > ( )
605+
606+ return (
607+ < Show when = { tabs . ready ( ) } >
608+ < Navigate
609+ href = { sessionHref (
610+ legacySessionServer (
611+ tabs . store . filter ( ( item ) => item . type === "session" ) ,
612+ params . id ,
613+ server . key ,
614+ ) ,
615+ params . id ,
616+ ) }
617+ />
618+ </ Show >
619+ )
620+ }
0 commit comments