Skip to content

Code Quality: Prevent exception when AppModel.LastSelectedTabIndex is set before MainPage is loaded #17309

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 25, 2025

Conversation

seer-by-sentry[bot]
Copy link
Contributor

Resolved / Related Issues

To prevent extra work, all changes to the Files codebase must link to an approved issue marked as Ready to build. Please insert the issue number following the hashtag with the issue number that this Pull Request resolves.

Steps used to test these changes

Stability is a top priority for Files and all changes are required to go through testing before being merged into the repo. Please include a list of steps that you used to test this PR.

  1. Opened Files after applying the changes.
  2. Ensured that the app launches without crashing when the AppModel.LastSelectedTabIndex is set before the MainPage is fully loaded.
  3. Verified that tab selection works correctly after the MainPage is fully loaded.
  4. Triggered the scenario that caused the InvalidCastException before the fix and confirmed that the exception is no longer thrown.

Fixes FILES-APP-3NE. The issue was that: AppModel's tab selection logic attempts to cast Frame.Content to MainPage while SplashScreenPage's Grid is still active, causing InvalidCastException.

  • Added a check to ensure that rootFrame.Content is a MainPage instance before accessing its ViewModel.
  • This prevents a NullReferenceException that could occur if AppModel.LastSelectedTabIndex is set before the MainPage is fully loaded.

This fix was generated by Seer in Sentry, triggered by Yair. 👁️ Run ID: 502085

Not quite right? Click here to continue debugging with Seer.

@yaira2 yaira2 marked this pull request as ready for review July 25, 2025 02:13
@yaira2 yaira2 requested a review from hishitetsu July 25, 2025 02:14
@yaira2 yaira2 added the ready to merge Pull requests that are approved and ready to merge label Jul 25, 2025
@yaira2 yaira2 changed the title Fix: Prevent exception when AppModel.LastSelectedTabIndex is set before MainPage is loaded Code Quality: Prevent exception when AppModel.LastSelectedTabIndex is set before MainPage is loaded Jul 25, 2025
@yaira2 yaira2 merged commit c64b914 into main Jul 25, 2025
9 checks passed
@yaira2 yaira2 deleted the seer/fix/appmodel-tabindex-exception branch July 25, 2025 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready to merge Pull requests that are approved and ready to merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants