microsoft / microsoft/react-native-windows

[Module] AppState - Behavior Completion

Open
#2,144 9 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

API: Completion Area: AppState Deliverable enhancement Needs: Dev Design Needs: PM Design Workstream: Component Parity
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

AppState is the API in ReactNative that detects whether or not the app has focus (is in Foreground vs Background).

Today's Behavior on Desktop:

  • active
    App is running and has focus
    App is running and does not have focus
  • background
    App is running and minimized
  • inactive
    Does not occur. Default scenarios where this would get triggered are Mobile-specific

Proposed Changes to Behavior on Desktop

  • active
    App is running and has focus
  • background
    App is running and minimized
    App is running and does not have focus
    App is running but alt-tab is being preformed
  • inactive
    *Occurs when Task View is opened
    *Start menu is opened in Tablet mode

*Need to review ones with respective team and key scenario owners.

Reasoning

There are essentially 6 different states that an app can be when on desktop as opposed to mobile's 4:

(RBG is the app who's AppState we are concerned about in these examples)

  • Active
    image

  • Not minimized, but does not have focus (another window does)
    image

  • Not minimized, but does not have focus (alt-tab menu does)
    image

  • Minimized
    image

  • Inactive because Task View is open
    image

  • Inactive in Tablet mode when Start Menu is open
    (image coming)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked React Native AppState API documentation and compare its states with the desktop behavior listed here. Review the focus, minimization, Alt-Tab, Task View, and Tablet-mode Start menu scenarios with the respective teams and scenario owners. Done requires an agreed mapping for each scenario and completed desktop AppState behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, react-native
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.