Signal bubble stays on screen in the Files/Office document editor
build-container / build (push) Successful in 5m0s

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 5.5 committed 2026-10-29 12:56:58 -04:00
1 parent 647f82afa2
commit 1d652d1e09
3 files changed
+4 -3

No files matched your search

+1 -1
View File
@@ -307,7 +307,7 @@ function route() {
if (name === 'edit' ? !(allowed('files') || allowed('office')) : !allowed(name)) { name = 'home'; if (location.hash !== '#/home') history.replaceState(null, '', '#/home'); } // not one of their tabs if (name === 'edit' ? !(allowed('files') || allowed('office')) : !allowed(name)) { name = 'home'; if (location.hash !== '#/home') history.replaceState(null, '', '#/home'); } // not one of their tabs
try { editor?.destroyEditor(); } catch {} try { editor?.destroyEditor(); } catch {}
editor = null; editor = null;
document.body.classList.toggle('editing', name === 'edit'); document.body.classList.toggle('editing', name === 'edit'); document.body.classList.toggle('oo', name === 'edit'); // (oo: the Files/Office document editor)
document.body.classList.remove('inedit', 'onaudio'); document.body.classList.remove('inedit', 'onaudio');
sg.timers.forEach(clearInterval); sg.timers = []; // (Signal screens start their own) sg.timers.forEach(clearInterval); sg.timers = []; // (Signal screens start their own)
const aw = $('#audiowrap'); if (aw) aw.className = 'off'; // hide (not destroy) the audiobooks frame const aw = $('#audiowrap'); if (aw) aw.className = 'off'; // hide (not destroy) the audiobooks frame
+1 -1
View File
@@ -249,7 +249,7 @@ function sgDockHide() { const d = $('#sgdock'), f = $('#sgfab'); if (d) d.hidden
function sgDockSync(name) { // after every screen change function sgDockSync(name) { // after every screen change
if (!allowed('signal')) { sgDockHide(); return; } if (!allowed('signal')) { sgDockHide(); return; }
sgDockInit(); const f = $('#sgfab'), d = $('#sgdock'); if (!f) return; sgDockInit(); const f = $('#sgfab'), d = $('#sgdock'); if (!f) return;
if (name === 'signal' || name === 'edit') { sgDockHide(); return; } if (name === 'signal') { sgDockHide(); return; } // (the document editor keeps the bubble, so a message is never out of reach)
f.hidden = false; sgDockBadge(); f.hidden = false; sgDockBadge();
if (sg.dockOpen) { d.hidden = false; if (sg.root !== $('#sgdbody')) sgMount($('#sgdbody'), true); } else d.hidden = true; if (sg.dockOpen) { d.hidden = false; if (sg.root !== $('#sgdbody')) sgMount($('#sgdbody'), true); } else d.hidden = true;
} }
+2 -1
View File
@@ -414,7 +414,8 @@ body:not(.editing) #view { padding-top: 8px; }
#sgfab { position: fixed; z-index: 14; right: 22px; bottom: calc(var(--ph, 0px) + 22px); width: 54px; height: 54px; border-radius: 50%; border: 0; background: var(--accent); color: var(--accent-t); display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0,0,0,.35); cursor: pointer; } #sgfab { position: fixed; z-index: 14; right: 22px; bottom: calc(var(--ph, 0px) + 22px); width: 54px; height: 54px; border-radius: 50%; border: 0; background: var(--accent); color: var(--accent-t); display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0,0,0,.35); cursor: pointer; }
#sgfab svg { width: 26px; height: 26px; } #sgfab svg { width: 26px; height: 26px; }
#sgfab .nbadge { top: -2px; left: auto; right: -2px; position: absolute; } #sgfab .nbadge { top: -2px; left: auto; right: -2px; position: absolute; }
#sgfab[hidden], #sgdock[hidden], body.editing #sgfab, body.editing #sgdock { display: none; } #sgfab[hidden], #sgdock[hidden], body.editing:not(.oo) #sgfab, body.editing:not(.oo) #sgdock { display: none; }
body.oo #sgfab { bottom: calc(var(--ph, 0px) + 60px); right: 18px; width: 48px; height: 48px; } body.oo #sgdock { bottom: calc(var(--ph, 0px) + 116px); } /* clear of the editor's own status bar */
#sgdock { position: fixed; z-index: 14; right: 22px; bottom: calc(var(--ph, 0px) + 88px); width: 400px; max-width: calc(100vw - 44px); height: min(640px, calc(100dvh - var(--ph, 0px) - 120px)); display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.4); overflow: hidden; } #sgdock { position: fixed; z-index: 14; right: 22px; bottom: calc(var(--ph, 0px) + 88px); width: 400px; max-width: calc(100vw - 44px); height: min(640px, calc(100dvh - var(--ph, 0px) - 120px)); display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.4); overflow: hidden; }
.sgdtop { display: flex; align-items: center; gap: 2px; padding: 4px 6px 4px 14px; border-bottom: 1px solid var(--line); } .sgdtop { display: flex; align-items: center; gap: 2px; padding: 4px 6px 4px 14px; border-bottom: 1px solid var(--line); }
.sgdtop .ibtn { width: 38px; height: 38px; } .sgdtop svg { width: 20px; height: 20px; } .sgdtop .ibtn { width: 38px; height: 38px; } .sgdtop svg { width: 20px; height: 20px; }