christophemenager

christophemenager

Member Since 5 years ago

@matera, France

Experience Points
11
follower
Lessons Completed
14
follow
Lessons Completed
162
stars
Best Reply Awards
4
repos

50 contributions in the last year

Pinned
⚡ My dotfiles
⚡ Quizz on promises
Activity
Jan
21
3 days ago
Activity icon
issue

christophemenager issue comment software-mansion/react-native-reanimated

christophemenager
christophemenager

Error on android version 5.1 Attempt to invoke virtual method 'boolean com.swmansion.reanimated.layoutReanimation.RealLayoutAnimator.isLayoutAnimationEnabled()' on a null object reference

Description

I installed v2 from beginning when i was starting a project, it has been 2 months that i am working on it and when i now starting validating it on every version I got an error on the android version 5.1, I tried to downgrade packages and check but still have the same issue and i don't have a workaround as its used by my main navigations packages, it is working on latest android version

Screenshot_1640025525

Expected behavior

It should work on android 5.1 and others without any error

Actual behavior & steps to reproduce

Install react navigations, stack, drawer and react-native-reanimated v2

Snack or minimal code example

Package versions

All v2

  • React Native: 0.66.3
  • React Native Reanimated: All v2
  • NodeJS: latest
  • Java & Gradle: latest

Affected platforms

  • Android
  • iOS
  • Web
christophemenager
christophemenager

I do have the same issue in production, with version 2.3.1 of react-native-reanimated. Only visible on versions 5.1, 5.0.1, 5.0.2, android only

Jan
19
5 days ago
Activity icon
issue

christophemenager issue comment ramda/ramda

christophemenager
christophemenager

0.28.0 Upgrade Guide

v0.27.0...v0.28.0

(Note that some of these changes were in v0.27.1, which somehow never got its own upgrade guide.)

:new: Added:

:x: Removed:

  • #2835
    • :x: composeK in favor of composeWith
    • :x: composeP in favor of composeWith
    • :x: contains in favor of includes
    • :x: merge in favor of mergeRight, mergeLeft, and others
    • :x: pipeK in favor of pipeWith
    • :x: pipeP in favor of pipeWith

:bulb: Changes:

  • #2594 adds some type safety to propEq and propSatisfies
  • #2837 removes some redundant code from the internal _isArrayLike
  • #2848 remove unnecessary code from the internal _equals
  • #2795 fixes an earlier regression in applySpec
  • #2882 fixes an odd error in clone
  • #2885 updates empty and isEmpty to handle typed arrays
  • #2962 optimizes the performance of prop
  • #2986 adds protection against undefined object in hasIn
  • #3002 extends filter to FantasyLand compatibility.
  • #3031 updates the the dispatching of traverse
  • #3048 improves the performance of the internal _dispatchable
  • #3067 improves clone's handling of Objects with prototypes
  • #3081 adds some typechecking to evolve and returns non-Objects directly
  • #3134 cleans up the code in adjust
  • #3135 extends clone to typed arrays
  • #3136 cleans up the code in groupBy
  • #3177 fixed a potential Denial of Service attack on trim (see also #3212)
  • #3198 fixes is so that R.is(Object, Object.create(null)) returns true
  • #3201 adds transducer support to uniqBy and uniqWith

:star: Miscellaneous

  • #2990 added a Spanish translation of the documentation
  • #3192: After a long process this bug report and suggested fixes was rejected as invalid. It would still be worth investigating whether there is any possibility that Ramda might be subject to prototype pollution elsewhere.

:clipboard: Documentation fixes: #2637, #2682, #2786, #2871, #2897, #2932, #2939, #2979, #2981, #2989, #2899, #2900, #2914, #2916, #2917, #2919, #2920, #2922, #2927, #2944, #2956, #2958, #2959, #2963, #2968, #2979, #2981, #2989, #2990, #2992, #3005 #3011, #3013, #3014, #3025, #3039, #3053, #3073, #3080, #3083, #3085, #3088, #3109, #3119, #3123, #3139, #3140, #3161, #3170, #3174, #3188, #3199, #3205, #3207, #3208

:heavy_check_mark: Testing improvements: #2898, #2962, #2984, #3095 #3194, #3205, #3206

:shipit: Build and other internal improvements: #2845, #2928, #2935, #2999, #3030, #3042, #3044, #3046, #3050, #3052, #3054, #3069, #3096


Many thanks to all the contributors supporting this release, especially to those helping with numerous improvements to tests and documentation :tada:, and others improving our build-release process, notably @Andarist, @hitmands, @sebastienfilion, @benbryant0, and @customcommander, :tada:

We'd also like to call out to all those who submitted issues or PRs that we've chosen not to include. It's often easy to forget that the attempts that fail are often just as important to long-term success as those that succeed. Thank you for all your great work! :fireworks:

A final call-out to @customcommander, who recently joined the @ramda/core team and has helped push us to getting out this long-delayed release, and ideally to get on a reasonable release cadence. Thank you! :heart:

christophemenager
christophemenager
Jan
12
1 week ago
Jan
9
2 weeks ago
Dec
29
3 weeks ago
started
started time in 3 weeks ago
Dec
17
1 month ago
push

christophemenager push christophemenager/promises-quizz

christophemenager
christophemenager

:sparkles: (add end of main in asyncFolder)

commit sha: a0ef7423434aef4fe8da8cbcb404f507e95449ab

push time in 1 month ago
Dec
8
1 month ago
Dec
4
1 month ago
Activity icon
issue

christophemenager issue comment react-native-datetimepicker/datetimepicker

christophemenager
christophemenager

Fix: add locale to datepicker calendar for ios 14 and above

Summary

I found a way to fix the datepicker's calendar locale on days name for iOS 14 and above. Issue #300

Based on this stackoverflow article and after some researches, nobody are able to set this locale in Objective-C. So I implemented a Swift wrapper for this configuration. I needed to update project's configuration settings to build the Swift code.

I also update the example project to run with latest Xcode/iOS versions (pods upgrade and minimum target set to iOS 10.0)

These modification impact only the binding between react-native and the objective-c/swift code for the iOS platform.

Test Plan

I have no clue how to unit test these modifications...

The fonctionnality can be manually test by launching the example project on iOS (14 or above) and add the locale props to the <DateTimePicker />.

Example

With adding locale={'fr-FR'} to the <DateTimePicker /> in the example project:

Before modification: Capture d’écran 2021-10-17 à 13 27 23

After modification: Capture d’écran 2021-10-17 à 12 53 10

Compatibility

OS Implemented
iOS
Android

Checklist

  • I have tested this on a device and a simulator

I am waiting for any comment, any update I should made on thise PR. Thanks for your work!

christophemenager
christophemenager

Thank you so much for this PR !

Nov
29
1 month ago
Activity icon
issue

christophemenager issue comment react-navigation/react-navigation.github.io

christophemenager
christophemenager

Deep linking with Authentication Flow

Hello,

I am really new to this library and working on my app to replace old deprecated navigator with this one.

I got stuck when i need to verify authentication with deep linking. May be we can put it in the docs on how to handle authentication flow with deep linking.

Thanks D

christophemenager
christophemenager

Authstack does not work if it is conditional

Why ?

Activity icon
issue

christophemenager issue comment react-navigation/react-navigation.github.io

christophemenager
christophemenager

Deep linking with Authentication Flow

Hello,

I am really new to this library and working on my app to replace old deprecated navigator with this one.

I got stuck when i need to verify authentication with deep linking. May be we can put it in the docs on how to handle authentication flow with deep linking.

Thanks D

christophemenager
christophemenager
Nov
26
1 month ago
Nov
24
2 months ago
Activity icon
issue

christophemenager issue comment facebook/react-native

christophemenager
christophemenager

[0.65] [iOS] Redbox displayed as well as LogBox

Description

In 0.65 on iOS, RedBox is displayed as well as LogBox when using console.error or throwing an Error.

React Native version:

System:
    OS: macOS 10.15.7
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 84.11 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 14.15.0 - ~/.nvm/versions/node/v14.15.0/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.15.0/bin/yarn
    npm: 7.5.4 - ~/.nvm/versions/node/v14.15.0/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7142.36.36.6241897
    Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.6 - /usr/local/opt/[email protected]/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.65.1 => 0.65.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

Provide a detailed list of steps that reproduce the issue.

  1. npx react-native init Test --version 0.65.1
  2. Open up App.js and add the following to App component:
    const App: () => Node = () => {
       const isDarkMode = useColorScheme() === 'dark';
       console.error('hello'); // <-- Add this here
       const backgroundStyle = {
         backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
       };
    
  3. run yarn start and yarn ios

Expected Results

I expect to only see the error in LogBox at the bottom of the screen as in 0.64.2: Screenshot 2021-08-27 at 16 59 06

Actual Results

I get the Error in Redbox as well (Note that this is only an issue on iOS):

Screenshot 2021-08-27 at 16 58 42

This also happens when throwing an Error, however it isn't as much of an issue as LogBox is displayed in full screen in this case anyway.

christophemenager
christophemenager

Thanks a lot @liamjones , created a patch for my project and it works perfectly well 👌 Nice job !

Activity icon
issue

christophemenager issue comment facebook/react-native

christophemenager
christophemenager

Fix for iOS displaying a RedBox for LogBox handled errors

Summary

Fix for iOS displaying a RedBox for LogBox handled errors, this has been happening since RN 0.65 (in 64.2 and earlier, if it was handled by LogBox then it wouldn't trigger RedBox)

Fixes #32106

Changelog

[iOS] [Fixed] - Stop RedBox from appearing for LogBox handled errors

Test Plan

Manually tested. Seems to fix things (and RedBox still displays for things like 'Could not connect to development server') but I would appreciate @RSNara or someone else who is more familiar with the code to confirm that the original switch was a mistake and not something deliberately changed.

christophemenager
christophemenager

I tried it locally on my project and it worked 🆗

Nov
21
2 months ago
Activity icon
issue

christophemenager issue microsoft/react-native-code-push

christophemenager
christophemenager

Support compileSdkVersion 31

Thanks so much for filing an issue or feature request! Please fill out the following (wherever relevant):

Steps to Reproduce

  1. Change compileSdkVersion to 31 in build.gradle
  2. react-native run-android

Expected Behavior

No error during build

Actual Behavior

Following error during build : What actually happens?

  Execution failed for task ':react-native-code-push:compileDebugJavaWithJavac'.

Environment

  • react-native-code-push version: 7.0.4
  • react-native version: 0.66.3
  • Does this reproduce on a debug build or release build? both
  • Does this reproduce on a simulator, or only on a physical device? both
Nov
20
2 months ago
Nov
17
2 months ago
Nov
16
2 months ago
Activity icon
issue

christophemenager issue comment phrase/react_native_sdk_example

christophemenager
christophemenager

Fallback when the key is not in the cache

Sorry, it's me again !

I successfully integrated the react-native SDK into my project, thanks for the hard work @egze @theSoenke @DarkMinstrel :)

I have a last question : If the translation key is not found in the translations cache of Phrase, is it possible to fallback to the translation key embedded in the app ? Currently it works for the whole translation file, but not on a key granularity.

This implies that once I start creating my first OTA release (for example to fix some translation wordings), I am forced to keep creating releases each time I make a change. And users will still probably see missing translations as the refresh is made in the background, and cache is used as default.

In a nutshell : once you have made a release for all users, how do you keep adding new keys ?

christophemenager
christophemenager

Thanks for your warning @egze , you are perfectly right it's maybe not the best UX ever :)

I changed it a bit :

  1. During startup I check in the cache
  2. After startup, I check on the API and re-render screens if needed thanks to the option ``` react: { bindI18nStore: "added", },

This way we can have a good balance between fast startup in poor internet conditions and up-to-date translations (with a slight delay in the UX, not an issue in my case)

Could be nice to expose two methods in the API of your SDK, one for reading the cache, one for checking the API. This offers more flexibility of integration for different use cases 
Activity icon
issue

christophemenager issue phrase/react_native_sdk_example

christophemenager
christophemenager

Fallback when the key is not in the cache

Sorry, it's me again !

I successfully integrated the react-native SDK into my project, thanks for the hard work @egze @theSoenke @DarkMinstrel :)

I have a last question : If the translation key is not found in the translations cache of Phrase, is it possible to fallback to the translation key embedded in the app ? Currently it works for the whole translation file, but not on a key granularity.

This implies that once I start creating my first OTA release (for example to fix some translation wordings), I am forced to keep creating releases each time I make a change. And users will still probably see missing translations as the refresh is made in the background, and cache is used as default.

In a nutshell : once you have made a release for all users, how do you keep adding new keys ?

Activity icon
issue

christophemenager issue comment phrase/react_native_sdk_example

christophemenager
christophemenager

Fallback when the key is not in the cache

Sorry, it's me again !

I successfully integrated the react-native SDK into my project, thanks for the hard work @egze @theSoenke @DarkMinstrel :)

I have a last question : If the translation key is not found in the translations cache of Phrase, is it possible to fallback to the translation key embedded in the app ? Currently it works for the whole translation file, but not on a key granularity.

This implies that once I start creating my first OTA release (for example to fix some translation wordings), I am forced to keep creating releases each time I make a change. And users will still probably see missing translations as the refresh is made in the background, and cache is used as default.

In a nutshell : once you have made a release for all users, how do you keep adding new keys ?

christophemenager
christophemenager

As it may help others, I solved this issue in two steps :

  1. Did not use backends from i18next (chainedBackend do not support merge of two backends), I simply call phrase.requesTranslation and then do i18next.addResourceBundle
  2. I patched the react-native-phrase-sdk to await the updateFromApi, in order not to have to relaunch the application to actually get the update. This fits my need perfectly, maybe not the case for all users
started
started time in 2 months ago
Nov
15
2 months ago
Activity icon
issue

christophemenager issue comment phrase/react_native_sdk_example

christophemenager
christophemenager

Fallback when the key is not in the cache

Sorry, it's me again !

I successfully integrated the react-native SDK into my project, thanks for the hard work @egze @theSoenke @DarkMinstrel :)

I have a last question : If the translation key is not found in the translations cache of Phrase, is it possible to fallback to the translation key embedded in the app ? Currently it works for the whole translation file, but not on a key granularity.

This implies that once I start creating my first OTA release (for example to fix some translation wordings), I am forced to keep creating releases each time I make a change. And users will still probably see missing translations as the refresh is made in the background, and cache is used as default.

In a nutshell : once you have made a release for all users, how do you keep adding new keys ?

christophemenager
christophemenager

Just to let you know, I have explained the issue for the support team, maybe a little bit clearer :

I have a functional issue with the integration of OTA on react-native, using your recent sdk 1.0.0 (I followed the steps on the example repo)

Two issues with this integration :

  1. Fetch of new OTA releases is made after startup of the app, which means you have to start the app a second time to see new translations
  2. OTA cache (of present) is the only source of truth, and is not merged with local translation file. This means you are forced to continue making releases every-time there are new keys, for the lifetime of the product.

Maybe I missed something but I don't get how to use OTA on react-native properly. For the moment, it looks like an extra constraint more than an actual benefit...

Previous