Conversation
Closes Termix-SSH/Support#791 Co-authored-by: Benjamin Tausend <benjamin.tausend@googlemail.com>
* feat: implement key repeat for virtual keyboard Repeat arrow keys, backspace, delete, space, Page Up, and Page Down on long press. Create repeat interval and initial delay settings to control the long press. * style: increase Input clickable surface area for focus Apply padding directly to TextInput instead of container View * fix(keyboard): stabilize repeat behavior --------- Co-authored-by: Marcio Rinaldi <me@marciorinaldi.com>
* fix: improve terminal IME handling Co-Authored-By: Claude <noreply@anthropic.com> * fix: autolink local expo modules Co-Authored-By: Claude <noreply@anthropic.com> * fix: align ime input view module definitions Co-Authored-By: Claude <noreply@anthropic.com> * fix: update hardware keyboard handler for swift Co-Authored-By: Claude <noreply@anthropic.com> * fix: relax ios key press detection Co-Authored-By: Claude <noreply@anthropic.com> * fix: scope ios autolinking to ime module Co-Authored-By: Claude <noreply@anthropic.com> * fix: connect Android terminal IME module Co-Authored-By: Claude <noreply@anthropic.com> * fix(terminal): integrate native IME with current sessions --------- Co-authored-by: Tink <tink@Hackint0sh.local> Co-authored-by: Claude <noreply@anthropic.com>
TUI apps (Claude Code, Codex, vim, htop) draw their bottom input row at the pty's last row. The WebView was sized by marginBottom so it spans only the visible area, but xterm computed rows from #terminal's 100vh CSS height, which WKWebView reports stale after a frame resize. The pty told the shell too many rows, so TUIs painted their input row behind the keyboard bar. Measure the real visible height with onLayout, push it into the WebView (debounced to avoid resize storms), pin #terminal's height to it, then fit and re-send the pty resize. Re-apply on terminalReady and prefer the pinned height in nativeFit/resize over the stale 100vh. Co-authored-by: Tink <tink@Hackint0sh.local> Co-authored-by: Claude <noreply@anthropic.com>
Adds Quick Connect, Server Status and Snippets widgets on both platforms,
plus a Snippets shortcut in the Hosts header.
Widgets never talk to the server: the app publishes a JSON snapshot into
shared storage (App Group UserDefaults on iOS, SharedPreferences on
Android) and the widget renders only that. No credentials leave the app,
and a corrupt or future-versioned payload falls back to the signed-out
card instead of breaking the launcher.
Tapping a host opens a terminal session on it. Tapping a snippet resolves
it in the app and asks which host to run it on, then executes it through
the existing /snippets/execute endpoint; the last target is remembered and
offered first. Only the snippet id travels in the deep link.
- app/widgets payload contract, snapshot builder,
publisher, preferences, deep links, run sheet
- modules/termix-widgets native bridge, WidgetKit extension sources,
Android providers and layouts
- plugins/withTermixWidgets creates the iOS extension target on prebuild
- scripts/verify-widget-contract.cjs
fails when the TypeScript, Swift and Kotlin
decoders drift apart
Settings gains a Widgets section (publish on/off, show addresses, include
offline, pinned only, snippets, command preview). Signing out clears the
snapshot. Sort and filter move beside the Hosts search field to make room
for the new shortcut.
The iOS extension targets iOS 16 and needs the group.<bundleId>.widgets
App Group enabled on both identifiers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added home screen widgets, expanded the file manager with pinned files and a trash view, added command history and Wake-on-LAN, and fixed many terminal, keyboard, and login bugs.
Update Log:
Bug Fixes: