Compare commits
1 Commits
049472e25f
...
6dc478e989
| Author | SHA1 | Date | |
|---|---|---|---|
| 6dc478e989 |
@@ -675,6 +675,8 @@ Run the axe DevTools extension (or Lighthouse → Accessibility) on a room view,
|
|||||||
|
|
||||||
## Outstanding verification backlog
|
## Outstanding verification backlog
|
||||||
|
|
||||||
|
**Custom Window Chrome (Beta) fix (2026-07):** on the desktop build, Settings → General → toggle **Custom Window Chrome** — it should reload and come up with the Lotus title bar and a normal, stable feed (no screen-expand / auto-scroll-into-the-past). Toggle back off → reloads to the native frame.
|
||||||
|
|
||||||
_Ported from the retired `LOTUS_BUGS.md` (2026-07). Compact index of shipped-but-not-live-tested items; the detailed steps are in the lettered sections above._
|
_Ported from the retired `LOTUS_BUGS.md` (2026-07). Compact index of shipped-but-not-live-tested items; the detailed steps are in the lettered sections above._
|
||||||
|
|
||||||
Implemented and gate-green; confirm each per `LOTUS_TESTING.md`, then delete the row.
|
Implemented and gate-green; confirm each per `LOTUS_TESTING.md`, then delete the row.
|
||||||
|
|||||||
@@ -118,12 +118,21 @@ import { SettingsSelect } from '../../../components/settings-select/SettingsSele
|
|||||||
function DesktopChromeSetting() {
|
function DesktopChromeSetting() {
|
||||||
const [customChrome, setCustomChrome] = useAtom(customWindowChromeAtom);
|
const [customChrome, setCustomChrome] = useAtom(customWindowChromeAtom);
|
||||||
if (!isTauriEnv()) return null;
|
if (!isTauriEnv()) return null;
|
||||||
|
// Persist the flag, then reload so the window layout is rebuilt from scratch.
|
||||||
|
// Toggling live reflows the whole app while the room timeline is mounted, which
|
||||||
|
// resizes its virtualized scroll container and triggers runaway back-pagination
|
||||||
|
// (the "screen expands + auto-scrolls into the past" bug). A reload applies the
|
||||||
|
// chrome cleanly against a fresh, correct layout.
|
||||||
|
const handleToggle = (value: boolean) => {
|
||||||
|
setCustomChrome(value);
|
||||||
|
window.location.reload();
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<SequenceCard className={SequenceCardStyle} variant="SurfaceVariant" direction="Column">
|
<SequenceCard className={SequenceCardStyle} variant="SurfaceVariant" direction="Column">
|
||||||
<SettingTile
|
<SettingTile
|
||||||
title="Custom Window Chrome (Beta)"
|
title="Custom Window Chrome (Beta)"
|
||||||
description="Replace the system title bar with a Lotus-styled one. Desktop only — toggles instantly."
|
description="Replace the system title bar with a Lotus-styled one. Desktop only — reloads to apply."
|
||||||
after={<Switch variant="Primary" value={customChrome} onChange={setCustomChrome} />}
|
after={<Switch variant="Primary" value={customChrome} onChange={handleToggle} />}
|
||||||
/>
|
/>
|
||||||
</SequenceCard>
|
</SequenceCard>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -110,7 +110,11 @@ function DesktopChrome({ children }: { children: ReactNode }) {
|
|||||||
<div
|
<div
|
||||||
style={
|
style={
|
||||||
useChrome
|
useChrome
|
||||||
? { display: 'flex', flexDirection: 'column', height: '100vh' }
|
? // Match html/#root (100dvh), NOT 100vh — in the Tauri webview 100vh
|
||||||
|
// can exceed the visible height after decorations are stripped, which
|
||||||
|
// makes the timeline's scroll container taller than the viewport and
|
||||||
|
// sends the virtual paginator into a runaway back-pagination loop.
|
||||||
|
{ display: 'flex', flexDirection: 'column', height: '100dvh' }
|
||||||
: { display: 'contents' }
|
: { display: 'contents' }
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user