Dev server: a pull no longer reloads the page in a burst, and Rudder's recording pill keeps a fixed width
The Driver's first laptop run with DX_SYNC_REMOTE: when main moved the page went white. A landing rewrites dozens of built leaf index.html files under public/, and Vite answers each changed .html with a full page reload (measured: one edited leaf page, one full-reload broadcast), so a pull fired a burst of reloads while git was still writing. The dev server no longer watches public/, which it never serves through its module graph (measured after: no reload). Rudder's corner pill also grew with every streamed word; while recording it is now 300px wide and shows the newest words, cut from the front.
This commit is contained in:
parent
f3e29d026b
commit
daffaa6ef5
2 changed files with 12 additions and 2 deletions
|
|
@ -487,6 +487,8 @@ const WIDGET_CSS = `
|
|||
[data-wb-icon]{display:grid;place-items:center;flex:none;color:#38bdf8}
|
||||
[data-wb-icon] svg,[data-wb-chev] svg{width:20px;height:20px;display:block}
|
||||
[data-wb-text]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
|
||||
[data-widget-bubble][data-listening="true"]{width:min(300px,calc(100vw - 32px))}
|
||||
[data-widget-bubble][data-listening="true"] [data-wb-text]{flex:1 1 auto}
|
||||
[data-wb-dot],[data-wb-chev]{display:none;flex:none}
|
||||
[data-wb-dot]{width:10px;height:10px;border-radius:50%;background:#ef4444}
|
||||
[data-widget-bubble][aria-expanded="true"] [data-wb-chev]{display:block}
|
||||
|
|
@ -1196,7 +1198,10 @@ export default defineComponent({
|
|||
const a = (Array.isArray(e.detail) ? e.detail[0] : e.detail) || {}
|
||||
if (pill.getAttribute('data-listening') !== 'true') return
|
||||
pill.setAttribute('data-speaking', a.speaking ? 'true' : 'false')
|
||||
text.textContent = a.words || ''
|
||||
// A FIXED-width pill while recording (the Driver: it resized with every word): show the newest
|
||||
// words, cut from the front, never let the pill grow.
|
||||
const w = a.words || ''
|
||||
text.textContent = w.length > 34 ? '…' + w.slice(-33) : w
|
||||
})
|
||||
W.els[row.key] = el
|
||||
panel.appendChild(el)
|
||||
|
|
|
|||
|
|
@ -122,7 +122,12 @@ export default defineConfig(({ command, mode }) => {
|
|||
// port. `--host` on the command line still overrides this for a deliberate LAN session.
|
||||
// Local plugin backends (backend/, e.g. rudder-engine) are started by backendDevPlugin and reached
|
||||
// through these same-origin routes, so a plugin calls /api/<name>/… in dev exactly as on desktop.
|
||||
server: { host: '127.0.0.1', proxy: devBackendProxy(env) },
|
||||
// NOT WATCHING public/ (the Driver's first laptop run with DX_SYNC_REMOTE, 2026-09-28): a landing rewrites
|
||||
// dozens of built leaf index.html files there, and Vite answers each changed .html with a FULL page reload
|
||||
// (measured: one edited leaf page -> one full-reload broadcast), so a pull fired a burst of reloads while
|
||||
// git was still writing and the page went white. The dev server never serves public/ through its module
|
||||
// graph (the script-embed route reads it on request), so nothing there needs watching.
|
||||
server: { host: '127.0.0.1', proxy: devBackendProxy(env), watch: { ignored: ['**/public/**'] } },
|
||||
define: {
|
||||
// ★ NO 'unsafe-eval' (CRITIC-4, 2026-09-26). vue-i18n's default message compiler builds each message
|
||||
// with `new Function`, so a partner with a strict Content-Security-Policy saw every translated string
|
||||
|
|
|
|||
Loading…
Reference in a new issue