Skip to content

Commit a0b1d06

Browse files
juliusmarmingecodex
andcommitted
Fix post-rebase startup regressions
Co-authored-by: codex <codex@users.noreply.github.com>
1 parent ec59c48 commit a0b1d06

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

apps/server/src/serverRuntimeStartup.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ it.effect("resolveAutoBootstrapWelcomeTargets returns existing project and threa
130130
} as never),
131131
Effect.provideService(ProjectionSnapshotQuery, {
132132
getSnapshot: () => Effect.die("unused"),
133+
getShellSnapshot: () => Effect.die("unused"),
133134
getCounts: () => Effect.die("unused"),
134135
getActiveProjectByWorkspaceRoot: () =>
135136
Effect.succeed(
@@ -144,8 +145,11 @@ it.effect("resolveAutoBootstrapWelcomeTargets returns existing project and threa
144145
deletedAt: null,
145146
}),
146147
),
148+
getProjectShellById: () => Effect.die("unused"),
147149
getFirstActiveThreadIdByProjectId: () => Effect.succeed(Option.some(bootstrapThreadId)),
148150
getThreadCheckpointContext: () => Effect.succeed(Option.none()),
151+
getThreadShellById: () => Effect.die("unused"),
152+
getThreadDetailById: () => Effect.die("unused"),
149153
}),
150154
Effect.provideService(OrchestrationEngineService, {
151155
getReadModel: () => Effect.die("unused"),
@@ -177,10 +181,14 @@ it.effect("resolveAutoBootstrapWelcomeTargets creates a project and thread when
177181
} as never),
178182
Effect.provideService(ProjectionSnapshotQuery, {
179183
getSnapshot: () => Effect.die("unused"),
184+
getShellSnapshot: () => Effect.die("unused"),
180185
getCounts: () => Effect.die("unused"),
181186
getActiveProjectByWorkspaceRoot: () => Effect.succeed(Option.none()),
187+
getProjectShellById: () => Effect.die("unused"),
182188
getFirstActiveThreadIdByProjectId: () => Effect.succeed(Option.none()),
183189
getThreadCheckpointContext: () => Effect.succeed(Option.none()),
190+
getThreadShellById: () => Effect.die("unused"),
191+
getThreadDetailById: () => Effect.die("unused"),
184192
}),
185193
Effect.provideService(OrchestrationEngineService, {
186194
getReadModel: () => Effect.die("unused"),

apps/web/src/components/ChatView.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1987,6 +1987,14 @@ export default function ChatView(props: ChatViewProps) {
19871987
const scrollToEnd = useCallback((animated = false) => {
19881988
legendListRef.current?.scrollToEnd?.({ animated });
19891989
}, []);
1990+
const shouldAutoScrollRef = isAtEndRef;
1991+
const scheduleStickToBottom = useCallback(() => {
1992+
showScrollDebouncer.current.cancel();
1993+
setShowScrollToBottom(false);
1994+
window.requestAnimationFrame(() => {
1995+
scrollToEnd(false);
1996+
});
1997+
}, [scrollToEnd]);
19901998

19911999
// Debounce *showing* the scroll-to-bottom pill so it doesn't flash during
19922000
// thread switches. LegendList fires scroll events with isAtEnd=false while

0 commit comments

Comments
 (0)