Skip to content

Conversation

@BurningAXE
Copy link
Contributor

@BurningAXE BurningAXE commented Jan 22, 2026

JIRA ticket
Will be released in: 2026.1.0

Root cause analysis (for bugfixes only)

First known affected version: since forever

  • When the app is minimized and Activity destroyed, it then gets restored upon bringing the app to the foreground
  • This triggers navigation to the connection screen
  • The graph is not yet ready and navigation fails
  • However, the ViewModel doesn't know about this and thinks connection screen is visible
  • Therefore any subsequent attempts to navigate to the connection screen fail
  • App is left on the capture screen with a disconnected scanner

Notable changes

  • If navigation to connection screen fails, this is forwarded to the VM to reset its state

Testing guidance

  • Turn on "Don't keep activities"
  • Navigate to the fingerprint capture screen
  • Minimize app
  • Bring it back to the foreground
  • Capture

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)
  • Other teams notified about the changes (if applicable)

@cla-bot cla-bot bot added the ... label Jan 22, 2026
@BurningAXE BurningAXE force-pushed the MS-1303-Handle-failed-reconnection-navigation branch from 8474119 to da28443 Compare January 22, 2026 17:16
@BurningAXE BurningAXE requested a review from Copilot January 22, 2026 17:17
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes a bug where the app becomes stuck on the fingerprint capture screen when the activity is destroyed and restored (e.g., when "Don't keep activities" is enabled). The root cause was that navigation failures to the connection screen were not handled, leaving the ViewModel in an incorrect state that prevented subsequent reconnection attempts.

Changes:

  • Added error recovery logic to reset connection screen state when navigation fails
  • Implemented proper state management to allow retrying scanner reconnection
  • Added comprehensive test coverage for the navigation failure scenario

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
FingerprintCaptureViewModel.kt Added handleReconnectionNavigationFailed() method to reset the isShowingConnectionScreen flag when navigation to connection screen fails
FingerprintCaptureFragment.kt Added exception handling in launchConnection() to call the new ViewModel method when navigation fails
FingerprintCaptureViewModelTest.kt Added test case to verify that navigation failure resets the flag and allows subsequent reconnection attempts

@BurningAXE BurningAXE requested review from a team, TristramN, alex-vt, alexandr-simprints, luhmirin-s, meladRaouf and ybourgery and removed request for a team January 22, 2026 17:26
@luhmirin-s luhmirin-s force-pushed the MS-1303-Handle-failed-reconnection-navigation branch from fef6f29 to da28443 Compare January 26, 2026 14:49
@BurningAXE BurningAXE force-pushed the MS-1303-Handle-failed-reconnection-navigation branch from da28443 to 7d1e148 Compare January 26, 2026 16:45
@sonarqubecloud
Copy link

@luhmirin-s luhmirin-s merged commit bd15bc0 into main Jan 27, 2026
14 checks passed
@luhmirin-s luhmirin-s deleted the MS-1303-Handle-failed-reconnection-navigation branch January 27, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants