From d2acf0b5a4ea74aaeecc47f49b3355e1d636a019 Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Tue, 6 Oct 2026 14:57:57 -0500 Subject: [PATCH 01/48] Mobile parity groundwork: shared launcher/storage commands, desktop helpers, Tweaks tab Register set_home_any, disable_stock_launcher, disable_setup_helper, app_storage_map and app_apk_size on mobile (Pro gating stays inside core), and add typed wrappers for them plus the already-registered permission, appop and process-safety commands. Port desktop's recommendation, app-report and app-details helpers, align the safety labels with desktop (Safe to remove), and make Tweaks a bottom tab while Optimize becomes a screen pushed from the Dashboard. --- v2/mobile/src-tauri/src/lib.rs | 5 + v2/mobile/src/components/BottomTabs.svelte | 2 +- v2/mobile/src/lib/api.ts | 35 +++ v2/mobile/src/lib/app-details.ts | 103 ++++++++ v2/mobile/src/lib/app-report.ts | 236 ++++++++++++++++++ v2/mobile/src/lib/recommendation.ts | 119 +++++++++ v2/mobile/src/lib/router.svelte.ts | 20 +- v2/mobile/src/lib/safety.ts | 54 +++- v2/mobile/src/lib/types.ts | 53 ++++ v2/mobile/src/screens/Optimize.svelte | 3 - v2/mobile/src/screens/Tweaks.svelte | 3 + .../tests/dashboard-optional-review.test.mjs | 2 +- v2/mobile/tests/recommendation.test.mjs | 119 +++++++++ v2/mobile/tests/session.test.mjs | 20 ++ 14 files changed, 757 insertions(+), 17 deletions(-) create mode 100644 v2/mobile/src/lib/app-details.ts create mode 100644 v2/mobile/src/lib/app-report.ts create mode 100644 v2/mobile/src/lib/recommendation.ts create mode 100644 v2/mobile/tests/recommendation.test.mjs diff --git a/v2/mobile/src-tauri/src/lib.rs b/v2/mobile/src-tauri/src/lib.rs index 8eccc4f2..12ebbf48 100644 --- a/v2/mobile/src-tauri/src/lib.rs +++ b/v2/mobile/src-tauri/src/lib.rs @@ -227,12 +227,17 @@ pub fn run() { launcher::channel_provider_disabled, launcher::set_default_launcher, launcher::disable_launcher, + launcher::set_home_any, + launcher::disable_stock_launcher, + launcher::disable_setup_helper, apps::force_stop, screenshot::take_screenshot, apps::package_states, apps::list_other_packages, apps::list_installed_packages, apps::app_memory_map, + apps::app_storage_map, + apps::app_apk_size, apps::app_usage_map, apps::safety_info, apps::process_safety_info, diff --git a/v2/mobile/src/components/BottomTabs.svelte b/v2/mobile/src/components/BottomTabs.svelte index 0d7e5956..d0bca215 100644 --- a/v2/mobile/src/components/BottomTabs.svelte +++ b/v2/mobile/src/components/BottomTabs.svelte @@ -10,8 +10,8 @@ const tabs: { id: Screen; icon: string; label: string }[] = [ { id: "dashboard", icon: "grid_view", label: "Home" }, - { id: "optimize", icon: "auto_fix_high", label: "Optimize" }, { id: "apps", icon: "apps", label: "Apps" }, + { id: "tweaks", icon: "tune", label: "Tweaks" }, { id: "remote", icon: "stadia_controller", label: "Remote" }, { id: "more", icon: "more_horiz", label: "More" }, ]; diff --git a/v2/mobile/src/lib/api.ts b/v2/mobile/src/lib/api.ts index a90d6620..497c0826 100644 --- a/v2/mobile/src/lib/api.ts +++ b/v2/mobile/src/lib/api.ts @@ -15,6 +15,7 @@ import { connectionGeneration, emitConnectionLost, isConnectionLostError } from import type { ActionResult, AppEntry, + AppStorage, AppUsage, ApplyResult, BackupEntry, @@ -39,6 +40,7 @@ import type { PerformanceProfile, PerformanceResult, OtherPackage, + PermissionState, PrivateDnsResult, PrivateDnsState, RebootMode, @@ -48,6 +50,7 @@ import type { Safety, ScreenshotResult, SendTextResult, + SetHomeAnyResult, SetLauncherResult, SnapshotApplyPlan, SnapshotFile, @@ -121,6 +124,22 @@ export const api = { /// Backend-audited protected / caution / unknown verdict for one package. safetyInfo: async (pkg: string): Promise => parseSafety(await call("safety_info", { package: pkg })), + /// Classify a *process* name from a memory report. Catalog-free on purpose — + /// see the Rust doc on `process_safety_info`. + processSafetyInfo: async (process: string): Promise => + parseSafety(await call("process_safety_info", { process })), + /// Runtime permission state. Read-only, free. + appPermissionState: (serial: string, pkg: string, permission: string) => + call("app_permission_state", { serial, package: pkg, permission }), + /// Grant/revoke a runtime permission. Pro (AppPermissionWrite). + setAppPermission: (serial: string, pkg: string, permission: string, grant: boolean) => + call("set_app_permission", { serial, package: pkg, permission, grant }), + /// Set an appop to allow/ignore. Pro (AppPermissionWrite). + setAppOp: (serial: string, pkg: string, op: string, allow: boolean) => + call("set_app_op", { serial, package: pkg, op, allow }), + /// Raw `appops get` mode string for one op. Read-only, free. + getAppOp: (serial: string, pkg: string, op: string) => + call("get_app_op", { serial, package: pkg, op }), // ---- Maintenance ---- trimCaches: (serial: string) => @@ -161,6 +180,13 @@ export const api = { call>("app_memory_map", { serial }), appUsageMap: (serial: string) => call>("app_usage_map", { serial }), + /// Installed storage per package from one `dumpsys diskstats`. Read-only, free. + appStorageMap: (serial: string) => + call>("app_storage_map", { serial }), + /// One package's APK size (`pm path` + `stat`), for a package diskstats has + /// no row for. Data and cache come back null. Read-only, free. + appApkSize: (serial: string, pkg: string) => + call("app_apk_size", { serial, package: pkg }), openPlayStore: (serial: string, pkg: string) => call("open_play_store", { serial, package: pkg }), reinstallExisting: (serial: string, pkg: string) => @@ -192,6 +218,15 @@ export const api = { }, disableLauncher: (serial: string, pkg: string) => call("disable_launcher", { serial, package: pkg }), + /// Turn off an enabled Setup Wraith while stock is already disabled. Pro. + disableSetupHelper: (serial: string, pkg: string) => + call("disable_setup_helper", { serial, package: pkg }), + /// Advanced picker: try any app as Home. Never disables anything. Pro. + setHomeAny: (serial: string, pkg: string, activity: string | null = null) => + call("set_home_any", { serial, package: pkg, activity }), + /// The explicit, confirmed step that hands Home from stock to `target`. Pro. + disableStockLauncher: (serial: string, target: string) => + call("disable_stock_launcher", { serial, target }), // ---- Tweaks (5.1) — writes are Pro (TweaksWrite) ---- getTweaks: (serial: string) => call("get_tweaks", { serial }), diff --git a/v2/mobile/src/lib/app-details.ts b/v2/mobile/src/lib/app-details.ts new file mode 100644 index 00000000..80946d30 --- /dev/null +++ b/v2/mobile/src/lib/app-details.ts @@ -0,0 +1,103 @@ +// What the app detail sheet needs to say about each figure: whether it was +// read, when, and why not. A figure is only ever shown next to the time it was +// measured, and a failed read is "unavailable", never zero. Ported from +// desktop's v2/src/lib/app-details.ts; keep the two in step. + +import type { AppStorage, AppUsage } from "./types"; +import type { AppReportDevice } from "./app-report"; + +export type MeasureStatus = + | { status: "idle" } + | { status: "loading" } + | { status: "ready"; at: number } + | { status: "unavailable"; at: number; reason: string }; + +export interface AppMeasurements { + /// `dumpsys meminfo` — Total PSS by process. + memory: MeasureStatus; + /// `dumpsys usagestats` — last foreground use. + usage: MeasureStatus; + /// `dumpsys diskstats` — installed storage per package. + storage: MeasureStatus; +} + +/// One row's slice of the page's measurements, as the detail panel reads it. +export interface AppDetailInputs { + serial: string; + measures: AppMeasurements; + memoryMb?: number; + usage?: AppUsage; + storage?: AppStorage; + onRemeasure?: () => void; + /// The page's current package state, resynced after every action. A row + /// can carry an older one (the Optimize plan is not reloaded after a run), + /// so a report uses this for a catalog package: null means the page has no + /// current state, and undefined (a non-catalog row) defers to the row. + liveState?: "enabled" | "disabled" | "missing" | null; + /// The device context "Report this app" may share. Absent, the panel + /// offers no report. + report?: AppReportDevice; +} + +/// The state a report may carry for a row. A catalog row takes the page's +/// current state, and none while that state is being re-read: an Optimize or +/// bulk change has just run, so the cached value may predate it. A row outside +/// the catalog (undefined) defers to its own state, unless a run has changed +/// the device since that row's list was read (`othersStale`). When a run +/// changed the device while the page had no inventory to re-read +/// (`unreadAfterRun`), every row's state may predate it, and none is reported +/// until the inventory is read. +export function reportLiveState( + inCatalog: boolean, + state: "enabled" | "disabled" | "missing" | undefined, + resyncing: boolean, + unreadAfterRun = false, + othersStale = false, +): "enabled" | "disabled" | "missing" | null | undefined { + if (unreadAfterRun) return null; + if (!inCatalog) return othersStale ? null : undefined; + return resyncing ? null : (state ?? null); +} + +export function idleMeasurements(): AppMeasurements { + return { memory: { status: "idle" }, usage: { status: "idle" }, storage: { status: "idle" } }; +} + +export function loadingMeasurements(): AppMeasurements { + return { + memory: { status: "loading" }, + usage: { status: "loading" }, + storage: { status: "loading" }, + }; +} + +/// Settle one read into a status, stamped with when the answer came back. +export function settled(result: PromiseSettledResult, at: number): MeasureStatus { + return result.status === "fulfilled" + ? { status: "ready", at } + : { status: "unavailable", at, reason: String(result.reason) }; +} + +export function measuredAt(at: number): string { + return new Date(at).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", second: "2-digit" }); +} + +/// Bytes as a short size, or null when the device did not report it. Null is +/// deliberately not "0 B": an unreported figure is unknown, not empty. +export function formatBytes(bytes: number | null | undefined): string | null { + if (bytes === null || bytes === undefined || !Number.isFinite(bytes) || bytes < 0) return null; + if (bytes < 1024) return `${bytes} B`; + const units = ["KB", "MB", "GB", "TB"]; + let value = bytes / 1024; + let unit = 0; + while (value >= 1024 && unit < units.length - 1) { + value /= 1024; + unit += 1; + } + return `${value >= 100 ? value.toFixed(0) : value.toFixed(1)} ${units[unit]}`; +} + +/// True when at least one storage figure was actually reported. +export function hasStorage(s: AppStorage | undefined): s is AppStorage { + return !!s && (s.app_bytes !== null || s.data_bytes !== null || s.cache_bytes !== null); +} diff --git a/v2/mobile/src/lib/app-report.ts b/v2/mobile/src/lib/app-report.ts new file mode 100644 index 00000000..1b56397e --- /dev/null +++ b/v2/mobile/src/lib/app-report.ts @@ -0,0 +1,236 @@ +// "Report this app": one package, written out as a record the catalog +// reviewer's tool (tools/registry-triage) reads, in the same shape as the +// unknown-package export (unknownDiagnostics.ts). Ported from desktop's +// v2/src/lib/app-report.ts; keep the two in step. Nothing here sends anything. +// The user sees the exact JSON, then copies it, shares it, or opens a GitHub +// form they still have to submit. +// +// A report is a claim by one user, not a verdict. It never carries a +// suggested classification, and it is never read back into the app. + +import type { DeviceType, Safety, TvEvidence } from "./types"; +import { normalizeHardwareId } from "./identity"; + +export type AppReportReason = "not_listed" | "wrong_verdict" | "wrong_description" | "other"; + +/// The `reason` values a report writes. registry-triage accepts these beside +/// the unknown-diagnostics collector's own reasons. +export const APP_REPORT_REASONS: { id: AppReportReason; label: string; record: string }[] = [ + { id: "not_listed", label: "Not in the list", record: "user_report_not_listed" }, + { id: "wrong_verdict", label: "Wrong verdict", record: "user_report_wrong_verdict" }, + { id: "wrong_description", label: "Wrong description", record: "user_report_wrong_description" }, + { id: "other", label: "Other", record: "user_report_other" }, +]; + +export type ReportDeviceFamily = "shield" | "google_tv" | "android_tv" | "unknown"; + +/// What the report needs about the device. Deliberately no serial, no address +/// and no properties beyond the Android version. +export interface AppReportDevice { + family: ReportDeviceFamily; + androidVersion: string | null; + /// The device's adb serial and ro.serialno. Never written into a report: + /// they are only used to strip themselves out of the user's note. + redact: string[]; +} + +export interface AppReportState { + status: "enabled" | "disabled" | "missing" | null; + /// Whether meminfo showed a process for the package: null when RAM was not + /// read or the read failed, false for a successful read with no process. + running: boolean | null; + /// PSS when running; null otherwise. + ramMb: number | null; + /// `diskstats` is the full app/data/cache row; `apk_files` is the fallback + /// that only knows the APK size. + storage: { + source: "diskstats" | "apk_files"; + app_bytes: number | null; + data_bytes: number | null; + cache_bytes: number | null; + } | null; +} + +export interface AppReportInput { + package: string; + appName: string | null; + reason: AppReportReason; + note: string; + appVersion: string | null; + device: AppReportDevice; + /// null when the safety lookup did not complete. + verdict: Safety | null; + includeState: boolean; + state: AppReportState; + now: Date; +} + +export const APP_REPORT_NOTE_MAX = 1000; +const NAME_MAX = 120; + +/// A device that reported nothing about being a TV is "unknown", never +/// promoted to a family it did not claim. A missing `tv_evidence` (an older +/// core) reads as unknown too. +export function reportFamily(type: DeviceType, tv: TvEvidence | undefined): ReportDeviceFamily { + if (type === "shield") return "shield"; + if (type === "google_tv") return "google_tv"; + return tv === "tv" ? "android_tv" : "unknown"; +} + +/// The registry-triage / unknown-diagnostics rules for an installed_package +/// token. A package id that fails them cannot go into a report. +export function isReportablePackage(pkg: string): boolean { + return ( + pkg.length > 0 && + pkg.length <= 255 && + /^[A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)+$/.test(pkg) + ); +} + +function validVersion(value: string | null): value is string { + return !!value && value.length <= 32 && /^[0-9A-Za-z][0-9A-Za-z.+_-]*$/.test(value); +} + +function validDeviceOs(value: string | null): value is string { + return !!value && value.length <= 32 && /^[0-9A-Za-z][0-9A-Za-z._ -]*$/.test(value); +} + +function clean(text: string, max: number, keepNewlines: boolean): string | null { + const pattern = keepNewlines ? /[\u0000-\u0009\u000b-\u001f\u007f]/g : /[\u0000-\u001f\u007f]/g; + const out = text.replace(pattern, " ").trim().slice(0, max).trim(); + return out.length > 0 ? out : null; +} + +const REDACTED = "[redacted]"; + +/// Shorter than this, a serial is only redacted where it stands as a whole +/// token: "A1" must not eat the middle of "A1B2", let alone every word that +/// happens to contain those letters. +const SERIAL_SUBSTRING_MIN = 4; + +function escapeRegExp(text: string): string { + return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} + +/// Anything shaped like an Android package id (two or more dot-joined +/// segments, each starting with a letter). The leading boundary is captured +/// rather than a lookbehind, which older WebViews cannot parse. +const PACKAGE_SHAPED = /(^|[^A-Za-z0-9_.])([A-Za-z][A-Za-z0-9_]*(?:\.[A-Za-z][A-Za-z0-9_]*)+)(?![A-Za-z0-9_])/g; + +/// The note is the user's own text, but a pasted log line or address must not +/// carry the identifiers the rest of the report leaves out. Addresses, MACs, +/// this device's own serials, and package ids other than the reported one are +/// replaced, visibly, in the preview. See desktop's copy for the full +/// rationale; the rules are identical. +export function redactNote(text: string, redact: string[], reportedPackage?: string): string { + let out = text; + for (const id of redact) { + // A ro.serialno of "unknown" is no id, and scrubbing it would eat the word. + const v = normalizeHardwareId(id); + if (!v) continue; + const body = escapeRegExp(v); + out = + v.length >= SERIAL_SUBSTRING_MIN + ? out.replace(new RegExp(body, "gi"), REDACTED) + : out.replace(new RegExp(`(^|[^A-Za-z0-9])${body}(?![A-Za-z0-9])`, "gi"), `$1${REDACTED}`); + } + const keep = reportedPackage?.toLowerCase(); + return out + .replace(/\b\d{1,3}(?:\.\d{1,3}){3}(?::\d+)?\b/g, REDACTED) + .replace(/\b(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\b/g, REDACTED) + .replace(/\b(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}\b/g, REDACTED) + .replace(/(?:\b[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?::(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*\b)?/g, (m) => + m === "::" ? m : REDACTED, + ) + .replace(PACKAGE_SHAPED, (_m, before: string, token: string) => { + if (token.toLowerCase() === keep) return before + token; + if (token.split(".").every((segment) => segment.length === 1)) return before + token; + return before + REDACTED; + }); +} + +function finiteOrNull(n: number | null | undefined): number | null { + return typeof n === "number" && Number.isFinite(n) && n >= 0 ? n : null; +} + +/// The report: a `schema_version: 1` export with one record. Returns null +/// when the package id cannot be reported. +export function buildAppReport(input: AppReportInput): Record | null { + if (!isReportablePackage(input.package)) return null; + const at = input.now.toISOString(); + const reason = APP_REPORT_REASONS.find((r) => r.id === input.reason) ?? APP_REPORT_REASONS[3]; + const record: Record = { + kind: "installed_package", + token: input.package, + reason: reason.record, + app_version: validVersion(input.appVersion) ? input.appVersion : "unknown", + registry_version: null, + device_family: input.device.family, + device_os: validDeviceOs(input.device.androidVersion) ? input.device.androidVersion : null, + first_seen: at, + last_seen: at, + count: 1, + app_name: input.appName ? clean(input.appName, NAME_MAX, false) : null, + current_verdict: input.verdict ? input.verdict.kind : "unavailable", + verdict_source: input.verdict ? input.verdict.source : null, + note: clean(redactNote(input.note, input.device.redact, input.package), APP_REPORT_NOTE_MAX, true), + }; + if (input.includeState) { + const s = input.state; + record.state = { + installed: s.status === null ? null : s.status !== "missing", + enabled: s.status === "enabled" ? true : s.status === "disabled" ? false : null, + running: s.running, + ram_mb: s.running ? finiteOrNull(s.ramMb) : null, + storage: s.storage + ? { + source: s.storage.source, + app_bytes: finiteOrNull(s.storage.app_bytes), + data_bytes: finiteOrNull(s.storage.data_bytes), + cache_bytes: finiteOrNull(s.storage.cache_bytes), + } + : null, + }; + } + return { + schema_version: 1, + generated_at: at, + truncated: false, + source: "mobile_app_report", + records: [record], + }; +} + +export function reportText(report: Record): string { + return JSON.stringify(report, null, 2); +} + +export function reportFileName(pkg: string, now: Date): string { + return `app-report-${pkg}-${now.toISOString().slice(0, 10)}.json`; +} + +const ISSUE_BASE = "https://github.com/bryanroscoe/shield_optimizer/issues/new"; +/// Same ceiling the bug form uses, well under what GitHub accepts in a URL. +export const APP_REPORT_PREFILL_LIMIT = 6000; + +/// The app_report.yml issue form, its fields prefilled by query parameters of +/// the same ids. When the report would not fit, the form opens with the +/// package and reason only and the caller asks the user to paste (copy the +/// report to the clipboard first). +export function appReportIssueUrl( + pkg: string, + reason: AppReportReason, + text: string, +): { url: string; prefilled: boolean } { + const url = new URL(ISSUE_BASE); + url.searchParams.set("template", "app_report.yml"); + url.searchParams.set("title", `App report: ${pkg}`); + url.searchParams.set("package", pkg); + url.searchParams.set("reason", APP_REPORT_REASONS.find((r) => r.id === reason)?.label ?? "Other"); + const short = url.toString(); + url.searchParams.set("report", text); + const full = url.toString(); + return full.length <= APP_REPORT_PREFILL_LIMIT + ? { url: full, prefilled: true } + : { url: short, prefilled: false }; +} diff --git a/v2/mobile/src/lib/recommendation.ts b/v2/mobile/src/lib/recommendation.ts new file mode 100644 index 00000000..d0bb31c4 --- /dev/null +++ b/v2/mobile/src/lib/recommendation.ts @@ -0,0 +1,119 @@ +// What we suggest doing with one catalog app, in one place. Ported from +// desktop's v2/src/lib/recommendation.ts; keep the two in step so the same app +// reads the same suggestion on phone and desktop. +// +// Pure: catalog entry, on-device state and safety verdict in, suggestion out. +// Uninstall is only ever recommended when the store can give the app back +// (`play_store || defunct`); otherwise it is downgraded to the reversible +// Disable. Nothing here is ever labelled "Remove". + +import type { AppEntry } from "./types"; +import { isBlocked, type SafetyStatus } from "./safety"; +// Single source with desktop: the sideload catalog lives beside desktop's +// recommendation.ts and is read here rather than copied. +import sideloadCatalog from "../../../src/lib/sideload-catalog.json"; + +export type PackageState = "enabled" | "disabled" | "missing"; +export type RemovalMethod = "disable" | "uninstall"; + +export type Recommendation = + | { kind: "done"; label: string } + | { kind: "act"; label: string; action: RemovalMethod } + | { kind: "review"; label: string; action: RemovalMethod } + | { kind: "restore"; label: string } + | { kind: "unavailable"; label: string } + | { kind: "keep"; label: string }; + +export const NO_CHANGE_LABEL = "No change needed"; + +export interface SideloadSource { + name: string; + url: string; +} + +const SIDELOAD_SOURCES: Record = Object.fromEntries( + (sideloadCatalog as { name: string; package: string; url: string }[]).map((s) => [ + s.package, + { name: s.name, url: s.url }, + ]), +); + +/// Where a sideloaded app comes from, when we know. Null means we don't — which +/// is not the same as "it's on the Play Store". +export function sideloadSource(pkg: string): SideloadSource | null { + return SIDELOAD_SOURCES[pkg] ?? null; +} + +/// Can the user get this back from the store after uninstalling it? Mirrors +/// the engine's `AppEntry::reinstallable` (crates/core/src/engine/types.rs). +export function isReinstallable(a: Pick): boolean { + return a.play_store || !!a.defunct; +} + +/// The method it is safe to *recommend* — mirrors the engine's `safe_method`: +/// an uninstall you cannot undo from the store is downgraded to the +/// reversible disable. +export function effectiveMethod(a: AppEntry): RemovalMethod { + return a.method === "uninstall" && !isReinstallable(a) ? "disable" : a.method; +} + +/// Whether Uninstall may be *offered* at all. Store apps, defunct services, +/// and sideloads whose source we can name — the confirm prompt names it. A +/// preinstalled app with no store listing gets Disable only. +export function canOfferUninstall(a: AppEntry): boolean { + return isReinstallable(a) || sideloadSource(a.package) !== null; +} + +export function reviewLabel(method: RemovalMethod): string { + return method === "uninstall" ? "Review: uninstall if unused" : "Review: disable if unused"; +} + +/// What we'd suggest for this row given its current on-device state. +/// `act` = recommended by default. `review` = worth removing if you don't use +/// it, never a default. `restore` = gone, and worth bringing back. +/// `done` / `keep` = nothing to do. `unavailable` = we can't say yet. +export function recommendation( + a: AppEntry, + state: PackageState | null, + safety: SafetyStatus | undefined, +): Recommendation { + if (state === null) return { kind: "unavailable", label: "State unavailable" }; + if (state === "missing") { + if (a.default_restore) return { kind: "restore", label: "Reinstall" }; + if (a.default_optimize && a.method === "uninstall") { + return { kind: "done", label: "Already uninstalled" }; + } + return { kind: "keep", label: NO_CHANGE_LABEL }; + } + const method = effectiveMethod(a); + if (safety?.status !== "ready") return { kind: "unavailable", label: "Safety unavailable" }; + if (isBlocked(safety.verdict)) return { kind: "done", label: "Protected" }; + if (safety.verdict.kind === "unknown") { + return state === "enabled" + ? { kind: "review", label: reviewLabel(method), action: method } + : { kind: "keep", label: NO_CHANGE_LABEL }; + } + if (a.default_optimize) { + if (method === "disable") { + return state === "disabled" + ? { kind: "done", label: "Already disabled" } + : { kind: "act", label: "Disable", action: "disable" }; + } + return { kind: "act", label: "Uninstall", action: "uninstall" }; + } + if (a.review && state === "enabled") { + return { kind: "review", label: reviewLabel(method), action: method }; + } + return { kind: "keep", label: NO_CHANGE_LABEL }; +} + +/// The extra paragraph an uninstall confirm carries when the store can't give +/// the app back. Null when it can, so store apps keep the short prompt. +export function uninstallNote(pkg: string, entry: AppEntry | null): string | null { + if (entry && isReinstallable(entry)) return null; + const source = sideloadSource(pkg); + if (source) { + return `Not on the Play Store. To get it back you would reinstall ${source.name} from ${source.url} — back up its APK first if you might want this exact version.`; + } + return "We can't confirm this is on the Play Store. If it isn't, getting it back needs its APK — back it up first."; +} diff --git a/v2/mobile/src/lib/router.svelte.ts b/v2/mobile/src/lib/router.svelte.ts index a67734ff..31f7fd02 100644 --- a/v2/mobile/src/lib/router.svelte.ts +++ b/v2/mobile/src/lib/router.svelte.ts @@ -9,15 +9,18 @@ export type Screen = | "onboarding" // Onboarding pushed from Devices to add a TV; never auto-dials. | "addtv" + // Bottom tabs. | "dashboard" - | "diagnostics" - | "optimize" | "apps" + | "tweaks" | "remote" | "more" - // Detail screens reached from More / Dashboard (not bottom tabs). + // Detail screens reached from Dashboard / More (not bottom tabs). Open any + // of them with `router.navigate(screen)` (or a screen's `navigate` prop), + // which pushes it so Back returns to where the user came from. + | "diagnostics" + | "optimize" | "launcher" - | "tweaks" | "snapshots" | "devices" | "riskguide" @@ -25,8 +28,13 @@ export type Screen = | "backups"; /// Screens that live behind the bottom tab bar (top-level). Everything else -/// (e.g. diagnostics) is a detail screen reached from the dashboard. -const TABS = new Set(["dashboard", "optimize", "apps", "remote", "more"]); +/// (Optimize, Diagnostics, Launcher, …) is a detail screen pushed on top. +export const TAB_SCREENS: readonly Screen[] = ["dashboard", "apps", "tweaks", "remote", "more"]; +const TABS = new Set(TAB_SCREENS); + +export function isTabScreen(screen: Screen): boolean { + return TABS.has(screen); +} // The Android back gesture reaches us as `popstate` only while the webview // has a history entry to pop. We keep exactly ONE spare entry while the stack diff --git a/v2/mobile/src/lib/safety.ts b/v2/mobile/src/lib/safety.ts index 99bf4131..8beca4f7 100644 --- a/v2/mobile/src/lib/safety.ts +++ b/v2/mobile/src/lib/safety.ts @@ -2,7 +2,8 @@ // exactly four kinds (crates/core/src/engine/safety.rs: NeverDisable / // Caution / Safe / Unknown); this maps each to the label, blurb and CSS class // every screen renders. Screens must not invent tiers and must not classify -// packages themselves. +// packages themselves. Labels and descriptions match desktop's +// v2/src/lib/safety.ts word for word, so one TV reads the same on both apps. // // `Safe` only ever comes from the reviewed app list, never as a fallback — // that is what separates "we looked at this and rated it" from "we have no @@ -10,8 +11,15 @@ import type { Safety } from "./types"; +export type { Safety }; export type SafetyKind = Safety["kind"]; +/// Resolution state of an async `safety_info` lookup — same shape as desktop. +export type SafetyStatus = + | { status: "checking" } + | { status: "ready"; verdict: Safety } + | { status: "unavailable"; reason: string }; + export interface SafetyTier { kind: SafetyKind; label: string; @@ -25,9 +33,9 @@ export interface SafetyTier { export const SAFETY_TIERS: Record = { safe: { kind: "safe", - label: "Safe", + label: "Safe to remove", description: - "Reviewed for Android TV and rated safe to remove. The reason says what it is and what you lose.", + "The reason says what the app is and what you lose. Only ever comes from the reviewed list, never as a fallback.", cls: "safe", icon: "check_circle", }, @@ -43,7 +51,7 @@ export const SAFETY_TIERS: Record = { kind: "caution", label: "Caution", description: - "Removing it has a known consequence — the reason says exactly what can stop working. You must review that warning first.", + "Removing it has a known consequence — the reason says exactly what can stop working. Review that warning first.", cls: "caution", icon: "warning", }, @@ -51,7 +59,7 @@ export const SAFETY_TIERS: Record = { kind: "never_disable", label: "Protected", description: - "Disabling would brick the TV or cut this app's connection to it. Every disable and uninstall path refuses these.", + "Disabling would break the TV or cut this app's connection to it. Every disable and uninstall path refuses these.", cls: "blocked", icon: "shield", }, @@ -73,6 +81,35 @@ export function tierOf(safety: Safety | null | undefined): SafetyTier | null { return safety ? SAFETY_TIERS[safety.kind] : null; } +/// The verdict inside a lookup state, or null while it is unresolved. +export function verdictOf(status: SafetyStatus | undefined): Safety | null { + return status?.status === "ready" ? status.verdict : null; +} + +export const CHECKING_LABEL = "Checking…"; +export const UNAVAILABLE_LABEL = "Safety unavailable"; + +/// Label for a resolved verdict. +export function verdictLabel(safety: Safety): string { + return SAFETY_TIERS[safety.kind].label; +} + +/// Short label for a lookup state — never falls back to Unknown while the +/// lookup is unresolved or failed. +export function safetyLabel(status: SafetyStatus | undefined): string { + if (!status || status.status === "unavailable") return UNAVAILABLE_LABEL; + if (status.status === "checking") return CHECKING_LABEL; + return verdictLabel(status.verdict); +} + +/// The core-supplied reason, or why there isn't one yet. +export function safetyReason(status: SafetyStatus | undefined): string { + if (!status) return "Safety lookup has not completed."; + if (status.status === "checking") return "Safety lookup is in progress."; + if (status.status === "unavailable") return `Safety lookup failed: ${status.reason}`; + return status.verdict.reason; +} + /// The core-supplied reason for every canonical verdict. export function reasonOf(safety: Safety | null | undefined): string { return safety?.reason ?? ""; @@ -87,7 +124,7 @@ export function reasonOf(safety: Safety | null | undefined): string { export function verdictSummary(safety: Safety | null | undefined): string { switch (safety?.kind) { case "safe": - return "The safety engine rated this Safe to remove."; + return `The safety engine rated this ${SAFETY_TIERS.safe.label}.`; case "caution": return "The safety engine marked this Caution."; case "never_disable": @@ -106,3 +143,8 @@ export function isBlocked(safety: Safety | null | undefined): boolean { export function needsConfirm(safety: Safety | null | undefined): boolean { return safety?.kind === "caution" || safety?.kind === "unknown"; } + +/// The Safety/Reason lines shared by every removal confirm prompt. +export function confirmVerdictLine(safety: Safety): string { + return `Safety: ${verdictLabel(safety)}\nReason: ${safety.reason}`; +} diff --git a/v2/mobile/src/lib/types.ts b/v2/mobile/src/lib/types.ts index 883423c7..f368047f 100644 --- a/v2/mobile/src/lib/types.ts +++ b/v2/mobile/src/lib/types.ts @@ -7,6 +7,9 @@ export type ConnectionType = "network" | "usb"; export type DeviceStatus = "device" | "unauthorized" | "offline"; export type DeviceType = "shield" | "google_tv" | "unknown"; +/// What the device said about being a TV. Distinct from DeviceType, whose +/// "unknown" only means "no catalog match" — see engine/detection.rs. +export type TvEvidence = "tv" | "not_tv" | "unknown"; export type ActionMethod = "disable" | "uninstall"; export type RiskTier = "safe" | "medium" | "high" | "advanced"; @@ -23,6 +26,9 @@ export interface DeviceProperties { characteristics?: string; /// `ro.serialno` — stable hardware identity; empty/missing when unreadable. serial_number?: string; + /// `pm has-feature android.software.leanback`. null when the device gave no + /// readable answer — which is not the same as "no". + leanback?: boolean | null; } export interface Device { @@ -31,6 +37,7 @@ export interface Device { name: string; model: string; device_type: DeviceType; + tv_evidence: TvEvidence; status: DeviceStatus; connection: ConnectionType; properties: DeviceProperties | null; @@ -45,9 +52,19 @@ export interface AppEntry { restore_description: string; default_optimize: boolean; default_restore: boolean; + /// Whether this package has a real Google Play listing at this exact id + /// (audited). Controls whether the "Play Store" button shows. play_store: boolean; + /// Discontinued service — safe to uninstall despite no Play Store listing. defunct?: boolean; + /// "Remove if unused" tier — surfaced as a candidate with a usage signal. review?: boolean; + /// When a person last reviewed this classification, `YYYY-MM-DD`. + reviewed_at?: string; + /// Short evidence notes or URLs behind the classification. + sources?: string[]; + /// Device families the entry applies to; absent means the list decides. + device_scope?: string[]; } export interface DisplayMode { @@ -106,6 +123,9 @@ export interface OtherPackage { enabled: boolean; /// Friendly name for recognized sideloads; null otherwise. name?: string | null; + /// One line on what the app is, from known-names.json. Display only: the + /// verdict for these packages stays Unknown. + description?: string | null; } export interface ScreenshotResult { @@ -198,6 +218,12 @@ export type Entitlement = "free" | "pro"; export interface LauncherEntry { name: string; package: string; + /// The launcher's official page, for the "Get" link on a row that isn't + /// installed. Null for stock launchers and for HOME handlers found on the + /// device rather than in the catalog. + source_url: string | null; + /// Setup helpers (Setup Wraith) a takeover turns off together with this + /// stock launcher. Present only on a stock entry that has one. disable_with?: string[]; } @@ -229,6 +255,21 @@ export interface SetLauncherResult { /// True when the only working switch is to disable the active stock launcher; /// the UI must confirm and retry with allow_stock_disable. stock_takeover_available: boolean; + /// Every command the attempt issued and what the device replied, in order. + /// Offered as copyable detail on failure. + diagnostics: string[]; +} + +/// `set_home_any` — the Advanced picker. It never disables anything. +export interface SetHomeAnyResult { + ok: boolean; + current_launcher: string | null; + /// null when the device can't answer (query-activities is Android 9+). + declares_home: boolean | null; + /// Stock still holds Home; only the separate "Disable stock launcher" step hands it over. + stock_holds_home: boolean; + message: string; + diagnostics: string[]; } // ---- Tweaks (crates/core/src/commands/tuning.rs) ---- @@ -344,6 +385,18 @@ export interface AppUsage { launch_count: number; } +/// Installed storage for one package, in bytes. Disk, never memory. A field +/// the device did not report is null, which renders as unavailable — never 0. +/// `data_bytes` includes the cache, so the two are never added together. +export interface AppStorage { + app_bytes: number | null; + data_bytes: number | null; + cache_bytes: number | null; +} + +/// `app_permission_state` — a runtime permission's grant state for one package. +export type PermissionState = "granted" | "revoked" | "missing"; + // ---- Devices hub (crates/core/src/commands/health.rs) ---- export interface DeviceReport { diff --git a/v2/mobile/src/screens/Optimize.svelte b/v2/mobile/src/screens/Optimize.svelte index 475555fb..a9bf3726 100644 --- a/v2/mobile/src/screens/Optimize.svelte +++ b/v2/mobile/src/screens/Optimize.svelte @@ -10,7 +10,6 @@ OptimizePlanItem, Safety, } from "../lib/types"; - import BottomTabs from "../components/BottomTabs.svelte"; import ConfirmDialog from "../components/ConfirmDialog.svelte"; import FindRemoteButton from "../components/FindRemoteButton.svelte"; import PaywallSheet from "../components/PaywallSheet.svelte"; @@ -894,8 +893,6 @@ /> - - diff --git a/v2/mobile/src/components/LauncherDiagnostics.svelte b/v2/mobile/src/components/LauncherDiagnostics.svelte new file mode 100644 index 00000000..aa2971a5 --- /dev/null +++ b/v2/mobile/src/components/LauncherDiagnostics.svelte @@ -0,0 +1,87 @@ + + +{#if lines.length > 0} +
+ +

+ Every command this attempt ran and what your TV replied. Paste it into a GitHub issue; it is + what makes a launcher report fixable. +

+ {#if shown} +
{lines.join("\n")}
+ {/if} +
+{/if} + + diff --git a/v2/mobile/src/components/SetupWraithCard.svelte b/v2/mobile/src/components/SetupWraithCard.svelte new file mode 100644 index 00000000..e3cf8ff0 --- /dev/null +++ b/v2/mobile/src/components/SetupWraithCard.svelte @@ -0,0 +1,157 @@ + + +
+
+ {state === "risk" ? "warning" : "info"} + Setup Wraith + {state === "off" ? "OFF" : "ON"} +
+

+ {#if state === "off"} + Setup Wraith is off. Turn this back on if Google asks you to sign in again or you need to + pair a remote; turn it off again after. + {:else if state === "on"} + Google TV's setup helper (Setup Wraith) is on. It can take the Home button back after you + switch launchers. Disable stock launcher turns it off too. + {:else} + Google TV's setup helper (Setup Wraith) is on while the stock launcher is off. It will likely + grab the Home button. + {/if} +

+ {pkg} + {#if progress} + {progress}… + {:else if state === "off"} + + {:else if state === "risk"} + + {/if} +
+ + diff --git a/v2/mobile/src/components/StockTakeoverDialog.svelte b/v2/mobile/src/components/StockTakeoverDialog.svelte new file mode 100644 index 00000000..8c891fa1 --- /dev/null +++ b/v2/mobile/src/components/StockTakeoverDialog.svelte @@ -0,0 +1,137 @@ + + +{#if open} + +
+ +
e.stopPropagation()} + > + home +

Disable the stock launcher?

+

+ Disable the stock launcher and hand Home to {target}? If Home + doesn't land on it, the stock launcher is re-enabled straight away. You can re-enable it + from the launcher list at any time. +

+ {#if turnsOffSetupHelper} +

+ warning + + Also turns off Google TV's setup helper (Setup Wraith), or it takes the Home button + back. You may need to turn it back on briefly to sign in to Google again or pair a + remote. + +

+ {/if} +
+ + + +
+
+
+{/if} + + diff --git a/v2/mobile/src/lib/launcherView.ts b/v2/mobile/src/lib/launcherView.ts new file mode 100644 index 00000000..beb5f30e --- /dev/null +++ b/v2/mobile/src/lib/launcherView.ts @@ -0,0 +1,139 @@ +// Pure view logic for the Launcher screen. Mirrors the desktop Launcher tab +// (src/routes/devices/[serial]/+page.svelte) so the two apps reach the same +// conclusions from the same launcher rows. + +import type { LauncherStatus, OtherPackage } from "./types"; + +/// "off": disabled. "on": enabled while an enabled stock launcher can still +/// hold Home. "risk": enabled while stock is off, so it will likely take Home. +/// The role can name a custom launcher while the helper's higher-priority +/// filter wins the Home button, so the current launcher never clears "risk". +export type SetupHelperState = "off" | "on" | "risk"; + +export interface SetupHelperView { + row: LauncherStatus; + state: SetupHelperState; +} + +/// Google TV's setup helper (Setup Wraith) whenever it is installed. A +/// disabled one no longer answers the Home query, so the backend reads it from +/// the package lists and it stays a row either way. +export function setupHelperView(launchers: LauncherStatus[]): SetupHelperView | null { + const row = launchers.find((l) => l.setup_helper && l.installed); + if (!row) return null; + if (!row.enabled) return { row, state: "off" }; + return { row, state: launchers.some((l) => l.stock && l.enabled) ? "on" : "risk" }; +} + +/// A stock takeover also turns the setup helper off: it is enabled and an +/// enabled stock launcher names it in the catalog's `disable_with`. +export function takeoverTurnsOffSetupHelper(launchers: LauncherStatus[]): boolean { + const helper = launchers.find((l) => l.setup_helper && l.installed); + if (!helper?.enabled) return false; + return launchers.some( + (l) => l.stock && l.enabled && (l.entry.disable_with ?? []).includes(helper.entry.package), + ); +} + +export interface StockDisableGate { + allowed: boolean; + /// Why the button is off. Empty when allowed. + reason: string; +} + +/// Whether "Disable stock launcher" may be offered for the picked app. It stays +/// off until the picked app holds Home, or until `set_home_any` reported that +/// the stock launcher is what's in the way for exactly this app. The backend +/// re-checks all of it (and the last-Home-handler guard); this only keeps the +/// button from inviting a request it will refuse. +export function stockDisableGate(input: { + launchers: LauncherStatus[]; + choice: string; + currentPkg: string | null; + stockHoldsHomeFor: string | null; +}): StockDisableGate { + const { launchers, choice, currentPkg, stockHoldsHomeFor } = input; + if (!choice) return { allowed: false, reason: "Choose the app that should take over Home first." }; + if (!launchers.some((l) => l.stock && l.enabled)) { + return { allowed: false, reason: "No enabled stock launcher on this TV." }; + } + if (launchers.some((l) => l.stock && l.entry.package === choice)) { + return { allowed: false, reason: "Pick the app that should take over, not the stock launcher." }; + } + if (launchers.some((l) => l.setup_helper && l.entry.package === choice)) { + return { + allowed: false, + reason: "That is Google TV's setup helper, not a launcher. Pick a real launcher.", + }; + } + if (currentPkg === choice || stockHoldsHomeFor === choice) return { allowed: true, reason: "" }; + return { + allowed: false, + reason: + "Set the app as Home first. This stays off until it's Home, or until Android says the stock launcher is what's in the way.", + }; +} + +/// The picker's rows: user apps unless system apps are revealed, filtered by a +/// case-insensitive name/package search, one row per package, sorted by name. +export function filterHomeCandidates( + packages: OtherPackage[], + query: string, + showSystem: boolean, +): OtherPackage[] { + const q = query.trim().toLowerCase(); + const unique = new Map(); + for (const p of packages) { + if (!showSystem && p.system) continue; + if ( + q && + !p.package.toLowerCase().includes(q) && + !(p.name ?? "").toLowerCase().includes(q) + ) { + continue; + } + if (!unique.has(p.package)) unique.set(p.package, p); + } + return [...unique.values()].sort((a, b) => + (a.name ?? a.package).localeCompare(b.name ?? b.package), + ); +} + +/// The host to show for a launcher's source site, or null when the catalog +/// value is not an http(s) URL (nothing is offered for anything else). +export function sourceSiteHost(url: string | null | undefined): string | null { + if (!url) return null; + try { + const parsed = new URL(url); + if (parsed.protocol !== "https:" && parsed.protocol !== "http:") return null; + return parsed.host.replace(/^www\./, "") || null; + } catch { + return null; + } +} + +/// True once the launcher list reports `pkg` installed. +export function isInstalled(launchers: LauncherStatus[], pkg: string): boolean { + return launchers.some((l) => l.entry.package === pkg && l.installed); +} + +/// The message for a finished `disable_stock_launcher`. Success is only +/// claimed when the backend verified it; otherwise its own sentence is shown. +/// The Setup Wraith note comes from the re-read after the call, not from the +/// prediction before it: `helperAfter` is null when there is no helper row or +/// the re-read failed, and then nothing is said about it. +export function stockDisableMessage( + result: { ok: boolean; last_error: string | null }, + target: string, + helperExpectedOff: boolean, + helperAfter: SetupHelperState | null, +): string { + if (!result.ok) return result.last_error ?? "The stock launcher was left alone."; + let wraith = ""; + if (helperExpectedOff && helperAfter === "off") { + wraith = " Google TV's setup helper (Setup Wraith) was turned off too."; + } else if (helperAfter === "risk") { + wraith = " Setup Wraith still reads as on, so it may take the Home button back; see below."; + } + return `The stock launcher is disabled and ${target} is Home.${wraith} Re-enable stock from the list above any time.`; +} diff --git a/v2/mobile/src/screens/Launcher.svelte b/v2/mobile/src/screens/Launcher.svelte index 0b628276..a870f9e9 100644 --- a/v2/mobile/src/screens/Launcher.svelte +++ b/v2/mobile/src/screens/Launcher.svelte @@ -1,13 +1,25 @@ @@ -189,7 +614,9 @@

Launcher

- + {#if loading} @@ -198,7 +625,7 @@ {:else if error}

{error}

- +
{:else}
@@ -216,12 +643,15 @@ {:else} {activeLabel} + {#if current?.note} + {current.note} + {/if} {/if}
{#if activeLabel !== ""} DEFAULT {:else} - + {/if} @@ -245,11 +675,21 @@ {#each launchers as l (l.entry.package)} {@const isActive = l.entry.package === currentPkg} {@const busy = busyPkg === l.entry.package} + {@const host = !l.installed && !l.stock ? sourceSiteHost(l.entry.source_url) : null}
{iconFor(l)}
{l.entry.name} {subtitle(l)} + {#if host} + + {/if}
{#if busy} @@ -257,18 +697,24 @@ {:else if isActive} Active {:else if !l.installed && !l.stock} - {:else if l.setup_helper} - + + {#if l.enabled} + + {/if} {:else if l.stock && l.enabled} - {:else} - {/if} @@ -277,14 +723,165 @@
{/if} + {#if wraith} + + {/if} + + {#if storeOpened} +
+ check_circle + + Opened the Play Store on the TV. Confirm the install there. + + {storeOpened.checking + ? `Checking for ${storeOpened.name} every few seconds.` + : `Stopped checking for ${storeOpened.name}. Tap Refresh once the install finishes.`} + + + +
+ {/if} + + {#if linkShown} +
+ info + + Couldn't copy the link for {linkShown.name}. Select it and open it in your phone's + browser: + {linkShown.url} + + +
+ {/if} + + {#if actionNote} +
+

{actionNote}

+ +
+ {/if} +
info - Changing the launcher is reversible — set stock back as default any time. A snapshot - records which launcher was active so you can re-apply it later; it never re-enables or - reinstalls anything on its own. + Changing the launcher is reversible — set stock back as default any time. Disabling the + current home app without setting a replacement first leaves the TV with no home screen, + so save a snapshot before you change this. A snapshot records which launcher was active; + it never re-enables or reinstalls anything on its own.
+ + + + {#if advancedOpen} +
+

+ Any installed app can be tried. Android only accepts an app that declares a Home + screen, and this says so when it doesn't. Setting an app never disables anything; + taking over from the stock launcher is the separate step below. +

+ + {#if pickerOpen} + loadPicker(true)} + onCancel={() => (pickerOpen = false)} + /> + {:else} +
+ {choice ? "android" : "apps"} + + {#if choice} + {choice.name ?? choice.package} + {choice.package} + {:else} + No app chosen + {/if} + + +
+ + + + + + + {#if !gate.allowed} +

{gate.reason}

+ {/if} + + {#if homeResult} +

{homeResult.text}

+ {/if} + + {/if} +
+ {/if}
{/if} @@ -294,6 +891,9 @@ icon="home" title="Disable the stock launcher?" message={`On this TV the only way to hand Home to ${takeover?.name ?? "this launcher"} is to disable the stock launcher. Your other launchers are left alone, and stock can be re-enabled here any time.`} + warning={takeoverTurnsOffWraith + ? "Also turns off Google TV's setup helper (Setup Wraith), or it takes the Home button back. You may need to turn it back on briefly to sign in to Google again or pair a remote." + : ""} confirmLabel="Disable stock & switch" onConfirm={confirmTakeover} onCancel={() => (takeover = null)} @@ -303,13 +903,26 @@ open={disableConfirm !== null} danger icon="block" - title={`Disable ${disableConfirm?.entry.name ?? "launcher"}?`} - message="The TV will fall back to another enabled launcher for its home screen. You can re-enable this one from the Apps list." + title={disableConfirm?.setup_helper + ? "Disable Setup Wraith?" + : `Disable ${disableConfirm?.entry.name ?? "launcher"}?`} + message={disableConfirm?.setup_helper + ? "This is Google TV's setup wizard, not a launcher. You don't need to disable it: the app already shows your real launcher as current. Disabling it is only useful if the Home button keeps landing on a setup screen. It stays disabled until you re-enable it here, and Android TV needs it to run first-time setup. Re-enable it before a factory reset." + : "The TV will fall back to another enabled launcher for its home screen. You can re-enable this one here or from the Apps list."} confirmLabel="Disable" onConfirm={() => disableConfirm && doDisable(disableConfirm)} onCancel={() => (disableConfirm = null)} /> + disableStock(true)} + onConfirm={() => disableStock(false)} + onCancel={() => (stockConfirmOpen = false)} + /> + (showPaywall = false)} /> @@ -520,4 +1133,192 @@ .callout.amber .msr { color: var(--amber); } + .iconbtn:disabled { + opacity: 0.5; + cursor: default; + } + .src-link { + align-self: flex-start; + margin-top: 4px; + padding: 4px 0; + min-height: 28px; + border: 0; + background: transparent; + color: var(--accent); + font-family: var(--sans); + font-size: 11px; + font-weight: 600; + display: inline-flex; + align-items: center; + gap: 5px; + cursor: pointer; + } + .src-link .msr { + font-size: 14px; + } + .muted-line { + display: block; + margin-top: 3px; + color: var(--muted); + } + .link-text { + display: block; + margin-top: 6px; + overflow-wrap: anywhere; + user-select: text; + } + .callout-dismiss { + width: 32px; + height: 32px; + flex: none; + border: 0; + background: transparent; + display: grid; + place-items: center; + cursor: pointer; + } + .callout-dismiss .msr { + font-size: 18px; + color: var(--muted); + } + .action-note { + display: flex; + flex-direction: column; + gap: 8px; + padding: 12px 14px; + border-radius: 14px; + background: color-mix(in srgb, var(--danger) 8%, transparent); + border: 1px solid color-mix(in srgb, var(--danger) 24%, transparent); + } + .action-text { + margin: 0; + font-size: 12px; + line-height: 1.45; + color: var(--text-soft); + } + + .adv-toggle { + display: flex; + align-items: center; + gap: 10px; + min-height: 48px; + padding: 0 14px; + border-radius: 14px; + border: 1px solid var(--line); + background: var(--surface); + color: var(--text); + font-family: var(--sans); + cursor: pointer; + text-align: left; + } + .adv-title { + flex: 1; + font-size: 13px; + font-weight: 600; + } + .adv-toggle .msr { + font-size: 22px; + color: var(--muted); + } + .adv { + display: flex; + flex-direction: column; + gap: 12px; + padding: 14px; + border-radius: 16px; + border: 1px solid var(--line); + background: color-mix(in srgb, var(--surface) 60%, transparent); + } + .adv-note { + margin: 0; + font-size: 12px; + line-height: 1.45; + color: var(--muted); + } + .adv-choice { + display: flex; + align-items: center; + gap: 12px; + padding: 12px; + border-radius: 13px; + background: var(--surface); + border: 1px solid var(--line); + } + .adv-choice-icon { + font-size: 22px; + color: var(--text-soft); + flex: none; + } + .adv-choice-body { + flex: 1; + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; + } + .adv-choice-name { + font-size: 14px; + font-weight: 600; + } + .adv-choice-pkg { + font-family: var(--mono); + font-size: 10px; + color: var(--muted); + overflow-wrap: anywhere; + } + .adv-choice-empty { + font-size: 13px; + color: var(--muted); + } + .adv-field { + display: flex; + flex-direction: column; + gap: 6px; + } + .adv-label { + font-family: var(--mono); + font-size: 10px; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--dim); + } + .adv-input { + min-height: 44px; + padding: 0 12px; + border-radius: 11px; + border: 1px solid var(--line); + background: var(--surface); + color: var(--text); + font-family: var(--mono); + font-size: 13px; + } + .adv-action { + flex: none; + width: 100%; + gap: 8px; + } + .danger-ghost { + color: var(--danger); + border-color: color-mix(in srgb, var(--danger) 35%, transparent); + } + .adv-reason { + margin: -4px 0 0; + font-size: 11px; + line-height: 1.45; + color: var(--muted); + } + .adv-result { + margin: 0; + padding: 10px 12px; + border-radius: 12px; + font-size: 12px; + line-height: 1.45; + color: var(--text-soft); + background: color-mix(in srgb, var(--amber) 8%, transparent); + border: 1px solid color-mix(in srgb, var(--amber) 24%, transparent); + } + .adv-result.ok { + background: color-mix(in srgb, var(--teal) 8%, transparent); + border-color: color-mix(in srgb, var(--teal) 25%, transparent); + } diff --git a/v2/mobile/tests/launcher.test.mjs b/v2/mobile/tests/launcher.test.mjs new file mode 100644 index 00000000..0e6d52fa --- /dev/null +++ b/v2/mobile/tests/launcher.test.mjs @@ -0,0 +1,360 @@ +import assert from "node:assert/strict"; +import { after, before, test } from "node:test"; +import { chromium } from "playwright"; +import { startViteServer } from "./helpers/vite-harness.mjs"; + +let server; +let browser; +let origin; +let view; + +before(async () => { + ({ server, origin } = await startViteServer()); + view = await server.ssrLoadModule("/src/lib/launcherView.ts"); + browser = await chromium.launch({ headless: true }); +}); + +after(async () => { + await browser?.close(); + await server?.close(); +}); + +const STOCK = "com.google.android.apps.tv.launcherx"; +const WRAITH = "com.google.android.tungsten.setupwraith"; +const PROJECTIVY = "com.spocky.projengmenu"; +const FLAUNCHER = "me.efesser.flauncher"; + +const row = (pkg, over = {}) => ({ + installed: true, + enabled: true, + stock: false, + other: false, + setup_helper: false, + ...over, + entry: { name: pkg, package: pkg, source_url: null, ...(over.entry ?? {}) }, +}); + +const stock = (enabled) => + row(STOCK, { stock: true, enabled, entry: { name: "Google TV Home", disable_with: [WRAITH] } }); +const wraith = (enabled) => row(WRAITH, { setup_helper: true, other: true, enabled, entry: { name: "Setup Wraith" } }); + +// ---- pure helper ---- + +test("Setup Wraith reads off / on / risk from the launcher rows", () => { + assert.equal(view.setupHelperView([stock(true)]), null); + assert.equal(view.setupHelperView([stock(true), { ...wraith(true), installed: false }]), null); + assert.equal(view.setupHelperView([stock(true), wraith(false)]).state, "off"); + assert.equal(view.setupHelperView([stock(true), wraith(true)]).state, "on"); + // Stock off with the helper on is the state that takes the Home button. + assert.equal(view.setupHelperView([stock(false), wraith(true)]).state, "risk"); + assert.equal(view.setupHelperView([wraith(true)]).state, "risk"); +}); + +test("a takeover turns Setup Wraith off only when an enabled stock names it", () => { + assert.equal(view.takeoverTurnsOffSetupHelper([stock(true), wraith(true)]), true); + assert.equal(view.takeoverTurnsOffSetupHelper([stock(false), wraith(true)]), false); + assert.equal(view.takeoverTurnsOffSetupHelper([stock(true), wraith(false)]), false); + const shieldStock = row("com.google.android.tvlauncher", { stock: true }); + assert.equal(view.takeoverTurnsOffSetupHelper([shieldStock, wraith(true)]), false); +}); + +test("Disable stock launcher stays off until the picked app is Home or stock is in the way", () => { + const launchers = [stock(true), wraith(true), row(PROJECTIVY)]; + const gate = (over) => + view.stockDisableGate({ launchers, choice: PROJECTIVY, currentPkg: STOCK, stockHoldsHomeFor: null, ...over }); + + assert.equal(gate({ choice: "" }).allowed, false); + assert.match(gate({}).reason, /Set the app as Home first/); + assert.equal(gate({ currentPkg: PROJECTIVY }).allowed, true); + assert.equal(gate({ stockHoldsHomeFor: PROJECTIVY }).allowed, true); + // A stock_holds_home answer for a different app does not carry over. + assert.equal(gate({ stockHoldsHomeFor: "com.other" }).allowed, false); + assert.match(gate({ choice: STOCK, currentPkg: STOCK }).reason, /not the stock launcher/); + assert.match(gate({ choice: WRAITH, currentPkg: WRAITH }).reason, /setup helper/); + assert.match( + view.stockDisableGate({ launchers: [stock(false), row(PROJECTIVY)], choice: PROJECTIVY, currentPkg: PROJECTIVY, stockHoldsHomeFor: null }).reason, + /No enabled stock launcher/, + ); +}); + +test("the stock-disable message never claims what wasn't verified or re-read", () => { + const ok = { ok: true, last_error: null }; + assert.match(view.stockDisableMessage(ok, PROJECTIVY, true, "off"), /Setup Wraith\) was turned off too/); + // Predicted off, but the re-read failed: say nothing about it. + assert.doesNotMatch(view.stockDisableMessage(ok, PROJECTIVY, true, null), /Wraith/); + // Predicted off, re-read says it is still on. + assert.match(view.stockDisableMessage(ok, PROJECTIVY, true, "risk"), /still reads as on/); + assert.equal( + view.stockDisableMessage({ ok: false, last_error: "Refusing to disable x." }, PROJECTIVY, true, "off"), + "Refusing to disable x.", + ); + assert.equal(view.stockDisableMessage({ ok: false, last_error: null }, PROJECTIVY, false, null), "The stock launcher was left alone."); +}); + +test("picker rows hide system apps, search name and package, dedupe and sort", () => { + const rows = [ + { package: "b.user", name: "Zeta", system: false, enabled: true }, + { package: "a.user", name: null, system: false, enabled: true }, + { package: "b.user", name: "Zeta dup", system: false, enabled: true }, + { package: "c.sys", name: "Alpha Settings", system: true, enabled: false }, + ]; + assert.deepEqual(view.filterHomeCandidates(rows, "", false).map((p) => p.package), ["a.user", "b.user"]); + assert.deepEqual(view.filterHomeCandidates(rows, "", true).map((p) => p.package), ["a.user", "c.sys", "b.user"]); + assert.deepEqual(view.filterHomeCandidates(rows, "ZETA", false).map((p) => p.package), ["b.user"]); + assert.deepEqual(view.filterHomeCandidates(rows, "c.sy", false), []); +}); + +test("source site links are offered only for http(s) URLs", () => { + assert.equal(view.sourceSiteHost("https://www.projectivy.app/download"), "projectivy.app"); + assert.equal(view.sourceSiteHost("http://example.org"), "example.org"); + assert.equal(view.sourceSiteHost("javascript:alert(1)"), null); + assert.equal(view.sourceSiteHost("not a url"), null); + assert.equal(view.sourceSiteHost(null), null); +}); + +// ---- screen ---- + +async function open(t, setup = {}) { + const page = await browser.newPage({ viewport: { width: 384, height: 812 } }); + t.after(() => page.close()); + if (setup.clock) await page.clock.install(); + await page.addInitScript((init) => { + window.calls = []; + window.handlers = {}; + window.copied = []; + Object.defineProperty(navigator, "clipboard", { + configurable: true, + value: { writeText: async (text) => { window.copied.push(text); } }, + }); + window.launchers = init.launchers; + window.current = init.current; + window.packageRows = [ + { package: "com.spocky.projengmenu", name: "Projectivy", system: false, enabled: true }, + { package: "com.example.player", name: "Some Player", system: false, enabled: true }, + { package: "com.android.settings", name: "Settings", system: true, enabled: true }, + ]; + let callbackId = 0; + window.__TAURI_INTERNALS__ = { + // set_default_launcher passes a progress Channel. + transformCallback: () => ++callbackId, + invoke: async (command, args) => { + window.calls.push({ command, args }); + if (window.handlers[command]) return window.handlers[command](args); + switch (command) { + case "get_entitlement": return "pro"; + case "list_devices": return [{ + id: 1, serial: "A:5555", name: "A", model: "Chromecast", status: "device", + connection: "network", device_type: "google_tv", properties: null, + }]; + case "wireless_status": return { connected: true }; + case "wireless_connect": return { ok: true, message: "connected" }; + case "list_launchers": return structuredClone(window.launchers); + case "current_launcher": return { package: window.current, activity: null }; + case "channel_provider_disabled": return false; + case "list_installed_packages": return window.packageRows; + default: return { ok: true, message: "done" }; + } + }, + }; + }, setup); + await page.goto(origin); + await page.evaluate(async () => { + const { session } = await import("/src/lib/session.svelte.ts"); + const { router } = await import("/src/lib/router.svelte.ts"); + window.session = session; + session.entitlement = "pro"; + await session.connect("A", 5555); + router.reset("dashboard"); + router.navigate("launcher"); + }); + await page.getByRole("heading", { name: "Launcher" }).waitFor(); + await page.getByText("Available launchers").waitFor(); + return page; +} + +const count = (page, command) => + page.evaluate((c) => window.calls.filter((call) => call.command === c).length, command); + +test("Setup Wraith on with stock off warns and turns it off, then re-reads the TV", async (t) => { + const page = await open(t, { + launchers: [stock(false), wraith(true), row(PROJECTIVY, { entry: { name: "Projectivy" } })], + current: PROJECTIVY, + }); + const card = page.locator('[data-setup-helper="risk"]'); + await card.getByText("on while the stock launcher is off. It will likely grab the Home button").waitFor(); + const before = await count(page, "list_launchers"); + + await page.evaluate((w) => { + window.handlers.disable_setup_helper = () => { + window.launchers = window.launchers.map((l) => (l.entry.package === w ? { ...l, enabled: false } : l)); + return { ok: true, message: "Setup Wraith is off." }; + }; + }, WRAITH); + await card.getByRole("button", { name: "Turn it off" }).click(); + await page.locator('[data-setup-helper="off"]').getByRole("button", { name: "Re-enable Setup Wraith" }).waitFor(); + + const call = await page.evaluate(() => window.calls.find((c) => c.command === "disable_setup_helper")); + assert.deepEqual(call.args, { serial: "A:5555", package: WRAITH }); + assert.ok((await count(page, "list_launchers")) > before); +}); + +test("Setup Wraith off offers Re-enable through enable_package", async (t) => { + const page = await open(t, { + launchers: [stock(false), wraith(false), row(PROJECTIVY, { entry: { name: "Projectivy" } })], + current: PROJECTIVY, + }); + await page.getByText(/Setup Wraith is off\. Turn this back on if Google asks you to sign in again/).waitFor(); + await page.getByRole("button", { name: "Re-enable Setup Wraith" }).click(); + await page.getByText("Setup Wraith is back on.").waitFor(); + const call = await page.evaluate(() => window.calls.find((c) => c.command === "enable_package")); + assert.deepEqual(call.args, { serial: "A:5555", package: WRAITH }); +}); + +test("a not-ok default switch re-reads the TV and offers its diagnostics", async (t) => { + const page = await open(t, { + launchers: [stock(true), wraith(true), row(PROJECTIVY, { entry: { name: "Projectivy" } })], + current: STOCK, + }); + await page.evaluate(() => { + window.handlers.set_default_launcher = () => ({ + ok: false, + strategy: null, + current_launcher: null, + last_error: "The TV kept Google TV Home as Home.", + stock_takeover_available: false, + diagnostics: ["cmd role add-role-holder -> ok", "verify -> still stock"], + }); + }); + const before = await count(page, "list_launchers"); + await page.locator(".launcher-row", { hasText: "Projectivy" }).getByRole("button", { name: /Set default/ }).click(); + await page.locator(".action-note").getByText("The TV kept Google TV Home as Home.").waitFor(); + assert.ok((await count(page, "list_launchers")) > before, "launcher state is re-read after a not-ok result"); + + await page.getByRole("button", { name: "Copy diagnostic details" }).first().click(); + await page.getByRole("button", { name: "Copied" }).waitFor(); + assert.deepEqual(await page.evaluate(() => window.copied), [ + "cmd role add-role-holder -> ok\nverify -> still stock", + ]); +}); + +test("set any app as Home reports Android's answer, then unlocks the separate stock step", async (t) => { + const page = await open(t, { + launchers: [stock(true), wraith(true)], + current: STOCK, + }); + await page.getByRole("button", { name: /Advanced: set another app as Home/ }).click(); + const disableStock = page.getByRole("button", { name: /Disable stock launcher/ }); + assert.equal(await disableStock.isDisabled(), true); + + await page.getByRole("button", { name: "Choose an app" }).click(); + await page.getByRole("button", { name: /Choose Projectivy/ }).click(); + await page.getByText(/Set the app as Home first/).waitFor(); + assert.equal(await disableStock.isDisabled(), true); + + const message = + 'Android took the request, but the stock launcher still holds Home. On this TV only disabling the stock launcher hands Home over; that is the separate "Disable stock launcher" step. Nothing was disabled. Home is still ' + + STOCK + "."; + await page.evaluate((m) => { + window.handlers.set_home_any = () => ({ + ok: false, + current_launcher: "com.google.android.apps.tv.launcherx", + declares_home: true, + stock_holds_home: true, + message: m, + diagnostics: ["pm enable -> ok"], + }); + }, message); + await page.getByRole("button", { name: /Set as Home/ }).click(); + const result = page.locator(".adv-result"); + await result.getByText(/stock launcher still holds Home/).waitFor(); + assert.equal(await result.evaluate((el) => el.classList.contains("ok")), false, "not-ok is never styled as success"); + const setCall = await page.evaluate(() => window.calls.find((c) => c.command === "set_home_any")); + assert.deepEqual(setCall.args, { serial: "A:5555", package: PROJECTIVY, activity: null }); + // set_home_any must never disable anything on its own. + assert.equal(await count(page, "disable_stock_launcher"), 0); + assert.equal(await disableStock.isDisabled(), false); + + await page.evaluate(() => { + window.handlers.disable_stock_launcher = () => ({ + ok: false, + strategy: null, + current_launcher: null, + last_error: "Refusing to disable it: it's the only enabled launcher left on this device. Nothing was disabled.", + stock_takeover_available: false, + diagnostics: ["query-activities HOME -> x"], + }); + }); + const before = await count(page, "list_launchers"); + await disableStock.click(); + const dialog = page.getByRole("alertdialog", { name: "Confirm disabling the stock launcher" }); + await dialog.getByText(/Also turns off Google TV's setup helper/).waitFor(); + await dialog.getByRole("button", { name: "Disable stock launcher" }).click(); + await result.getByText(/only enabled launcher left/).waitFor(); + const stockCall = await page.evaluate(() => window.calls.find((c) => c.command === "disable_stock_launcher")); + assert.deepEqual(stockCall.args, { serial: "A:5555", target: PROJECTIVY }); + assert.ok((await count(page, "list_launchers")) > before); + await page.locator(".adv").getByRole("button", { name: "Copy diagnostic details" }).waitFor(); +}); + +test("Save snapshot first leaves stock alone when the snapshot fails", async (t) => { + const page = await open(t, { launchers: [stock(true)], current: PROJECTIVY }); + await page.getByRole("button", { name: /Advanced: set another app as Home/ }).click(); + await page.getByRole("button", { name: "Choose an app" }).click(); + await page.getByRole("button", { name: /Choose Projectivy/ }).click(); + await page.evaluate(() => { + window.handlers.save_snapshot = () => { throw "disk full"; }; + }); + await page.getByRole("button", { name: /Disable stock launcher/ }).click(); + await page.getByRole("button", { name: "Save snapshot first" }).click(); + await page.getByText(/The snapshot wasn't saved, so the stock launcher was left alone/).waitFor(); + assert.equal(await count(page, "disable_stock_launcher"), 0); +}); + +test("a locked Set as Home opens the paywall and calls nothing else", async (t) => { + const page = await open(t, { launchers: [stock(true)], current: STOCK }); + await page.getByRole("button", { name: /Advanced: set another app as Home/ }).click(); + await page.getByRole("button", { name: "Choose an app" }).click(); + await page.getByRole("button", { name: /Choose Projectivy/ }).click(); + await page.evaluate(() => { + window.handlers.set_home_any = () => { throw "LOCKED:launcher_takeover"; }; + }); + await page.getByRole("button", { name: /Set as Home/ }).click(); + await page.getByRole("heading", { name: "Unlock ATV Optimizer Pro" }).waitFor(); + assert.equal(await page.locator(".adv-result").count(), 0); +}); + +test("source site copies the launcher's page link instead of navigating the app", async (t) => { + const page = await open(t, { + launchers: [ + stock(true), + row(FLAUNCHER, { installed: false, enabled: false, entry: { name: "FLauncher", source_url: "https://gitlab.com/flauncher/flauncher" } }), + ], + current: STOCK, + }); + await page.getByRole("button", { name: /Source site for FLauncher \(gitlab\.com\)/ }).click(); + await page.getByText(/Copied the gitlab\.com link for FLauncher/).waitFor(); + assert.deepEqual(await page.evaluate(() => window.copied), ["https://gitlab.com/flauncher/flauncher"]); + assert.equal(new URL(page.url()).origin, origin); +}); + +test("after opening the Play Store the list re-reads until the launcher is installed", async (t) => { + const page = await open(t, { + clock: true, + launchers: [ + stock(true), + row(FLAUNCHER, { installed: false, enabled: false, entry: { name: "FLauncher" } }), + ], + current: STOCK, + }); + await page.locator(".launcher-row", { hasText: "FLauncher" }).getByRole("button", { name: "Install" }).click(); + await page.getByText(/Checking for FLauncher every few seconds/).waitFor(); + const call = await page.evaluate(() => window.calls.find((c) => c.command === "open_play_store")); + assert.deepEqual(call.args, { serial: "A:5555", package: FLAUNCHER }); + + await page.evaluate((pkg) => { + window.launchers = window.launchers.map((l) => (l.entry.package === pkg ? { ...l, installed: true, enabled: true } : l)); + }, FLAUNCHER); + await page.clock.runFor(5_100); + await page.getByText("FLauncher is installed.").waitFor(); + assert.equal(await page.getByText(/Checking for FLauncher/).count(), 0); +}); From 4e054c18852d16ab3e666e4e062485c3c17a82c1 Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Tue, 6 Oct 2026 15:11:35 -0500 Subject: [PATCH 04/48] Mobile Files: app-backup finder and TV-side delete, shared with desktop Move the file-manager guards and the device-side find/delete into core (commands::files) so desktop and mobile apply the same /sdcard confinement, protected-path refusal and pattern validation. Desktop's commands now wrap the shared implementation; mobile registers find_files and an always /sdcard-confined delete_path. find now ends with a completion marker. A missing directory makes find exit nonzero, which the desktop driver turned into an error, so a SmartTube user with only one of the three backup folders was told the others "couldn't be searched". Only a failed call or a stream without the marker is reported as unsearched now (#86), on both drivers. The mobile Files screen reads desktop's app-files catalog in place, shows "Find app backups" with copy-to-phone and open-folder for each hit, keeps a failed search distinct from no matches, and deletes files or folders under /sdcard behind a confirmation bound to the TV it was raised on. --- v2/crates/core/src/commands/files.rs | 388 +++++++++++++++++++++++ v2/crates/core/src/commands/mod.rs | 1 + v2/mobile/FEATURES.md | 2 +- v2/mobile/HANDOFF.md | 3 +- v2/mobile/src-tauri/src/file_commands.rs | 30 ++ v2/mobile/src-tauri/src/lib.rs | 2 + v2/mobile/src/lib/api.ts | 9 + v2/mobile/src/lib/appFiles.ts | 56 ++++ v2/mobile/src/lib/types.ts | 8 + v2/mobile/src/screens/Files.svelte | 371 ++++++++++++++++++++-- v2/mobile/tests/files.test.mjs | 247 +++++++++++++++ v2/src-tauri/src/commands/files.rs | 197 +----------- 12 files changed, 1101 insertions(+), 213 deletions(-) create mode 100644 v2/crates/core/src/commands/files.rs create mode 100644 v2/mobile/src/lib/appFiles.ts create mode 100644 v2/mobile/tests/files.test.mjs diff --git a/v2/crates/core/src/commands/files.rs b/v2/crates/core/src/commands/files.rs new file mode 100644 index 00000000..a0bfc650 --- /dev/null +++ b/v2/crates/core/src/commands/files.rs @@ -0,0 +1,388 @@ +//! File-manager guards and device-side file operations shared by desktop and +//! mobile. Both apps wrap these in their own Tauri commands because the local +//! side differs (a host folder on desktop, app-private storage on a phone), +//! but the device-side rules — what may be touched and how a search failure is +//! reported — must not drift between them. + +use serde::Serialize; + +use crate::adb::AdbDriver; +use crate::commands::apps::ActionResult; +use crate::commands::quote_shell_arg; + +/// Validate a device path for file-manager use. Always absolute, no `..` +/// traversal, no control characters (they'd corrupt the shell line even +/// quoted). When `allow_system` is false the path must also live under +/// `/sdcard`; power-user mode lifts only that boundary — the injection guards +/// stay. Returns the trimmed path. +pub fn validate_device_path(path: &str, allow_system: bool) -> Result { + let p = path.trim(); + if !p.starts_with('/') { + return Err(format!("Path must be absolute: {p:?}")); + } + if p.split('/').any(|seg| seg == "..") { + return Err("Path traversal (`..`) is not allowed.".to_string()); + } + if p.chars().any(|c| c.is_control()) { + return Err("Path contains control characters.".to_string()); + } + if !allow_system && p != "/sdcard" && !p.starts_with("/sdcard/") { + return Err(format!("Path must be under /sdcard: {p:?}")); + } + Ok(p.to_string()) +} + +/// `/sdcard`-confined validation — for the paths that are user-storage only by +/// design (the device-to-device copy and the backup finder). +pub fn validate_sdcard_path(path: &str) -> Result { + validate_device_path(path, false) +} + +/// Refuse deleting the filesystem root, `/sdcard` itself, or a critical system +/// mount even in power-user mode — a recursive delete there could brick the +/// device. Subpaths are the user's call (and mostly permission-denied without +/// root). Returns the refusal message, or `None` if the path is deletable. +pub fn protected_delete_reason(path: &str) -> Option { + let trimmed = path.trim_end_matches('/'); + if trimmed == "/sdcard" { + return Some("Refusing to delete /sdcard itself.".to_string()); + } + const PROTECTED: &[&str] = &[ + "", "/system", "/data", "/vendor", "/proc", "/sys", "/dev", "/boot", "/init", "/sbin", + "/bin", "/etc", + ]; + if PROTECTED.contains(&trimmed) { + return Some(format!( + "Refusing to delete a protected system path: {path}" + )); + } + None +} + +/// Remove a file or directory (recursively). Confined to `/sdcard` unless +/// `allow_system` (desktop power-user mode) is set; callers confirm with the +/// user first, and `protected_delete_reason` still blocks catastrophic +/// targets. +pub async fn delete_path_with( + adb: &dyn AdbDriver, + serial: &str, + path: &str, + allow_system: bool, +) -> Result { + let path = validate_device_path(path, allow_system)?; + if let Some(reason) = protected_delete_reason(&path) { + return Err(reason); + } + let out = adb + .shell(serial, &format!("rm -rf {}", quote_shell_arg(&path))) + .await + .map_err(|e| format!("rm: {e}"))?; + let noise = out.combined().trim().to_string(); + // The desktop driver turns a nonzero exit into an error above; the mobile + // transport hands it back as data, so it is checked here too. + let exited_cleanly = matches!(out.exit_code, None | Some(0)); + if noise.is_empty() && exited_cleanly { + Ok(ActionResult { + ok: true, + message: format!("Deleted {path}."), + }) + } else if noise.is_empty() { + Ok(ActionResult { + ok: false, + message: format!("The TV did not confirm that {path} was deleted."), + }) + } else { + Ok(ActionResult { + ok: false, + message: noise, + }) + } +} + +/// Filename patterns for `find -name`: glob stars and dots only — no slashes, +/// quotes, or anything the shell could reinterpret. +pub fn validate_find_pattern(pattern: &str) -> Result<(), String> { + let ok = !pattern.is_empty() + && pattern.len() <= 64 + && pattern + .chars() + .all(|c| c.is_ascii_alphanumeric() || matches!(c, '*' | '.' | '_' | '-')); + if ok { + Ok(()) + } else { + Err(format!("Invalid search pattern: {pattern:?}")) + } +} + +/// Most hits one search returns. +pub const MAX_FIND_HITS: usize = 100; + +/// Printed after `find` finishes. Its presence is the only proof the search +/// ran to the end: a missing directory makes `find` exit nonzero (which the +/// desktop driver reports as an error, indistinguishable from a dropped +/// connection), while a cut-off stream produces partial output with no error +/// at all. +const FIND_DONE: &str = "__ATVOPT_FIND_DONE__"; + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +pub struct FindResult { + /// Matching file paths, capped at [`MAX_FIND_HITS`]. + pub hits: Vec, + /// Directories the search could not be run against at all, because the ADB + /// call itself failed. A directory that simply does not exist is *not* + /// listed here — that is a real "no matches". Without this split, a + /// dropped connection rendered as "export from the app first", telling the + /// user to redo something that had worked (GitHub #86). + pub unsearched: Vec, +} + +/// Locate files matching a name pattern under one or more `/sdcard` +/// directories. Powers the app-backup finder (e.g. Projectivy's `*.plbackup` +/// exports land wherever the user's file picker put them). +pub async fn find_files_with( + adb: &dyn AdbDriver, + serial: &str, + dirs: &[String], + pattern: &str, +) -> Result { + validate_find_pattern(pattern)?; + let dirs = dirs + .iter() + .map(|dir| validate_sdcard_path(dir)) + .collect::, _>>()?; + let mut hits: Vec = Vec::new(); + let mut unsearched = Vec::new(); + for dir in dirs { + // A missing directory or a permission denial is expected for some + // candidates, and `find` reports those on stderr — suppress them, since + // an empty result is the honest answer. The trailing marker keeps the + // exit status 0 and proves the search completed. + let cmd = format!( + "find {} -maxdepth 4 -type f -name '{pattern}' 2>/dev/null; echo {FIND_DONE}", + quote_shell_arg(&dir) + ); + let out = match adb.shell(serial, &cmd).await { + Ok(out) if out.stdout.lines().any(|line| line.trim() == FIND_DONE) => out, + _ => { + unsearched.push(dir); + continue; + } + }; + for line in out.stdout.lines() { + if hits.len() >= MAX_FIND_HITS { + break; + } + let line = line.trim(); + if line.starts_with("/sdcard/") && !hits.iter().any(|h| h == line) { + hits.push(line.to_string()); + } + } + } + Ok(FindResult { hits, unsearched }) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::commands::test_support::MockAdb; + use pretty_assertions::assert_eq; + + fn dirs(list: &[&str]) -> Vec { + list.iter().map(|s| s.to_string()).collect() + } + + #[test] + fn find_patterns_validated() { + assert!(validate_find_pattern("*.plbackup").is_ok()); + assert!(validate_find_pattern("backup_*.zip").is_ok()); + assert!(validate_find_pattern("a/b").is_err()); + assert!(validate_find_pattern("x'y").is_err()); + assert!(validate_find_pattern("").is_err()); + assert!(validate_find_pattern(&"x".repeat(65)).is_err()); + } + + #[test] + fn accepts_sdcard_paths() { + assert_eq!(validate_sdcard_path("/sdcard").unwrap(), "/sdcard"); + assert_eq!( + validate_sdcard_path("/sdcard/Download/file 1.mp4").unwrap(), + "/sdcard/Download/file 1.mp4" + ); + } + + #[test] + fn rejects_escapes_and_system_paths() { + assert!(validate_sdcard_path("/data/data/com.x").is_err()); + assert!(validate_sdcard_path("/sdcard/../data").is_err()); + assert!(validate_sdcard_path("/sdcardX/evil").is_err()); + assert!(validate_sdcard_path("/sdcard/a\nb").is_err()); + assert!(validate_sdcard_path("/storage/emulated/0/x").is_err()); + assert!(validate_sdcard_path("").is_err()); + } + + #[test] + fn power_user_mode_allows_system_paths_but_keeps_injection_guards() { + assert!(validate_device_path("/system/app", false).is_err()); + assert_eq!( + validate_device_path("/system/app", true).unwrap(), + "/system/app" + ); + assert_eq!(validate_device_path("/", true).unwrap(), "/"); + assert!(validate_device_path("/system/../x", true).is_err()); + assert!(validate_device_path("/system/a\nb", true).is_err()); + assert!(validate_device_path("relative/path", true).is_err()); + } + + #[test] + fn protected_paths_are_never_deletable() { + for p in [ + "/", "/system", "/data", "/vendor", "/sdcard", "/system/", "/sdcard/", + ] { + assert!(protected_delete_reason(p).is_some(), "{p} must be refused"); + } + assert!(protected_delete_reason("/sdcard/Download/old.zip").is_none()); + assert!(protected_delete_reason("/system/app/Bloat/Bloat.apk").is_none()); + } + + const SMARTTUBE_DIRS: &[&str] = &[ + "/sdcard/Documents/SmartTubeBackup", + "/sdcard/SmartTubeBackup", + "/sdcard/Android/data/com.teamsmart.videomanager.tv", + ]; + + #[tokio::test] + async fn missing_directories_are_no_matches_not_unsearched() { + let hit = "/sdcard/Documents/SmartTubeBackup/org.smarttube.stable_1.zip"; + let mock = MockAdb::default() + .on_shell( + "'/sdcard/Documents/SmartTubeBackup'", + &format!("{hit}\n{FIND_DONE}\n"), + ) + // `find` printed nothing for a directory that isn't there, but the + // marker still ran — that is an honest empty search. + .on_shell("'/sdcard/SmartTubeBackup'", &format!("{FIND_DONE}\n")) + .on_shell("'/sdcard/Android/data/", &format!("{FIND_DONE}\n")); + let log = mock.shell_log(); + let result = find_files_with(&mock, "tv", &dirs(SMARTTUBE_DIRS), "*.zip") + .await + .unwrap(); + assert_eq!( + result, + FindResult { + hits: vec![hit.to_string()], + unsearched: vec![], + } + ); + let log = log.lock().unwrap(); + assert_eq!(log.len(), 3); + assert!(log[0].contains("-name '*.zip'")); + } + + #[tokio::test] + async fn a_failed_call_or_a_cut_off_stream_is_unsearched() { + let mock = MockAdb::default() + .on_shell_err("'/sdcard/Documents/SmartTubeBackup'", "device offline") + // Output without the completion marker: the stream ended early. + .on_shell( + "'/sdcard/SmartTubeBackup'", + "/sdcard/SmartTubeBackup/partial.zip\n", + ) + .on_shell("'/sdcard/Android/data/", &format!("{FIND_DONE}\n")); + let result = find_files_with(&mock, "tv", &dirs(SMARTTUBE_DIRS), "*.zip") + .await + .unwrap(); + assert!(result.hits.is_empty()); + assert_eq!( + result.unsearched, + dirs(&SMARTTUBE_DIRS[..2]), + "a search that never finished must not read as no matches" + ); + } + + #[tokio::test] + async fn find_rejects_bad_dirs_before_touching_the_device() { + let mock = MockAdb::default(); + let log = mock.shell_log(); + assert!( + find_files_with(&mock, "tv", &dirs(&["/sdcard/ok", "/data"]), "*.zip") + .await + .is_err() + ); + assert!( + find_files_with(&mock, "tv", &dirs(&["/sdcard"]), "*.zip'; rm") + .await + .is_err() + ); + assert!(log.lock().unwrap().is_empty()); + } + + #[tokio::test] + async fn hits_are_capped_and_deduplicated() { + let mut many: String = (0..150) + .map(|i| format!("/sdcard/Download/f{i}.zip\n")) + .collect(); + many.push_str("/sdcard/Download/f0.zip\n"); + many.push_str(FIND_DONE); + let mock = MockAdb::default().on_shell("find", &many); + let result = find_files_with( + &mock, + "tv", + &dirs(&["/sdcard/Download", "/sdcard"]), + "*.zip", + ) + .await + .unwrap(); + assert_eq!(result.hits.len(), MAX_FIND_HITS); + assert!(result.unsearched.is_empty()); + } + + #[tokio::test] + async fn delete_is_confined_and_quoted() { + let mock = MockAdb::default(); + let log = mock.shell_log(); + for bad in [ + "/sdcard", + "/sdcard/", + "/sdcard/../data", + "/data/local/tmp/x", + "/storage/emulated/0/x", + "relative", + "/sdcard/a\nb", + ] { + assert!( + delete_path_with(&mock, "tv", bad, false).await.is_err(), + "{bad:?} must be refused" + ); + } + assert!(log.lock().unwrap().is_empty()); + + let r = delete_path_with(&mock, "tv", "/sdcard/Download/it's.zip", false) + .await + .unwrap(); + assert!(r.ok, "{}", r.message); + assert_eq!( + log.lock().unwrap().as_slice(), + [r"rm -rf '/sdcard/Download/it'\''s.zip'".to_string()] + ); + } + + #[tokio::test] + async fn delete_reports_device_side_failures() { + let mock = MockAdb::default() + .on_shell("noisy", "rm: /sdcard/noisy: Permission denied") + .on_shell_exit("silent", "", 1) + .on_shell_err("gone", "device offline"); + let noisy = delete_path_with(&mock, "tv", "/sdcard/noisy", false) + .await + .unwrap(); + assert!(!noisy.ok); + assert!(noisy.message.contains("Permission denied")); + let silent = delete_path_with(&mock, "tv", "/sdcard/silent", false) + .await + .unwrap(); + assert!(!silent.ok); + assert!(delete_path_with(&mock, "tv", "/sdcard/gone", false) + .await + .is_err()); + } +} diff --git a/v2/crates/core/src/commands/mod.rs b/v2/crates/core/src/commands/mod.rs index d0048209..3329aa87 100644 --- a/v2/crates/core/src/commands/mod.rs +++ b/v2/crates/core/src/commands/mod.rs @@ -5,6 +5,7 @@ pub mod apps; pub mod devices; +pub mod files; pub mod health; pub mod home_tracking; pub mod input; diff --git a/v2/mobile/FEATURES.md b/v2/mobile/FEATURES.md index 5c01057c..b5599975 100644 --- a/v2/mobile/FEATURES.md +++ b/v2/mobile/FEATURES.md @@ -47,7 +47,7 @@ registered on mobile yet. **Todo** = no mobile screen exists for this at all. | 6.2 | More / Settings | `wireless_disconnect`, `find_remote`; license/entitlement state (no desktop equivalent — desktop is always Pro) | Free (screen itself); gates Pro features | **Partial** | `More.svelte` fakes Pro status by string-matching the literal text `"pro"` in a license-key input (`licenseStatus = "Pro Unlocked"` if `licenseKey.trim().toLowerCase() === "pro"`) — a placeholder comment even says "Since license logic isn't fully compiled into Rust core yet". Entitlement is never actually read from the backend (`AppState::with_entitlement`). | | 6.3 | Pro paywall | Same entitlement concept as above — no desktop equivalent (desktop ships as Pro unconditionally) | Pro (marketing surface) | **Todo** | No dedicated paywall screen; the "Pro" upsell is inline copy inside `More.svelte`. The design's dedicated paywall (lifetime license, Ko-fi tip, feature bullets) is unbuilt. | | 7.1 | Devices hub | `list_devices`, `report_all`, `rename_device` — multi-device management, `Feature::MultiDevice` (enum exists, no call site wired yet on desktop or mobile) | Pro (per design) | **Todo** | Mobile has no multi-device concept at all — one connected device, no saved-device list, no `report_all` roll-up. Overlaps with 1.0's saved-TV persistence gap. | -| 7.2 | File transfer | `list_dir`, `pull_file`, `push_file`, `delete_path`, `find_files`, `copy_file_to_device` — desktop-only, live in `v2/src-tauri` (not shared core), `Feature::FileManager` (enum exists, unwired) | Pro (per design) | **Todo — needs Android SAF** | None of these commands exist in `v2/crates/core`; they're desktop-only Rust using local filesystem paths. Mobile has no filesystem access model — porting requires Android Storage Access Framework (SAF) document-tree APIs via the Kotlin plugin, a materially different implementation, not a straight port. | +| 7.2 | File transfer | Mobile: `list_remote_dir`, `pull_file` (into app storage), `find_files` + `delete_path` (shared `crates/core/src/commands/files.rs`, `/sdcard`-confined exactly as desktop); desktop-only: `push_file`, `copy_file_to_device`. `Feature::FileManager` (enum exists, unwired) | Pro (per design) | **Partial** | `Files.svelte` browses, copies to app storage, deletes under `/sdcard` with a confirmation, and runs desktop's app-files catalog (`v2/src/lib/app-files-catalog.json`, read in place) with failed searches kept distinct from "no matches" (#86). Upload from the phone and export out of app storage still need an Android SAF picker. | | 7.3 | Backups + Google Drive | Overlaps with 5.2 Snapshots (`save_snapshot`/`list_snapshots`) plus new ground: Google Drive upload/restore, cross-device "this phone" backup destination | Pro | **Todo** | Snapshot backend exists (see 5.2) but is unused on mobile; Google Drive integration doesn't exist anywhere in the codebase (desktop or mobile) — net-new scope, not a port. | | 8.1 | App detail sheet | `safety_info`, `app_memory_map`/`app_usage_map`, then the same disable/uninstall/keep actions as 4.1 | Mixed (view free, destructive actions Pro) | **Todo** | No bottom-sheet/detail view component exists on mobile; `Apps.svelte` only supports a flat list with inline actions. | | 8.2 | Risk & actions guide | `safety_info` (drives Safe/Blocked/Protected tiers); static "disable vs uninstall" explainer copy | Free | **Todo** | No standalone guide screen; `Diagnostics.svelte`'s inline `getSafetyTag` reimplementation (see 2.2/F5) is the closest thing, and it doesn't call `safety_info` at all. | diff --git a/v2/mobile/HANDOFF.md b/v2/mobile/HANDOFF.md index 13c018bb..e71f827a 100644 --- a/v2/mobile/HANDOFF.md +++ b/v2/mobile/HANDOFF.md @@ -283,7 +283,8 @@ aarch64-Android; the clean APK has **zero GPL native libs** (only our `libatv_op `screens/*.svelte` (14), `components/*.svelte` (8), `app.css` (design tokens + offline @font-face). - `v2/mobile/src-tauri/src/` — mobile Tauri app: `lib.rs` (builder + `generate_handler!`), `wireless_adb.rs` (adb_client transport = `AdbDriver`), `wireless_commands.rs` (wireless_*), - `file_commands.rs` (list_remote_dir/pull_file/backup_apk/list_backups/restore_apk_backup/delete_backup). + `file_commands.rs` (list_remote_dir/pull_file/find_files/delete_path/backup_apk/list_backups/ + restore_apk_backup/delete_backup; find/delete wrap the shared `crates/core` `commands::files`). - `v2/mobile/tauri-plugin-atv-adb/` — mDNS discovery plugin (Kotlin NsdManager + thin Rust). - `v2/vendor/adb_client/` — vendored MIT transport; `SHIELD-OPTIMIZER-PATCH.md` lists every local change (raw service stream, finite timeouts, stray-stream tolerance, `tcp/pairing/`). diff --git a/v2/mobile/src-tauri/src/file_commands.rs b/v2/mobile/src-tauri/src/file_commands.rs index 0a7b7aa1..b7a6b463 100644 --- a/v2/mobile/src-tauri/src/file_commands.rs +++ b/v2/mobile/src-tauri/src/file_commands.rs @@ -9,6 +9,9 @@ //! app-private writes. //! - **push** would need a SAF document picker to reach a user-chosen source //! file; that is a documented follow-up and not implemented here. +//! - **find** and **delete** are the shared core implementations +//! (`commands::files`), `/sdcard`-confined exactly as on desktop. Mobile has +//! no power-user mode, so the system-path override is never offered. //! //! All device I/O rides the shared `AdbDriver` seam (shell + `raw_transfer`), //! keeping `crates/core/engine` pure. The transfer itself is implemented by @@ -19,6 +22,7 @@ use std::path::{Path, PathBuf}; use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use shield_optimizer_core::adb::{parse_ls_output, FileEntry}; +use shield_optimizer_core::commands::files::{delete_path_with, find_files_with, FindResult}; use shield_optimizer_core::commands::{apps::ActionResult, AppState}; use tauri::State; @@ -582,6 +586,32 @@ pub async fn list_backups(state: State<'_, AppState>) -> Result Ok(out) } +/// `find_files` — the app-files catalog search (SmartTube backups, Projectivy +/// exports, …). Directories whose search could not run come back in +/// `unsearched` so the UI never reports them as "no matches" (GitHub #86). +#[tauri::command] +pub async fn find_files( + state: State<'_, AppState>, + serial: String, + dirs: Vec, + pattern: String, +) -> Result { + let adb = state.adb_snapshot().await; + find_files_with(adb.as_ref(), &serial, &dirs, &pattern).await +} + +/// `delete_path` — delete a file or folder on the TV. Always `/sdcard`-confined +/// with `/sdcard` itself refused; the screen confirms before calling. +#[tauri::command] +pub async fn delete_path( + state: State<'_, AppState>, + serial: String, + path: String, +) -> Result { + let adb = state.adb_snapshot().await; + delete_path_with(adb.as_ref(), &serial, &path, false).await +} + /// Format a file's last-modified time as ISO-8601 UTC, or empty on error. fn file_modified_iso(meta: &std::fs::Metadata) -> String { meta.modified() diff --git a/v2/mobile/src-tauri/src/lib.rs b/v2/mobile/src-tauri/src/lib.rs index 12ebbf48..a2038e12 100644 --- a/v2/mobile/src-tauri/src/lib.rs +++ b/v2/mobile/src-tauri/src/lib.rs @@ -277,6 +277,8 @@ pub fn run() { file_commands::restore_apk_backup, file_commands::list_backups, file_commands::delete_backup, + file_commands::find_files, + file_commands::delete_path, ]) .build(tauri::generate_context!()) .expect("error while building ATV Optimizer mobile application") diff --git a/v2/mobile/src/lib/api.ts b/v2/mobile/src/lib/api.ts index 497c0826..61b54a6c 100644 --- a/v2/mobile/src/lib/api.ts +++ b/v2/mobile/src/lib/api.ts @@ -57,6 +57,7 @@ import type { TweaksState, WirelessStatus, WriteResult, + FindResult, } from "./types"; type PackageState = "enabled" | "disabled" | "missing"; @@ -290,4 +291,12 @@ export const api = { /// the transport the next press will actually use. remoteWarm: (serial: string) => call("remote_warm", { serial }), + + /// App-files catalog search under /sdcard. Directories that could not be + /// searched come back in `unsearched`, distinct from no matches. + findFiles: (serial: string, dirs: string[], pattern: string) => + call("find_files", { serial, dirs, pattern }), + /// Delete a file or folder on the TV. /sdcard-confined backend-side. + deletePath: (serial: string, path: string) => + call("delete_path", { serial, path }), }; diff --git a/v2/mobile/src/lib/appFiles.ts b/v2/mobile/src/lib/appFiles.ts new file mode 100644 index 00000000..61855028 --- /dev/null +++ b/v2/mobile/src/lib/appFiles.ts @@ -0,0 +1,56 @@ +// App-files finder and TV-side delete rules for the Files screen. Pure, so the +// #86 distinction (a search that could not run is not "no matches") and the +// delete confinement are testable without a device. + +import type { FindResult } from "./types"; +// Single source with desktop's Files tab: read the catalog, don't copy it. +import catalog from "../../../src/lib/app-files-catalog.json"; + +export interface AppFilesEntry { + id: string; + package: string; + name: string; + hint: string; + search_dirs: string[]; + pattern: string; +} + +export const appFilesCatalog: AppFilesEntry[] = catalog; + +export type FindSummary = + | { kind: "found"; hits: string[]; unsearched: string[] } + | { kind: "none" } + | { kind: "unsearched"; unsearched: string[] }; + +/// "none" only when every directory was actually searched and nothing matched. +export function summarizeFind(result: FindResult): FindSummary { + if (result.hits.length > 0) { + return { kind: "found", hits: result.hits, unsearched: result.unsearched }; + } + if (result.unsearched.length > 0) return { kind: "unsearched", unsearched: result.unsearched }; + return { kind: "none" }; +} + +export function unsearchedMessage(dirs: string[]): string { + return `Couldn't search ${dirs.join(", ")} — the TV didn't answer. Check the connection and try again.`; +} + +export const NO_MATCHES_MESSAGE = "No matches — export from the app first, then search again."; + +export function parentDir(path: string): string { + const cut = path.lastIndexOf("/"); + return cut <= 0 ? "/" : path.slice(0, cut); +} + +export function baseName(path: string): string { + return path.slice(path.lastIndexOf("/") + 1); +} + +/// Mirrors the backend guard (crates/core commands::files): a delete target +/// must be strictly inside /sdcard. The backend refuses anything else anyway; +/// this keeps the button off rows it would refuse. +export function canDeleteOnTv(path: string): boolean { + if (!path.startsWith("/sdcard/") || path.length <= "/sdcard/".length) return false; + if (/[\u0000-\u001f\u007f]/.test(path)) return false; + return !path.split("/").some((segment) => segment === ".."); +} diff --git a/v2/mobile/src/lib/types.ts b/v2/mobile/src/lib/types.ts index f368047f..f48fa39e 100644 --- a/v2/mobile/src/lib/types.ts +++ b/v2/mobile/src/lib/types.ts @@ -515,3 +515,11 @@ export interface LicenseInfo { expires: string | null; key_id: number; } + +/// Result of `find_files` (crates/core commands::files::FindResult). +/// `unsearched` lists directories the search could not run against at all — +/// never to be shown as "no matches" (GitHub #86). +export interface FindResult { + hits: string[]; + unsearched: string[]; +} diff --git a/v2/mobile/src/screens/Files.svelte b/v2/mobile/src/screens/Files.svelte index 322791c9..1773b25d 100644 --- a/v2/mobile/src/screens/Files.svelte +++ b/v2/mobile/src/screens/Files.svelte @@ -2,7 +2,18 @@ import { onMount } from "svelte"; import { api } from "../lib/api"; import { session } from "../lib/session.svelte"; - import type { FileEntry, PulledFile } from "../lib/types"; + import type { FileEntry, FindResult, PulledFile } from "../lib/types"; + import { + NO_MATCHES_MESSAGE, + appFilesCatalog, + baseName, + canDeleteOnTv, + parentDir, + summarizeFind, + unsearchedMessage, + type AppFilesEntry, + } from "../lib/appFiles"; + import ConfirmDialog from "../components/ConfirmDialog.svelte"; import FindRemoteButton from "../components/FindRemoteButton.svelte"; import Toast from "../components/Toast.svelte"; @@ -29,6 +40,19 @@ let pulledRemotes = $state>(new Set()); let busyName = $state(""); + // App-files catalog (#86): per-entry search results for the current TV, and + // which entry or found path is busy. + let appResults = $state>({}); + let appBusy = $state(""); + + // A delete waiting on the confirmation dialog. Carries its own serial so a + // TV switch while the dialog is open can't redirect it. + let pendingDelete = $state<{ serial: string; path: string; name: string; isDir: boolean } | null>( + null, + ); + let deleting = $state(false); + let showCatalog = $state(false); + let toast = $state(""); let toastType = $state<"success" | "error" | "info">("info"); let toastTimer: ReturnType | undefined; @@ -78,6 +102,9 @@ pulled = []; pulledRemotes = new Set(); busyName = ""; + appResults = {}; + appBusy = ""; + pendingDelete = null; void load(ROOT); }); @@ -113,8 +140,7 @@ busyName = e.name; try { const file = await api.pullFile(session.serial, remote); - pulled = [file, ...pulled.filter((f) => f.path !== file.path)]; - pulledRemotes = new Set([...pulledRemotes, remote]); + recordPulled(file, remote); showToast(`Copied ${file.name} into this app's storage.`, "success"); } catch (err) { showToast(String(err), "error"); @@ -123,6 +149,78 @@ } } + function recordPulled(file: PulledFile, remote: string) { + pulled = [file, ...pulled.filter((f) => f.path !== file.path)]; + pulledRemotes = new Set([...pulledRemotes, remote]); + } + + async function findAppFiles(entry: AppFilesEntry) { + const serial = session.serial; + if (appBusy || !serial) return; + appBusy = entry.id; + try { + const result = await api.findFiles(serial, entry.search_dirs, entry.pattern); + if (serial !== session.serial) return; + appResults = { ...appResults, [entry.id]: result }; + } catch (err) { + if (serial !== session.serial) return; + // A refused request (or a lost connection) is not a search result — drop + // any older answer rather than leave it looking current. + const { [entry.id]: _dropped, ...rest } = appResults; + appResults = rest; + showToast(String(err), "error"); + } finally { + if (serial === session.serial) appBusy = ""; + } + } + + async function pullFound(remote: string) { + const serial = session.serial; + if (appBusy || busyName || !serial) return; + appBusy = remote; + try { + const file = await api.pullFile(serial, remote); + if (serial !== session.serial) return; + recordPulled(file, remote); + showToast(`Copied ${file.name} into this app's storage.`, "success"); + } catch (err) { + if (serial === session.serial) showToast(String(err), "error"); + } finally { + if (serial === session.serial) appBusy = ""; + } + } + + function askDelete(remote: string, isDir: boolean) { + const serial = session.serial; + if (!serial || deleting || !canDeleteOnTv(remote)) return; + pendingDelete = { serial, path: remote, name: baseName(remote), isDir }; + } + + async function confirmDelete() { + const target = pendingDelete; + pendingDelete = null; + if (!target || deleting) return; + if (target.serial !== session.serial) { + showToast("The TV changed before the delete was confirmed. Nothing was deleted.", "error"); + return; + } + deleting = true; + busyName = target.name; + try { + const r = await api.deletePath(target.serial, target.path); + if (target.serial !== session.serial) return; + showToast(r.message, r.ok ? "success" : "error"); + // Found-file lists may now point at a file that is gone. + appResults = {}; + if (r.ok) await load(loadedPath); + } catch (err) { + if (target.serial === session.serial) showToast(String(err), "error"); + } finally { + deleting = false; + busyName = ""; + } + } + function iconFor(e: FileEntry): string { if (e.is_dir) return "folder"; const n = e.name.toLowerCase(); @@ -173,6 +271,88 @@ + +
+ + {#if showCatalog} +

+ Most apps can export their settings to the TV's storage. Export in the app first, then + find the file here and copy it to this phone. +

+ {#each appFilesCatalog as entry (entry.id)} + {@const result = appResults[entry.id]} + {@const summary = result ? summarizeFind(result) : null} +
+
+
+ {entry.name} + {entry.hint} +
+ +
+ {#if summary} + {#if summary.kind === "unsearched" || (summary.kind === "found" && summary.unsearched.length > 0)} + + + {/if} + {#if summary.kind === "none"} +

{NO_MATCHES_MESSAGE}

+ {:else if summary.kind === "found"} +
+ {#each summary.hits as hit (hit)} +
+ {hit} +
+ + +
+
+ {/each} +
+ {/if} + {/if} +
+ {/each} + {/if} +
+
- {:else} - - {/if} + {@const deletable = canDeleteOnTv(remote)} +
+ {#if e.is_dir} + + {:else} + + {/if} + {#if deletable} + + {/if} +
{/each}
{/if} @@ -237,6 +430,7 @@ Files transfer over your LAN — no cloud round-trip. Tap a file to copy it into ATV Optimizer's private storage on this phone (not yet exportable to Downloads or other apps). + Items under /sdcard can be deleted from the TV with the bin icon. @@ -258,6 +452,22 @@
{/if} + (pendingDelete = null)} + /> + @@ -446,6 +656,111 @@ color: var(--text-soft); } + .catalog { + margin-bottom: 12px; + border-radius: 14px; + background: var(--surface); + border: 1px solid var(--line); + padding: 4px 13px; + } + .catalog-toggle { + display: flex; + align-items: center; + gap: 10px; + width: 100%; + min-height: 44px; + background: transparent; + border: none; + color: var(--text); + font-family: var(--sans); + padding: 0; + cursor: pointer; + } + .catalog-toggle .msr { + font-size: 20px; + color: var(--accent); + } + .catalog-title { + flex: 1; + text-align: left; + font-size: 14px; + font-weight: 600; + } + .catalog-lede { + margin: 0 0 10px; + font-size: 12px; + line-height: 1.45; + color: var(--text-soft); + } + .app-entry { + border-top: 1px solid var(--line); + padding: 10px 0; + } + .app-head { + display: flex; + align-items: flex-start; + gap: 10px; + } + .app-head .ghost { + flex: none; + } + .app-hint { + font-size: 11px; + line-height: 1.4; + color: var(--muted); + } + .app-note { + margin: 8px 0 0; + font-size: 12px; + line-height: 1.4; + color: var(--text-soft); + display: flex; + gap: 6px; + align-items: flex-start; + } + .app-note.warn .msr { + font-size: 16px; + color: var(--amber); + flex: none; + } + .found-list { + display: flex; + flex-direction: column; + gap: 8px; + margin-top: 8px; + } + .found-row { + display: flex; + flex-direction: column; + gap: 6px; + } + .found-path { + font-size: 11px; + color: var(--text-soft); + overflow-wrap: anywhere; + } + .found-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; + } + + .row-wrap { + display: flex; + align-items: center; + gap: 6px; + } + .row-wrap .file-row { + flex: 1; + min-width: 0; + } + .row-delete { + flex: none; + } + .row-delete .msr { + color: var(--muted); + } + .dl-list { display: flex; flex-direction: column; diff --git a/v2/mobile/tests/files.test.mjs b/v2/mobile/tests/files.test.mjs new file mode 100644 index 00000000..2f2ba75d --- /dev/null +++ b/v2/mobile/tests/files.test.mjs @@ -0,0 +1,247 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { after, before, test } from "node:test"; +import { chromium } from "playwright"; +import { startViteServer } from "./helpers/vite-harness.mjs"; + +let server; +let browser; +let origin; +let appFiles; + +const SMARTTUBE_DIRS = [ + "/sdcard/Documents/SmartTubeBackup", + "/sdcard/SmartTubeBackup", + "/sdcard/Android/data/com.teamsmart.videomanager.tv", +]; +const HIT = "/sdcard/Documents/SmartTubeBackup/org.smarttube.stable_20260908.zip"; + +before(async () => { + ({ server, origin } = await startViteServer()); + appFiles = await server.ssrLoadModule("/src/lib/appFiles.ts"); + browser = await chromium.launch({ headless: true }); +}); + +after(async () => { + await browser?.close(); + await server?.close(); +}); + +test("the catalog is desktop's file, not a copy", () => { + const desktop = JSON.parse( + readFileSync(new URL("../../src/lib/app-files-catalog.json", import.meta.url), "utf8"), + ); + assert.deepEqual(appFiles.appFilesCatalog, desktop); + const smartTube = appFiles.appFilesCatalog.find((entry) => entry.id === "smarttube"); + assert.deepEqual(smartTube.search_dirs, SMARTTUBE_DIRS); + assert.equal(smartTube.pattern, "*.zip"); +}); + +test("a search that could not run never summarizes as no matches", () => { + assert.deepEqual(appFiles.summarizeFind({ hits: [], unsearched: [] }), { kind: "none" }); + assert.deepEqual(appFiles.summarizeFind({ hits: [], unsearched: ["/sdcard/x"] }), { + kind: "unsearched", + unsearched: ["/sdcard/x"], + }); + assert.deepEqual(appFiles.summarizeFind({ hits: [HIT], unsearched: ["/sdcard/x"] }), { + kind: "found", + hits: [HIT], + unsearched: ["/sdcard/x"], + }); +}); + +test("delete is only offered strictly inside /sdcard", () => { + for (const ok of ["/sdcard/old.zip", "/sdcard/Download/a b", "/sdcard/Documents"]) { + assert.equal(appFiles.canDeleteOnTv(ok), true, ok); + } + for (const bad of [ + "/sdcard", + "/sdcard/", + "/sdcardX/a", + "/storage/emulated/0/old.zip", + "/data/local/tmp/a", + "/sdcard/../data", + "/sdcard/a\nb", + "relative", + ]) { + assert.equal(appFiles.canDeleteOnTv(bad), false, JSON.stringify(bad)); + } + assert.equal(appFiles.parentDir(HIT), "/sdcard/Documents/SmartTubeBackup"); + assert.equal(appFiles.parentDir("/sdcard"), "/"); +}); + +async function open(t) { + const page = await browser.newPage({ viewport: { width: 384, height: 812 } }); + t.after(() => page.close()); + await page.addInitScript(() => { + window.calls = []; + window.handlers = {}; + window.activeHost = "A"; + window.listing = { + "/sdcard": [ + { name: "Download", is_dir: true, is_symlink: false, size_bytes: 0, modified: "" }, + { name: "old.zip", is_dir: false, is_symlink: false, size_bytes: 2048, modified: "" }, + ], + "/": [ + { name: "sdcard", is_dir: true, is_symlink: true, size_bytes: 0, modified: "" }, + { name: "system", is_dir: true, is_symlink: false, size_bytes: 0, modified: "" }, + ], + "/sdcard/Documents/SmartTubeBackup": [ + { name: "org.smarttube.stable_20260908.zip", is_dir: false, is_symlink: false, size_bytes: 10, modified: "" }, + ], + }; + window.device = (host) => ({ + id: 1, + serial: `${host}:5555`, + name: host, + model: "Shield", + status: "device", + connection: "network", + device_type: "shield", + properties: null, + }); + window.__TAURI_INTERNALS__ = { + invoke: async (command, args) => { + window.calls.push({ command, args }); + if (window.handlers[command]) return window.handlers[command](args); + switch (command) { + case "get_entitlement": return "pro"; + case "list_devices": return window.activeHost ? [window.device(window.activeHost)] : []; + case "wireless_status": return { connected: true }; + case "wireless_connect": + window.activeHost = args.host; + return { ok: true, message: "connected" }; + case "list_remote_dir": return window.listing[args.path] ?? []; + case "pull_file": { + const name = args.remotePath.slice(args.remotePath.lastIndexOf("/") + 1); + return { name, path: `/app/downloads/${name}`, size_bytes: 10 }; + } + case "delete_path": return { ok: true, message: `Deleted ${args.path}.` }; + default: return { ok: true, message: "done" }; + } + }, + }; + }); + await page.goto(origin); + await page.evaluate(async () => { + const { session } = await import("/src/lib/session.svelte.ts"); + const { router } = await import("/src/lib/router.svelte.ts"); + window.session = session; + window.router = router; + session.entitlement = "pro"; + await session.connect("A", 5555); + router.reset("dashboard"); + router.navigate("files"); + }); + await page.getByRole("heading", { name: "Files" }).waitFor(); + await page.getByText("old.zip").waitFor(); + return page; +} + +const callsOf = (page, command) => + page.evaluate((c) => window.calls.filter((call) => call.command === c), command); + +test("Find SmartTube backups searches every catalog dir and copies a hit to the phone", async (t) => { + const page = await open(t); + await page.evaluate((hit) => { + window.handlers.find_files = () => ({ hits: [hit], unsearched: [] }); + }, HIT); + await page.getByRole("button", { name: "Find app backups" }).click(); + await page.getByRole("button", { name: "Find SmartTube backups", exact: true }).click(); + await page.getByText(HIT).waitFor(); + + assert.deepEqual(await callsOf(page, "find_files"), [ + { command: "find_files", args: { serial: "A:5555", dirs: SMARTTUBE_DIRS, pattern: "*.zip" } }, + ]); + + await page.getByRole("button", { name: "Copy org.smarttube.stable_20260908.zip to this phone" }).click(); + await page.getByText(/Copied org\.smarttube\.stable_20260908\.zip into this app/).waitFor(); + assert.deepEqual( + (await callsOf(page, "pull_file")).map((call) => call.args), + [{ serial: "A:5555", remotePath: HIT }], + ); + + await page.getByRole("button", { name: "Open folder" }).click(); + await page.waitForFunction(() => + window.calls.some((call) => call.command === "list_remote_dir" + && call.args.path === "/sdcard/Documents/SmartTubeBackup")); +}); + +test("an unsearched directory reads as a failed search, never as no matches (#86)", async (t) => { + const page = await open(t); + await page.evaluate((dirs) => { + window.handlers.find_files = () => ({ hits: [], unsearched: dirs }); + }, SMARTTUBE_DIRS); + await page.getByRole("button", { name: "Find app backups" }).click(); + await page.getByRole("button", { name: "Find SmartTube backups", exact: true }).click(); + await page.getByText(/Couldn't search \/sdcard\/Documents\/SmartTubeBackup/).waitFor(); + assert.equal(await page.getByText(/No matches/).count(), 0); + + await page.evaluate(() => { + window.handlers.find_files = () => ({ hits: [], unsearched: [] }); + }); + await page.getByRole("button", { name: "Find SmartTube backups", exact: true }).click(); + await page.getByText(/No matches — export from the app first/).waitFor(); + assert.equal(await page.getByText(/Couldn't search/).count(), 0); +}); + +test("a rejected search drops the older answer instead of showing it as current", async (t) => { + const page = await open(t); + await page.evaluate(() => { + window.handlers.find_files = () => ({ hits: [], unsearched: [] }); + }); + await page.getByRole("button", { name: "Find app backups" }).click(); + await page.getByRole("button", { name: "Find SmartTube backups", exact: true }).click(); + await page.getByText(/No matches/).waitFor(); + await page.evaluate(() => { + window.handlers.find_files = () => Promise.reject("Connection to the TV was lost"); + }); + await page.getByRole("button", { name: "Find SmartTube backups", exact: true }).click(); + await page.waitForFunction(() => !document.body.innerText.includes("No matches")); +}); + +test("delete asks first, sends the exact /sdcard path, and reloads the folder", async (t) => { + const page = await open(t); + await page.getByRole("button", { name: "Delete old.zip from the TV" }).click(); + await page.getByText("Delete file from the TV?").waitFor(); + await page.getByRole("button", { name: "Cancel" }).click(); + assert.equal((await callsOf(page, "delete_path")).length, 0); + + const listsBefore = (await callsOf(page, "list_remote_dir")).length; + await page.getByRole("button", { name: "Delete old.zip from the TV" }).click(); + await page.getByRole("button", { name: "Delete", exact: true }).click(); + await page.getByText("Deleted /sdcard/old.zip.").waitFor(); + assert.deepEqual( + (await callsOf(page, "delete_path")).map((call) => call.args), + [{ serial: "A:5555", path: "/sdcard/old.zip" }], + ); + await page.waitForFunction( + (n) => window.calls.filter((call) => call.command === "list_remote_dir").length > n, + listsBefore, + ); + + await page.getByRole("button", { name: "Delete Download from the TV" }).click(); + await page.getByText("Delete folder from the TV?").waitFor(); +}); + +test("no delete control outside /sdcard", async (t) => { + const page = await open(t); + await page.locator(".crumbs .crumb").first().click(); + await page.getByText("system").waitFor(); + assert.equal(await page.getByRole("button", { name: /from the TV$/ }).count(), 0); +}); + +test("a delete confirmed after a TV switch is not sent to the new TV", async (t) => { + const page = await open(t); + await page.getByRole("button", { name: "Delete old.zip from the TV" }).click(); + await page.getByText("Delete file from the TV?").waitFor(); + await page.evaluate(() => { + window.session.connectedDevice = window.device("B"); + }); + // The switch clears the pending dialog; if it is still up, confirming it + // must not delete anything. + const dialogButton = page.getByRole("button", { name: "Delete", exact: true }); + if (await dialogButton.count()) await dialogButton.click(); + await page.evaluate(() => new Promise((resolve) => setTimeout(resolve, 50))); + assert.equal((await callsOf(page, "delete_path")).length, 0); +}); diff --git a/v2/src-tauri/src/commands/files.rs b/v2/src-tauri/src/commands/files.rs index d64aa35f..5c203b5f 100644 --- a/v2/src-tauri/src/commands/files.rs +++ b/v2/src-tauri/src/commands/files.rs @@ -7,38 +7,14 @@ use std::path::{Path, PathBuf}; use serde::Serialize; use tauri::State; +use shield_optimizer_core::commands::files::{ + delete_path_with, find_files_with, validate_device_path, validate_sdcard_path, FindResult, +}; + use crate::adb::{parse_ls_output, FileEntry}; use super::AppState; -/// Validate a device path for file-manager use. Always absolute, no `..` -/// traversal, no control characters (they'd corrupt the shell line even -/// quoted). When `allow_system` is false the path must also live under -/// `/sdcard`; power-user mode lifts only that boundary — the injection guards -/// stay. Returns the trimmed path. -fn validate_device_path(path: &str, allow_system: bool) -> Result { - let p = path.trim(); - if !p.starts_with('/') { - return Err(format!("Path must be absolute: {p:?}")); - } - if p.split('/').any(|seg| seg == "..") { - return Err("Path traversal (`..`) is not allowed.".to_string()); - } - if p.chars().any(|c| c.is_control()) { - return Err("Path contains control characters.".to_string()); - } - if !allow_system && p != "/sdcard" && !p.starts_with("/sdcard/") { - return Err(format!("Path must be under /sdcard: {p:?}")); - } - Ok(p.to_string()) -} - -/// `/sdcard`-confined validation — for the paths that are user-storage only by -/// design (the device-to-device copy and the backup finder). -fn validate_sdcard_path(path: &str) -> Result { - validate_device_path(path, false) -} - /// Single-quote a validated device path for the device-side shell. fn quote_path(p: &str) -> String { format!("'{}'", p.replace('\'', r"'\''")) @@ -212,30 +188,10 @@ fn sanitize_temp(name: &str) -> String { .collect() } -/// Refuse deleting the filesystem root, `/sdcard` itself, or a critical system -/// mount even in power-user mode — a recursive delete there could brick the -/// device. Subpaths are the user's call (and mostly permission-denied without -/// root). Returns the refusal message, or `None` if the path is deletable. -fn protected_delete_reason(path: &str) -> Option { - let trimmed = path.trim_end_matches('/'); - if trimmed == "/sdcard" { - return Some("Refusing to delete /sdcard itself.".to_string()); - } - const PROTECTED: &[&str] = &[ - "", "/system", "/data", "/vendor", "/proc", "/sys", "/dev", "/boot", "/init", "/sbin", - "/bin", "/etc", - ]; - if PROTECTED.contains(&trimmed) { - return Some(format!( - "Refusing to delete a protected system path: {path}" - )); - } - None -} - /// `delete_path` — remove a file or directory (recursively). Confined to /// `/sdcard` unless `allow_system` (power-user) is set; the UI confirms before -/// calling, and `protected_delete_reason` still blocks catastrophic targets. +/// calling, and core's `protected_delete_reason` still blocks catastrophic +/// targets. #[tauri::command] pub async fn delete_path( state: State<'_, AppState>, @@ -243,61 +199,17 @@ pub async fn delete_path( path: String, allow_system: bool, ) -> Result { - let path = validate_device_path(&path, allow_system)?; - if let Some(reason) = protected_delete_reason(&path) { - return Err(reason); - } let adb = state.adb_snapshot().await; - let out = adb - .shell(&serial, &format!("rm -rf {}", quote_path(&path))) - .await - .map_err(|e| format!("rm: {e}"))?; - let noise = out.combined().trim().to_string(); - if noise.is_empty() { - Ok(FileTransferResult { - ok: true, - message: format!("Deleted {path}."), - local_path: None, - }) - } else { - Ok(FileTransferResult { - ok: false, - message: noise, - local_path: None, - }) - } -} - -/// Filename patterns for `find -name`: glob stars and dots only — no slashes, -/// quotes, or anything the shell could reinterpret. -fn validate_find_pattern(pattern: &str) -> Result<(), String> { - let ok = !pattern.is_empty() - && pattern.len() <= 64 - && pattern - .chars() - .all(|c| c.is_ascii_alphanumeric() || matches!(c, '*' | '.' | '_' | '-')); - if ok { - Ok(()) - } else { - Err(format!("Invalid search pattern: {pattern:?}")) - } -} - -#[derive(Serialize)] -pub struct FindResult { - /// Matching file paths, capped at 100. - pub hits: Vec, - /// Directories the search could not be run against at all, because the ADB - /// call itself failed. A directory that simply does not exist is *not* - /// listed here — that is a real "no matches". Without this split, a - /// dropped connection rendered as "export from the app first", telling the - /// user to redo something that had worked (GitHub #86). - pub unsearched: Vec, + let r = delete_path_with(adb.as_ref(), &serial, &path, allow_system).await?; + Ok(FileTransferResult { + ok: r.ok, + message: r.message, + local_path: None, + }) } /// `find_files` — locate files matching a name pattern under one or more -/// `/sdcard` directories. Powers the app-backup finder (e.g. Projectivy's -/// `*.plbackup` exports land wherever the user's file picker put them). +/// `/sdcard` directories. Powers the app-backup finder. #[tauri::command] pub async fn find_files( state: State<'_, AppState>, @@ -305,36 +217,8 @@ pub async fn find_files( dirs: Vec, pattern: String, ) -> Result { - validate_find_pattern(&pattern)?; let adb = state.adb_snapshot().await; - let mut hits = Vec::new(); - let mut unsearched = Vec::new(); - for dir in dirs { - let dir = validate_sdcard_path(&dir)?; - // A missing directory or a permission denial is expected for some - // candidates, and `find` reports those on stderr — suppress them, since - // an empty result is the honest answer. A failure of the ADB call - // itself is different: nothing was searched, so it must not be - // reported as "nothing found". - let cmd = format!( - "find {} -maxdepth 4 -type f -name '{pattern}' 2>/dev/null", - quote_path(&dir) - ); - let Ok(out) = adb.shell(&serial, &cmd).await else { - unsearched.push(dir); - continue; - }; - for line in out.stdout.lines() { - let line = line.trim(); - if line.starts_with("/sdcard") && !hits.iter().any(|h| h == line) { - hits.push(line.to_string()); - } - if hits.len() >= 100 { - break; - } - } - } - Ok(FindResult { hits, unsearched }) + find_files_with(adb.as_ref(), &serial, &dirs, &pattern).await } #[cfg(test)] @@ -342,59 +226,6 @@ mod tests { use super::*; use pretty_assertions::assert_eq; - #[test] - fn find_patterns_validated() { - assert!(validate_find_pattern("*.plbackup").is_ok()); - assert!(validate_find_pattern("backup_*.zip").is_ok()); - assert!(validate_find_pattern("a/b").is_err()); - assert!(validate_find_pattern("x'y").is_err()); - assert!(validate_find_pattern("").is_err()); - assert!(validate_find_pattern(&"x".repeat(65)).is_err()); - } - - #[test] - fn accepts_sdcard_paths() { - assert_eq!(validate_sdcard_path("/sdcard").unwrap(), "/sdcard"); - assert_eq!( - validate_sdcard_path("/sdcard/Download/file 1.mp4").unwrap(), - "/sdcard/Download/file 1.mp4" - ); - } - - #[test] - fn rejects_escapes_and_system_paths() { - assert!(validate_sdcard_path("/data/data/com.x").is_err()); - assert!(validate_sdcard_path("/sdcard/../data").is_err()); - assert!(validate_sdcard_path("/sdcardX/evil").is_err()); - assert!(validate_sdcard_path("/sdcard/a\nb").is_err()); - assert!(validate_sdcard_path("").is_err()); - } - - #[test] - fn power_user_mode_allows_system_paths_but_keeps_injection_guards() { - // System paths are reachable only with allow_system. - assert!(validate_device_path("/system/app", false).is_err()); - assert_eq!( - validate_device_path("/system/app", true).unwrap(), - "/system/app" - ); - assert_eq!(validate_device_path("/", true).unwrap(), "/"); - // The shell-safety guards never relax. - assert!(validate_device_path("/system/../x", true).is_err()); - assert!(validate_device_path("/system/a\nb", true).is_err()); - assert!(validate_device_path("relative/path", true).is_err()); - } - - #[test] - fn protected_paths_are_never_deletable() { - for p in ["/", "/system", "/data", "/vendor", "/sdcard", "/system/"] { - assert!(protected_delete_reason(p).is_some(), "{p} must be refused"); - } - // Real targets are allowed through the guard. - assert!(protected_delete_reason("/sdcard/Download/old.zip").is_none()); - assert!(protected_delete_reason("/system/app/Bloat/Bloat.apk").is_none()); - } - #[test] fn quotes_single_quotes_in_paths() { assert_eq!(quote_path("/sdcard/it's here"), r"'/sdcard/it'\''s here'"); From 65acf4438c001e2460dec9475ee2c8a195697b21 Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Tue, 6 Oct 2026 15:12:23 -0500 Subject: [PATCH 05/48] Mobile Apps: list recognised apps with search, details, report and long-press menu The Apps screen only listed packages outside the catalogue, so a recognised app like Google Assistant (com.google.android.katniss) could not be found anywhere outside the Pro-only Optimize screen. Apps now shows a Recognised section (catalogue description, safety verdict, suggestion) above Everything else, with one search over name and package id, desktop's Hide not installed, and disabled apps reachable so they can be re-enabled. The detail sheet gains storage figures with when they were measured and a re-measure, the catalogue description, review date and sources, and Report this app (#100). Long-pressing a row opens an action menu (#129) whose Disable/Enable go through the same safety-gated paths as the sheet. --- v2/mobile/src/components/AppActionMenu.svelte | 139 +++ .../src/components/AppDetailSheet.svelte | 487 ++++++++-- .../src/components/AppReportSheet.svelte | 477 ++++++++++ v2/mobile/src/lib/appsList.ts | 167 ++++ v2/mobile/src/screens/Apps.svelte | 876 ++++++++++++++---- v2/mobile/tests/apps-catalog.test.mjs | 299 ++++++ v2/mobile/tests/apps-filter.test.mjs | 6 +- v2/mobile/tests/apps-list.test.mjs | 117 +++ 8 files changed, 2336 insertions(+), 232 deletions(-) create mode 100644 v2/mobile/src/components/AppActionMenu.svelte create mode 100644 v2/mobile/src/components/AppReportSheet.svelte create mode 100644 v2/mobile/src/lib/appsList.ts create mode 100644 v2/mobile/tests/apps-catalog.test.mjs create mode 100644 v2/mobile/tests/apps-list.test.mjs diff --git a/v2/mobile/src/components/AppActionMenu.svelte b/v2/mobile/src/components/AppActionMenu.svelte new file mode 100644 index 00000000..a6b8e235 --- /dev/null +++ b/v2/mobile/src/components/AppActionMenu.svelte @@ -0,0 +1,139 @@ + + +{#if app} + + +{/if} + + diff --git a/v2/mobile/src/components/AppDetailSheet.svelte b/v2/mobile/src/components/AppDetailSheet.svelte index 6b6eda8b..f1f95376 100644 --- a/v2/mobile/src/components/AppDetailSheet.svelte +++ b/v2/mobile/src/components/AppDetailSheet.svelte @@ -1,41 +1,60 @@ {#if app} + {@const st = stateLabel(app)}
@@ -126,16 +305,11 @@ {fmtLabel(app)} {app.package}
- - close +
- {#if uninstalled} - Uninstalled - {:else} - {app.enabled ? "Enabled" : "Disabled"} - {/if} + {st.text} {#if safetyLoading} Checking safety… {:else if safetyError} @@ -143,15 +317,24 @@ {:else if tier} {tier.label} {/if} - {#if memoryMb != null && memoryMb > 0} - memory{Math.round(memoryMb)} MB + {#if app.entry} + Recognised {/if}
+ {#if showDescription} +

{app.description}

+ {/if} + {#if tier}
If you remove it {reason} + {#if rec} + + Our suggestion: {rec.label} + + {/if}
{/if} - {#if usage} -
- history - - {usage.last_used ? `Last opened ${usage.last_used}` : "Never opened"} - {usage.launch_count > 0 ? ` · ${usage.launch_count} launches` : ""} - -
- {/if} -
restore @@ -180,47 +353,112 @@
- {#if uninstalled} + {#if uninstalled || missing}
- + {#if offerPlayStore} + + {/if}
{:else}
- - + {#if offerPlayStore} + + {/if}
- + {#if offerUninstall} + + {/if}
{/if} - {#if blocked} + {#if !stateKnown && !missing && !uninstalled} +

This app's state couldn't be read. Refresh the list before changing it.

+ {:else if blocked}

This package is protected — it can't be disabled or uninstalled from here.

{:else if safetyError}

Safety unavailable. Disable and uninstall stay locked.

+ {:else if app.entry && !offerUninstall && !missing && !uninstalled} +

Not offered for uninstall: the Play Store can't give this one back. Disable is reversible.

+ {/if} + {#if safety || app.entry?.reviewed_at || sources.length > 0} +
+ {#if safety} + {safetySourceLabel(safety.source)} + {/if} + {#if app.entry?.reviewed_at} + Reviewed {app.entry.reviewed_at} + {/if} + {#if sources.length > 0} + + {/if} +
+ {#if sourcesOpen} +
    + {#each sources as source, i (i)} +
  • {source}
  • + {/each} +
+ {/if} + {/if} + + {#if !uninstalled && !missing} +
+ {#each [ + { key: "ram", label: "RAM", f: memoryFigure }, + { key: "storage", label: "Storage", f: storageFigure }, + { key: "usage", label: "Last used", f: usageFigure }, + ] as row (row.key)} +
+
{row.label}
+
+ {row.f.value} + {#if row.f.scope}{row.f.scope}{/if} +
+
+ {/each} +
{/if} + +
+ {#if onRemeasure && !uninstalled && !missing} + + {/if} + {#if canReport && onReport} + + {/if} +
+ {/if} @@ -236,6 +474,8 @@ } .sheet { width: 100%; + max-height: 90vh; + overflow-y: auto; background: var(--surface-2); border-top: 1px solid var(--line); border-radius: 22px 22px 0 0; @@ -291,10 +531,121 @@ position: absolute; top: 0; right: 0; + padding: 0; + border: 0; + background: transparent; + color: var(--muted); + cursor: pointer; + } + .close .msr { font-size: 20px; + } + .description { + margin: 0; + font-size: 13px; + color: var(--text-soft); + line-height: 1.45; + } + .rec-line { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + gap: 4px; + margin-top: 4px; + font-size: 12px; + color: var(--text-soft); + } + .provenance { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 4px 12px; + font-size: 11px; color: var(--muted); + } + .sources { + margin: -6px 0 0; + padding-left: 18px; + font-size: 11px; + color: var(--muted); + overflow-wrap: anywhere; + } + .measures { + display: grid; + grid-template-columns: max-content 1fr; + gap: 8px 14px; + margin: 0; + padding: 12px 14px; + border-radius: 13px; + background: var(--surface); + border: 1px solid var(--line); + } + .measure { + display: contents; + } + .measures dt { + font-size: 10px; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--muted); + padding-top: 2px; + } + .measures dd { + margin: 0; + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; + } + .measure-value { + font-size: 12px; + color: var(--text); + overflow-wrap: anywhere; + } + .measure-value.warn { + color: var(--amber); + } + .measure-scope { + font-size: 10px; + color: var(--muted); + line-height: 1.4; + overflow-wrap: anywhere; + } + .tools { + display: flex; + flex-wrap: wrap; + gap: 6px 16px; + } + .tools:empty { + display: none; + } + .link-btn { + display: inline-flex; + align-items: center; + gap: 5px; + min-height: 32px; + padding: 0; + border: 0; + background: transparent; + color: var(--accent); + font-family: var(--sans); + font-size: 12px; + font-weight: 600; cursor: pointer; } + .link-btn:disabled { + opacity: 0.5; + } + .link-btn .msr { + font-size: 16px; + } + .fine-note { + margin: 0; + font-size: 11px; + color: var(--muted); + line-height: 1.4; + } .tags { display: flex; @@ -315,6 +666,7 @@ background: color-mix(in srgb, var(--text) 6%, transparent); } .tier-tag { + white-space: nowrap; font-size: 10px; font-weight: 700; padding: 4px 9px; @@ -354,9 +706,13 @@ font-size: 11px; color: var(--text-soft); } - .meta-tag .msr { - font-size: 14px; - color: var(--muted); + .meta-tag.recognised { + font-size: 10px; + font-weight: 700; + padding: 4px 9px; + border-radius: 7px; + color: var(--text-soft); + background: color-mix(in srgb, var(--text) 6%, transparent); } .reason-block { @@ -408,17 +764,6 @@ line-height: 1.45; } - .usage-row { - display: flex; - align-items: center; - gap: 8px; - font-size: 12px; - color: var(--muted); - } - .usage-row .msr { - font-size: 16px; - } - .reversible { display: flex; align-items: flex-start; diff --git a/v2/mobile/src/components/AppReportSheet.svelte b/v2/mobile/src/components/AppReportSheet.svelte new file mode 100644 index 00000000..3a04c8a4 --- /dev/null +++ b/v2/mobile/src/components/AppReportSheet.svelte @@ -0,0 +1,477 @@ + + + +
+ + +
+ + diff --git a/v2/mobile/src/lib/appsList.ts b/v2/mobile/src/lib/appsList.ts new file mode 100644 index 00000000..e25d4fcb --- /dev/null +++ b/v2/mobile/src/lib/appsList.ts @@ -0,0 +1,167 @@ +// The Apps screen's two sections, merged and filtered in one place: the +// catalogued ("Recognised") apps from `app_list_for_device` + `package_states`, +// and everything else from `list_other_packages`. Pure, so the rules that +// decide whether a user can find an app are tested without a webview. +// +// Mirrors desktop's App List (v2/src/routes/devices/[serial]/+page.svelte): +// one search over name and package id across both sections, "Hide not +// installed" for catalogue rows, "Show system apps" for everything else. + +import type { AppEntry, OtherPackage } from "./types"; +import type { PackageState } from "./recommendation"; + +export type StatusFilter = "all" | "enabled" | "disabled"; + +/// One row as the screen, the detail sheet and the action menu see it. +export interface AppItem { + package: string; + /// Friendly name when one is known; null shows the package id instead. + name: string | null; + /// Null for catalogue rows: the catalogue does not say, and guessing would + /// put a "system" label on something we never read. + system: boolean | null; + /// Null when the state read failed or did not cover this package. Null is + /// unknown, never "enabled". + state: PackageState | null; + /// The catalogue entry, for recognised apps only. + entry: AppEntry | null; + description: string | null; +} + +/// One entry in the long-press menu. `run` is the screen's own handler. +export interface AppMenuItem { + id: string; + label: string; + icon: string; + disabled?: boolean; + danger?: boolean; + run: () => void; +} + +export interface ListFilters { + query: string; + status: StatusFilter; + showSystem: boolean; + hideNotInstalled: boolean; +} + +export function normalizeQuery(query: string): string { + return query.trim().toLowerCase(); +} + +/// Name or package id, case-insensitive. An empty query matches everything. +export function matchesQuery(item: Pick, query: string): boolean { + const q = normalizeQuery(query); + if (!q) return true; + return (item.name ?? "").toLowerCase().includes(q) || item.package.toLowerCase().includes(q); +} + +/// The state map with anything that is not one of the three known states +/// dropped, so a malformed reply reads as "unknown" rather than as a state. +export function validatedStates( + packages: string[], + raw: unknown, +): Record { + const out: Record = {}; + if (typeof raw !== "object" || raw === null || Array.isArray(raw)) return out; + const record = raw as Record; + for (const pkg of packages) { + if (!Object.prototype.hasOwnProperty.call(record, pkg)) continue; + const s = record[pkg]; + if (s === "enabled" || s === "disabled" || s === "missing") out[pkg] = s; + } + return out; +} + +export function catalogItem(entry: AppEntry, state: PackageState | null): AppItem { + return { + package: entry.package, + name: entry.name || null, + system: null, + state, + entry, + description: entry.optimize_description || null, + }; +} + +export function otherItem(app: OtherPackage): AppItem { + return { + package: app.package, + name: app.name || null, + system: app.system, + state: app.enabled ? "enabled" : "disabled", + entry: null, + description: app.description || null, + }; +} + +/// Catalogue rows in catalogue order. A package that also comes back from the +/// other-packages list is kept only here, so no app is listed twice. +export function catalogItems( + entries: AppEntry[], + states: Record, +): AppItem[] { + const seen = new Set(); + const out: AppItem[] = []; + for (const entry of entries) { + if (seen.has(entry.package)) continue; + seen.add(entry.package); + out.push(catalogItem(entry, states[entry.package] ?? null)); + } + return out; +} + +export function otherItems(others: OtherPackage[], catalogPackages: Set): AppItem[] { + return others.filter((o) => !catalogPackages.has(o.package)).map(otherItem); +} + +function matchesStatus(item: AppItem, status: StatusFilter): boolean { + if (status === "enabled") return item.state === "enabled"; + if (status === "disabled") return item.state === "disabled"; + return true; +} + +/// Catalogue rows passing every filter. "Show system apps" does not apply: +/// the catalogue does not record which entries are system packages, and most +/// of what it covers is preinstalled, so hiding them would hide the section. +export function filterCatalog(items: AppItem[], f: ListFilters): AppItem[] { + return items.filter( + (item) => + !(f.hideNotInstalled && item.state === "missing") && + matchesStatus(item, f.status) && + matchesQuery(item, f.query), + ); +} + +export function filterOthers(items: AppItem[], f: ListFilters): AppItem[] { + return items.filter( + (item) => + (f.showSystem || item.system !== true) && + matchesStatus(item, f.status) && + matchesQuery(item, f.query), + ); +} + +/// Rows a filter toggle is hiding from the current search, so the empty state +/// can offer to reveal them rather than claim nothing matched. +export function hiddenMatches( + catalog: AppItem[], + others: AppItem[], + f: ListFilters, +): { notInstalled: number; system: number } { + return { + notInstalled: f.hideNotInstalled + ? filterCatalog(catalog, { ...f, hideNotInstalled: false }).length - + filterCatalog(catalog, f).length + : 0, + system: f.showSystem + ? 0 + : filterOthers(others, { ...f, showSystem: true }).length - filterOthers(others, f).length, + }; +} + +/// Rows that are (or may be) on the TV: everything except catalogue rows +/// known to be missing. Used for both sides of "N of M visible". +export function onDeviceCount(items: AppItem[]): number { + return items.filter((i) => i.state !== "missing").length; +} diff --git a/v2/mobile/src/screens/Apps.svelte b/v2/mobile/src/screens/Apps.svelte index c75eec3d..8453406d 100644 --- a/v2/mobile/src/screens/Apps.svelte +++ b/v2/mobile/src/screens/Apps.svelte @@ -3,13 +3,33 @@ import { api } from "../lib/api"; import { session } from "../lib/session.svelte"; import { recordUnknownDiagnostics } from "../lib/unknownDiagnostics"; - import { verdictSummary } from "../lib/safety"; + import { isBlocked, safetyLabel, tierOf, verdictOf, verdictSummary, type SafetyStatus } from "../lib/safety"; + import { canOfferUninstall, recommendation, uninstallNote, type PackageState, type Recommendation } from "../lib/recommendation"; + import { isReportablePackage, reportFamily, type AppReportDevice, type AppReportState } from "../lib/app-report"; + import { hasStorage, idleMeasurements, type AppMeasurements, type MeasureStatus } from "../lib/app-details"; + import { normalizeHardwareId } from "../lib/identity"; + import { + catalogItems, + filterCatalog, + filterOthers, + hiddenMatches, + normalizeQuery, + onDeviceCount, + otherItems, + validatedStates, + type AppItem, + type AppMenuItem, + type ListFilters, + type StatusFilter, + } from "../lib/appsList"; import packageMetadata from "../../package.json"; import type { Screen } from "../lib/router.svelte"; - import type { AppUsage, OtherPackage, Safety } from "../lib/types"; + import type { AppEntry, AppStorage, AppUsage, DeviceType, OtherPackage, Safety } from "../lib/types"; import BottomTabs from "../components/BottomTabs.svelte"; import FindRemoteButton from "../components/FindRemoteButton.svelte"; import AppDetailSheet from "../components/AppDetailSheet.svelte"; + import AppActionMenu from "../components/AppActionMenu.svelte"; + import AppReportSheet from "../components/AppReportSheet.svelte"; import ConfirmDialog from "../components/ConfirmDialog.svelte"; import PaywallSheet from "../components/PaywallSheet.svelte"; import Toast from "../components/Toast.svelte"; @@ -24,9 +44,12 @@ // frames on a phone webview. let debouncedQuery = $state(""); let searchTimer: ReturnType | undefined; - let activeFilter = $state<"all" | "enabled" | "disabled">("all"); + let activeFilter = $state("all"); let showSystemApps = $state(false); - let selectedApp = $state(null); + // Desktop's default: a catalogue entry this TV doesn't have is noise until + // the user asks for it. + let hideNotInstalled = $state(true); + let selectedPkg = $state(null); // The sheet stays open after a successful uninstall so Reinstall is offered. let sheetUninstalled = $state(false); let showPaywall = $state(false); @@ -35,27 +58,43 @@ type RemovalAction = "disable" | "uninstall"; type RemovalIntent = ListIdentity & { action: RemovalAction; - app: OtherPackage; + app: AppItem; verdict: Safety; }; let listIdentity = $state(null); - let removedIdentity = $state<(ListIdentity & { app: OtherPackage }) | null>(null); + let removedIdentity = $state<(ListIdentity & { app: AppItem }) | null>(null); let removalIntent = $state(null); let loadRequest = 0; let enrichmentRequest = 0; + let safetyRequest = 0; let removalRequest = 0; let actionRequest = 0; + let reportRequest = 0; let destroyed = false; let observedSession = ""; - let apps = $state([]); - // Lazily-loaded, best-effort enrichment maps for the detail sheet. + let others = $state([]); + let othersError = $state(""); + let catalog = $state([]); + let catalogStates = $state>({}); + let catalogSafety = $state>({}); + let catalogError = $state(""); + // Lazily-loaded, best-effort enrichment maps for the detail sheet, each + // stamped with when it was read. let memoryMap = $state>({}); let usageMap = $state>({}); + let storageMap = $state>({}); + let measures = $state(idleMeasurements()); + /// Verdicts the detail sheet resolved, so a report carries what was shown. + let sheetVerdicts = $state>({}); let lookupBusy = $state(""); let busyAction = $state(""); + let menuApp = $state(null); + let reportApp = $state(null); + let reportVerdict = $state(null); + function isLocked(e: unknown): boolean { return String(e).includes("LOCKED:"); } @@ -90,12 +129,22 @@ ); } - function currentTarget(input: OtherPackage): OtherPackage | null { + const catalogRows = $derived(catalogItems(catalog, catalogStates)); + const catalogPackages = $derived(new Set(catalogRows.map((i) => i.package))); + const otherRows = $derived(otherItems(others, catalogPackages)); + const itemByPackage = $derived.by(() => { + const map = new Map(); + for (const item of otherRows) map.set(item.package, item); + for (const item of catalogRows) map.set(item.package, item); + return map; + }); + + function currentTarget(input: AppItem): AppItem | null { if (!listCurrent()) return null; - return apps.find((candidate) => candidate.package === input.package) ?? null; + return itemByPackage.get(input.package) ?? null; } - function removedTargetCurrent(input: OtherPackage): boolean { + function removedTargetCurrent(input: AppItem): boolean { return ( removedIdentity !== null && removedIdentity.app.package === input.package && @@ -106,16 +155,29 @@ function invalidateActions() { ++removalRequest; ++actionRequest; + ++reportRequest; removalIntent = null; lookupBusy = ""; busyAction = ""; - selectedApp = null; + selectedPkg = null; sheetUninstalled = false; removedIdentity = null; + menuApp = null; + reportApp = null; + } + + async function readCatalog(serial: string, deviceType: DeviceType) { + const entries = await api.appListForDevice(deviceType); + if (!Array.isArray(entries)) throw new Error("The recognised-app list is unavailable."); + const packages = entries.map((entry) => entry.package); + const raw = packages.length > 0 ? await api.packageStates(serial, packages) : {}; + return { entries, states: validatedStates(packages, raw) }; } // Keep stale rows visible while refreshing, but make them inert until a - // successful list load is bound to this exact connection generation. + // successful list load is bound to this exact connection generation. The + // recognised list and everything else load together; either one failing + // clears only its own section, so no stale row in it stays actionable. async function loadApps(force = false) { const device = session.connectedDevice; const serial = session.serial; @@ -135,55 +197,125 @@ const request = ++loadRequest; listIdentity = null; invalidateActions(); - if (apps.length === 0) loading = true; + if (others.length === 0 && catalog.length === 0) loading = true; error = ""; try { - const result = await api.listOtherPackages(serial); + const [otherResult, catalogResult] = await Promise.allSettled([ + api.listOtherPackages(serial), + readCatalog(serial, device.device_type), + ]); if (request !== loadRequest || !sessionCurrent(serial, generation)) return; - apps = result; - loaded = true; const identity = { serial, generation, token: request }; + + if (otherResult.status === "fulfilled") { + others = otherResult.value; + othersError = ""; + } else { + others = []; + othersError = String(otherResult.reason); + } + if (catalogResult.status === "fulfilled") { + catalog = catalogResult.value.entries; + catalogStates = catalogResult.value.states; + const unread = catalog.length - Object.keys(catalogStates).length; + catalogError = + unread > 0 + ? `State unavailable for ${unread} recognised ${unread === 1 ? "app" : "apps"}. Refresh before changing them.` + : ""; + } else { + catalog = []; + catalogStates = {}; + catalogError = String(catalogResult.reason); + } + catalogSafety = {}; + + if (otherResult.status === "rejected" && catalogResult.status === "rejected") { + error = othersError; + loaded = false; + return; + } + loaded = true; listIdentity = identity; - recordUnknownDiagnostics( - result.map((app) => ({ - kind: "installed_package", - token: app.package, - reason: "uncatalogued_package", - appVersion: packageMetadata.version, - registryVersion: null, - deviceFamily: device?.device_type ?? "unknown", - deviceOs: device?.properties?.android_release || null, - })), - () => listCurrent(identity), - ); + if (otherResult.status === "fulfilled") { + const uncatalogued = otherResult.value.filter((app) => !catalogPackages.has(app.package)); + recordUnknownDiagnostics( + uncatalogued.map((app) => ({ + kind: "installed_package", + token: app.package, + reason: "uncatalogued_package", + appVersion: packageMetadata.version, + registryVersion: null, + deviceFamily: device?.device_type ?? "unknown", + deviceOs: device?.properties?.android_release || null, + })), + () => listCurrent(identity), + ); + } + void loadCatalogSafety(identity); void loadEnrichment(identity); - } catch (e) { - if (request !== loadRequest || !sessionCurrent(serial, generation)) return; - error = String(e); - loaded = false; } finally { if (request === loadRequest && sessionCurrent(serial, generation)) loading = false; } } - // Memory + usage power the detail sheet's "142 MB" / "never opened" signals. - // Best-effort: on failure the sheet simply omits those rows (no fabrication). + // Verdicts for the recognised rows' labels and suggestions. Display only: + // every removal re-reads safety at the moment of the action. + async function loadCatalogSafety(identity: ListIdentity) { + const request = ++safetyRequest; + const packages = catalog.map((entry) => entry.package); + catalogSafety = Object.fromEntries(packages.map((pkg) => [pkg, { status: "checking" }])); + const results = await Promise.allSettled(packages.map((pkg) => api.safetyInfo(pkg))); + if (request !== safetyRequest || !listCurrent(identity)) return; + catalogSafety = Object.fromEntries( + packages.map((pkg, index) => { + const result = results[index]; + return [ + pkg, + result.status === "fulfilled" + ? ({ status: "ready", verdict: result.value } satisfies SafetyStatus) + : ({ status: "unavailable", reason: String(result.reason) } satisfies SafetyStatus), + ]; + }), + ); + } + + // Memory, usage and storage power the detail sheet's figures. Best-effort: + // a failed read is shown as unavailable with when it failed, never as zero. async function loadEnrichment(identity: ListIdentity) { const request = ++enrichmentRequest; + const current = () => request === enrichmentRequest && listCurrent(identity); + measures = { memory: { status: "loading" }, usage: { status: "loading" }, storage: { status: "loading" } }; + const settle = (key: keyof AppMeasurements, status: MeasureStatus) => { + if (current()) measures = { ...measures, [key]: status }; + }; try { const memory = await api.appMemoryMap(identity.serial); - if (request === enrichmentRequest && listCurrent(identity)) memoryMap = memory; - } catch { - // leave empty + if (current()) memoryMap = memory; + settle("memory", { status: "ready", at: Date.now() }); + } catch (e) { + settle("memory", { status: "unavailable", at: Date.now(), reason: String(e) }); } try { const usage = await api.appUsageMap(identity.serial); - if (request === enrichmentRequest && listCurrent(identity)) usageMap = usage; - } catch { - // leave empty + if (current()) usageMap = usage; + settle("usage", { status: "ready", at: Date.now() }); + } catch (e) { + settle("usage", { status: "unavailable", at: Date.now(), reason: String(e) }); + } + try { + const storage = await api.appStorageMap(identity.serial); + if (current()) storageMap = storage; + settle("storage", { status: "ready", at: Date.now() }); + } catch (e) { + settle("storage", { status: "unavailable", at: Date.now(), reason: String(e) }); } } + function remeasure() { + const identity = listIdentity; + if (listCurrent(identity)) void loadEnrichment(identity); + } + // generation is a plain getter, so the reactive device and liveness reads // are intentional: same-serial reconnects still invalidate the list. $effect(() => { @@ -196,11 +328,16 @@ untrack(() => { ++loadRequest; ++enrichmentRequest; + ++safetyRequest; listIdentity = null; loaded = false; invalidateActions(); memoryMap = {}; usageMap = {}; + storageMap = {}; + measures = idleMeasurements(); + sheetVerdicts = {}; + catalogSafety = {}; if (device && liveness === "live") void loadApps(true); else { loading = false; @@ -212,7 +349,7 @@ $effect(() => { const q = searchQuery; clearTimeout(searchTimer); - searchTimer = setTimeout(() => (debouncedQuery = q.trim().toLowerCase()), 120); + searchTimer = setTimeout(() => (debouncedQuery = normalizeQuery(q)), 120); return () => clearTimeout(searchTimer); }); @@ -220,78 +357,81 @@ destroyed = true; ++loadRequest; ++enrichmentRequest; + ++safetyRequest; invalidateActions(); clearTimeout(searchTimer); clearTimeout(toastTimer); + clearTimeout(pressTimer); }); - // One lowercase haystack per app, rebuilt only when the list itself changes. - const haystacks = $derived.by(() => { - const map = new Map(); - for (const app of apps) { - map.set(app.package, `${app.name ?? ""} ${app.package}`.toLowerCase()); - } - return map; - }); - - function matchesStatus(app: OtherPackage): boolean { - if (activeFilter === "enabled") return app.enabled; - if (activeFilter === "disabled") return !app.enabled; - return true; - } - - const visibleApps = $derived.by(() => - apps.filter((app) => (showSystemApps || !app.system) && matchesStatus(app)), - ); - - const filteredApps = $derived.by(() => { - const q = debouncedQuery; - return visibleApps.filter( - (app) => !q || (haystacks.get(app.package) ?? "").includes(q), - ); - }); - - const systemAppCount = $derived(apps.filter((app) => app.system).length); - const hiddenSystemMatches = $derived.by(() => { - if (showSystemApps) return 0; - const q = debouncedQuery; - return apps.filter( - (app) => - app.system && - matchesStatus(app) && - (!q || (haystacks.get(app.package) ?? "").includes(q)), - ).length; + const filters = $derived({ + query: debouncedQuery, + status: activeFilter, + showSystem: showSystemApps, + hideNotInstalled, }); + const visibleCatalog = $derived(filterCatalog(catalogRows, filters)); + const visibleOthers = $derived(filterOthers(otherRows, filters)); + const visibleCount = $derived(visibleCatalog.length + visibleOthers.length); + const hidden = $derived(hiddenMatches(catalogRows, otherRows, filters)); + const systemAppCount = $derived(otherRows.filter((app) => app.system === true).length); + const notInstalledCount = $derived(catalogRows.filter((app) => app.state === "missing").length); const countText = $derived( debouncedQuery - ? `${filteredApps.length} ${filteredApps.length === 1 ? "result" : "results"}` - : `${visibleApps.length} of ${apps.length} visible`, + ? `${visibleCount} ${visibleCount === 1 ? "result" : "results"}` + : `${onDeviceCount(visibleCatalog) + onDeviceCount(visibleOthers)} of ${onDeviceCount(catalogRows) + onDeviceCount(otherRows)} visible`, ); + const sheetApp = $derived.by((): AppItem | null => { + if (!selectedPkg) return null; + if (sheetUninstalled && removedIdentity?.app.package === selectedPkg) return removedIdentity.app; + return itemByPackage.get(selectedPkg) ?? null; + }); + /// Friendly name when the backend actually has one, otherwise the package. /// Never the package's last segment — that invents names like "Tv". - function label(app: OtherPackage): string { + function label(app: AppItem): string { return app.name || app.package; } - function patch(pkg: string, enabled: boolean, identity: ListIdentity) { + function rowRecommendation(app: AppItem): Recommendation | null { + if (!app.entry) return null; + const rec = recommendation(app.entry, app.state, catalogSafety[app.package]); + // "No change needed" and "unavailable" on every row would drown out the + // rows that do have a suggestion; the verdict chip already says the rest. + // "Protected" is already the verdict chip. + if (rec.kind === "keep" || rec.kind === "unavailable") return null; + return rec.kind === "done" && isBlocked(verdictOf(catalogSafety[app.package])) ? null : rec; + } + + function recText(rec: Recommendation): string { + return rec.kind === "act" || rec.kind === "restore" ? `Suggested: ${rec.label}` : rec.label; + } + + function patch(pkg: string, state: PackageState, identity: ListIdentity) { if (!listCurrent(identity)) return; - apps = apps.map((a) => (a.package === pkg ? { ...a, enabled } : a)); + if (catalogPackages.has(pkg)) { + catalogStates = { ...catalogStates, [pkg]: state }; + } else if (state === "missing") { + others = others.filter((a) => a.package !== pkg); + } else { + others = others.map((a) => (a.package === pkg ? { ...a, enabled: state === "enabled" } : a)); + } } function actionCurrent(request: number, identity: ListIdentity): boolean { return request === actionRequest && listCurrent(identity); } - async function enableCurrent(input: OtherPackage) { + async function enableCurrent(input: AppItem) { if (busyAction) return; const app = currentTarget(input); const identity = listIdentity; - if (!app || !identity || app.enabled) return; + if (!app || !identity || app.state !== "disabled") return; const request = ++actionRequest; busyAction = app.package; - patch(app.package, true, identity); - selectedApp = null; + patch(app.package, "enabled", identity); + selectedPkg = null; try { const r = await api.enablePackage(identity.serial, app.package); if (!actionCurrent(request, identity)) return; @@ -307,7 +447,7 @@ } } catch (e) { if (!actionCurrent(request, identity)) return; - patch(app.package, false, identity); + patch(app.package, "disabled", identity); if (isLocked(e)) showPaywall = true; else showToast(String(e), "error"); } finally { @@ -315,11 +455,17 @@ } } - async function requestRemoval(input: OtherPackage, action: RemovalAction) { + function removalAllowed(app: AppItem, action: RemovalAction): boolean { + if (action === "disable") return app.state === "enabled"; + if (app.state !== "enabled" && app.state !== "disabled") return false; + return !app.entry || canOfferUninstall(app.entry); + } + + async function requestRemoval(input: AppItem, action: RemovalAction) { if (busyAction || lookupBusy) return; const app = currentTarget(input); const identity = listIdentity; - if (!app || !identity || (action === "disable" && !app.enabled)) { + if (!app || !identity || !removalAllowed(app, action)) { showToast("This app list is no longer current. Refresh and try again.", "error"); return; } @@ -334,7 +480,7 @@ return; } removalIntent = { ...identity, action, app, verdict }; - selectedApp = null; + selectedPkg = null; } catch { if (request !== removalRequest || !listCurrent(identity)) return; showToast("Safety unavailable. Retry before removing this app.", "error"); @@ -343,16 +489,16 @@ } } - function handleToggle(app: OtherPackage) { - if (app.enabled) void requestRemoval(app, "disable"); - else void enableCurrent(app); + function handleToggle(app: AppItem) { + if (app.state === "enabled") void requestRemoval(app, "disable"); + else if (app.state === "disabled") void enableCurrent(app); } - function requestUninstall(app: OtherPackage) { + function requestUninstall(app: AppItem) { void requestRemoval(app, "uninstall"); } - async function handleForceStop(input: OtherPackage) { + async function handleForceStop(input: AppItem) { if (busyAction) return; const app = currentTarget(input); const identity = listIdentity; @@ -372,7 +518,7 @@ } } - async function handlePlayStore(input: OtherPackage) { + async function handlePlayStore(input: AppItem) { if (busyAction) return; const app = sheetUninstalled && removedTargetCurrent(input) ? input : currentTarget(input); const serial = sheetUninstalled ? removedIdentity?.serial : listIdentity?.serial; @@ -420,8 +566,8 @@ } if (intent.action === "disable") { - patch(intent.app.package, false, intent); - selectedApp = null; + patch(intent.app.package, "disabled", intent); + selectedPkg = null; } const r = intent.action === "disable" @@ -430,10 +576,16 @@ if (!actionCurrent(request, intent)) return; if (r.ok) { if (intent.action === "uninstall") { - apps = apps.filter((a) => a.package !== intent.app.package); - removedIdentity = { ...intent, app: intent.app }; - selectedApp = intent.app; - sheetUninstalled = true; + const recognised = catalogPackages.has(intent.app.package); + patch(intent.app.package, "missing", intent); + selectedPkg = intent.app.package; + // A recognised row stays in the list as "not installed", which + // already offers Reinstall; anything else leaves the list, so the + // sheet keeps it to offer Reinstall here. + if (!recognised) { + removedIdentity = { ...intent, app: { ...intent.app, state: "missing" } }; + sheetUninstalled = true; + } } showToast(`${intent.action === "disable" ? "Disabled" : "Uninstalled"} ${label(intent.app)}.`, "success"); session.invalidateAll(); @@ -447,7 +599,7 @@ } } catch (e) { if (!actionCurrent(request, intent)) return; - if (intent.action === "disable") patch(intent.app.package, true, intent); + if (intent.action === "disable") patch(intent.app.package, "enabled", intent); if (isLocked(e)) showPaywall = true; else showToast(String(e), "error"); } finally { @@ -458,17 +610,21 @@ // `install-existing` restores an APK that is still on the TV (the usual case // for a system app removed with `pm uninstall --user 0`). It cannot conjure // an app that was never installed — that's what the Play Store button is for. - async function handleReinstall(app: OtherPackage) { - if (busyAction || !removedTargetCurrent(app) || !removedIdentity) return; - const identity = removedIdentity; + async function handleReinstall(app: AppItem) { + if (busyAction) return; + let identity: ListIdentity | null = null; + if (sheetUninstalled && removedTargetCurrent(app) && removedIdentity) identity = removedIdentity; + else if (currentTarget(app)?.state === "missing" && listIdentity) identity = listIdentity; + if (!identity) return; + const target = identity; const request = ++actionRequest; busyAction = app.package; try { - const r = await api.reinstallExisting(identity.serial, app.package); - if (request !== actionRequest || !sessionCurrent(identity.serial, identity.generation)) return; + const r = await api.reinstallExisting(target.serial, app.package); + if (request !== actionRequest || !sessionCurrent(target.serial, target.generation)) return; if (r.ok) { showToast(`Reinstalled ${label(app)}.`, "success"); - selectedApp = null; + selectedPkg = null; sheetUninstalled = false; removedIdentity = null; session.invalidateAll(); @@ -477,7 +633,7 @@ showToast(r.message || "Reinstall failed. Try the Play Store.", "error"); } } catch (e) { - if (request !== actionRequest || !sessionCurrent(identity.serial, identity.generation)) return; + if (request !== actionRequest || !sessionCurrent(target.serial, target.generation)) return; if (isLocked(e)) showPaywall = true; else showToast(String(e), "error"); } finally { @@ -485,19 +641,200 @@ } } + function openDetail(app: AppItem) { + if (!listCurrent()) return; + sheetUninstalled = false; + removedIdentity = null; + selectedPkg = app.package; + } + function closeDetail() { ++removalRequest; lookupBusy = ""; - selectedApp = null; + selectedPkg = null; sheetUninstalled = false; removedIdentity = null; } - function iconFor(app: OtherPackage): string { + function iconFor(app: AppItem): string { if (app.system) return "system_update"; const n = (app.name ?? "").toLowerCase(); return n.includes("video") || n.includes("tv") ? "smart_display" : "apps"; } + + // ---- Report this app (#100) ---- + + const reportDevice = $derived.by((): AppReportDevice | null => { + const d = session.connectedDevice; + if (!d) return null; + return { + family: reportFamily(d.device_type, d.tv_evidence), + androidVersion: d.properties?.android_release || null, + // A placeholder ro.serialno ("unknown") identifies nothing, and + // scrubbing it would eat that word from the user's note. + redact: [session.serial, d.serial, d.properties?.serial_number].filter( + (id): id is string => !!normalizeHardwareId(id), + ), + }; + }); + + function canReport(app: AppItem | null): boolean { + return !!app && !!reportDevice && isReportablePackage(app.package); + } + + function knownVerdict(pkg: string): Safety | null { + return sheetVerdicts[pkg] ?? verdictOf(catalogSafety[pkg]) ?? null; + } + + function openReport(app: AppItem) { + if (!canReport(app)) return; + const request = ++reportRequest; + reportApp = app; + reportVerdict = knownVerdict(app.package); + if (reportVerdict) return; + const serial = session.serial; + const generation = session.generation; + api.safetyInfo(app.package).then( + (verdict) => { + if (request === reportRequest && reportApp?.package === app.package && sessionCurrent(serial, generation)) { + reportVerdict = verdict; + } + }, + () => {}, + ); + } + + function reportState(app: AppItem): AppReportState { + const pkg = app.package; + const memRead = measures.memory.status === "ready"; + const mb = memoryMap[pkg]; + const running = memRead ? mb !== undefined && mb > 0 : null; + const stored = storageMap[pkg]; + return { + status: app.state, + running, + ramMb: running ? (mb ?? null) : null, + storage: + measures.storage.status === "ready" && hasStorage(stored) + ? { source: "diskstats", ...stored } + : null, + }; + } + + // ---- Long-press menu (#129's phone counterpart) ---- + + let pressTimer: ReturnType | undefined; + let pressOrigin: { x: number; y: number } | null = null; + // The tap that ends a long-press must not also open the detail sheet. + let suppressClickFor = ""; + + function startPress(e: PointerEvent, app: AppItem) { + suppressClickFor = ""; + if (e.pointerType === "mouse" && e.button !== 0) return; + clearTimeout(pressTimer); + pressOrigin = { x: e.clientX, y: e.clientY }; + pressTimer = setTimeout(() => { + pressOrigin = null; + suppressClickFor = app.package; + openMenu(app); + }, 480); + } + + function movePress(e: PointerEvent) { + if (pressOrigin && Math.hypot(e.clientX - pressOrigin.x, e.clientY - pressOrigin.y) > 10) cancelPress(); + } + + function cancelPress() { + clearTimeout(pressTimer); + pressOrigin = null; + } + + function onRowContextMenu(e: MouseEvent, app: AppItem) { + // The WebView's own long-press menu (and text selection) means nothing on + // a row; ours replaces it. + e.preventDefault(); + cancelPress(); + suppressClickFor = app.package; + openMenu(app); + } + + function onRowClick(app: AppItem) { + if (suppressClickFor === app.package) { + suppressClickFor = ""; + return; + } + openDetail(app); + } + + function openMenu(app: AppItem) { + if (menuApp?.package === app.package) return; + try { + navigator.vibrate?.(12); + } catch { + // Haptics are a nicety. + } + menuApp = app; + } + + async function copyPackage(app: AppItem) { + try { + await navigator.clipboard.writeText(app.package); + showToast("Copied package name.", "success"); + } catch { + showToast("Couldn't reach the clipboard.", "error"); + } + } + + const menuItems = $derived.by((): AppMenuItem[] => { + const app = menuApp ? (itemByPackage.get(menuApp.package) ?? menuApp) : null; + if (!app) return []; + const live = listIdentity !== null && itemByPackage.has(app.package); + const busy = busyAction !== "" || lookupBusy !== ""; + const verdict = verdictOf(catalogSafety[app.package]); + const items: AppMenuItem[] = [ + { id: "details", label: "Details", icon: "info", disabled: !live, run: () => openDetail(app) }, + ]; + if (app.state === "enabled") { + items.push({ + id: "disable", + label: "Disable", + icon: "block", + danger: true, + disabled: !live || busy || isBlocked(verdict), + run: () => void requestRemoval(app, "disable"), + }); + } else if (app.state === "disabled") { + items.push({ + id: "enable", + label: "Enable", + icon: "check_circle", + disabled: !live || busy, + run: () => void enableCurrent(app), + }); + } + items.push({ id: "copy", label: "Copy package name", icon: "content_copy", run: () => void copyPackage(app) }); + if (canReport(app)) { + items.push({ id: "report", label: "Report this app", icon: "warning", run: () => openReport(app) }); + } + return items; + }); + + function rowSafety(app: AppItem): SafetyStatus | undefined { + return catalogSafety[app.package]; + } + + function stateBadge(app: AppItem): { text: string; off: boolean } | null { + if (app.state === "enabled") return { text: "ON", off: false }; + if (app.state === "disabled") return { text: "OFF", off: true }; + if (app.state === null) return { text: "?", off: true }; + return null; + } + + const removalNote = $derived.by(() => { + const intent = removalIntent; + if (!intent || intent.action !== "uninstall") return ""; + return uninstallNote(intent.app.package, intent.app.entry) ?? ""; + });
@@ -519,13 +856,13 @@ placeholder="Search apps or packages" bind:value={searchQuery} class="search-input" + autocomplete="off" + autocapitalize="off" + spellcheck="false" />
-

- Everything else installed on the TV. The bloat this app recognizes lives on the - Optimize tab, so searching for it here finds nothing. -

+

Search covers every app on the TV, by name or package. Long-press an app for quick actions.

@@ -533,40 +870,64 @@
- + + + + - {#if loading && apps.length === 0} + {#if loading && others.length === 0 && catalog.length === 0}
Loading packages…
- {:else if error && apps.length === 0} + {:else if error && others.length === 0 && catalog.length === 0}

{error}

{:else}
- {#each filteredApps as app (app.package)} + {#snippet row(app: AppItem)} + {@const safety = rowSafety(app)} + {@const rec = rowRecommendation(app)} + {@const badge = stateBadge(app)} - {/each} - {#if filteredApps.length === 0} + {/snippet} + + {#if catalogError} + + {/if} + {#if visibleCatalog.length > 0} +
+

Recognised apps {visibleCatalog.length}

+

Apps we have notes on, with what removing each one costs.

+
+ {#each visibleCatalog as app (app.package)} + {@render row(app)} + {/each} + {/if} + + {#if othersError} + + {/if} + {#if visibleOthers.length > 0} +
+

Everything else {visibleOthers.length}

+

Installed apps we have no notes on. Removals still go through the same safety checks.

+
+ {#each visibleOthers as app (app.package)} + {@render row(app)} + {/each} + {/if} + + {#if visibleCount === 0}

{debouncedQuery ? "No matching apps" : "No apps to show"}

{#if debouncedQuery} No {activeFilter === "all" ? "" : `${activeFilter} `}apps match “{searchQuery.trim()}” in this view. - {:else if showSystemApps && activeFilter === "all"} - No apps are available in this non-curated list. - {:else if showSystemApps} - No {activeFilter} apps are available in this non-curated list. {:else if activeFilter === "all"} - No user-installed apps are available in this non-curated list. + No apps are available in this view. {:else} - No {activeFilter} user-installed apps are available in this non-curated list. + No {activeFilter} apps are available in this view. {/if}

@@ -601,11 +1009,16 @@ {#if debouncedQuery} {/if} - {#if hiddenSystemMatches > 0} + {#if hidden.system > 0} {/if} + {#if hidden.notInstalled > 0} + + {/if}
{/if} @@ -615,19 +1028,42 @@
(sheetVerdicts = { ...sheetVerdicts, [pkg]: verdict })} /> + (menuApp = null)} /> + + {#if reportApp && reportDevice} + { + ++reportRequest; + reportApp = null; + }} + /> + {/if} + { @@ -706,8 +1142,8 @@ .filters-row { display: flex; + flex-wrap: wrap; gap: 8px; - overflow-x: auto; margin-bottom: 10px; padding-bottom: 2px; } @@ -730,16 +1166,27 @@ font-weight: 600; } - .system-toggle { + .toggles { display: flex; - align-items: center; - gap: 12px; - min-height: 48px; - padding: 8px 12px; + flex-direction: column; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); + overflow: hidden; + } + .system-toggle + .system-toggle { + border-top: 1px solid var(--line); + } + .system-toggle { + display: flex; + align-items: center; + gap: 12px; + min-height: 46px; + padding: 6px 12px; + border: 0; + border-radius: 0; + background: transparent; color: var(--text); font-family: var(--sans); text-align: left; @@ -858,9 +1305,118 @@ cursor: pointer; width: 100%; } + .app-row { + /* A long-press opens the action menu; it must not start a text + selection or the WebView's own callout. */ + user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; + } .app-row.selected { border-color: var(--accent); } + .app-row.missing .app-avatar, + .app-row.missing .app-name-text { + opacity: 0.6; + } + .app-desc { + font-size: 11px; + line-height: 1.35; + color: var(--text-soft); + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + margin-top: 2px; + } + .row-meta { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 4px 6px; + margin-top: 4px; + min-width: 0; + } + .chip { + font-size: 10px; + font-weight: 700; + padding: 2px 7px; + border-radius: 6px; + white-space: nowrap; + color: var(--muted); + background: color-mix(in srgb, var(--text) 6%, transparent); + } + .verdict-chip.safe { + color: var(--teal); + background: color-mix(in srgb, var(--teal) 14%, transparent); + } + .verdict-chip.caution, + .verdict-chip.unavailable { + color: var(--amber); + background: color-mix(in srgb, var(--amber) 14%, transparent); + } + .verdict-chip.blocked { + color: var(--danger); + background: color-mix(in srgb, var(--danger) 14%, transparent); + } + .verdict-chip.checking { + font-weight: 500; + } + .rec-text { + font-size: 11px; + color: var(--muted); + min-width: 0; + } + .rec-text.act { + color: var(--accent); + font-weight: 600; + } + .section-head { + display: flex; + flex-direction: column; + gap: 2px; + margin: 6px 2px 0; + } + .section-head h4 { + margin: 0; + font-size: 13px; + font-weight: 700; + display: flex; + align-items: baseline; + gap: 6px; + } + .section-head h4 .mono { + font-size: 11px; + font-weight: 500; + color: var(--muted); + } + .section-head p { + margin: 0; + font-size: 11px; + color: var(--muted); + line-height: 1.4; + } + .section-error { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 12px; + border-radius: 12px; + border: 1px solid color-mix(in srgb, var(--amber) 40%, transparent); + font-size: 12px; + color: var(--amber); + } + .section-error span { + flex: 1; + min-width: 0; + overflow-wrap: anywhere; + } + .section-error button { + width: auto; + flex: none; + } .app-avatar { width: 40px; height: 40px; diff --git a/v2/mobile/tests/apps-catalog.test.mjs b/v2/mobile/tests/apps-catalog.test.mjs new file mode 100644 index 00000000..787bbb49 --- /dev/null +++ b/v2/mobile/tests/apps-catalog.test.mjs @@ -0,0 +1,299 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { after, before, test } from "node:test"; +import { chromium } from "playwright"; +import { startViteServer } from "./helpers/vite-harness.mjs"; + +const common = JSON.parse( + readFileSync(new URL("../../crates/core/data/app-lists/common.json", import.meta.url), "utf8"), +); +const katniss = common.find((entry) => entry.package === "com.google.android.katniss"); +const protectedEntry = { + package: "com.example.launcherguard", + name: "Launcher Guard", + method: "disable", + risk: "high", + optimize_description: "Keeps the home screen alive.", + restore_description: "", + default_optimize: false, + default_restore: false, + play_store: false, +}; +const goneEntry = { + package: "com.example.gonebloat", + name: "Gone Bloat", + method: "uninstall", + risk: "safe", + optimize_description: "A promo app this TV doesn't have.", + restore_description: "", + default_optimize: true, + default_restore: false, + play_store: true, +}; + +const fixture = { + catalog: [katniss, protectedEntry, goneEntry], + states: { + [katniss.package]: "disabled", + [protectedEntry.package]: "enabled", + [goneEntry.package]: "missing", + }, + others: [ + { package: "com.example.streambox", name: "StreamBox", system: false, enabled: true }, + { package: "com.android.helper", name: "System Helper", system: true, enabled: false }, + ], +}; + +let server; +let browser; +let origin; + +before(async () => { + ({ server, origin } = await startViteServer()); + browser = await chromium.launch({ headless: true }); +}); + +after(async () => { + await browser?.close(); + await server?.close(); +}); + +async function openApps(t, { openerFails = false } = {}) { + const context = await browser.newContext({ viewport: { width: 384, height: 812 } }); + const page = await context.newPage(); + t.after(() => context.close()); + await page.addInitScript( + ({ fixture, openerFails }) => { + window.calls = []; + window.copied = []; + Object.defineProperty(navigator, "clipboard", { + configurable: true, + value: { writeText: async (text) => void window.copied.push(text) }, + }); + window.__TAURI_INTERNALS__ = { + invoke: async (command, args) => { + window.calls.push({ command, args }); + switch (command) { + case "get_entitlement": + return "pro"; + case "wireless_connect": + return { ok: true, message: "" }; + case "list_devices": + return [{ + id: 1, + serial: "TV:5555", + name: "TV", + model: "Shield", + status: "device", + connection: "network", + device_type: "shield", + tv_evidence: "tv", + properties: { android_release: "11", serial_number: "HWSERIAL123" }, + }]; + case "wireless_status": + return { connected: true, serial: "TV:5555", host: "TV" }; + case "list_other_packages": + return fixture.others.map((app) => ({ ...app })); + case "app_list_for_device": + return fixture.catalog.map((entry) => ({ ...entry })); + case "package_states": + return { ...fixture.states }; + case "app_memory_map": + return { "com.google.android.katniss": 0 }; + case "app_usage_map": + return {}; + case "app_storage_map": + return { + "com.google.android.katniss": { app_bytes: 12582912, data_bytes: 3145728, cache_bytes: 1048576 }, + }; + case "app_apk_size": + return { app_bytes: 2048, data_bytes: null, cache_bytes: null }; + case "safety_info": + if (args.package === "com.example.launcherguard") { + return { kind: "never_disable", reason: "Required for Home.", source: "protected_list" }; + } + if (args.package === "com.google.android.katniss") { + return { kind: "caution", reason: "Ends all voice control.", source: "reviewed_catalog" }; + } + if (args.package === "com.example.gonebloat") { + return { kind: "safe", reason: "Promo app.", source: "reviewed_catalog" }; + } + return { kind: "unknown", reason: "Not in any list.", source: "no_record" }; + case "plugin:opener|open_url": + if (openerFails) throw new Error("plugin opener not found"); + return null; + default: + return { ok: true, message: "" }; + } + }, + }; + }, + { fixture, openerFails }, + ); + await page.goto(origin); + await page.evaluate(async () => { + const { session } = await import("/src/lib/session.svelte.ts"); + const { router } = await import("/src/lib/router.svelte.ts"); + session.entitlement = "pro"; + await session.connect("TV", 5555); + router.reset("dashboard"); + router.navigate("apps"); + }); + await page.getByRole("heading", { name: /Recognised apps/ }).waitFor(); + return page; +} + +async function rowPackages(page) { + return page.locator(".app-row").evaluateAll((rows) => rows.map((r) => r.dataset.package)); +} + +async function commands(page) { + return page.evaluate(() => window.calls.map((c) => c.command)); +} + +test("a disabled katniss is found by package and by name, and can be re-enabled", async (t) => { + const page = await openApps(t); + const search = page.getByPlaceholder("Search apps or packages"); + assert.equal(await page.getByText(/finds nothing/).count(), 0); + + for (const query of ["katniss", "assistant"]) { + await search.fill(query); + await page.getByText("1 result", { exact: true }).waitFor(); + assert.deepEqual(await rowPackages(page), [katniss.package]); + } + const row = page.locator(`.app-row[data-package="${katniss.package}"]`); + assert.equal(await row.locator(".status-badge").textContent(), "OFF"); + await row.locator(".verdict-chip", { hasText: "Caution" }).waitFor(); + + await search.fill(""); + await page.getByRole("button", { name: "Disabled", exact: true }).click(); + assert.ok((await rowPackages(page)).includes(katniss.package)); + + await row.click(); + await page.locator(".sheet .description", { hasText: katniss.optimize_description }).waitFor(); + await page.getByText(`Reviewed ${katniss.reviewed_at}`).waitFor(); + await page.getByText(/App 12\.0 MB · Data 3\.0 MB \(incl\. 1\.0 MB cache\)/).waitFor(); + await page.getByText(/measured at/).first().waitFor(); + const enable = page.getByRole("button", { name: "Enable", exact: true }); + await enable.click(); + await page.waitForFunction(() => window.calls.some((c) => c.command === "enable_package")); + const call = await page.evaluate(() => window.calls.find((c) => c.command === "enable_package")); + assert.equal(call.args.package, katniss.package); +}); + +test("not-installed recognised apps hide by default and can be revealed", async (t) => { + const page = await openApps(t); + assert.equal((await rowPackages(page)).includes(goneEntry.package), false); + await page.getByPlaceholder("Search apps or packages").fill("gone"); + await page.getByRole("button", { name: "Show 1 not installed" }).click(); + assert.deepEqual(await rowPackages(page), [goneEntry.package]); + await page.locator(".app-row .chip", { hasText: "Not installed" }).waitFor(); + assert.equal(await page.getByRole("switch", { name: /Hide not installed/ }).getAttribute("aria-checked"), "false"); +}); + +test("long-press opens the action menu without opening the sheet; a tap still opens it", async (t) => { + const page = await openApps(t); + const row = page.locator(`.app-row[data-package="${protectedEntry.package}"]`); + // Wait for the row's verdict so the menu knows it is protected. + await row.locator(".verdict-chip", { hasText: "Protected" }).waitFor(); + const box = await row.boundingBox(); + await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2); + await page.mouse.down(); + await page.waitForTimeout(650); + await page.mouse.up(); + const menu = page.getByRole("menu"); + await menu.waitFor(); + assert.equal(await page.getByText("If you remove it").count(), 0); + assert.equal(await menu.getByRole("menuitem", { name: "Disable" }).isDisabled(), true); + + await menu.getByRole("menuitem", { name: "Copy package name" }).click(); + await page.waitForFunction(() => window.copied.length > 0); + assert.deepEqual(await page.evaluate(() => window.copied), [protectedEntry.package]); + assert.equal(await page.getByRole("menu").count(), 0); + + await row.click(); + await page.getByText("This package is protected", { exact: false }).waitFor(); + assert.equal(await page.getByRole("button", { name: "Disable", exact: true }).isDisabled(), true); + const sent = await commands(page); + assert.equal(sent.includes("disable_package"), false); + // No uninstall for a recognised app the store can't give back. + assert.equal(await page.getByRole("button", { name: /Uninstall/ }).count(), 0); + + const style = await row.evaluate((el) => { + const s = getComputedStyle(el); + return { userSelect: s.userSelect || s.webkitUserSelect }; + }); + assert.equal(style.userSelect, "none"); +}); + +test("menu Disable goes through the safety lookup and confirm, never straight to the TV", async (t) => { + const page = await openApps(t); + const row = page.locator(`.app-row[data-package="com.example.streambox"]`); + await row.click({ button: "right" }); + await page.getByRole("menu").getByRole("menuitem", { name: "Disable" }).click(); + await page.getByRole("button", { name: "Disable", exact: true }).waitFor(); + const sent = await commands(page); + assert.ok(sent.filter((c) => c === "safety_info").length >= 1); + assert.equal(sent.includes("disable_package"), false); +}); + +test("report opens a prefilled GitHub form through the opener", async (t) => { + const page = await openApps(t); + await page.getByPlaceholder("Search apps or packages").fill("katniss"); + await page.locator(`.app-row[data-package="${katniss.package}"]`).click(); + await page.getByRole("button", { name: "Report this app" }).click(); + const dialog = page.getByRole("dialog", { name: "Report this app" }); + await dialog.waitFor(); + // Caution from the reviewed list: the default reason is "Wrong verdict". + assert.equal(await dialog.getByLabel("Wrong verdict").isChecked(), true); + await dialog.getByLabel("Note (optional)").fill("Seen at 192.168.1.20 next to HWSERIAL123"); + await dialog.getByRole("button", { name: /Show the full report/ }).click(); + const preview = await dialog.getByLabel("Report preview").inputValue(); + assert.equal(preview.includes("192.168.1.20"), false); + assert.equal(preview.includes("HWSERIAL123"), false); + assert.ok(preview.includes(katniss.package)); + + await dialog.getByRole("button", { name: "Open GitHub issue" }).click(); + await dialog.getByText(/opened with this report filled in/).waitFor(); + const call = await page.evaluate(() => window.calls.find((c) => c.command === "plugin:opener|open_url")); + const url = new URL(call.args.url); + assert.equal(url.searchParams.get("template"), "app_report.yml"); + assert.equal(url.searchParams.get("package"), katniss.package); +}); + +test("without an opener, report falls back to copy and a link to copy", async (t) => { + const page = await openApps(t, { openerFails: true }); + const row = page.locator(`.app-row[data-package="com.example.streambox"]`); + await row.click({ button: "right" }); + await page.getByRole("menu").getByRole("menuitem", { name: "Report this app" }).click(); + const dialog = page.getByRole("dialog", { name: "Report this app" }); + await dialog.getByRole("button", { name: "Open GitHub issue" }).click(); + await dialog.getByText(/Couldn't open the browser/).waitFor(); + await dialog.getByRole("button", { name: "Copy link" }).click(); + await page.waitForFunction(() => window.copied.some((t) => t.startsWith("https://github.com/"))); + await dialog.getByRole("button", { name: "Copy report" }).click(); + await page.waitForFunction(() => window.copied.some((t) => t.includes('"schema_version": 1'))); +}); + +test("rows, chips and labels fit a 384px screen", async (t) => { + const page = await openApps(t); + await page.getByRole("switch", { name: /Hide not installed/ }).click(); + await page.locator(".verdict-chip", { hasText: "Safe to remove" }).waitFor(); + const overflow = await page.evaluate(() => { + const out = []; + if (document.documentElement.scrollWidth > window.innerWidth) out.push("page"); + for (const row of document.querySelectorAll(".app-row")) { + const r = row.getBoundingClientRect(); + for (const el of row.querySelectorAll(".chip, .rec-text, .status-badge, .app-name-text")) { + const b = el.getBoundingClientRect(); + if (b.right > r.right + 0.5 || b.left < r.left - 0.5) out.push(`${row.dataset.package}: ${el.className}`); + } + } + for (const chip of document.querySelectorAll(".filter-chip, .system-toggle")) { + const b = chip.getBoundingClientRect(); + if (b.right > window.innerWidth) out.push(chip.textContent.trim()); + } + return out; + }); + assert.deepEqual(overflow, []); +}); diff --git a/v2/mobile/tests/apps-filter.test.mjs b/v2/mobile/tests/apps-filter.test.mjs index c10d5b1a..5c1380b9 100644 --- a/v2/mobile/tests/apps-filter.test.mjs +++ b/v2/mobile/tests/apps-filter.test.mjs @@ -53,6 +53,10 @@ async function openApps(t, fixture = packages) { return { connected: true, serial: "TV:5555", host: "TV" }; case "list_other_packages": return fixture.map((app) => ({ ...app })); + case "app_list_for_device": + return []; + case "package_states": + return {}; case "app_memory_map": case "app_usage_map": return {}; @@ -125,7 +129,7 @@ test("search reports empty results and can reveal or clear them", async (t) => { await page.getByRole("button", { name: "Clear search" }).click(); await page.getByText("0 of 2 visible", { exact: true }).waitFor(); - await page.getByText("No enabled apps are available in this non-curated list.", { exact: true }).waitFor(); + await page.getByText("No enabled apps are available in this view.", { exact: true }).waitFor(); assert.equal(await page.getByText(/user-installed/).count(), 0); assert.deepEqual(await rowNames(page), []); }); diff --git a/v2/mobile/tests/apps-list.test.mjs b/v2/mobile/tests/apps-list.test.mjs new file mode 100644 index 00000000..0a6169e8 --- /dev/null +++ b/v2/mobile/tests/apps-list.test.mjs @@ -0,0 +1,117 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { after, before, test } from "node:test"; +import { startViteServer } from "./helpers/vite-harness.mjs"; + +// The real catalogue, so these tests fail if katniss ever leaves it or its +// name stops saying what it is. +const common = JSON.parse( + readFileSync(new URL("../../crates/core/data/app-lists/common.json", import.meta.url), "utf8"), +); +const katniss = common.find((entry) => entry.package === "com.google.android.katniss"); + +let server; +let list; + +before(async () => { + ({ server } = await startViteServer()); + list = await server.ssrLoadModule("/src/lib/appsList.ts"); +}); + +after(async () => { + await server?.close(); +}); + +const filters = (overrides = {}) => ({ + query: "", + status: "all", + showSystem: false, + hideNotInstalled: true, + ...overrides, +}); + +const others = [ + { package: "com.example.streambox", name: "StreamBox", system: false, enabled: true }, + { package: "com.android.helper", name: "System Helper", system: true, enabled: false }, +]; + +function searchAll(states, query, extra = {}) { + const catalog = list.catalogItems([katniss], states); + const rest = list.otherItems(others, new Set(catalog.map((i) => i.package))); + const f = filters({ query, ...extra }); + return [...list.filterCatalog(catalog, f), ...list.filterOthers(rest, f)].map((i) => i.package); +} + +test("katniss is in the shared catalogue", () => { + assert.ok(katniss, "com.google.android.katniss must stay in common.json"); +}); + +for (const state of ["enabled", "disabled"]) { + test(`katniss is found by package and by name when ${state}`, () => { + const states = { [katniss.package]: state }; + for (const query of ["katniss", "assistant", " ASSISTANT ", "com.google.android.katn"]) { + assert.deepEqual(searchAll(states, query), [katniss.package], query); + } + assert.deepEqual(searchAll(states, "assistant", { status: state }), [katniss.package]); + // A system-app toggle never hides a recognised app. + assert.deepEqual(searchAll(states, "katniss", { showSystem: false }), [katniss.package]); + }); +} + +test("a disabled katniss is reachable from the Disabled chip so it can be re-enabled", () => { + const states = { [katniss.package]: "disabled" }; + assert.deepEqual(searchAll(states, "", { status: "disabled" }), [katniss.package]); + assert.deepEqual(searchAll(states, "katniss", { status: "enabled" }), []); +}); + +test("not-installed catalogue rows hide by default and are counted as hidden", () => { + const states = { [katniss.package]: "missing" }; + assert.deepEqual(searchAll(states, "katniss"), []); + assert.deepEqual(searchAll(states, "katniss", { hideNotInstalled: false }), [katniss.package]); + const catalog = list.catalogItems([katniss], states); + const hidden = list.hiddenMatches(catalog, [], filters({ query: "assistant" })); + assert.equal(hidden.notInstalled, 1); + // A missing app is neither enabled nor disabled. + assert.deepEqual(searchAll(states, "katniss", { hideNotInstalled: false, status: "disabled" }), []); +}); + +test("an unread state is unknown: shown under All, never under Enabled", () => { + const catalog = list.catalogItems([katniss], {}); + assert.equal(catalog[0].state, null); + assert.equal(list.filterCatalog(catalog, filters()).length, 1); + assert.equal(list.filterCatalog(catalog, filters({ status: "enabled" })).length, 0); +}); + +test("system packages in Everything else follow the toggle and are counted when hidden", () => { + const rest = list.otherItems(others, new Set()); + assert.deepEqual(list.filterOthers(rest, filters()).map((i) => i.package), ["com.example.streambox"]); + assert.equal(list.filterOthers(rest, filters({ showSystem: true })).length, 2); + assert.equal(list.hiddenMatches([], rest, filters({ query: "helper" })).system, 1); +}); + +test("a package in both lists is listed once, as recognised", () => { + const catalog = list.catalogItems([katniss, katniss], { [katniss.package]: "enabled" }); + assert.equal(catalog.length, 1); + const rest = list.otherItems( + [...others, { package: katniss.package, name: null, system: true, enabled: true }], + new Set(catalog.map((i) => i.package)), + ); + assert.equal(rest.some((i) => i.package === katniss.package), false); + assert.equal(catalog[0].entry.package, katniss.package); + assert.equal(catalog[0].description, katniss.optimize_description); +}); + +test("validatedStates drops malformed values instead of guessing", () => { + const states = list.validatedStates(["a.b", "c.d", "e.f"], { "a.b": "enabled", "c.d": "weird", "x.y": "disabled" }); + assert.deepEqual(states, { "a.b": "enabled" }); + assert.deepEqual(list.validatedStates(["a.b"], null), {}); + assert.deepEqual(list.validatedStates(["a.b"], ["enabled"]), {}); +}); + +test("onDeviceCount leaves out only rows known to be missing", () => { + const catalog = list.catalogItems( + [katniss, { ...katniss, package: "com.example.gone" }, { ...katniss, package: "com.example.unread" }], + { [katniss.package]: "enabled", "com.example.gone": "missing" }, + ); + assert.equal(list.onDeviceCount(catalog), 2); +}); From bbb7d21f6f01a237a63fb3a23be3a0629f5f70b1 Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Tue, 6 Oct 2026 15:13:45 -0500 Subject: [PATCH 06/48] Mobile Tweaks tab reaches desktop parity; Dashboard Optimize CTA and Tune tiles; More header Tweaks adds Nvidia System Hooks (re-enable free, disable Pro), the Remote Assistant Button mic permission, Screensaver with Basic Daydream / Off / Restore previous, and the 720p display preset, regrouped into Remote & buttons, Picture & sound, Interface and Network with current values shown to Free users. Dashboard consolidates the Optimize entry points into one call to action and adds Tweaks and Launcher tiles. More is titled More, drops the duplicate Tweaks row and lists Optimize. --- v2/mobile/src/screens/Dashboard.svelte | 220 ++++++--- v2/mobile/src/screens/More.svelte | 4 +- v2/mobile/src/screens/Tweaks.svelte | 609 +++++++++++++++++++++---- v2/mobile/tests/tweaks-tab.test.mjs | 212 +++++++++ 4 files changed, 888 insertions(+), 157 deletions(-) create mode 100644 v2/mobile/tests/tweaks-tab.test.mjs diff --git a/v2/mobile/src/screens/Dashboard.svelte b/v2/mobile/src/screens/Dashboard.svelte index 17d4beb5..c2bb0767 100644 --- a/v2/mobile/src/screens/Dashboard.svelte +++ b/v2/mobile/src/screens/Dashboard.svelte @@ -212,59 +212,57 @@ Loading stats… {:else} - {#if session.healthError} -
- error -
- Couldn't read device health - {session.healthError} -
- -
- {:else} - -
+ +
+
{session.bloatLoading ? "…" : bloatKnown ? session.bloatCount : "—"} Enabled
+ Optimize Recommended app review - {#if session.bloatLoading} - Checking installed recommended apps… - {:else if !bloatKnown} - {session.bloatError || "App status unavailable."} - - {:else if session.bloatCount > 0} - + + {#if session.bloatLoading} + Checking installed recommended apps… + {:else if !bloatKnown} + {session.bloatError || "App status unavailable."} + {:else if session.bloatCount > 0} {session.bloatCount} of {session.bloatTotal} installed recommended apps are enabled. - - - {:else if session.bloatTotal > 0} - No recommended apps are enabled. You can still review optional apps. - - {:else} - No apps from the recommended list are installed. You can still review optional apps. - {/if}
+ +
+ + {#if session.healthError} +
+ error +
+ Couldn't read device health + {session.healthError} +
+ +
+ {:else}
{/if} + +
+ + +
+
- -
-

Settings

+

More

diff --git a/v2/mobile/src/screens/Tweaks.svelte b/v2/mobile/src/screens/Tweaks.svelte index 896123ba..b201465e 100644 --- a/v2/mobile/src/screens/Tweaks.svelte +++ b/v2/mobile/src/screens/Tweaks.svelte @@ -1,3 +1,14 @@ + + +{#snippet readError(message: string)} +
+

{message}

+ +
+{/snippet} +
-
- +
+

Tweaks

+ {session.deviceLabel} +
+
+
-

Tweaks

-
+

+ Settings Android hides or buries, read straight from the TV. Reset puts a setting back to the + TV's default. +

+ {#if !session.isPro}
lock @@ -470,27 +642,158 @@
{:else}
- - +
+ {#if showHooks} +
+
+ +
+ Nvidia System Hooks + + {#if hooksError} + Couldn't read the current state + {:else} + Current: {hooks === "disabled" ? "Hooks off" : "Hooks on"} + {/if} + +
+
+

+ Turns the Xbox controller's Guide button into Home. Turning the hooks off can fix + Guide button conflicts in Steam Link and Moonlight. This doesn't change the Shield + remote's Netflix button, which is handled in firmware; use a button remapper app for + that. Turning the hooks back on is always free. +

+ {#if hooksError} + {@render readError(hooksError)} + {:else} +
+ + +
+ {/if} +
+ {/if} + + {#if showAssistant} +
+
+ +
+ Remote Assistant Button + + {#if assistantError} + Couldn't read the microphone permission + {:else} + Current: {assistant === "revoked" ? "Mic off" : "Mic on"} + {/if} + +
+
+

+ Off removes the microphone permission from Google's search app, so the remote's + Assistant button can't hear you. The button may still open the assistant for a + moment. Trade-off: voice search in the Play Store stops working too. +

+ {#if assistantError} + {@render readError(assistantError)} + {:else} +
+ + +
+ {/if} +
+ {/if} + {#if tweaksError} -
-

{tweaksError}

- + {@render readError(tweaksError)} + {:else} +
+
+ +
+ Long-press timeout + + Current: {longPress != null ? `${longPress} ms` : "Unset (default 400 ms)"} + +
+ +
+

+ How long you hold OK before it counts as a long press. Shorter reacts sooner but + makes accidental long presses more likely. +

+
+ {#each longPressPresets as ms (ms)} + + {/each} +
+ {/if} +
+ + +
+ {#if tweaksError} + {@render readError(tweaksError)} {:else}
- settings_input_hdmi +
HDMI-CEC - Four device settings, read straight from the TV + Lets the TV and this box control each other over HDMI
@@ -523,20 +826,22 @@
Match content frame rate - Current policy: {frameLabel(frameRate)}. Matching depends on TV, app, and content - support. + Current: {frameLabel(frameRate)}
+

+ Lets apps switch the TV's refresh rate to match the video, such as 24 Hz for films. + Seamless only switches without a black screen. The app and TV both have to support it. +

{#each framePresets as p (p.value)}
- {/if} - {#if !tweaksError}
+
- Surround audio - Current policy: {surroundModes.find((mode) => mode.value === surroundMode)?.label ?? (surroundMode == null ? "Default / unset" : `Unknown (${surroundMode})`)}. Receiver and app support determine actual playback. + Audio passthrough + Current: {surroundModes.find((mode) => mode.value === surroundMode)?.label ?? (surroundMode == null ? "Default / unset" : `Unknown (${surroundMode})`)}
- +
+

+ Auto uses what the connected equipment advertises. Manual overrides can cause silence + on unsupported equipment. Receiver and app support determine actual playback. +

{#each surroundModes as mode (mode.value)} - + {/each}
{#if surroundMode === "3"} @@ -580,12 +896,17 @@
- aspect_ratio +
Display scaling {scalingError ? "Couldn't read the current size" : scaleLine}
+

+ The resolution Android draws its menus at. The TV's output resolution doesn't change and + video still decodes at full resolution. Lower is lighter on the TV but looks softer. + Restarting the TV does not undo this; use Reset. +

{#each scalePresets as p (p.value)}
+ {#if scalingError} +

{scalingError}

+ {/if}
- - +
{#if tweaksError} -
-

{tweaksError}

- -
+ {@render readError(tweaksError)} {:else} -
+
- animation +
- Animation speed - {animLabel()} + Screensaver + Current: {screensaverLabel(ssComponent, ssEnabled)}
+
+

+ Which screensaver (Daydream) runs when the TV is idle. Basic Daydream is the plain one + built into Android. +

+
+ - restart_altReset - -
-
- {#each animPresets as p (p.value)} - - {/each}
+ {#if screensaverOriginal} + + + Previous is what was set when Tweaks first read this TV, including a vendor + screensaver this app can't name. + + {/if}
+
- touch_app +
- Long-press timeout - {longPress != null ? `${longPress}ms` : "Unset (device default)"} + Animation speed + Current: {animLabel()}
+

Sets Android's three animation speeds together. 0.5× makes menus feel quicker.

- {#each longPressPresets as ms (ms)} + {#each animPresets as p (p.value)} setAnim(p.value)}>{p.label} {/each}
+
- memory +
Background process limit - {cachedLimit != null ? `Up to ${cachedLimit} cached apps` : "Not reported by this TV"} · - change it in the TV's Developer options + Current: {cachedLimit != null ? `Up to ${cachedLimit} cached apps` : "Not reported by this TV"}
{#if bgLimit != null} @@ -685,26 +1029,29 @@ {/if}
+

+ How many recent apps Android keeps in memory. This app can't change it; use Background + process limit in the TV's Developer options. +

{#if bgLimit != null} -

global.background_process_limit = {bgLimit} (ignored by Android)

+

global.background_process_limit = {bgLimit} (ignored by Android)

{/if}
{/if}
-
- dns +
Private DNS {#if dnsError} Couldn't read the current mode {:else} - DNS-over-TLS · {dnsMode === "off" + Current: {dnsMode === "off" ? "Off" : dnsMode === "opportunistic" ? "Automatic" @@ -712,11 +1059,16 @@ ? dns?.hostname ? `Custom (${dns.hostname})` : "Custom" - : "Unset"} + : "Unset"} {/if}
+

+ Encrypts the TV's DNS lookups. Custom sends them to a server you choose, such as AdGuard + or NextDNS. If a test lookup through it fails, the TV is switched back to Automatic so it + stays online. +

@@ -724,19 +1076,15 @@
{#if dnsEditing}
- e.key === "Enter" && applyDnsHost()} /> + e.key === "Enter" && applyDnsHost()} />
{/if} + {#if dnsError} +

{dnsError}

+ {/if}
- - {#if scalingError} -

{scalingError}

- {/if} - {#if dnsError} -

{dnsError}

- {/if}
{/if} @@ -758,10 +1106,11 @@

Launcher optical alignment · simulated masks

64 CSS px; candidate moves artwork down 1.8 px. No launcher/device test.${['circle','square','squircle'].map(mask => `
${mask}
${current}
${shifted}
`).join('')}

Current ← → proposed optical shift (source assets unchanged)

`); + await icons.screenshot({ path: `${dir}/icon-optical-comparison.png` }); +}); + +test("DNS confirmed changes survive navigation and reconnect, while unset stays explicit", async (t) => { + const page = await open(t, 'tweaks', { pro: true }); + await page.evaluate(() => { + window.dnsState = { mode: 'opportunistic', hostname: null }; + handlers.get_private_dns = () => ({ ...dnsState }); + handlers.set_private_dns = args => { dnsState = { mode: args.mode, hostname: args.hostname ?? null }; return { ok: true, message: 'done' }; }; + }); + const card = page.locator('.tweak-row').filter({ has: page.getByText('Private DNS', { exact: true }) }); + await card.getByRole('button', { name: 'Off', exact: true }).click(); + await page.waitForFunction(() => [...document.querySelectorAll('button')].some(b => b.textContent.trim() === 'Off' && b.getAttribute('aria-pressed') === 'true')); + await page.evaluate(() => router.navigate('more')); + await page.evaluate(() => router.navigate('tweaks')); + await card.getByRole('button', { name: 'Off', exact: true }).waitFor(); + assert.equal(await card.getByRole('button', { name: 'Off', exact: true }).getAttribute('aria-pressed'), 'true'); + await page.evaluate(async () => { await session.connect('B', 5555); dnsState = { mode: null, hostname: null }; }); + await page.getByRole('button', { name: 'Re-read settings' }).click(); + await page.getByText('Not explicitly set (TV default)', { exact: true }).waitFor(); + assert.equal(await card.locator('[aria-pressed="true"]').count(), 0); +}); From 4d18b24ef5ce9b2d00e05c4f6f19d9a0a63f99a6 Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Fri, 16 Oct 2026 22:34:47 -0500 Subject: [PATCH 29/48] Lock mobile background scroll through nested app dialogs (#182) * Keep mobile modal scroll locks through nested dismissal * Reveal wrapped keyboard focus inside long mobile sheets --- .../modal-scroll-2026-10-17/.gitignore | 1 + .../modal-scroll-2026-10-17/README.md | 51 +++++ .../app-details-simulated.png | Bin 0 -> 69234 bytes .../diagnostics-before-simulated.png | Bin 0 -> 68027 bytes .../diagnostics-restored-simulated.png | Bin 0 -> 68027 bytes .../keyboard-close-simulated.png | Bin 0 -> 37912 bytes .../keyboard-last-action-simulated.png | Bin 0 -> 35228 bytes .../modal-scroll-simulated.webm | Bin 0 -> 411115 bytes .../nested-confirm-simulated.png | Bin 0 -> 59217 bytes .../modal-scroll-2026-10-17/validation.json | 35 +++ v2/mobile/src/components/AppActionMenu.svelte | 3 +- .../src/components/AppDetailSheet.svelte | 6 +- .../src/components/AppReportSheet.svelte | 4 +- v2/mobile/src/components/ConfirmDialog.svelte | 5 +- v2/mobile/src/components/PaywallSheet.svelte | 5 +- v2/mobile/src/lib/modal.ts | 132 +++++++++++ v2/mobile/tests/apps-catalog.test.mjs | 27 +++ v2/mobile/tests/parity-screens.test.mjs | 207 +++++++++++++++++- 18 files changed, 467 insertions(+), 9 deletions(-) create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/.gitignore create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/README.md create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/app-details-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/diagnostics-before-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/diagnostics-restored-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/keyboard-close-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/keyboard-last-action-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/modal-scroll-simulated.webm create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/nested-confirm-simulated.png create mode 100644 v2/mobile/evidence/modal-scroll-2026-10-17/validation.json create mode 100644 v2/mobile/src/lib/modal.ts diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/.gitignore b/v2/mobile/evidence/modal-scroll-2026-10-17/.gitignore new file mode 100644 index 00000000..480dcf64 --- /dev/null +++ b/v2/mobile/evidence/modal-scroll-2026-10-17/.gitignore @@ -0,0 +1 @@ +raw/ diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/README.md b/v2/mobile/evidence/modal-scroll-2026-10-17/README.md new file mode 100644 index 00000000..2baf25ee --- /dev/null +++ b/v2/mobile/evidence/modal-scroll-2026-10-17/README.md @@ -0,0 +1,51 @@ +# App-detail modal scroll/focus evidence + +Base: `mobile-parity-pass` at `5f4fc141ceda0307cb86b68bfc50433b9ffcc49d`. Separate from PR181; no settings/inset/icon changes in this branch. + +Root cause: AppDetailSheet used a fixed overlay, but neither it nor its hosts locked the document. Its independently scrolling panel allowed scroll chaining. Closing a child dialog also had no shared ownership or focus-restoration rule. + +The `modal` Svelte action locks the document once, preserves individual inline style values/priorities and both scroll coordinates, and releases only when its last owner closes. App detail, action menu, report, confirmation and paywall layers share this ownership. Scrolling stays available inside long sheets with overscroll containment. Only the top layer handles Tab/Escape; closing it restores its opener. Last focus is remembered across asynchronous safety checks that temporarily disable a triggering button. Destroyed/disconnected launchers are not refocused. No global touch/pinch/text-size restriction is introduced. + +## Reproduce + +From `v2/mobile`, with existing dependencies and Playwright Chromium: + +```sh +MODAL_EVIDENCE=1 node --test --test-name-pattern='modal' tests/parity-screens.test.mjs +npm test +npm run check +npm run build +``` + +Focused checks cover background wheel/edge scroll, actual inner-sheet scrolling, repeated open/close, exact existing style/scroll restoration, focus return, nested confirmation and paywall, Tab wrap, Escape/backdrop dismissal, screen teardown, disconnect, and out-of-order parent/child destruction. App catalog/report/menu tests run in the full suite. + +## Visual evidence + +Synthetic TV data, Chromium/macOS, 384×812; these are browser simulations, not phone or TV recordings. No real device was connected, no app/device setting changed, and no app installed. The mock Disable confirmation is canceled, not executed. + +- [Scrolled diagnostic page before opening](diagnostics-before-simulated.png) +- [App details open](app-details-simulated.png) +- [Nested confirmation](nested-confirm-simulated.png) +- [Diagnostic page restored](diagnostics-restored-simulated.png) +- [Short open/scroll/nest/dismiss video](modal-scroll-simulated.webm) + +Frames were visually inspected. The evidence fixture uses invented app/package names and contains no personal data. The named video is the deliverable; intermediate raw recordings are ignored. + +Browser coverage does not prove Android touch/overscroll, software keyboard or accessibility behavior. On a phone, check long-sheet touch scroll at both edges, backdrop dismissal, keyboard, rotation, pinch zoom, enlarged text and repeated nested flows. No physical validation is claimed. + +## Deferred owner findings + +The durable general list is [PR181's release checklist](https://github.com/bryanroscoe/shield_optimizer/blob/3c15c2147a0e4b2cf0768592d33b8f682811bcbc/v2/mobile/RELEASE-POLISH.md). RAM/storage, thermal context, reports, exports and app inventory remain separate tasks. Independent review also found an inherited density-only display override label issue: `scaleLine` can show physical density and “device default” while selection recognizes the override. Preserve PR181's approved head; add a density-only fixture and label correction in the next settings slice. + +Validation: **232 full mobile tests passed**, **8 focused modal checks including capture passed**, Svelte check zero errors/warnings, Vite build passed, and `git diff --check` passed. The existing fresh-worktree parent `.svelte-kit/tsconfig.json` Vite notice remains. No native source changed; no native APK/phone validation is claimed for this slice. + +## Keyboard visibility follow-up (independent P2 review) + +The sealed `c852eb7` helper kept focus in the modal but could wrap to an action outside a long sheet's visible scrollport. New tests reproduce this after entrance animations settle in both AppDetail and Report at 384×420. The revised helper focuses without scrolling the page, then reveals the control by adjusting only scrolling ancestors inside that modal. Both Shift+Tab from Close and Tab from the last action verify visible controls and unchanged background position. + +- [Last action revealed at short viewport](keyboard-last-action-simulated.png) +- [Close revealed after wrapping back](keyboard-close-simulated.png) + +The refreshed video includes that short-viewport keyboard check (not a physical phone/software-keyboard simulation). Both new tests failed against the sealed helper on current base plus PR182, then pass with the revised helper. Standalone final suite:232 passed. Isolated current base `6f3deefa5e46a03d292aa4ef1e84927440b03766` plus revised PR182 source:236 passed; check/build passed. No merge conflicts; PR181 and the old sealed modal commit were not rewritten. One interrupted combined run had235 passes/one session timeout during Mac disconnection; the clean post-reconnection rerun is236/236. + +A separate P1 report identifies stale app selection being rebound to a new connection by AppSheetHost. This modal/keyboard slice does **not** clear that safety blocker; it requires a separate identity-lifecycle fix before release. diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/app-details-simulated.png b/v2/mobile/evidence/modal-scroll-2026-10-17/app-details-simulated.png new file mode 100644 index 0000000000000000000000000000000000000000..4124dee08bf2e9b2f8e9eabe72afffaec8568588 GIT binary patch literal 69234 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

n zSDX!ffJcY}!1;JnOZYldI$Wtrr4nn@?7L^_f1tRjBoQ`2X83zBH@jrIrQ;(Ja`69g zu8wRGe27W~fT6X2E>xBW1e0ABblllq7A((Gfsv$5ME=>L>$ma?V}=1}RxR*J%MrkI zgsjKp>oS7Sq82Ju_=6$D0J?FQu_0Omp%Nxak(QW9m4(Aqz_P|F;2Qt*oAk24>z41b zKmwjx$T*R^eKERm;b#E z_*=&Yz*C+$_z*6inz(IC_QfYng)F(a^cb$(W~>}ETcJ4Kh9_->ExBe1(Py>@D}Q+2 zYmuT(ZNi@#SHpxtEPA0Ayvfoug z3ympFfKI->C*2SYhC@b>M8L}Z{t-ym0fkEt23ZQ34fkNLmZ#Ca2avG_`D^<2kn1i zl2~s+ypg@T$w~TuoeV4;|3eGl6UdtA7xZ+jhP)V~M23#Vah;zqQ>l=nNgE$Rb+VF9 zl+)>33qQvN+rNi6PF+4e#zYSeh3-&MUUL&hfe!iNIKN``)slO#RiP1=c5;$-5+=wa z^zQt2>*>o2MM)72*FqL0N{svf#y>AdNINw#p1?OnJWnZv&#-@{Mt!+e0Y4}Ac@)(2`c!5yT!@&B3K_>olJjy!1_U)T zT^at)0N|CDp4hnkb4t`asmt!)Z-9Fmd{e@ewej)RrWe9YUA9*KuYFjd9VO)Aa0x<| z5&()EfDfot56AoxaoXxLPDKeoVwQ5Kwm1_KX>lK<7m0uOc4L3vppgxaJNilOZ zN5!N|@^GPHIqxMchW!Zv5;cyltD~bd19gC7K3vY5K-eJ%`{C8ybE3-ocy5iOT0W6H zK`aCaQqrJW;36M?7&Q&kA61BO*Y#+qI43=g0Z1-WBEyhIbJz%(V}-@?9VHr&uc8rf zNd3PD%|0-7{|g*zm7~z0Ib<}-b+8rTXHJxZAB+HcTOI)nE9g6V)SS+WtM2$Fy;eZ$rYG@Zw)5n!`!s>)SmL4^jVzaq^2fI=KDi-O#v z&546o12Y=KP5{U`0(YNLy_H(vl>P5|o}gL1$Vl(gy}e7KRnQ5_ID*0t7#+Wa2*cX~ z+;5@=wGksq5)c?h4O;MbMym2!+Pd1hx`Wbj09u6(p$ys=@~F>WB7R@0jMw-DAJ-2q z#p=|QNY-Ee&1mWJ=u^L|6#^1mP4RlJ%0bv4#7ymHu#W9cF9aMKrGgi-RXXp?(Cxvt z=MMn|)vD#os;}42!cbOoIaxV5Tmcg{@fSrE@!-=?NOhv|K+s}a{QHQCU9ews;?{)# z9A;;ag@2Qu6~#cXwtOrA*7ZsW5+T@U%Y-%bHR!4<;xaPFDvJDmayy}Wh0HNOTy)WtO3lI?*kR?FadEPip=m_G<8Xa_sCd2(-)Z+hxNO@IGkf~G*5*AV^kAK%xdU*egaY`bpBXn5T zVfuQl$VWW%WhdZSb7#N3q3G@5Y@t%!Qbpx1rD{c^Mvp#G<}6PyJEwFeeVdtXa((1{ z`I0vriHO_lj!oS1^;9B%E9&9Pr;cm(;4eJqj3>-=FdV?npo_TN7XqQ1|O4KOG~ zY<}zSg_J<|@cZYmIlYe(1w@2aSJV0Uyaj>1wpndi4~;RKnH>R;8+r%OlH{-jQxV1K zwQgD~GXBsq&XmaJeyw+JW@qPgJwdnUf@%X4)gi%+K+({CnEoL=*X&->ez?~CQeqL%O$Uu*SG6{rwc*P&30+6FnEO1 z9YfvHrlfnuzR&Hl>)$sK&@wK}Gg+KO{ae}D_`a9xEmigqrYzbs+aDuwdDv)Z(RF#g z55kW!3fWwQCLj>mJeMW4Ti$;6H9Am&TFuC*5%#T6NTev@BcOCxJSB!Zy)Qn8t4>s* z_S3ccJPYSdE+<#HJ+G6Q{43+*GH+FVc|$0i%>t= zpO3sg-jD?R_rK#_we9#@S(!Hz1xH9~`j8*C_nyMXa1_5FOb(JHB|zCJ;rtWP5Y zl$gHAnJP6RV!Y@6!IhDgeqjm?8#|(}fP^HAqjo_a3D#P9*pS!t1^RWJ#264$2zWzC zAovXd)?Jo6v>;3W^9%>a>z|jajJZVV(@LPwiIs$hK}w6 zTrOcssyU7tBUhLo)2mS{L)5Q^*Fi?ORuI5@-}rIcta zqdM{7`{&y=FcJEH17 zNF*hpY;l!Oi2UDS`aXM1tt?Mb0|NSfNFth9nEiWsC3d<`wX-^VBwUXYvP2g?O)MID zZ!r}&8Wiiu4Wdq>bidj}DTtlvdx3R!d^l}zIhh`m`uF+ffFfnkYl2Zoso&|E$!}w> zruHz&?NXo=5ko8>vP7h})cl%1==1iJLzO+>y>fSP9YD;2P|(oQAY5#IHBo2K?TW)d zAV*Rm*XgkH-{37A0WHu=W7L#LMk3@<`9avO?9kVRd>7IK2M^!w_10R;99q-Yb~>ov z^^A#*{(H5*Hiz5Ay?@}Dq$OD*ciZ=Z;3b%k5bHcxH0ZOR$o~bvi;F~IU2Vn;K2G9Z z`i=b=g_RvfNo8_bY-YHVZ-Y?J4(siN_EP%Gl?c7RL##b_y)ZDa7C_Lyxxn=5Zsn!S z`fbqO8KcWgj7@r<`=B~L;Qu9HVL>prA$}l3iEi;xCJ^gybZNw3@3A05hMt_9JRRdH zuu8-yvbulW`sp0HFokp>K*}F0xBF}DQ_==a{ai%n-rOjk?NIr!tY)(f zkp#Qy9L3J~U2#P_-(+G0QiWwjw|`PRHyrr)l0e|=E{nBHk>p*N-Ef|jweR&D&pU_| z*?`XJ7KR8xbp}qucm;&0^3#`RfO;DFpfiD*JVsR6cy3zX=cXT2oVZ&nl|h%gx@9=X z!1OE@YDiuE1AK>zysURo7^XLxJuGsS*2)Ei`{^P^|7XOT2Nh_+oX|0fU05q!~1iUU>n<4G#vRKow@^YQer$tKC+4wm> z3X5Rj?lxMk$BbCw2-gjj6298;zXI#)r)?1_dCvPEtJ0K9)o8i`o>L=dO?PJ#!=JAA zZrg$J-O$oDBd6Ho{7=LSu>NZKOH`OS%G79P^0+aU8=6{b?0l=IB`{#IINRPgyICpY zQ=`QIMcIol>Dr3Ah9BScvJi^|gCv$Ebo?=9;8o*tsFSJIE4ZF&4I_&DDa z_I^4$Il9!<(9r>Gv3M!Nl7WYE-@<2j!}Sktqxt#M|3eGF=h>K_uatex zrHm(9YxZwZqJoFDicGHE^2yvHJ?ya8?u&b zCTAw#5UoO6z(s;OLXV#4@rsH_!(*`BjvsDovXgqdD~z-@MTiJqODn~_tpAc2V2mzaeVpPHIlS_(x|O-yXl zZ2>+(M@>mfMTIo!Pd)Ghhj}RX|=www9HHu1C2OTQx+?C^VE(|2-I5)6e4V3 z588Bg^5a|PPyRV&zOljEY`;JlmR=Q&mlJnhQda8e=`HGO{CDWg6|2yDm3>u-ij`WR zb_8~%{Q!I*y5EQaJL!)a+t0O(j7c6Caw%2F7WgBK!`j>O!&Pbz*;RyWPy?+K*NuZ`;Jq|x3)e3#x+wk z9UUDS3U8#prM3CA2{Sjo!VXCA)Aa^S&kd5&GZSQJ2qACt*XPy-1x2YF^DJ=oU$()f z*MCsInF_*je!^oMV-d>*qua`oV!+8ST_f{wcLA0#0K0r7Ex3Luk!}?_H#Qkv)&&6aVEXm$zgjW-@J!|y(1mG z9(0543xJ}oKe%&tp3d#1K|c49ZMV4YjWF2hbfRb3|6EKvmZBMoklX2SD^lzWLLwuB zy}RG@ip^qzm@~1pTx^f5XW4ydShanTdA-ok(_5@k3}8ruI^%X0;{S4XRv{f=`v>7Q zig-=LVO=dpnj%#)8c%4-l>UQKZo9>g)s&oCfPF0<}Sc#a}JQU3efye#%jl zoP&i39rQ1~Qc*+?hn*F9I(yIK2C1`{u9g$%a^89Ra;dT(@7=X45m!#D%^3C!%(MbS z&BdgivVdA18@g>FENj$2u)Q#M59jpUiMHephg6&91FW(VNp{OtR4gr2L|DffcCova z?=iMzDY-8UR&XH>4SFV&gq~OiZ8k+_m~k5=_#Waud`_x!9~xX_i|Jl5F;$P#( zj>JO$9i@;F?TM*8Q&$e2Eq%4(EfFb!85W4wAnuICrdQosLtHaHKmr7&OcsPs4!+`_ zf5?$mP@zL`i6y}QfBUoli=}J)(zdtc!j^T1gO3?JSgI8(w2Lm2B3Jv1TFq>~Gah38 z^r_J4PHr?+MUg0!DRz{V-bzBBrr6Puuk2VaGm@wRo#8yv}F8Ys=6OL~b>Rs|M zsf6jF1Md2_D5;OHN@}`Wq zl&|qMGUB)Y_$o6%o8m|piGpE}MaS%LHNd(djcXRd*)w`9vrqY3GusuL_*+-m5zCY( z6}Fq1^n#5zUruWwMHSVvW)0XBtOWz7{NWu~r2erQ)nCN+*Yr?rV#^aLVwV1*Ex+TL z+>Ifm3gM8Y#U3B8&`^huvSLtEm!hud<&MMgMI1J(lA$SIud1y4psaLP0%;8<$Iawx z3M^0s2djm84IU?)DxN%H@r<8Pj{FYYBald%s`6`G-zXi1sx)q+P_06So!x?2dwO}i z8};#1qoNol-o%C!QRUx(VU?{~6O7w%easD0>~Vt1X&b6~ZRn5T<~F5bto+a9(gVdD z!!9yDL>4MpF}b}W`uR|@;KJiS3J>_Y{K}{t(Pk#rGK^`dsWf<=CbFuksy;s9&CP0C z+8ueYhQzzh?d0UcEoQ{V`4+z&Iep!0?q;4`T6MTkd%jzr^{b=h>b3sEe`NEl>6tRb zQMy?(7uP_^8DK$Me`l$3UC_S$2j#87hO?Hq!cF{@!>;yGRe3@Qu1&v+W&^SAvhb1~Qh%43@mDv?F7~o4Juu-9@GMQU6Qnicyg2EuouxB+u&) zq^RiVLuZJ*(H@uQtI}A!!^W`l?Wd<(0(NUa){q6(?Tg;!^0^%_bgST$KC{L2@xoQl0Tml_UCDpY<@8-lUwO+P@wG}k}UDpQv zBgWr|T-grCBsLiRW@QVx@h5X1UxSN0|Fct)7gI)J1&9(zUXNgv-r%;muS=8 zp00^LZuaiXWKoc?pdn~V0DIJWf9Q{}aR2b|@J5@1A2Q0-!3D3=yr~aw_}lZfy2U0=tX z1?p0?t~tqX?%}xz4O@08+{4z7ASM+L!ZaJh5|5@Qs7a&4%zLem#@t#H3wJGNOPnOK zGbb(g!J?xu?iTgwQJ^h6qAIKQt&QPU&3{VA#x#%7D^&Lz(L08_70wBS_uvtAec3Y^ z!p$s%(_)b57%M>>U7hb9?=KcBn)DcECdaV(TrFp|{ht1A%x+s23#+i117Un-p% zoBIKz;LIn}VcOvE5MW^npu>)bwS{bvd{T?n%fr$NA~dslF)TKYJe_ zu{#rrd=Q4sDO6Ygvn8e_)nX@gd344%SN2P0@0Jx#>JBSJu9m)LcH%D^9==CY1>>qVgbW59I zyFFkLuku3}6!hSY@Vv>lX}ek<_}c2?WMy^v9T=35 zJ1{VwW74pO&#)m#ynFcPprWF}AlIPOyfhR7qCO@HE;=|^w6LhCL+`5p!u zVcSyp!7$T@Ms@E;sXkK$bv|QhCh|0O3yY-RARD`+e7UsxUU1)QLc!$=OJ3dZLhVvk zIh6J91Zjsyx9+bJ@C0n@RuTG$+V$L)?M~FdFD-C>SDZTVfDyybiEC-vy2Q{9?L04< zPWq+Ucm}@^V!=^HBqCT6|Gq%UA&e)_((&MrDwc${tJ3{WMK7cz;iW+`I@QWT89waZ zn5-AuUwCNU{HOk@UYh%J+KiX+!j`$MK%Z&I?^hC9m;0rF(QZD_gEyXfV(N5s^tTJQ z2cu$z&czYr=T~r%YMF_N)JcDghNWm!7wsY^4rI(&a)k&03xRco9$!GsOi6k)b+hG% zkFmf1ghov`JOLq!6H#NRSOfvbD=~`*Man$?#RG*=nliZP{k|SkTpwCn4yQo&x06hN zH}kHw6gxgur+*}9Z6^LlWEl1FyEeP~K}7|>Ce&##CbmIQ$wqTBgw?a-l%z3EixP*; ziJS5*knwr!6KI#d5i7*V=Irn$ADJS!2t}^a=MCDNk@uo#wtkqbwMI7%{iQL`!g#s# zJtGUeqUT@x?tz+LW8U=E;Fl9JxPJe0^LyKV)uFOXaa1w>TCkc}nlZxJPRNS}zMM#k z97D9+5`~Pzh*R)p$lzc-hHZ5JQG^2}v3{a{2muPBJ)EGtH~-V^Ro2bfuUqBkP4;hV z+S-vYkOioHdBf^6tD-n;*7Y>FDxLZ5X(9k%uvbw3{ zm`5#&UIYa>|C+9N`tA*7iHNRXI$Dkn7O7Z$pl9@F6cJ{|GG9>FO@h^=fIQPmyoJDs+5?!PS2 zy@3dYEwm>)a=(0zv{~UF|K_x~xZ3f^UTJ$V$xc^feEA`teSuNB<|`}|KUdy(?#vTW*!{T0kClUTfOEA}r4uZ7>RnhwjwmC$K+E5tY8 zh{6gH_1eKd&#~QHh=459JzWtST3OyZ)L>m?t?|T00?&|FCvF8IDx_>%H*3i&E zt3j6qm^yg@|I`6RuCXMbNcZEWAehOSk8hJvzw>nOtfH^zWBsuT&|!5OUA?re);|5- zqF`ZHYV_Hi=96=Kd?+a?0pp5{krQj~DkvDT1sYLCTIT8It{56Jbnj~GCkwcokIQ*S zUa-(iw90pNLtDDzgR0Qcic5M)Y#Ew{X+=E_@7I+F3rv79!mOr5AXDB|btVQqT!aPH~DfS~r8wLpbpLsBuZ~ z*GHnjPiOG3e1T7Yki39T7%{OgiVzXB7Y{|-LRa^9AX#z;7JlED#ieM_x^Lm=T1@u@1CQ^V$60XkK9vg*vO2Oe2*4EIw>MVp_nhC(R}UL?9W zxsjv?LNrJw%G!Zk-VES3-tqJd3i^tb8A1AF=lAf~3W4Y{X1CE1F?^H}7AsGLNtqOl zSg}cE__`r&S#{we*>x7dX2xdih-4iq3<24Tr#eyE44X=_a@Eneab zOSA(|dL`1eOpyB!GAiL*c1@Au$8Qz^B3DBu(yZ?Ec({YlGUa$`8CoS?d*#Z?b*bBy z|4~3gj5+v2g%M}U1S>Bf1A6=aF5!PDDnfip3w!+N z#Q0=!E)1u~bK|dH1BIkpVu<0vTanSxCAly`O1tO#n0R=i?AYuYZ)-RA_lhzy34h@E z9+~oHJlx$Cq@>D!8Khx;#p<9hSke?0%;YC)4CB_*}e;1TR5iq|M;{?E;w82QuOlD_U`o7 zISea*x(C}MWHQ=~JQ#gAtdO1Zu-%D5!W4KtT)5Dz%jI$VrO@YnDFaxKMT8Rbh8c3^ zC$;)%pC6p!mYHlXaw+ZR>#a7=Z*_e@?AOC1e#Ic*zKp1so`!*t)8987F(*Ur{Qcj3 zI1)kfAJg`pjrH};_V$pF=9q}~KKIK^?WW^q+btS;@}n8SFRHPb@G}A9f#UM=@Zd1` z6txH-Jg&br1Pud2!0MhIUM8t$`#0?If|X_7EdZC_{4b|rfONp+e2uQw8)Crc?Z%|G z%hgs_v@Vri7`Ka|)l#RMlk!}{f#hQvOrOJX^_npKPnUb=I0Am}tG_r~*6p1gQ`y{E z+slC{^BWFEe7wBKhbaH9_QpP~`@f%^@OOE{60&a3 z&+k9gWL>P(B}tcDcXtshiF$j##_t61IxkvwuFGNCj69^RhlWyPL;>g6t-T{5vd1mG zz@RDb6%2+&ieXUw8$XhzT3cChSdBmd7|h=DH4(qFR(z7yk6{CUGXq;&TL6GH1ScYq zroDfpUAeLa1$TH0BWQ-&-0pYUY`?A9 zXa>qo0JGtD#zI+nnbY2TN9Z-ZPMdqIUadPe0L=^4DsSGNsYDirehXW|$-=!!?xKp1 z|8udRr=tr;AnG@1Fbue#YO+x1|98F77tr-&9KiVLa%&jie!7Y>F=l0L&0{&1Fc^+R zuhaZ{eEm3@vA5gt^Y4a3uYryZFd5in2-5a|d9pk+bG=d5yV~TjGHX0YLfWZ2D*k!p zbFJU*_&NBD1<Xq1XNefF0=aNE?h zv{{_jOEeh%4s&lPdwY4l@5*v=i%>-V@Gugc09a=D#F$8XzkRE7G&P^j4jpQ-(KtCi zt~Ts~>`YC|tE&NWJTAT;@2T`3K9A=qBn364a#;$R`SKSW5%F}MZ+5nRpYJOusr!x{ zfOq(fVKSVEE-E(G-|h2#efozT#-Id=@0acR!|S^yiU%IMdCZm0?QKK3gtj)db-Trk zeKAmtkeQyz;Q3qwWbwN{N3wiD44(tz^O%I`Q2P2T_cGaOEdXZJP?Rfi7!0)!>vX|k zcUHI6=@CB3@3!nNQZ)POq@_tM&$L3-LQ2$D;K_V@Bo5KzREj_QtRd%?f*@CGHSNkLo ziefbEhPJv`D=NEM-UxS#@PE0vE0HB9F9}Dyk|f4yz`m?wYOK}k*lf}Dpab%7kdTo2 zot}HQK}IYjp&M;>!CraE>Fq9W?)+vV=s?;>vraD~HPicP@{AUX(QN@;m%zdz4KNq0 z|H_SBjXYj>TyLwF3|Lv6y**tCgZrJt5kQ3gt66U@U~^giyWN7e6cHD--toid`HCMK zUP4-0+TS1KbMJ+UXi6mX0SLtaNiqygikM7bf|9a6p0@G(xTi#qUvKpUyKQZ5YRes8 z_kDOD&I+d|wK;4xwl+Gsc>t?#i#ohsmpjBVvf3^n@d#}9cG{4{2;kZ@5!I!7vx%?E|-Ia|2sbh?>?*;xs#cg+g7;ct;&atDrz8(>4I;R9$9uus~ z2$(HZ-tbfaXx%(xC6kQzci8K4m65iR2KI_Bw`*fkwjg~alG^-*vl|*J28OUb)r^kf z^uda13oB`A9oC*0UaymBeOJ!I<8w@O{JS&-v2Vi{!zbBT~0Ue_C=6j)J{ zX2XUUbZ>4l)?kA`kb#5y8avy&`@71tcxyQD_w>_r$%LV1-&~CFIZja{} zE+@U9vK*wO?*kn!?Ig->-walfzTR*+(0$w9-@Au~#DFY^)eSas38Ea&)A<5a>cAoO zg8%ESPw`|rGhEx%b>AB#mikWbhxg-|?r5Rhl$_H}lFU*Qq_;Ovo#`4dH9p-L@U`vG z_pY~b-kxCU%w33AAB;%Im;a_JEF2`l@ceLB%*bbBgU4?M2@XjL4JsKEC-&Q8Y<#@Z zDSBCBIl}Sdeul!(&@e<~7v$q+tF045f=l9UX<_2+t|a=Qu_l(D9wC>|pnfX~*5<02 zfr@IVZr$3)+q)l3MVAPX-89UV!P8;RFyQlZ^t!L$ctWGP&{|k=7#<=nS4Q0LeGUpJ zC;?nbFQ5LOUw&Wua+3>0dQxB&R;ReZ!``2p+(5{TxgHLvp8FXQ{{)sIe0l=p2PFbH z_UkY)kHH`j3m2JnG_fg^h+JImL4qM0wB443(YcKG#gZeH5aG+SI30+U3zTNt_Pac; zTdkL9n$2WQ;SlUPoF8>$X{%_+cR#tkAG9d3PINQfT6TZ>zTA+2;@49frN!dw<7|~T zOb&&JDR)>-uHHgh3&qUd`d%!@;?lxjqZ*TW`a06z8Z&Em_HFmL;O%88bD%}HE}^BNX>JP;(Mj-sp3X@mlU!S07d8w-!1KR2 zrmw_A-UU)lJpo?=?yZJ>pYb7Y77z>KV$^{)I5ca5wQ!tPJ4x45m5pltb zo?aiTR2oA1t8Hw$9rreW2L%H$L~-6ZOL#KLSP`aNQZ{yYTac-M4}`6{x?VoXtsmrx zg!AcmvY3pY$6eQ?WJLMV7EgaWPIW}GHtuFhfiz}ly{rDX?BO0(ael+10ATK4Q)nt7n%WBc{xx7IxE-w3NAm`Bl=E_l{)dHDjrKh(EtXCqG zgo57a`ci0=@&*svpmrp(X$<}+TcLelx0I>I)ink!zbZq4b^C!Rp}}{U2BW0Y;|=i& z7MOT^U&~WTWeUE}gYiUuH~tb5BdWBeL|S%$!>ixwd{l$S8Be(MjE-G=KeH1MVE1_e zBvn!-4mBAJm)%|;z+8ZB3ui2^%t`hG475}($N%sKg*qd@r=s8S*<@G)M?EZB z)RY>Ug(#QS2M?8a_QLF|$IXAewwKvJb5e~~!p zj~FRR{OG~Gmkb7Z68l&)d00G9K)dI(MpM!V0Pz2;&EkIY7&x3XRtD=z5T@>L{g=O_ zOU%sNGV8*C7>mCn_d%gOGy+TgH>VEUmLm=2|B5Wk!5OUe*7Zbf5=bDV2p*Lyb~*pc z#;g_eHmlP-n%Q#!(Q9ZvP2`PmASnx_H{nw2YHbS&MAAqIYn z{*x?I3}kLBmv>o4hZS(3MRkNwsey9Tf(){hKk$|yICP~`MoO^a!F-iKr7A8G;G+j# ztKujHj>#GTg#e&n27mwSTagc@-C>2W1LFU)z*Sy15Gef?A}+>-;v>u(-21PI(`+w+ zrtBu>_RQCh9?zHSxL9}u==08FH_YpKKyYTITC4hFy=f+J*>1f~=c!CeEv|0Cythz| zrp;Dw>f}B=Hgk9Xe0r}Q?(QB);$Yz2Bjae>v}Uf#><(SbM9WI{xU}Ggxp* zAh^38Jh(f--60U%-66O`65QS0-QC^Y-Th$GzyGZ}4^uS{Q*+;v3Z&?!d!O%Kd#%s* z2A8Sh@FpnzAdZvIcRcve_AN)Am1g&?RjyIv1zK9Z3hYYC;!~`cm%j37M{xB7~9e?7JJhX6NO(EjGyh>CEs3$KdnW--73>rxj;}W`1XFovMRKQ_IT<_^~E3vK9e{8K>(B zXM3cxWm$Gn&e`VrYSmP|seYKK*X;=f{pdFbz#<6xFYW&D!%7B&e>e=j<+$mpLWg^? zM3x5;akPT(rB7U7O!7y)tJBTh4Zr)H!d)*c&apY*ZThONQfGlBJ`bCOT|NC5Ff@c% z=hIPF#UG_?<<_(BIcN$Rpb@;HT74m1tQOLO4g!=5C{LF>a;hF;?mFAX^78h^%1jwb z+0ZESY0|(6Of(EFlCKm4gR}bihG8yr%bLmT3ksmvSsYr?{e9#7yPA^h!69-qJ>sZ- zNQ>2qTu~#4Zfq&J(8agoi*r2d6=!S#_h5iV(Dpr#)BKK(~oPtI%6=iXFdN^LM!|ffT{SP+L;VIG4#ddsJ+^1YhAnh-}l=Ke#JB0va zV_8|;I|3b&g`a5XE?_Z~h{-gxHbSIgt`f78xf98+xzUtGSDv-u1J8^W(}YnckfObN zvSC6Xm@jM5t05{V3448m5S}`GT~;O=lxgzbwNU&Cp|pe_t;A>eunSxH^PgQ4ehI%! z#`jb`$@nlqQg&snk2T>F<;#|60`5SIh_#QrF`8 zh?(wlKI86YI)5tw*ST0a`Kjz*di>wiTMd>PR@NSF=j|%4y3XJ~Xl-J1e`X}9{`;Y< zP+IevINucCgzSHAZ|G`MLvDA<#-0U-EbN(>BIELY<^LNMrQ7KzQeIX@)_XbKSx`U@ z(`dE7eZIT5H`5`473gMPug(ZPZ4+pYrVgT|uXA*oDOg=v&UTD?w`=CL_K;B_kLb5q z?SSGgcN!Jqen-LKT9|Ay>+mR+g24 z!uD^#5MmxNiL152mXO8pE(u;4hzEh&VhGm?k#q5R>WJ2rj0WX{;sduvGYC@e6N5iB zgiVRQ)O$|)tQg-tk`2i+_Erh!tqD|#%>}@%A9^Do+&o;Ytu%gY;nW^XuV1w`ekkkd z;e7RCqoO9N4?x zkqN8*zV0!pwR|o1+q!*52vVXXGx~>?!nLrVmV?k+cS~swVeUsm{%`SB2MGz&s|X8@ zKorRGIft|%iWC2T{K#Y~_yovr&Zir>%7+zdY729>-G{f{UT;OFq|}^Aqn2ISDnRmE zP>|RdF2j`LG^nsJF*jD(d(q+Xs*0&`O7{BxRwBLH0H8f=ZApHClQ(38IGJyqtckZ2 zkHX=wxJ%kEU3fTJPA#Eg&~C69}vJ2`mY9?V>@7n6`E6bcBj==6DclXr1Ji4&S$ z4=gM^9L)5Q!}0exKd9~gRsF8luv6ZMwKX6(AFF;aZadr2ZZlG-@3nt&5*(D>D}jW^ zTq6BWOOdG!C04YqX z>u|HfIktoUtxuQykA(6T_gioad+Gb*tnH@H zt+9_@2B6WhgakIw(lPLP9d&g>eVi=d6m*|0S2`WdDHbc}wL8Gas}!p=eal@ziAFi^ zW$q^yvarISsamO|cduuqH1z8>tvM8V3S~4VWlpGggX!a8SnDKin0+ zy*v)*&EV1nk9B@LKR#G%Q^}-RnHxLr4%D-kCY**>7A8K%2)v0ezV=<`0?Gsm3Vb@J zdw64`t(O&jw3m|;hVIY;!$%|`pUvY%I)|-JZbsM%RStN#r?OnD5r^5q$shs~z~fk| zfnvhK^zOO`8T|dPrGCi1fk!8)$1fVKH#?e&+&(%z

1;#s|uPJx~R4K%COoa*E7Dg5Jbbgm6gX|x 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 literal 0 HcmV?d00001 diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/diagnostics-before-simulated.png b/v2/mobile/evidence/modal-scroll-2026-10-17/diagnostics-before-simulated.png new file mode 100644 index 0000000000000000000000000000000000000000..bc8eb0e364ef4118e3f90df4e8d7c22dbc6e12b5 GIT binary patch literal 68027 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 literal 0 HcmV?d00001 diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/keyboard-last-action-simulated.png b/v2/mobile/evidence/modal-scroll-2026-10-17/keyboard-last-action-simulated.png new file mode 100644 index 0000000000000000000000000000000000000000..35d346fc20903d24c59c02bb615700b62ff07e2a GIT binary patch literal 35228 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

)vGH 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�W}AH23!F!3Jukj32+R^v)bh=d{4IOE>VWOZb7$aP(X6Fh2DG;BfQS zfu&jH%?bPCZG|Xp->S?>C)xnRXTzapu4R0!jWw%_@9t~_hSp@>7V<#k8_^_k&jSZe zU=L>!1O&pRtc0i9I; zV%>l~y&MP|%&Xn|>ez6d<`T(AJnPaKgPm>_2>V`EVu z67@I4A@qObk^Z5~lm7{L3Gf8Sf+%E&q4*kn!0Ol&_9jovxzwt>VWTzm^?y@Mu|+&B zTzMuN5I@f_<`OiR5Q4xM2rvf;QgIrnZpH^glbQWkgi|OSDS;5i!#OiD`6?xe37-vy zlXzI6g6rW9Y_u3Lgcuj&Mu8}2S6Cg+{I5_+8ZvtvM7#;SK*(LZQ8Qd{z11xH#`iaR z5%)kLMn{9f+$Dwg%>*raA83{DMKL7sGrmFpF9YBIw)FkK{>L~?tC|u7-`Q#e$J0deZc z#B_cT&CpKdMpQydj5tULFrr6;9Ew))AsLP+h3K&E+G+ik=DJ`{5y4_R`u&SoqM?0G5PO$0;;IQ&i8%7rxz%vzn~#^fA^-neDgE%HSozZ z+s~#(yzhI0_wN9of*aDRKjKvyl!J&zYG(?n0uJA&l+3?X9jqr24Po#G3g4L%b31z6 z0NE-V`09z@vp>XUd^`}GmNOb`_sKgNN_L^YER^KZhu2!-XE!;Ie0wStQ7Z}Q*(%Tt zU=Hf|2z+5N-F-q77teuvw-e0$M2FD+*{4l^ zUU^PT_xpmg*?yE__7{usxoo{%v6}U6Pf-}(lT`85OBDl}R2X_gE za}^53X^^GlX?Ge$wA1feUtY@c6h1}uQh8T>*_Od|*ioh}(Qns+(uGUnv5SPDPmZT! zRTB!PKs7Z%9byQC_9w3f0_e46u`ZsKlksJ;;WZ_t(8&2D7j2ty7lJ=lo0F|-`Rqg& zyBZ?Xa?g9d4M()-69-gzEICx62|nCcMeyBjeGXGg`anT!7kIPO_VZ>6b;|S2%RoQ} zx1k8@eSdRHV=|P_#Fhqq=+Oi-vaLjcmfk~6LIV6JwL+~sgR|RW8y?bPfi*bYGcE0- zjc?F|XZl$E8~7c0+-ZtMvVC&SF*Yt???KecE)roq0^SM@SErZOF1*@M zyCt|Eq{pxn{ni{#JwrX2BP`kvCtXvich!c%3(tQCbu8V5ZprlFb+~FX{-CIy@ibTO zoJIC?MqQR)LAOH8(HS3Lm{oiH zShcsU9*VdrN{+>^N+S~|bwB=e)YPT?pT%nct*|xe7M8Ml_{pCutUjJ&UtD3YkuBpL zbCX9uEAn14Unp6^zu@1u_BGNc6s|tj||dvmA8Rv!GH1$ o4FCV%oE2-yz`(!;YWy%W{Nhwu%5Ed@7%0Nv>FVdQ&MBb@0Pi3;i2wiq literal 0 HcmV?d00001 diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/modal-scroll-simulated.webm b/v2/mobile/evidence/modal-scroll-2026-10-17/modal-scroll-simulated.webm new file mode 100644 index 0000000000000000000000000000000000000000..55d0778138092c443bc81b7a62934e9352be3ce6 GIT binary patch literal 411115 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 hQ&nv=CMy4%YZcRi;1p;JjgdhCqnvPATAo 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

9?~e(WGH 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�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 z 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ⅈ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 W8dvK_iqaVIFU23Dyz9yYTl;1J literal 0 HcmV?d00001 diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/nested-confirm-simulated.png b/v2/mobile/evidence/modal-scroll-2026-10-17/nested-confirm-simulated.png new file mode 100644 index 0000000000000000000000000000000000000000..bd56ed34c0a7a1c4a16635968281318457029dcc GIT binary patch literal 59217 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 literal 0 HcmV?d00001 diff --git a/v2/mobile/evidence/modal-scroll-2026-10-17/validation.json b/v2/mobile/evidence/modal-scroll-2026-10-17/validation.json new file mode 100644 index 00000000..aad6e1ac --- /dev/null +++ b/v2/mobile/evidence/modal-scroll-2026-10-17/validation.json @@ -0,0 +1,35 @@ +{ + "base": "5f4fc141ceda0307cb86b68bfc50433b9ffcc49d", + "source_sha256": { + "src/lib/modal.ts": "ce146c553cfb012a265ddc75ce6add4d826ff22fac387d621e3b45f843095ca9", + "tests/parity-screens.test.mjs": "c228e21292d0ca520d20fb6ec3094518bd92288a017b9eebd4079fedb7781458", + "src/components/AppDetailSheet.svelte": "061c3fb72140e2bff0f4dc5045d0b94c64a769f747f220f218e32d0fcad784ff", + "src/components/AppActionMenu.svelte": "51a3c3e9502b4ca6a9dfa3f306a05154d7fcb10e9d008d2d9b7bf1f034acb443", + "src/components/AppReportSheet.svelte": "0a9e9883712b0e2fbfc46772d2ac8c7e6d9b6aa623dca6d64e58afce087765e5", + "src/components/ConfirmDialog.svelte": "df5b632d94cd98a75a183fe84636345d5b0ffb92eba765b1331b07bacc6abbf0", + "src/components/PaywallSheet.svelte": "e91933a8760bb03d41304672083142b35c4c3ded996d46e0936321082c8cb22f", + "tests/apps-catalog.test.mjs": "15e01b6d59e542268c50aa885ab3a317e2937eef2b09d391b61640e1f3097c80" + }, + "evidence_sha256": { + "modal-scroll-simulated.webm": "29edb12a16489132e2b6e3392373d69034cfb881f17d0fa99cb7f285af34106e", + "app-details-simulated.png": "365b1353a38aeece728135ea1d0cd3364242c9eb8fa2344bf628b5bc709b8831", + "diagnostics-before-simulated.png": "2c9ede8a1b9e037da852f2753a1fe3f0a0e6858fb3c953e5e4e309318432a625", + "keyboard-last-action-simulated.png": "49d87ac5e8cbd130ddf109066434ec14c9dc9f10fa6305228eca6bbf1abcf055", + "nested-confirm-simulated.png": "15825a27b558bf148782ad47cdffe9d4a873b07e67e7ea80612bb86cdafb42ef", + "diagnostics-restored-simulated.png": "2c9ede8a1b9e037da852f2753a1fe3f0a0e6858fb3c953e5e4e309318432a625", + "keyboard-close-simulated.png": "d0ea634bde4d2230fa140b9ab8ffa412bed542fdaf82d181be16d0c82e03b9ad" + }, + "full_mobile_tests": 232, + "focused_modal_with_capture": 8, + "svelte_errors": 0, + "svelte_warnings": 0, + "vite_build": "passed", + "physical_device_tested": false, + "native_files_modified": false, + "pinch_zoom_disabled": false, + "combined_current_base": "6f3deefa5e46a03d292aa4ef1e84927440b03766", + "combined_full_mobile_tests": 236, + "keyboard_regressions_before": 2, + "keyboard_regressions_after_pass": 2, + "p1_stale_host_selection": "separate unresolved release blocker" +} diff --git a/v2/mobile/src/components/AppActionMenu.svelte b/v2/mobile/src/components/AppActionMenu.svelte index a6b8e235..75fad930 100644 --- a/v2/mobile/src/components/AppActionMenu.svelte +++ b/v2/mobile/src/components/AppActionMenu.svelte @@ -1,4 +1,5 @@ -

+
+ import { modal } from "../lib/modal"; // In-app styled confirm dialog — replaces native confirm(), which is // unreliable/ugly in the Android webview. let { @@ -28,9 +29,9 @@ {#if open} -
+
-
e.stopPropagation()}> +