From 402183c0aeb6dc68ac95b3b22123d891782c4148 Mon Sep 17 00:00:00 2001 From: archipelago Date: Thu, 23 Jul 2026 16:15:43 -0400 Subject: [PATCH] feat(appsession): mode switches never reload the iframe + strictly per-app display modes + TV focus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The session subtree now ALWAYS lives under ; inline panel mode is emulated with a fixed-position rect synced from the layout placeholder (ResizeObserver + resize), so toggling panel/overlay/fullscreen no longer re-parents — and therefore no longer reloads — the app iframe. - Display modes are strictly per-app: saved per-app pick → app default (IndeeHub: fullscreen) → panel. The global fallback is gone, so one app's mode can never change how another opens. - The iframe takes focus when the app loads, so keyboard / the gamepad bridge work inside it immediately (TV). Co-Authored-By: Claude Fable 5 --- neode-ui/src/views/AppSession.vue | 74 +++++++++++++++++-- .../src/views/appSession/appSessionConfig.ts | 9 +-- 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/neode-ui/src/views/AppSession.vue b/neode-ui/src/views/AppSession.vue index e4452560..16e6a8bf 100644 --- a/neode-ui/src/views/AppSession.vue +++ b/neode-ui/src/views/AppSession.vue @@ -1,8 +1,14 @@