diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 336fefd5e192..56a6d52fe9c2 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -320,7 +320,8 @@ export default function Page() { const messagesReady = createMemo(() => { const id = params.id if (!id) return true - return sync.data.message[id] !== undefined + // Ready when messages are loaded OR session exists in the list (render immediately with cached data) + return sync.data.message[id] !== undefined || sync.session.get(id) !== undefined }) const historyMore = createMemo(() => { const id = params.id @@ -386,7 +387,6 @@ export default function Page() { mobileTab: "session" as "session" | "changes", changes: "git" as ChangeMode, newSessionWorktree: "main", - deferRender: false, }) const [followup, setFollowup] = persisted( @@ -404,17 +404,6 @@ export default function Page() { }), ) - createComputed((prev) => { - const key = sessionKey() - if (key !== prev) { - setStore("deferRender", true) - requestAnimationFrame(() => { - setTimeout(() => setStore("deferRender", false), 0) - }) - } - return key - }, sessionKey()) - let reviewFrame: number | undefined let refreshFrame: number | undefined let refreshTimer: number | undefined @@ -993,30 +982,28 @@ export default function Page() { loadingClass: string emptyClass: string }) => ( - - setTree("reviewScroll", el)} - focusedFile={tree.activeDiff} - onLineComment={(comment) => addCommentToContext({ ...comment, origin: "review" })} - onLineCommentUpdate={updateCommentInContext} - onLineCommentDelete={removeCommentFromContext} - lineCommentActions={reviewCommentActions()} - commentMentions={{ - items: file.searchFilesAndDirectories, - }} - comments={comments.all()} - focusedComment={comments.focus()} - onFocusedCommentChange={comments.setFocus} - onViewFile={openReviewFile} - classes={input.classes} - /> - + setTree("reviewScroll", el)} + focusedFile={tree.activeDiff} + onLineComment={(comment) => addCommentToContext({ ...comment, origin: "review" })} + onLineCommentUpdate={updateCommentInContext} + onLineCommentDelete={removeCommentFromContext} + lineCommentActions={reviewCommentActions()} + commentMentions={{ + items: file.searchFilesAndDirectories, + }} + comments={comments.all()} + focusedComment={comments.focus()} + onFocusedCommentChange={comments.setFocus} + onViewFile={openReviewFile} + classes={input.classes} + /> ) const reviewPanel = () => ( @@ -1658,7 +1645,7 @@ export default function Page() { const composerRegion = (placement: "dock" | "inline") => ( { @@ -1710,7 +1697,6 @@ export default function Page() { return (
- {sessionSync() ?? ""}
{ route.sessionKey() const ready = props.ready - const delay = 140 clear() setStore("ready", false) @@ -109,10 +108,7 @@ export function SessionComposerRegion(props: { frame = requestAnimationFrame(() => { frame = undefined - timer = window.setTimeout(() => { - setStore("ready", true) - timer = undefined - }, delay) + setStore("ready", true) }) })