[GH-ISSUE #1619] Old QR Code Briefly Displayed When Sharing VPN Access #678

Open
opened 2026-10-13 20:26:21 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @yslpn on GitHub (May 25, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1619

Describe the bug

When a user taps "Share VPN access" in the Amnezia VPN Android app, after the loader disappears, the old QR code is briefly shown for about a second, and only then it updates to the new QR code. During this brief moment, the user might scan or share the outdated QR code, which contains previous credentials.

To Reproduce

  • Open the Amnezia VPN app on Android
  • Tap on "Share VPN access"
  • Wait for the loader to finish
  • Observe that the previous QR code appears first for a short time, then updates to a new one

Expected behavior

The user should never see the old QR code, not even for a fraction of a second. After the loader, only the correct and up-to-date QR code (with fresh credentials) should be displayed.

Why this is critical

There is a real risk that the user will take a screenshot or copy the old QR code and send the wrong credentials to someone else. This leads to confusion, potential security issues, and unreliable sharing. For an app focused on privacy and security, this behavior is unacceptable.

Smartphone (please complete the following information):

Device: Pixel 9 Pro
OS: Android 15
App Version: 4.8.7.0

Server (please complete the following information):

OS: Ubuntu 22.04

Additional context

It seems the UI is displaying the last QR code from cache or memory while waiting for the API response, then replaces it with the new one. This is a bad practice for this scenario. The old QR code with outdated credentials must not be visible to the user at any point, even for a millisecond.

Originally created by @yslpn on GitHub (May 25, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1619 ### Describe the bug When a user taps "Share VPN access" in the Amnezia VPN Android app, after the loader disappears, the old QR code is briefly shown for about a second, and only then it updates to the new QR code. During this brief moment, the user might scan or share the outdated QR code, which contains previous credentials. ### To Reproduce - Open the Amnezia VPN app on Android - Tap on "Share VPN access" - Wait for the loader to finish - Observe that the previous QR code appears first for a short time, then updates to a new one ### Expected behavior The user should never see the old QR code, not even for a fraction of a second. After the loader, only the correct and up-to-date QR code (with fresh credentials) should be displayed. ### Why this is critical There is a real risk that the user will take a screenshot or copy the old QR code and send the wrong credentials to someone else. This leads to confusion, potential security issues, and unreliable sharing. For an app focused on privacy and security, this behavior is unacceptable. ### Smartphone (please complete the following information): Device: Pixel 9 Pro OS: Android 15 App Version: 4.8.7.0 ### Server (please complete the following information): OS: Ubuntu 22.04 ### Additional context It seems the UI is displaying the last QR code from cache or memory while waiting for the API response, then replaces it with the new one. This is a bad practice for this scenario. The old QR code with outdated credentials must not be visible to the user at any point, even for a millisecond.
Author
Owner

@Noxius87 commented on GitHub (Jun 2, 2025):

Thanks for the feedback. We will pass this information on to the developers

<!-- gh-comment-id:2932063197 --> @Noxius87 commented on GitHub (Jun 2, 2025): Thanks for the feedback. We will pass this information on to the developers
Author
Owner

@yslpn commented on GitHub (Jun 5, 2025):

@Noxius87 Is this fixed? If so, can you link the pull request please?

<!-- gh-comment-id:2945596266 --> @yslpn commented on GitHub (Jun 5, 2025): @Noxius87 Is this fixed? If so, can you link the pull request please?
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#678
No description provided.