summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/session
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-04 15:40:25 -0600
committerAdam <[email protected]>2026-01-22 22:12:12 -0600
commit640d1f1ecc7a2b46fb2bafed760c7348c70579a8 (patch)
tree090f22b0e98053e7089133f164b17cff0367daa6 /packages/app/src/components/session
parent2e53697da01d1417845567296774166350e786f1 (diff)
downloadopencode-640d1f1ecc7a2b46fb2bafed760c7348c70579a8.tar.gz
opencode-640d1f1ecc7a2b46fb2bafed760c7348c70579a8.zip
wip(app): line selection
Diffstat (limited to 'packages/app/src/components/session')
-rw-r--r--packages/app/src/components/session/session-context-tab.tsx12
1 files changed, 4 insertions, 8 deletions
diff --git a/packages/app/src/components/session/session-context-tab.tsx b/packages/app/src/components/session/session-context-tab.tsx
index b41578910..57648c380 100644
--- a/packages/app/src/components/session/session-context-tab.tsx
+++ b/packages/app/src/components/session/session-context-tab.tsx
@@ -282,7 +282,9 @@ export function SessionContextTab(props: SessionContextTabProps) {
}
})
- return <Code file={file()} overflow="wrap" class="select-text" />
+ return (
+ <Code file={file()} overflow="wrap" class="select-text" onRendered={() => requestAnimationFrame(restoreScroll)} />
+ )
}
function RawMessage(msgProps: { message: Message }) {
@@ -314,19 +316,13 @@ export function SessionContextTab(props: SessionContextTabProps) {
let frame: number | undefined
let pending: { x: number; y: number } | undefined
- const restoreScroll = (retries = 0) => {
+ const restoreScroll = () => {
const el = scroll
if (!el) return
const s = props.view()?.scroll("context")
if (!s) return
- // Wait for content to be scrollable - content may not have rendered yet
- if (el.scrollHeight <= el.clientHeight && retries < 10) {
- requestAnimationFrame(() => restoreScroll(retries + 1))
- return
- }
-
if (el.scrollTop !== s.y) el.scrollTop = s.y
if (el.scrollLeft !== s.x) el.scrollLeft = s.x
}