On Mon, 2 Nov 2026 09:10:51 GMT, Alexander Zvegintsev <[email protected]> wrote:
>> ## Description >> >> On Linux/Wayland, the robot uses the XDG Desktop Portal (ScreenCast and >> RemoteDesktop) and stores the `restore_token` returned by `Start` in >> `~/.java/robot/remote-desktop-tokens.properties`. Later sessions send it >> back, so the permission dialog is shown only once. >> >> `validateToken()` in `screencast_portal.c` accepts a token only if >> `g_uuid_string_is_valid()` returns true. The portal documentation only >> specifies `restore_token` as a string (`s`) and does not define its format >> ([RemoteDesktop](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.RemoteDesktop.html), >> >> [ScreenCast](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html)). >> >> Recent xdg-desktop-portal versions (seen with 1.22.1) no longer generate >> UUIDs. Their tokens look like `vjebXVIEGhjtuuqCsiwYoQ`, and the frontend >> accepts both formats (see >> [`xdp_session_persistence_validate_restore_token()`](https://github.com/flatpak/xdg-desktop-portal/blob/1.22.1/src/xdp-session-persistence.c)). >> >> Because the new tokens fail the UUID check, the robot never sends >> `restore_token` in `SelectDevices` / `SelectSources`. Every new robot >> iteration shows the permission dialog again. >> >> ## Steps to reproduce >> >> 1. Fedora 44 GNOME (xdg-desktop-portal 1.22.1, xdg-desktop-portal-gnome >> 50.0), Wayland session. >> 2. Run a system test that uses the robot, e.g. >> `test.robot.javafx.scene.RobotTest`. >> 3. Approve the "Remote Desktop" dialog with "Allow Remote Interaction" >> turned on. >> 4. The approval dialog will reappear >> >> **Expected:** the session is restored from the stored token and no dialog is >> shown. >> **Actual:** the dialog is shown on every new robot iteration. >> >> ## Fix >> Do not assume a format for the token: accept any non-empty, valid UTF-8 >> strie it. It still has to be valid UTF-8, since it is passed >> to`g_variant_new_string()`. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Looks good. > @azvegint I'd like you to review this. Can you also file the corresponding > AWT bug? Filed as [JDK-8396405](https://bugs.openjdk.org/browse/JDK-8396405) ------------- PR Comment: https://git.openjdk.org/jfx/pull/2356#issuecomment-6573316212
