Release Preview 20 shared desktop, Android and Sargo updates
Restore Gaia settings and media workflows, extend native network adapters, and align the APK payload. Generate French/English changelogs and website entries from the simplified JSON source. Validation: shared JS and Tundra unit tests; desktop workflows and persistence; signed APK payload parity; Sargo RAM and installed startup with boot readback. Android runtime qualification is recorded separately.
This commit is contained in:
parent
be2cdce823
commit
1311bed5e9
170 changed files with 19698 additions and 2495 deletions
|
|
@ -30,7 +30,15 @@ window.addEventListener('load', async () => {
|
|||
const pollKeys = async () => {
|
||||
try {
|
||||
const state = await IOUtils.readJSON('/run/tundra-buttons/events.json');
|
||||
if (state.session !== session) { session = state.session; sequence = state.sequence; }
|
||||
if (state.session !== session) {
|
||||
session = state.session;
|
||||
// Keep events already present when the poller first sees a new
|
||||
// service session. Setting the sequence to the file's final
|
||||
// value silently dropped the first physical key presses after a
|
||||
// Gecko reload.
|
||||
const first = state.events?.[0]?.id;
|
||||
sequence = Number.isInteger(first) ? first - 1 : 0;
|
||||
}
|
||||
else if (Date.now()/1000-state.recordedAt < 5) {
|
||||
for (const event of state.events) if (event.id > sequence) {
|
||||
Runtime.broadcast('hardware-key', {type:event.type}, 'system');
|
||||
|
|
@ -46,7 +54,7 @@ window.addEventListener('load', async () => {
|
|||
parent: { esModuleURI: 'resource://vulpes/host/actors/VulpesParent.sys.mjs' },
|
||||
child: {
|
||||
esModuleURI: 'resource://vulpes/host/actors/VulpesChild.sys.mjs',
|
||||
events: { DOMDocElementInserted: { capture: true }, focusin:{capture:true}, pointerdown:{capture:true} },
|
||||
events: { DOMDocElementInserted: { capture: true }, focusin:{capture:true}, pointerdown:{capture:true}, click:{capture:true} },
|
||||
},
|
||||
allFrames: true,
|
||||
safeForUntrustedWebProcess: true,
|
||||
|
|
@ -89,6 +97,11 @@ window.addEventListener('load', async () => {
|
|||
browser.style.width = width + 'px';
|
||||
browser.style.height = height + 'px';
|
||||
homeButton.style.width = landscape ? '44px' : window.innerWidth + 'px';
|
||||
// Flush the embedder's layout before notifying the remote document.
|
||||
// On Wayland its initial viewport can otherwise remain 0x0 until an
|
||||
// unrelated chrome layout query, leaving Gaia and video unpainted.
|
||||
browser.getBoundingClientRect();
|
||||
browser.frameLoader?.requestUpdatePosition?.();
|
||||
|
||||
};
|
||||
window.addEventListener('resize', resize);
|
||||
|
|
|
|||
Loading…
Reference in a new issue