Commit Graph

1630 Commits

Author SHA1 Message Date
Kyle Fang
cb8d8cc1e7 fix: add merge to the navigate types 2021-08-02 12:09:53 +08:00
Satyajit Sahoo
2084fb859f chore: publish
- @react-navigation/bottom-tabs@6.0.0
 - @react-navigation/core@6.0.0
 - @react-navigation/devtools@6.0.0
 - @react-navigation/drawer@6.0.0
 - @react-navigation/elements@1.0.0
 - flipper-plugin-react-navigation@1.3.3
 - @react-navigation/material-bottom-tabs@6.0.0
 - @react-navigation/material-top-tabs@6.0.0
 - @react-navigation/native-stack@6.0.0
 - @react-navigation/native@6.0.0
 - @react-navigation/routers@6.0.0
 - @react-navigation/stack@6.0.0
2021-08-02 00:53:11 +02:00
Satyajit Sahoo
3ce4276a39 chore: prepare for stable release of 6.x 2021-08-02 00:49:38 +02:00
Satyajit Sahoo
1a39632656 feat: add custom header option to native-stack 2021-08-01 16:30:07 +02:00
Wojciech Lewicki
20abccda0d feat: expose header height in native-stack (#9774) 2021-08-01 16:04:25 +02:00
Satyajit Sahoo
de84458960 feat: basic web implementation for native stack 2021-08-01 15:30:36 +02:00
Satyajit Sahoo
73277d533c chore: upgrade react-native-tab-view 2021-07-31 03:04:58 +02:00
Satyajit Sahoo
8a95fb588b fix: remove dep on react-native-iphonex-helper 2021-07-31 01:25:15 +02:00
Satyajit Sahoo
6d518a46b8 fix: show error when beforeRemove is used to prevent action in naive stack 2021-07-28 15:31:27 +02:00
Satyajit Sahoo
d2d7f8d95e fix: clear options set from a screen when it unmounts. closes #9756 2021-07-28 14:47:09 +02:00
Satyajit Sahoo
51b636d726 fix: match native iOS header height in stack 2021-07-28 14:12:43 +02:00
Satyajit Sahoo
9506ad1f00 fix: add deprecation warning for openByDefault 2021-07-28 12:56:08 +02:00
Satyajit Sahoo
5bfc39668b feat: move some props to screenOptions in material top tabs 2021-07-28 12:49:28 +02:00
Satyajit Sahoo
fdb3ede3e0 feat: add tabBarBadge and tabBarIndicator options for material top tabs 2021-07-28 11:58:34 +02:00
Satyajit Sahoo
504b26f3ae chore: add documentation links in deprecation messages 2021-07-27 13:00:23 +02:00
Satyajit Sahoo
5f4e124032 fix: remove tabBarAdapative option 2021-07-26 15:12:36 +02:00
Satyajit Sahoo
54b215b9d3 fix: don't merge initial params when merge !== true 2021-07-26 13:35:54 +02:00
Satyajit Sahoo
9b2105692d chore: fix regex for snack 2021-07-21 02:31:16 +02:00
Satyajit Sahoo
3e2155b929 chore: change expo.io to expo.dev 2021-07-21 00:43:50 +02:00
Satyajit Sahoo
c322b0501c feat: add a way to filter out deep links from being handled
This is useful for libraries like `expo-auth-session` which also use links for authentication.

Usage:

```js
const linking = {
  prefixes: ['myapp://'],
  filter: (url) => !url.includes('+expo-auth-session'),
};
```
2021-07-20 18:57:41 +02:00
Satyajit Sahoo
e3c514d684 chore: publish
- @react-navigation/devtools@6.0.0-next.19
2021-07-19 22:22:34 +02:00
Satyajit Sahoo
f666059d80 fix: ignore errors from symbolication in devtools 2021-07-19 22:17:51 +02:00
Satyajit Sahoo
42a875212c chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.22
 - @react-navigation/core@6.0.0-next.17
 - @react-navigation/devtools@6.0.0-next.18
 - @react-navigation/drawer@6.0.0-next.21
 - @react-navigation/elements@1.0.0-next.21
 - flipper-plugin-react-navigation@1.3.2
 - @react-navigation/material-bottom-tabs@6.0.0-next.18
 - @react-navigation/material-top-tabs@6.0.0-next.18
 - @react-navigation/native-stack@6.0.0-next.11
 - @react-navigation/native@6.0.0-next.17
 - @react-navigation/stack@6.0.0-next.29
2021-07-16 11:50:08 +02:00
Satyajit Sahoo
577d79e98c fix: use nested params for initial state only
This fixes an issue where the new actions could bring back the params even after it was reset
2021-07-16 11:48:53 +02:00
Satyajit Sahoo
858d256b0a chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.21
 - @react-navigation/core@6.0.0-next.16
 - @react-navigation/devtools@6.0.0-next.17
 - @react-navigation/drawer@6.0.0-next.20
 - @react-navigation/elements@1.0.0-next.20
 - flipper-plugin-react-navigation@1.3.1
 - @react-navigation/material-bottom-tabs@6.0.0-next.17
 - @react-navigation/material-top-tabs@6.0.0-next.17
 - @react-navigation/native-stack@6.0.0-next.10
 - @react-navigation/native@6.0.0-next.16
 - @react-navigation/stack@6.0.0-next.28
2021-07-16 10:30:13 +02:00
Satyajit Sahoo
c333f4086e fix: fix devtools not sending new events if an error occured 2021-07-16 10:29:59 +02:00
DrRefactor
16f0e11822 fix: prevent navigation state updates after state cleanup (#9688)
Problem:
When using nested navigators, unmounts cause race cleanup races.

Imagine following hierarchy (from tree root downwards, parent to children):
TabNavigator (1) [renders useNavigationBuilder]
  SceneView (from TabNavigator)
StackNavigators (N) [each renders useNavigationBuilder] 
  SceneView (from StackNavigator)

Now lets test following flow:
1. Mount above navigators with given navigation params (e.g. navigation for unauthenticated users) 
2. Unmount all navigators (e.g. during login process)
3. Mount above navigation with different navigation params than in 1) (e.g. navigation for authenticated users)

What you'll observe, there will be old navigation params preserved in 3) coming from 1).

Source of problem:
BaseNavigationContainer holds global navigation state, exposes API to modify it via NavigationStateContext. When useNavigationBuilder unmounts, it attempts to clear navigation state. (see cleanup effect in useNavigationBuilder.tsx).

(I) First clear occurs in TabNavigator's effect, which successfully clears BaseNavigationContainer's state (sets it to undefined).

(II) Second clear comes from StackNavigator unmount. It's useNavigationBuilder cleanup effect also calls NavigationStateContext.setState(undefined).
But this time - we meet SceneView as closest NavigationStateContext.Provider. SceneView attempts to merge state change with current navigation state, which is reasonable. But current navigation state should be already undefined... It is, but:
```
[useNavigationBuilder.tsx]

const getState = React.useCallback((): State => {
    const currentState = getCurrentState();

    return isStateInitialized(currentState)
      ? (currentState as State)
      : (initializedStateRef.current as State);
  }, [getCurrentState, isStateInitialized]);
```
"undefined" state is treated is non-initialized state, and freshly computed state (initializedStateRef.current) is returned instead.
SceneView does merge this old state with `undefined` value, and passes to BaseNavigationContainer. Now we have some legacy global state, despite all navigators being unmounted.

After mounting navigators again (3), we can observe old params being restored. These params might come e.g. from old `initialParams` prop (from 1)).

Solution:
Do not propagate `setState` upwards in `useNavigationBuilder` after state cleanup. This way we'll omit such races.
2021-07-16 10:29:26 +02:00
Michael Ru
ee12690a82 fix: update isClosing in stack card (#9738)
I noticed that accessing `closing` through `cardStyleInterpolator` would always return an Animated node with value 0. It looks like it isn't being updated anywhere, so I added it to the `animate` method.

I am using this functionality to allow screens to have different in and out transitions.

On a side note, I feel like this would be more useful as a boolean, instead of an Animated value.

Co-authored-by: Michael Ru <michaelru@abridge.com>
2021-07-16 10:25:51 +02:00
Zhigang Fang
4135d09c6f fix: sort wildcard and :params (#9672) 2021-07-01 13:28:46 +02:00
Satyajit Sahoo
a70adfbca1 chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.20
 - @react-navigation/core@6.0.0-next.15
 - @react-navigation/devtools@6.0.0-next.16
 - @react-navigation/drawer@6.0.0-next.19
 - @react-navigation/elements@1.0.0-next.19
 - flipper-plugin-react-navigation@1.3.0
 - @react-navigation/material-bottom-tabs@6.0.0-next.16
 - @react-navigation/material-top-tabs@6.0.0-next.16
 - @react-navigation/native-stack@6.0.0-next.9
 - @react-navigation/native@6.0.0-next.15
 - @react-navigation/routers@6.0.0-next.6
 - @react-navigation/stack@6.0.0-next.27
2021-07-01 03:08:40 +02:00
Satyajit Sahoo
b1134c8a34 fix: fix typechecking in linking config 2021-07-01 03:06:37 +02:00
Satyajit Sahoo
d2e1571b53 chore: update the issue templates 2021-06-30 09:50:49 +02:00
Satyajit Sahoo
b1d935ca53 chore: add an action to check labels 2021-06-27 07:49:45 +02:00
Satyajit Sahoo
3a5d096547 chore: add new issue forms 2021-06-27 07:20:36 +02:00
Satyajit Sahoo
20b8ebd405 fix: disable duplicate linking check for independent containers 2021-06-27 01:32:15 +02:00
Cedric van Putten
4c16083d51 chore: upgrade to expo-github-actions v6 2021-06-23 15:40:22 +02:00
Satyajit Sahoo
e7631ea239 chore: comment on closed issues regarding watching 2021-06-15 03:32:04 +02:00
Max Schmitt
2ee435be3a chore: add nvmrc for using LTS Node.js version (#9668)
This should fix the Netlify builds too.
See here for reference: https://github.com/nvm-sh/nvm#nvmrc

The integration tests are failing but they are getting fixed in #9667.
2021-06-13 17:39:55 +02:00
Max Schmitt
016e7920df test: upgrade to the new Playwright test-runner (#9667)
Hey!

I made the following changes:

- Replaced Jest by the new Playwright test-runner
- Disabled the Jest linting rules for the Playwright e2e tests
- Rewrote the tests to the new test-runner
- Adjusted `Link.test.ts` which should be less flaky
- The tests run now across all three browsers: Chromium, Firefox, and WebKit

See here for reference about the new test-runner: https://playwright.dev/docs/test-intro

I extracted a fix for Netlify in #9668.

Let me know if you have any questions.
2021-06-13 17:38:46 +02:00
Satyajit Sahoo
26ba019155 chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.19
 - @react-navigation/core@6.0.0-next.14
 - @react-navigation/devtools@6.0.0-next.15
 - @react-navigation/drawer@6.0.0-next.18
 - @react-navigation/elements@1.0.0-next.18
 - flipper-plugin-react-navigation@1.2.0
 - @react-navigation/material-bottom-tabs@6.0.0-next.15
 - @react-navigation/material-top-tabs@6.0.0-next.15
 - @react-navigation/native-stack@6.0.0-next.8
 - @react-navigation/native@6.0.0-next.14
 - @react-navigation/routers@6.0.0-next.5
 - @react-navigation/stack@6.0.0-next.26
2021-06-11 01:15:43 +02:00
Satyajit Sahoo
97772affa3 feat: show stack trace in the flipper plugin 2021-06-11 01:09:02 +02:00
Satyajit Sahoo
67f6950c14 chore: upgrade dependencies 2021-06-05 07:33:26 +02:00
Satyajit Sahoo
fe6d20c10e chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.18
 - @react-navigation/drawer@6.0.0-next.17
 - @react-navigation/elements@1.0.0-next.17
 - @react-navigation/material-bottom-tabs@6.0.0-next.14
 - @react-navigation/native-stack@6.0.0-next.7
 - @react-navigation/stack@6.0.0-next.25
@react-navigation/bottom-tabs@6.0.0-next.18 @react-navigation/drawer@6.0.0-next.17 @react-navigation/elements@1.0.0-next.17 @react-navigation/material-bottom-tabs@6.0.0-next.14 @react-navigation/native-stack@6.0.0-next.7 @react-navigation/stack@6.0.0-next.25
2021-06-01 13:30:34 +02:00
Satyajit Sahoo
7d74bd73a7 fix: tweak android q animation 2021-06-01 04:21:51 +02:00
Satyajit Sahoo
b46c433f1e fix: tweak opacity animation for PlatformPressable 2021-06-01 03:17:16 +02:00
Satyajit Sahoo
7e71ee6c47 chore: revert yarn.lock 2021-06-01 03:14:25 +02:00
Satyajit Sahoo
1287a784e6 chore: fix mapping in server babel config 2021-05-31 20:42:07 +02:00
Satyajit Sahoo
56f7df5384 chore: fix running the example app on web 2021-05-31 20:12:05 +02:00
Satyajit Sahoo
5996bbbce2 chore: bump react-native-paper 2021-05-31 19:31:08 +02:00
Satyajit Sahoo
c3ba72df65 chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.17
 - @react-navigation/core@6.0.0-next.13
 - @react-navigation/devtools@6.0.0-next.14
 - @react-navigation/drawer@6.0.0-next.16
 - @react-navigation/elements@1.0.0-next.16
 - flipper-plugin-react-navigation@1.1.4
 - @react-navigation/material-bottom-tabs@6.0.0-next.13
 - @react-navigation/material-top-tabs@6.0.0-next.14
 - @react-navigation/native-stack@6.0.0-next.6
 - @react-navigation/native@6.0.0-next.13
 - @react-navigation/stack@6.0.0-next.24
@react-navigation/bottom-tabs@6.0.0-next.17 @react-navigation/core@6.0.0-next.13 @react-navigation/devtools@6.0.0-next.14 @react-navigation/drawer@6.0.0-next.16 @react-navigation/elements@1.0.0-next.16 @react-navigation/material-bottom-tabs@6.0.0-next.13 @react-navigation/material-top-tabs@6.0.0-next.14 @react-navigation/native-stack@6.0.0-next.6 @react-navigation/native@6.0.0-next.13 @react-navigation/stack@6.0.0-next.24 flipper-plugin-react-navigation@1.1.4
2021-05-29 20:35:14 +02:00