- Player + VideoController per session; Reload video (Ctrl+R) and a frozen-picture watchdog that reloads automatically. - Shortcuts no longer fire while typing; empty swap disabled; hwdec setting/env actually applied. - Idle unready measured from real inactivity; cancellable reconnects and setup; ready restored from server state; kicked/failed host stops its server; graceful leave on window close; no URLs with keys in display names. - Welcome + connect screens replaced by one Home screen with Join and Host cards, recent servers, Settings, Integrations and About. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 lines
439 B
Dart
10 lines
439 B
Dart
import 'package:flutter/widgets.dart';
|
|
|
|
/// True while keyboard focus sits in a text field. The focused node's
|
|
/// context belongs to the `Focus` that `EditableText` builds, so look for
|
|
/// an `EditableText` above it (walking FocusNode parents never meets one).
|
|
bool textInputFocused([FocusNode? node]) {
|
|
final n = node ?? FocusManager.instance.primaryFocus;
|
|
return n?.context?.findAncestorWidgetOfExactType<EditableText>() != null;
|
|
}
|