Skip to content

fix: enable keyboard input on web client - #19

Merged
rophy merged 2 commits into
masterfrom
fix/web-keyboard-input
Aug 23, 2026
Merged

fix: enable keyboard input on web client#19
rophy merged 2 commits into
masterfrom
fix/web-keyboard-input

Conversation

@rophy

@rophy rophy commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix keyboard input not working on the web client — keys were silently dropped because the default "Input source 1" relies on OS-level hooks unavailable in browsers
  • Hardcode web to "Input source 2" (Flutter key events) and remove the non-functional option from the UI
  • Add .gitignore for generated JS build artifacts

Test plan

  • Connected to remote peer via self-hosted web client
  • Verified keyboard input reaches the remote machine
  • Mouse input and video streaming unaffected

Summary by CodeRabbit

  • Bug Fixes

    • Improved web keyboard mode handling by removing reliance on local input-source settings.
    • Web input-source detection now consistently reports Flutter key events.
    • Simplified the available web input-source options by removing OS-level hooks.
  • Chores

    • Updated project ignore rules for generated and local web JavaScript files.

rophy added 2 commits August 22, 2026 16:28
mise.toml, gen_js_from_hbb.ts, message.ts, rendezvous.ts are
all generated at build time and don't belong in source control.
Input source 1 (OS-level hooks) is unavailable in browsers, causing
keyboard events to be silently dropped. Hardcode web to Input source 2
(Flutter key events) and remove the non-functional option from the UI.
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 57504dba-7144-468a-b723-646d4b702608

📥 Commits

Reviewing files that changed from the base of the PR and between 6e32f2b and 341de05.

📒 Files selected for processing (2)
  • flutter/lib/web/bridge.dart
  • flutter/web/js/.gitignore

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The web bridge now supports only legacy and map keyboard modes, always reports Input source 2, and advertises only that source. The web JavaScript ignore file now excludes four repository-specific paths.

Changes

Keyboard input source behavior

Layer / File(s) Summary
Restrict web input source behavior
flutter/lib/web/bridge.dart
Keyboard mode support accepts only kKeyLegacyMode and kKeyMapMode. Input source detection and advertisement now use only Input source 2.

Web JavaScript ignore rules

Layer / File(s) Summary
Ignore generated web JavaScript files
flutter/web/js/.gitignore
The ignore file now excludes mise.toml, src/gen_js_from_hbb.ts, src/message.ts, and src/rendezvous.ts.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 341de

This localized change enables keyboard input in the web client and removes a nonfunctional browser option; no actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: fufesou, 21pages

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: enabling keyboard input on the web client.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/web-keyboard-input

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rophy

rophy commented Aug 23, 2026

Copy link
Copy Markdown
Owner Author

@CodeRabbit review

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rophy
rophy merged commit 727baed into master Aug 23, 2026
28 checks passed
@rophy
rophy deleted the fix/web-keyboard-input branch August 23, 2026 03:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant