Skip to content

bug: PVE 虚拟机控制台里调出键盘后,虚拟机画面缩得非常小 #1639

Description

@Infinifar

设备 / Device:Android 16,ServerBox 1.0.1719

🇨🇳 中文

描述 Bug
PVE 虚拟机的图形控制台里,点工具栏的键盘按钮调出软键盘后,虚拟机画面被压缩得非常小,几乎没法用;收起键盘才恢复。

复现步骤

  1. 虚拟机页选中一台运行中的 PVE 虚拟机,点「控制台」并连接(图形/VNC)
  2. 点工具栏的键盘按钮
  3. 软键盘弹出,虚拟机画面同时缩小到很小

期望结果:调出键盘时画面大小不变(键盘覆盖在画面上,或画面保持原尺寸可滚动)。
实际结果:画面跟着键盘一起被压缩。

更多信息(可能原因)
查看器是 Column(toolbar, Expanded(canvas), _imeField),点键盘即聚焦底部隐藏输入框;系统键盘弹出后 Scaffold 默认的 resizeToAvoidBottomInset 压缩可视高度,Expanded 的画布随之缩小,而画面按 fit 缩放,于是整幅桌面被缩得很小。

🇬🇧 English

Describe the bug
In a PVE guest's graphical console, tapping the keyboard button in the toolbar (which opens the system keyboard / IME) shrinks the guest's screen to a tiny size — barely usable until the keyboard is dismissed.

To reproduce

  1. On the Virtualization tab, pick a running PVE guest, open Console and connect (Graphical/VNC)
  2. Tap the keyboard button in the toolbar
  3. The soft keyboard appears and the guest's screen shrinks to a small part of the pane

Expected: the picture keeps its size when the keyboard opens (the keyboard overlays it, or the canvas keeps its size and can be scrolled).
Actual: the picture is squeezed together with the keyboard.

Additional context (likely cause)
The viewer is a Column(toolbar, Expanded(canvas), _imeField); the keyboard button focuses the hidden IME field at the bottom, the system keyboard opens, and the Scaffold's default resizeToAvoidBottomInset shrinks the body, so the Expanded canvas shrinks with it — and the frame is drawn fit-to-size, so the whole desktop becomes tiny.

Activity

  1. winnowl commented on Oct 4, 2026

    @winnowl

    Issue triage

    Feasibility:needs-clarification | Risk:medium

    Information needed to reproduce:

    • Does this occur with all graphical console backends (VNC/SPICE), or only one?
    • Does the console canvas shrink on other Android versions/devices, or only Android 16?
    • Is the console hosted in a Scaffold that resizes when the keyboard appears, and does disabling resizeToAvoidBottomInset or overlaying the keyboard avoid the issue?

    Suggested labels(not applied automatically):bug, android, virtualization, console

  2. Infinifar commented on Oct 4, 2026

    @Infinifar
    Author

    补充信息:

    • 只用过图形(VNC)控制台;App 里也只有 VNC 与文本两种控制台,没有 SPICE,文本控制台不受影响。
    • 只有这一台设备(Android 16)。
    • 独立的「远程桌面」功能里是否同样缩小:未测试(两者是同一个查看器组件)。
    • 关于 Scaffold:代码上确认图形控制台是 Column(toolbar, Expanded(canvas), _imeField),且 Scaffold 没有关闭 resizeToAvoidBottomInset——键盘弹出即压缩画布高度,画面按 fit 缩放,于是整幅桌面变小。

    Additional details:

    • Graphical (VNC) console only; the app offers just VNC and text consoles, no SPICE, and the text console is unaffected.
    • A single device (Android 16).
    • Whether the standalone Remote desktop feature does the same: not tested (both use the same viewer widget).
    • On the Scaffold: in code the graphical console is a Column(toolbar, Expanded(canvas), _imeField) and the Scaffold does not turn off resizeToAvoidBottomInset — the keyboard shrinks the body, so the canvas shrinks with it and the frame is drawn fit-to-size, which makes the whole desktop tiny.
  3. lollipopkit commented on Oct 9, 2026

    @lollipopkit
    Owner

    已在 #1671 修复, 请等待下次发版

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions