diff --git a/apps/desktop/electron/main.ts b/apps/desktop/electron/main.ts index 5df87851c7b8..710f0c460564 100644 --- a/apps/desktop/electron/main.ts +++ b/apps/desktop/electron/main.ts @@ -152,11 +152,11 @@ import { grantAllApplicationPackagesAcl, markerAfterSuccessfulBoot, readSandboxMarker, + type SandboxFallbackReason, shouldAttemptAclRepair, shouldRelaunchForGpuSandboxCrash, shouldRelaunchForRendererSandboxCrashLoop, - writeSandboxMarker, - type SandboxFallbackReason + writeSandboxMarker } from './windows-sandbox-fallback' import { installWindowsSystemCaTrust } from './windows-system-ca' import { readWindowsUserEnvVar } from './windows-user-env' @@ -7509,8 +7509,7 @@ function createWindow() { shouldRelaunchForRendererSandboxCrashLoop({ reason: details?.reason, exitCode: details?.exitCode, - alreadyNoSandbox: - windowsSandboxFallbackActive || alreadyHasNoSandbox(process.argv, process.env), + alreadyNoSandbox: windowsSandboxFallbackActive || alreadyHasNoSandbox(process.argv, process.env), relaunchAttempted: windowsNoSandboxRelaunchAttempted }) ) { @@ -7520,17 +7519,12 @@ function createWindow() { windowsSandboxFallbackReason = 'renderer-crash-loop' try { - writeSandboxMarker( - app.getPath('userData'), - fallbackMarker('renderer-crash-loop', app.getVersion()) - ) + writeSandboxMarker(app.getPath('userData'), fallbackMarker('renderer-crash-loop', app.getVersion())) } catch { void 0 } - rememberLog( - '[renderer] Windows sandbox crash loop detected; relaunching once with --no-sandbox (#38216)' - ) + rememberLog('[renderer] Windows sandbox crash loop detected; relaunching once with --no-sandbox (#38216)') try { app.relaunch({ args: buildNoSandboxRelaunchArgs(process.argv.slice(1)) }) diff --git a/ui-tui/src/app/slash/commands/topup.ts b/ui-tui/src/app/slash/commands/topup.ts index 679143a17746..2f1fa6d1e9f0 100644 --- a/ui-tui/src/app/slash/commands/topup.ts +++ b/ui-tui/src/app/slash/commands/topup.ts @@ -13,6 +13,7 @@ import type { SlashCommand, SlashRunCtx } from '../types.js' // Poll cadence (plan §5, frozen): 2s interval, 5-minute cap. const POLL_INTERVAL_MS = 2000 const POLL_CAP_MS = 5 * 60 * 1000 + const UNCONFIRMED_CHARGE_MESSAGE = '🟡 Your last charge’s outcome is unconfirmed — check your balance/history before retrying.' diff --git a/ui-tui/src/app/useInputHandlers.ts b/ui-tui/src/app/useInputHandlers.ts index 7ec10c420dbf..2f2cdff3c718 100644 --- a/ui-tui/src/app/useInputHandlers.ts +++ b/ui-tui/src/app/useInputHandlers.ts @@ -330,6 +330,7 @@ export function useInputHandlers(ctx: InputHandlerContext): InputHandlerResult { // through to the wheel / PageUp / Shift+arrow handlers below. const promptOverlay = overlay.approval || overlay.billing || overlay.clarify || overlay.confirm || overlay.subscription + const fallThroughForScroll = promptOverlay && shouldFallThroughForScroll(key) if (promptOverlay && !fallThroughForScroll) { diff --git a/ui-tui/src/components/subscriptionOverlay.tsx b/ui-tui/src/components/subscriptionOverlay.tsx index 24d45ed3758c..6de7ceeaa6f4 100644 --- a/ui-tui/src/components/subscriptionOverlay.tsx +++ b/ui-tui/src/components/subscriptionOverlay.tsx @@ -629,6 +629,7 @@ function ConfirmScreen({ onClose, onPatch, overlay, t }: ScreenProps) { const rows: MenuRowSpec[] = primary ? [primary, { label: 'Back', run: back }] : [{ label: 'Back', run: back }] const sel = useMenu(rows, back) + // Chip contrasts an immediate charge vs a period-end schedule at a glance. const chip = effect === 'charge_now'