You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AetherScreens v2.8.0 — Bilingual Localization Completeness, Filter Empty State Recovery, Accessibility Hit Targets & IME Cursor Tracking
Highlights
100% Bilingual Localization Coverage (en & zh-Hans):
Added complete English and Simplified Chinese translations for all Quick Snippet editor labels, SSH config import notices, Wake-on-LAN status/error messages, Keychain SSH deletion warnings, and filter reset actions.
Subscribed ConnectionHistorySheet to AppLanguageSettings.shared so live language switching updates the history sheet immediately.
Filter-Aware Empty State & One-Tap Filter Reset (DeviceListViewModel / DeviceListView):
Added DeviceListViewModel.hasActiveFilters and resetFilters() and updated DeviceListView.emptyStateView so zero-result tag or smart filters display "No matching computers" with a one-tap "Reset Filters" button instead of "No computers here yet".
Added VoiceOver .accessibilityLabels and 44×44pt hit targets on DeviceListRowView Wake/Edit actions and QuickSnippetsSheet Send/Edit/Delete buttons, and expanded TailscaleSettingsSheet with flexible minWidth/idealWidth/minHeight/idealHeight bounds.
macOS CJK IME Candidate Window Cursor Tracking (MacNativeInputView):
Updated MacNativeInputView.firstRect(forCharacterRange:actualRange:) via candidateRectInViewBounds() so macOS input method candidate windows anchor directly at the active cursor position inside the remote desktop view instead of the static window midpoint.