Repository navigation
Conversation
Chromium can drop webContents zoom when a BrowserWindow is minimized and restored. Re-assert the persisted level on show/restore for every chat window, not only on the initial did-finish-load.
0476436 to
437cb08
Compare
|
Superseded by #61925. Same core fix (reassert persisted zoom on Letting the pet inherit zoom is a bug, not a nicety — it sizes its own OS window to fit the sprite in unzoomed CSS px ( Your pure-helper tests are kept and you're credited via |
|
Closing in favor of #61925 (adds pet-overlay zoom scoping on current main). |
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages #61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes #61245)
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
…245-ui-zoom fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes NousResearch#61245)
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
…245-ui-zoom fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes NousResearch#61245)
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
…245-ui-zoom fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes NousResearch#61245)
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
…245-ui-zoom fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes NousResearch#61245)
Windows drops webContents zoom on minimize/restore, so the UI snapped back to 100% while Settings still read 125%. Zoom was only reasserted on the main window's did-finish-load, never on show/restore and never for session windows. Reassert the persisted level on show/restore + first load, wired once in wireCommonWindowHandlers so the main window and secondary session windows share it. The pet overlay opts out (zoom:false): it sizes its own OS window to fit the sprite in unzoomed CSS px and has its own Alt+wheel scale, so inheriting the global zoom would render the mascot larger than its window and crop it (and it shares the renderer origin's zoom localStorage key). Salvages NousResearch#61245; keeps its pure-helper tests and adds a scope assertion. Co-authored-by: HexLab98 <liruixinch@outlook.com>
…245-ui-zoom fix(desktop): re-apply UI zoom on show/restore, scoped to chat windows (supersedes NousResearch#61245)
Summary
wireCommonWindowHandlersso secondary session windows get the same lifecycle coverage as the main window.Fixes #61081
Test plan
npx tsx --test apps/desktop/electron/zoom.test.ts