feat(issues): register board columns and list scroller for scroll mementos

Per-container scroll registration for the MUL-4741 tab session memento:
board columns key by group id (each column's offset restores
independently, the per-column split Linear ships), the list view keys as
"list". Chat and issue-detail already carry the marker.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Naiyuan Qing
2026-07-15 14:11:19 +08:00
parent 8429dc53eb
commit 10ba23e4a5
2 changed files with 6 additions and 2 deletions

View File

@@ -216,6 +216,10 @@ export const BoardColumn = memo(function BoardColumn({
)}
<div
ref={mergedRef}
// Per-column scroll registration for the tab session memento
// (MUL-4741): the group id is the stable memento key, so every
// column's offset survives tab switches/reloads independently.
data-tab-scroll-root={`board:${group.id}`}
className={`absolute inset-0 overflow-y-auto rounded-lg p-1 transition-colors ${
isOver && sortLabel
? "ring-2 ring-brand/25 bg-accent/15"

View File

@@ -350,7 +350,7 @@ export function ListView({
if (!dragEnabled) {
return (
<div ref={setScrollEl} className="flex-1 min-h-0 overflow-y-auto p-2 pt-0">
<div ref={setScrollEl} data-tab-scroll-root="list" className="flex-1 min-h-0 overflow-y-auto p-2 pt-0">
{content}
</div>
);
@@ -364,7 +364,7 @@ export function ListView({
onDragOver={handleDragOver}
onDragEnd={handleDragEnd}
>
<div ref={setScrollEl} className="flex-1 min-h-0 overflow-y-auto p-2 pt-0">
<div ref={setScrollEl} data-tab-scroll-root="list" className="flex-1 min-h-0 overflow-y-auto p-2 pt-0">
{content}
</div>