- Add horizontal and vertical split options to context menu
- Support recursive splitting for complex terminal layouts
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
- Add viewport boundary detection to prevent menu overflow
- Auto-adjust menu position when near screen edges
- Ensure menu stays within visible area with 15px margin
- Use $nextTick to calculate position after DOM update
This prevents context menu from being cut off when right-clicking
near screen boundaries, especially in bottom-right corner.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
- Detect clipboard permission errors and show user-friendly instructions
- Add fallback to Shift+Insert shortcut for unsupported scenarios
- Implement unified clipboard permission guidance with i18n support
- Improve error handling for better user
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
This prevents users from seeing a blank terminal while waiting for the WebSocket
connection to establish and the login process to complete.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
When WebSocket connection fails due to 403 unauthorized status from server,
browser WebSocket API cannot distinguish HTTP status codes and only fires
a generic 'error' event. Redirect to /connect/:devid HTTP endpoint so that
browser can properly capture and handle the 403 status code response.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
- Add pasteFromClipboard() method to enable direct clipboard paste
- Use Clipboard API with async/await for modern browser support
- Add fallback message for unsupported browsers or permission denied
- Add 'Pasted from clipboard' translations for English and Chinese
- Replace paste menu item action from showing instruction to actual paste
This allows users to paste content directly from the context menu instead
of requiring keyboard shortcuts, improving user experience.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Replace $message.info() with $message.success() for copy, paste, and file
upload instructions in the terminal context menu to provide more positive
user feedback for these informational messages.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
To solve a major problem: when there are many devices connected,
the broker will blocked in processing messages.
By the way, I've rewritten and reorganized the entire code architecture,
improved performance.
Some new features has been added:
* support device grouping.
* support show device's IP address.
Change-Id: I250e18091be7fd42028c82767b6edef50b3f6d8f
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>