mirror of
https://github.com/anomalyco/opencode.git
synced 2026-09-29 17:09:40 +08:00
fix(app): keep timeline scroll when switching models (#50865)
This commit is contained in:
@@ -83,21 +83,21 @@ function createGlobalModels() {
|
||||
recent: [],
|
||||
variant: {},
|
||||
})
|
||||
const [recent] = createResource(
|
||||
async () => {
|
||||
const value = store.recent
|
||||
await ready.promise
|
||||
return value
|
||||
},
|
||||
(value) => value,
|
||||
{ initialValue: [] },
|
||||
)
|
||||
// Suspend readers only until persisted state loads. Refetching on every change would put the
|
||||
// session route into its Suspense fallback, detaching the screen and resetting the timeline scroll.
|
||||
const [loaded] = createResource(async () => {
|
||||
await ready.promise
|
||||
return true
|
||||
})
|
||||
|
||||
return {
|
||||
store,
|
||||
set: setStore,
|
||||
ready,
|
||||
recent: () => recent()!,
|
||||
recent: () => {
|
||||
loaded()
|
||||
return store.recent
|
||||
},
|
||||
// Marks models visible in the picker regardless of the "latest per family" default.
|
||||
show(models: ReadonlyArray<{ providerID: string; modelID: string }>) {
|
||||
const seen = new Map(store.user.map((item, index) => [`${item.providerID}:${item.modelID}`, index]))
|
||||
|
||||
Reference in New Issue
Block a user