Merge remote-tracking branch 'origin/master' into codex/session-pending-interactions

# Conflicts:
#	packages/client/connection/README.i18n.yaml
#	packages/client/connection/README.md
#	packages/client/connection/README.zh.md
This commit is contained in:
Turtle
2026-08-04 19:03:01 +08:00
108 changed files with 2160 additions and 515 deletions

View File

@@ -228,7 +228,9 @@
- var(--dsh-session-list-scrollbar-width)
- var(--dsh-session-list-scrollbar-offset)
);
padding-bottom: 12px;
/* Clears the 72px bottom fade overlay: at scroll end the last row sits
above the gradient instead of under it. */
padding-bottom: 48px;
scrollbar-gutter: stable;
}

View File

@@ -78,14 +78,16 @@ function GroupByMenu({ groupBy, onPick, t }: {
// be cut off at the header's bounds.
portal
anchor={(
<button
type="button"
className={clsx(css.iconButton, css.wide)}
aria-label={t('groupBy.label')}
onClick={() => { setOpen(v => !v) }}
>
<IconPersonalizationOutline16 />
</button>
<Tooltip label={t('groupBy.label')} side="bottom" delayMs={500}>
<button
type="button"
className={clsx(css.iconButton, css.wide)}
aria-label={t('groupBy.label')}
onClick={() => { setOpen(v => !v) }}
>
<IconPersonalizationOutline16 />
</button>
</Tooltip>
)}
/>
)
@@ -551,7 +553,7 @@ export function WorkspaceBrowser({
picking affordance has nothing to offer here: the region hides the
button rather than leaving a dead one in the header. */}
{directoryFlowAvailable && (
<Tooltip label={t('workspace.add')} disabled={wide}>
<Tooltip label={t('workspace.add')} side="bottom" delayMs={500}>
<button
ref={wsPlusRef}
type="button"