profile
viewpoint
Ricky rickhanlonii @facebook London, England https://twitter.com/rickhanlonii React Native @facebook · he/him · Don't let your dreams be dreams · EST. AKRON

joestump/python-oauth2 2917

A fully tested, abstract interface to creating OAuth clients and servers.

react-native-community/cli 1247

React Native command line tools

larvalabs/pullup 315

A website you join via pull request.

larvalabs/breaker 20

Chat rooms for subreddits.

elharony/react-native-website 0

The site and docs for React Native

kckolz/cross-track-loopback 0

Crossfit tracking/management application

kckolz/quicktrack 0

Android app for tracking workouts

rickhanlonii/aamnotifs 0

Simple notifications implementation with RabbitMQ using pika.

rickhanlonii/alex 0

Catch insensitive, inconsiderate writing

rickhanlonii/amqp-dispatcher 0

A daemon to run AMQP consumers

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.++There are no expectations around activity. There may be a time where contributor privileges are restricted or removed for inactivity. Once core contributor status has been granted you will not lose org membership.++New contributors will be decided based on a unanimous vote by the existing core contributors.++### Manager++A manager has additional privileges over a core contributor. They serve to control and maintain sensitive project assets, and to act as tiebreakers in the event of disagreements. These additional privileges include:++- Access to the [@romejsdev Twitter account](https://twitter.com/romejsdev)+- Administration privileges on the [Rome GitHub org](https://github.com/romejs)+- Administration privileges on the [Rome Discord server](https://github.com/romejs)+- Publish access to the [`rome` npm package](https://www.npmjs.com/package/rome)+- Domain registrar and DNS access to all `romejs.*` domains+- Administration access to the `romejs.dev` Netlify account+- Ability to decide on moderation decisions involving core contributors+- Access to the `*@romejs.dev` email address++New managers will be decided based on a unanimous vote by the existing managers.
New managers will be added based on a unanimous vote by the existing managers.
sebmck

comment created time in 4 days

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.
Core Contributors include anyone with a history of consistent contributions, including but not limited to pull requests, project management, or support.
sebmck

comment created time in 4 days

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.

Should this section have a list of privileges like the Managers section?

sebmck

comment created time in 4 days

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.++There are no expectations around activity. There may be a time where contributor privileges are restricted or removed for inactivity. Once core contributor status has been granted you will not lose org membership.++New contributors will be decided based on a unanimous vote by the existing core contributors.++### Manager++A manager has additional privileges over a core contributor. They serve to control and maintain sensitive project assets, and to act as tiebreakers in the event of disagreements. These additional privileges include:
Managers have additional privileges over core contributors. Managers control and maintain sensitive project assets, and act as tiebreakers in the event of disagreements. These additional privileges include:
sebmck

comment created time in 4 days

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.++There are no expectations around activity. There may be a time where contributor privileges are restricted or removed for inactivity. Once core contributor status has been granted you will not lose org membership.++New contributors will be decided based on a unanimous vote by the existing core contributors.++### Manager++A manager has additional privileges over a core contributor. They serve to control and maintain sensitive project assets, and to act as tiebreakers in the event of disagreements. These additional privileges include:++- Access to the [@romejsdev Twitter account](https://twitter.com/romejsdev)+- Administration privileges on the [Rome GitHub org](https://github.com/romejs)+- Administration privileges on the [Rome Discord server](https://github.com/romejs)+- Publish access to the [`rome` npm package](https://www.npmjs.com/package/rome)+- Domain registrar and DNS access to all `romejs.*` domains+- Administration access to the `romejs.dev` Netlify account+- Ability to decide on moderation decisions involving core contributors+- Access to the `*@romejs.dev` email address++New managers will be decided based on a unanimous vote by the existing managers.++### Owner++Certain parts of the codebase can be owned by one or more people. This process is informal and inclusion could be a result of substantial contribution or delegation by other members. It's the responsibility of a core contributor to identify the relevant owners and ensure there's an understanding when it comes to code review.++## Current Members++Members listed in alphabetical order.++### Managers++- [Sebastian McKenzie @sebmck](https://github.com/sebmck)++### Core Contributors++- [Eduardo Lopes @EduardoLopes](https://github.com/EduardoLopes)+- [Florent Cailhol @ooflorent](https://github.com/ooflorent)+- [Jamie Kyle @jamiebuilds](https://github.com/jamiebuilds)+- [Kevin Kelbie](https://github.com/KevinKelbie)+- [Olivier Dusabimana @diokey](https://github.com/diokey)+- [Paul Bouchon @bitpshr](https://github.com/bitpshr)+- [Victor Hom @VictorHom](https://github.com/VictorHom)++## Code review and merging

Consider splitting this into two different sections, one for guidelines to submitting PRs and one for guidelines to merging.

sebmck

comment created time in 4 days

Pull request review commentromejs/rome

Add governance document

+# Governance++This document outlines the governance model for Rome. This includes the contributor model, code review, merging, and the consequences and process for Code of Conduct violations.++## Member Roles++All members must follow the [Code of Conduct](CODE_OF_CONDUCT.md). Consequences for member violations are detailed in [Moderation](#moderation).++### Core Contributor++Core Contributors are those who have a history of consistent contributions, whether this pull requests, project management, or support.++There are no expectations around activity. There may be a time where contributor privileges are restricted or removed for inactivity. Once core contributor status has been granted you will not lose org membership.++New contributors will be decided based on a unanimous vote by the existing core contributors.
New core contributors will be added based on a unanimous vote by the existing core contributors.
sebmck

comment created time in 4 days

delete branch react-native-community/discussions-and-proposals

delete branch : rh-update-issue-template

delete time in 5 days

push eventreact-native-community/discussions-and-proposals

Ricky

commit sha 7315dc8505da22234d2131910a28a2a0adec9d3b

Update the default issue template Change some of the headings and reduce the information while still keeping the same points to make it easier to skim and more likely to be read.

view details

Ricky

commit sha 4dbdc9ae3a37d6082a494eeaff4161e5544c84ab

Merge pull request #233 from react-native-community/rh-update-issue-template Update the default issue template

view details

push time in 5 days

PR merged react-native-community/discussions-and-proposals

Update the default issue template

Change some of the headings and reduce the information while still keeping the same points to make it easier to skim and more likely to be read.

<!-- Hello there! Thanks for deciding to start a proposal about React Native and how it could evolve for the better!

Given that most of the discussion will be held around the file you are submitting, use this space to simply give a brief introduction to the subject of the PR. -->

+7 -8

0 comment

1 changed file

rickhanlonii

pr closed time in 5 days

PR opened react-native-community/discussions-and-proposals

Update the default issue template

Change some of the headings and reduce the information while still keeping the same points to make it easier to skim and more likely to be read.

<!-- Hello there! Thanks for deciding to start a proposal about React Native and how it could evolve for the better!

Given that most of the discussion will be held around the file you are submitting, use this space to simply give a brief introduction to the subject of the PR. -->

+7 -8

0 comment

1 changed file

pr created time in 5 days

issue commentfacebook/hermes

The website playground is broken

Yeah will do now

tmikov

comment created time in 11 days

push eventfacebook/hermes

Rick Hanlon

commit sha a7663c74e186a6247a9a5bef927ef6c2c2ee82a5

Deploy website version based on a490054ce9a6f9b66a0b964c2a0226e23a1b6e6b

view details

push time in 11 days

push eventrickhanlonii/jest-runner-babel

Sibelius Seraphini

commit sha 349f566ad5629c9eeca8cd58ba41ac9e3b7a5e9f

feat(dep): fix #7

view details

Ricky

commit sha 27080bdf13ac8a239fd4b467f53cac7e1ee9822b

Merge pull request #8 from sibelius/patch-1 feat(dep): fix #7

view details

push time in 12 days

issue closedrickhanlonii/jest-runner-babel

make jest a peer dep

so it won't break jest latest versions

closed time in 12 days

sibelius

pull request commentfacebook/react-native

Support changing position of LogBox

Hey @osdnk, thanks for submitting this!

I agree we should solve this problem. My thinking in the original designs is that we would allow you to drag and move the notifications, like you can do with FLEX.

What do you think?

osdnk

comment created time in 12 days

Pull request review commenttatianamac/selfdefined

➕ Adds sanity check

+---+title: sanity check+slug: sanity-check+flag:+  text: 'Ableist language'+  level: avoid+defined: true+speech: noun+alt_words:+  - basic function test+  - coherence check+  - confidence check+  - consistency check+  - initial check+  - quick check+  - sense check+  - smoke test+  - soundness check+  - spot check+reading:+  - text: Stack Exchange+    href: https://english.stackexchange.com/questions/282282/near-universally-applicable-alternative-to-sanity-check+---++ a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true; when expressed literally, examines if the author of a test was sane when they wrote it; commonly used in software engineering to assess whether something is reasonable and sound or meets its goals/acceptance criteria.++## Issues++Connoting sanity (which is an assessment of a person's neurological status—a medical condition that largely can't be changed) with the thoroughness of a piece of software (which is an object we create by decisions, which can be changed) reinforces the ableist idea that sanity (being neurotypical or mentally well) is good and its opposite of insanity (being neurodivergent or mentally ill) is bad.++## Impact++Using sanity check in our engineering processes also reinforces a system that excludes mentally ill and disabled people, reinforcing negative biases against them and making unsafe places for them to work and to be. Using this language causes harm to our mentally ill, neurodivergent, and disabled colleagues.++By using ableist language, we are perpetuating violence against people who experience mental or psychological disabilities. Using this language perpetuates those systems and language of harm, regardless of our intent.
By using this ableist language, we are perpetuating violence against people who experience mental or psychological disabilities. Using this language perpetuates those systems and language of harm, regardless of our intent.
tatianamac

comment created time in 12 days

Pull request review commenttatianamac/selfdefined

➕ Adds sanity check

+---+title: sanity check+slug: sanity-check+flag:+  text: 'Ableist language'+  level: avoid+defined: true+speech: noun+alt_words:+  - basic function test+  - coherence check+  - confidence check+  - consistency check+  - initial check+  - quick check+  - sense check+  - smoke test+  - soundness check+  - spot check+reading:+  - text: Stack Exchange+    href: https://english.stackexchange.com/questions/282282/near-universally-applicable-alternative-to-sanity-check+---++ a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true; when expressed literally, examines if the author of a test was sane when they wrote it; commonly used in software engineering to assess whether something is reasonable and sound or meets its goals/acceptance criteria.++## Issues++Connoting sanity (which is an assessment of a person's neurological status—a medical condition that largely can't be changed) with the thoroughness of a piece of software (which is an object we create by decisions, which can be changed) reinforces the ableist idea that sanity (being neurotypical or mentally well) is good and its opposite of insanity (being neurodivergent or mentally ill) is bad.++## Impact++Using sanity check in our engineering processes also reinforces a system that excludes mentally ill and disabled people, reinforcing negative biases against them and making unsafe places for them to work and to be. Using this language causes harm to our mentally ill, neurodivergent, and disabled colleagues.
Using "sanity check" in our engineering processes reinforces a system that excludes mentally ill and disabled people, reinforcing negative biases against them and making unsafe places for them to work and to be. Using this language causes harm to our mentally ill, neurodivergent, and disabled colleagues.
tatianamac

comment created time in 12 days

Pull request review commenttatianamac/selfdefined

➕ Adds sanity check

+---+title: sane+slug: sanity-check+flag:+  text: 'Medical appropriation'+  level: avoid+defined: true+speech: noun+alt_words:+  - logical+  - mindful+  - reasonable+  - sound+  - thoughtful+  - well-conceived+  - well-constructed+  - well-tested+reading:+  - text: Stack Exchange+    href: https://english.stackexchange.com/questions/282282/near-universally-applicable-alternative-to-sanity-check+---++of sound mind, mentally healthy++## Issues++While insane might seem more obvious to people as an ableist word to use, the subtle connotation that sanity is good implicitly suggests that _insanity_, its opposite, is bad.++Connoting sanity (which is an assessment of a person's neurological status—a medical condition that largely can't be changed) with being well thought out, reasonable, sensible (reflective of an event or series of events ) reinforces the ableist idea that sanity (being neurotypical or mentally well and abled) is good and its opposite of insanity (being neurodivergent or mentally ill and disabled) is bad.++## Impact++Using sane reinforces the system that excludes mentally ill and disabled people, reinforcing negative biases against them. Using this language causes harm to mentally ill, neurodivergent, and disabled people.++By using ableist language, we are perpetuating violence against people who experience mental or psychological disabilities. Using this language perpetuates those systems and language of harm, regardless of our intent.
By using this ableist language, we are perpetuating violence against people who experience mental or psychological disabilities. Using this language perpetuates those systems and language of harm, regardless of our intent.

Would add "this" here since the point "perpetuating violence against people who experience mental or psychological disabilities" is specific to neurological status and not ableist language in general.

tatianamac

comment created time in 12 days

Pull request review commenttatianamac/selfdefined

➕ Adds sanity check

+---+title: sane+slug: sanity-check+flag:+  text: 'Medical appropriation'+  level: avoid+defined: true+speech: noun+alt_words:+  - logical+  - mindful+  - reasonable+  - sound+  - thoughtful+  - well-conceived+  - well-constructed+  - well-tested+reading:+  - text: Stack Exchange+    href: https://english.stackexchange.com/questions/282282/near-universally-applicable-alternative-to-sanity-check+---++of sound mind, mentally healthy++## Issues++While insane might seem more obvious to people as an ableist word to use, the subtle connotation that sanity is good implicitly suggests that _insanity_, its opposite, is bad.
While "insane" might seem more obvious to people as an ableist word to use, the subtle connotation that sanity is good implicitly suggests that _insanity_, its opposite, is bad.
tatianamac

comment created time in 12 days

Pull request review commenttatianamac/selfdefined

➕ Adds sanity check

+---+title: sane+slug: sanity-check+flag:+  text: 'Medical appropriation'+  level: avoid+defined: true+speech: noun+alt_words:+  - logical+  - mindful+  - reasonable+  - sound+  - thoughtful+  - well-conceived+  - well-constructed+  - well-tested+reading:+  - text: Stack Exchange+    href: https://english.stackexchange.com/questions/282282/near-universally-applicable-alternative-to-sanity-check+---++of sound mind, mentally healthy++## Issues++While insane might seem more obvious to people as an ableist word to use, the subtle connotation that sanity is good implicitly suggests that _insanity_, its opposite, is bad.++Connoting sanity (which is an assessment of a person's neurological status—a medical condition that largely can't be changed) with being well thought out, reasonable, sensible (reflective of an event or series of events ) reinforces the ableist idea that sanity (being neurotypical or mentally well and abled) is good and its opposite of insanity (being neurodivergent or mentally ill and disabled) is bad.++## Impact++Using sane reinforces the system that excludes mentally ill and disabled people, reinforcing negative biases against them. Using this language causes harm to mentally ill, neurodivergent, and disabled people.
Using "sane" reinforces the system that excludes mentally ill and disabled people, reinforcing negative biases against them. Using this language causes harm to mentally ill, neurodivergent, and disabled people.
tatianamac

comment created time in 12 days

push eventrickhanlonii/react

Rick Hanlon

commit sha f72d1a5024df010ed3a180b7b7b224facbc21dbf

Add React DevTools support for Inspector in Fabric

view details

push time in 13 days

push eventrickhanlonii/react

Rick Hanlon

commit sha c7f463215b6fc025aa45c01e74d32a6030dbec67

Add React DevTools support for Inspector in Fabric

view details

push time in 13 days

create barnchrickhanlonii/react

branch : rh-fabric-devtools-sync

created branch time in 13 days

issue commentfacebookexperimental/rome

Logo

If you want to make the arch feel more substantive you could add a keystone, romans were the first to start using keystones and Rome is sort of the keystone of your infra.

sebmck

comment created time in 17 days

issue commentfacebook/react-native

CMD + r | CMD + d not works as expect - RN version "0.61.0"

Hey all, thanks for the report!

From what I can tell, this is an Apple bug in iOS 13+ where hardware keyboards do not send the correct cmd + <key> event until the key has been used without command. I've reproduced this behavior in every iOS 13 version using RNTester.

To verify, I overrode the UIApplication.handleKeyUIEvent method which is called when a hardware key is pressed and confirmed that only the "command" event is fired for cmd + r. We do not get an event for the "r" press until r has been pressed on its own first. If you press r and then cmd+r then the hotkey reliably works for the rest of the life of the app.

We do some hacky swizzling to attach the key commands, so just to be sure that this isn't caused by the hack, I ran a test using the actual documented keyCommands UIResponder method that's we're supposed to be using and it has the exact same issue: the cmd+<key> is not called until the <key> has been pressed on its own.

This applies to all in-app keys such as cmd+r, cmd+d, and cmd+i.

Finally, I looked at FLEX which also registers global hotkeys but in a more robust way. As a last ditch effort, I copied their hotkey implementation over to our RCTKeyCommands and it still contains the bug. FLEX doesn't seem to be impacted because they do not use cmd+<key>, they only use <key> alone such as f and n.

The video below shows the bug on iOS 13 but not iOS 12. Notice that the first 4 cmd+r attempts fail, then I press r alone, and then cmd+r works. When I switch to the device on the left running iOS 12, it always works.

out

mustafaskyer

comment created time in 17 days

issue commentfacebook/hermes

The website playground is broken

Strange, do you know what we're doing wrong @yangshun?

tmikov

comment created time in 21 days

issue commentfacebook/react-native

RN 0.59.10 Unable to resolve module `AccessibilityInfo` .... ..... Module `AccessibilityInfo` does not exist in the Haste module map

@cpojer @motiz88 @rubennorte this issue is super common, is there anything we can do to improve this error or catch common cases and recommend solutions? It seems like the haste map is just frequently wrong.

git-single-lee

comment created time in 21 days

issue commentfacebook/jest

toEqual does not work with Blob objects

Please feel free to submit a PR for this starting with the code linked above.

darkowic

comment created time in 21 days

CommitCommentEvent
CommitCommentEvent

Pull request review commentfacebook/jest

Document asymmetric matchers ( next version only - review before adding to versioned_docs )

 it('stores only 10 characters', () => { }); ``` +#### Asymmetric matchers++Asymmetric matchers are objects with an `asymmetricMatch` method with a single argument that returns `true` or `false`.  They can be passed as argument to some of the built in matchers, such as `toBeCalledWith` and `toEqual`, or to custom matchers if supported.

What do you think of the suggestion I provided?

tonyhallett

comment created time in 21 days

pull request commentfacebook/jest

[Circus] Add timeout event, and don't print both timeout and expect.assertions error

AFAIK we can rebase and land this as-is?

rickhanlonii

comment created time in 21 days

Pull request review commentfacebook/jest

chore: add worker build on CI

 module.exports = {       'jest-junit',       {outputDirectory: 'reports/junit', outputName: 'js-test-results.xml'},     ],-    [-      'jest-silent-reporter',-      {showPaths: true, showWarnings: true, useDots: true},-    ],+    'default',

😢

SimenB

comment created time in 21 days

issue commentfacebook/jest

[feature request] call afterAll() on `ctrl+c`

Thanks @seanpoulter - it sounds like crtl+c has hooks into the subprocesses so they're killed but when you only kill the parent jest process we don't forward the kill to children. I would have expected Node to handle that but I guess they don't. That's a bug we should fix.

brikou

comment created time in 21 days

issue commentfacebook/jest

globalSetup doesn't process styleMocks / moduleNameMappers

@stnwk I do not - I would grep for setupFilesAfterEnv and track down how it uses moduleNameMapper, and then grep for globalSetup to see why it doesn't use it. Let me know if you have any questions 👍

mschipperheyn

comment created time in 21 days

issue commentfacebook/react-native

[SOLVED] 0.61.5 to 0.62.2 upgrade error: OpenSSL-Universal ENABLE_BITCODE

Just noting that the solution was added to the bottom of the description, thanks for tracking it down @ezranbayantemur!

ezranbayantemur

comment created time in 21 days

Pull request review commentfacebook/jest

Add Jest 26 blog post

+---+title: Jest 26: Tick Tock

Would recommend a more descriptive title like:

Jest 26: Reducing install size with better defaults and tick tock release cycles

cpojer

comment created time in 21 days

push eventrickhanlonii/react-native

Rick Hanlon

commit sha 3797a6d464116454ab95848e7c62629d0bace424

Add androidx.swiperefreshlayout to RNTester build.gradle Summary: Suggested fix from passy Changelog: [General] [Fixed] RNTester instacrash from missing androidx dependency Reviewed By: passy Differential Revision: D19741935 fbshipit-source-id: 62e02169a92b7418471d2228a3d75ffffbe7a6a6

view details

Marcus Zarra

commit sha 30790be1b54979492b099df3065c5f98ade9c62a

Adding [super initialize] to correct misreporting by MDCD Summary: In working to remove dead code from the code base, we identified that a number of classes that subclassed `RCTEventEmitter` were being reported as unused when they are in active use. That was due to a lack of a `[super initialize]`. This diff adds the call to super. Changelog: [General] [Added] - Call to `super` in `+initialize` of `RCTEventEmitter` Reviewed By: javache Differential Revision: D19727783 fbshipit-source-id: 19c6c7f08e7a8b2f764988fdfcd70f92dbf1b74b

view details

Pieter De Baets

commit sha 46dcce0031652b622c50b76f3e20989f30ba220b

Remove unused callFunctionReturnResultAndFlushedQueue Summary: Changelog: [Internal] Remove unused BatchedBridge.callFunctionReturnResultAndFlushedQueue Reviewed By: sammy-SC Differential Revision: D19740946 fbshipit-source-id: 9919d52074180d0fcfb7c0929005f0d925578912

view details

Christoph Purrer

commit sha 014bc95135a38d65b991509492c0979cfd153e71

Make YGValue.h compile with Clang on Windows Summary: - We use a fork of Microsoft's react-native-windows which uses a fork of Facebook's react-native - YGValue.h does not compile with Clang on Windows - This change should fix that - I want to put the change here so that it bubbles back to our fork > https://our.intern.facebook.com/intern/diff/D19656093/ #Changelog: [General][Fixed] Make YGValue.h compile with Clang on Windows Reviewed By: SidharthGuglani Differential Revision: D19717489 fbshipit-source-id: ad867ecaf910bb64a777a06c656a1867bb15484b

view details

Emily Janzer

commit sha 73427561f7a0d571fdcfe7d154afac97ee1bbdbf

Use JavaScriptModuleRegistry.getJSModuleName() Summary: It turns out that in release builds, proguard is doing something weird with inner classes, so that getSimpleName() is actually returning "OuterClass$InnerClass" in some cases. We have logic to handle this case already in JavaScriptModuleRegistry, so I'm moving that out to a static method that I can access in bridgeless mode. Also adding tests for it. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D19701703 fbshipit-source-id: 625737bfb50ca8ba2bd26034e2a74c682783ba8a

view details

Emily Janzer

commit sha c32ec1f2ab508e7e22fcd5e16e20637163a34c69

Add @DoNotStrip annotation to JavaTimerManager.deleteTimer() Summary: This method is being stripped in release builds because it's used directly from C++ and not referenced in Java. Adding `DoNotStrip` to prevent this. Changelog: [Internal] Reviewed By: PeteTheHeat, mdvacca Differential Revision: D19708826 fbshipit-source-id: a572f0295ab3b49e5884d0a6c723d65e4bbc9226

view details

Eli White

commit sha f555202531cd924be5efe3d347c400a149a069d7

Make JS Animated Driver use forceUpdate in Fabric for list components Summary: List components aren't host components so checking if the direct component itself's internals isn't sufficient to know if we are in Fabric. For lists, we have to call through some helper functions to get to the host component. Hopefully we will fix this in the future by making the lists use forwardRef, or by getting rid of the JS Driver altogether, but for now, this is fine (TM). Changelog: Internal Reviewed By: mdvacca Differential Revision: D19731067 fbshipit-source-id: 0e73583c6bf7c10de30e668a390d29718d31b295

view details

Joshua Gross

commit sha 6be37d8c0a2057021fdeb761eee7ac1567dbde54

Use a mutex to guard access to lastLayoutMetrics_ in ViewEventEmitter Summary: Of course, compare_exchange_strong didn't actually do what I wanted. Using a mutex is simpler and actually has the semantics we want: atomically get the current value, compare, and bail if the value is the same, or swap and continue. Changelog: [Internal] Reviewed By: shergin Differential Revision: D19754451 fbshipit-source-id: 6b0aef217b235959af683ec5e31b07a0dd7bb040

view details

Jorge Bernal

commit sha 8e5fac89bbdcc3028bb5d81a358969a235abf991

Implement onRequestClose for iOS 13+ modals (#27618) Summary: Starting on iOS 13, a View Controller presented modally will have a "bottom sheet" style unless it's explicitly presented full screen. Before this, modals on iOS were only being dismissed programatically by setting `visible={false}`. However, now that the dismissal can happen on the OS side, we need a callback to be able to update the state. This PR reuses the `onRequestClose` prop already available for tvOS and Android, and makes it work on iOS for this use case. Should fix https://github.com/facebook/react-native/issues/26892 ## Changelog [iOS] [Added] - Add support for onRequestClose prop to Modal on iOS 13+ Pull Request resolved: https://github.com/facebook/react-native/pull/27618 Test Plan: I tested this using the RNTester app with the Modal example: 1. Select any presentation style other than the full screen ones 2. Tap Present and the modal is presented 3. Swipe down on the presented modal until dismissed 4. Tap Present again and a second modal should be presented ![Screen Recording 2019-12-26 at 14 05 33](https://user-images.githubusercontent.com/8739/71477208-0ac88c80-27e9-11ea-9342-8631426a9b80.gif) Differential Revision: D19235758 Pulled By: shergin fbshipit-source-id: c0f1d946c77ce8d1baab209eaef7eb64697851df

view details

Eli White

commit sha 26912bd9798aeb38931466b8ddcd3a48973b0528

Delete thumbTintColor, tintColor, onTintColor props Summary: Deprecations for these props were added in 0.57, June 2018, in this commit: https://github.com/facebook/react-native/commit/965adee109b86cc36f39a713237ade9592f13dad#diff-6ee4e62c750fcd87064f152f53214a05, with warnings added in https://github.com/facebook/react-native/commit/9a4fd6b78d83ad932d8fcc903b4c3d55b943e296#diff-6ee4e62c750fcd87064f152f53214a05 It has been a couple releases now, so let's clean up the component code and finally remove support. For instructions on how to migrate off these props, see the commit summary of https://github.com/facebook/react-native/commit/965adee109b86cc36f39a713237ade9592f13dad#diff-6ee4e62c750fcd87064f152f53214a05 Changelog: [Breaking][General] Switch: Remove support for thumbTintColor, tintColor, onTintColor props (deprecated in 0.57) Reviewed By: cpojer Differential Revision: D19760913 fbshipit-source-id: 8fdcf7af99fecadecf3157c00e6d1cbab8e63268

view details

Eli White

commit sha a26d622d04451d6872eed2491e5d3f7d4689824d

Remove deprecated support for Alert.prompt with type as Callback Summary: This functionality was deprecated in [this commit](https://github.com/facebook/react-native/commit/e2bd7db732602b2c477fe040f2946bd8293df297) on Feb 12th, 2019, originall in 0.59.0 Changelog: [Breaking][General] Alert: Remove deprecated support for Alert.prompt with type as Callback (deprecated in 0.59) Reviewed By: cpojer Differential Revision: D19762618 fbshipit-source-id: a8edb6045bbc57d56e75fd281e602f5370ba1810

view details

Pieter De Baets

commit sha 13d8f4848eed636784f9fc4b7f3d6a929b04fe46

Stub out callFunctionReturnResultAndFlushedQueue Summary: Changelog: [Internal] Remove unused BatchedBridge.callFunctionReturnResultAndFlushedQueue Reviewed By: cpojer Differential Revision: D19765606 fbshipit-source-id: d639e76c48113060013f9e858a669d8b1e4d20e7

view details

Valentin Shergin

commit sha 8fe6883fea5d92c8378a9642e8369c56f20872a7

Fabric: Fixed double-application of `opacity` and `background-color` props on TextInput Summary: These props are applied to `View`, therefore they most not be a part of base text attributes, so we reset them. Changelog: [Internal] Fabric-specific internal change. Reviewed By: mdvacca Differential Revision: D19764144 fbshipit-source-id: a0d2900e3161c47b83114360c843fa85a4389f8a

view details

Michał Pierzchała

commit sha 4e6adc9d624f1b531596182c9356ee533dd68db3

- Bump CLI to ^4.0.0 (#27976) Summary: Upgrading CLI to latest. This diff is intended to be cherry-picked to 0.62. cc grabbou kelset ## Changelog [Internal] [Changed] - Bump CLI to ^4.0.0 Pull Request resolved: https://github.com/facebook/react-native/pull/27976 Test Plan: None Differential Revision: D19769017 Pulled By: cpojer fbshipit-source-id: c3f5cd8afc0bc26372ee9f9e9dbaf4e68cdec216

view details

Eli White

commit sha 1e9db7bd6df3055b9b81d23f15a54bb250621a41

Remove animated prop Summary: This prop was deprecated in April 2016 in [this commit](https://github.com/facebook/react-native/commit/2bb1c263dbdce8f92ed5af41a729470238157799#diff-931cea019b5e9faceffef4e46f1fff08), first in 0.26.0 It's been a while, we can remove it now. Changelog: [Breaking][General] Modal: Remove support for `aniamted` prop (deprecated in 0.26) Reviewed By: cpojer Differential Revision: D19762163 fbshipit-source-id: b6173bba066fc9ad0e786f56a946e2f3fa3d79cc

view details

Valentin Shergin

commit sha ed11a12a7c831225d2725855e95bde1f93ea16b3

Revert D19235758: Implement onRequestClose for iOS 13+ modals Differential Revision: D19235758 Original commit changeset: c0f1d946c77c fbshipit-source-id: c4a9d7876aa8d07ff5b8419f097b02e9c28e2880

view details

Jesse Katsumata

commit sha 82165673fbbc12f63493e12071836f5f9f650354

chore: add eslint back to template (#27983) Summary: This PR is part of https://github.com/react-native-community/releases/issues/157#issuecomment-582504146 Adding eslint back to the template package.json ## Changelog [Internal] [Fixed] - Add eslint back in template Pull Request resolved: https://github.com/facebook/react-native/pull/27983 Test Plan: (edited) - npx react-native init RN062 --version 0.62.0-rc.1 - yarn add -d eslint - add npm script for lint - yarn lint Differential Revision: D19784567 Pulled By: TheSavior fbshipit-source-id: 9ce24c0b674c2b1ea9fee3ed5614e8922f992f72

view details

Sam Goldman

commit sha cd194b833322951c343f03b2c85a7b492f6a3a85

Deploy Flow v0.118 Summary: Changelog: [Internal] Reviewed By: mroch Differential Revision: D19784573 fbshipit-source-id: ffd3a25bb947ba139ea800fd1e5d4e84a9e038cb

view details

Janic Duplessis

commit sha a35efb94006bfa3f541bf3fc3ab5262740f00525

Use autolink script in template on iOS (#27984) Summary: We use this for RN tester but it is not currently included in npm releases. It cleans up the podfile a lot and will make adding / removing pods easier in the future since it won't require users to update their project. ## Changelog [iOS] [Added] - Use autolink script in template on iOS Pull Request resolved: https://github.com/facebook/react-native/pull/27984 Test Plan: Not sure if there is a way to end to end test this but I've been using this autolink script in my fork for a while. Differential Revision: D19787729 Pulled By: cpojer fbshipit-source-id: b843ea723085830f13e8f0149833d1beb1efdfac

view details

Paige Sun

commit sha edfdafc7a14e88a2660b95cb220c62f29b1b28c0

Resolve and reject promise for PushNotificationIOS.requestPermissions Summary: **Resolve/Reject Promise** * Add onFulfill and onReject to the `PushNotificationIOS.requestPermissions()` Promise **Replace Apple-deprecated notification method** * Old: In iOS 10, `UIApplication.registerUserNotificationSettings` was deprecated. Calling this would then call the AppDelegate's lifecycle function `didRegisterUserNotificationSettings`, and then in the AppDelegate, we'd call `RCTPushNotificationManager.didRegisterUserNotificationSettings` to return the user settings. [registerusernotificationsettings Doc](https://developer.apple.com/documentation/uikit/uiapplication/1622932-registerusernotificationsettings?language=objc) * New: Replace deprecated function with Apple's recommended `UNUserNotificationCenter.currentNotificationCenter getNotificationSettingsWithCompletionHandler`, which no longer needs the AppDelegate lifecycle method because it directly returns the user's settings in a completion hander. [requestauthorizationwithoptions Doc](https://developer.apple.com/documentation/usernotifications/unusernotificationcenter/1649527-requestauthorizationwithoptions?language=objc) **Add Tests** * Add tests on `PushNotificationIOSExample.js` to test that the onFulfill and onReject are called * On `PushNotificationIOSExample.js`, instead of asking permission upon page load, ask for permission when the user taps the button "Request Notifications (Should Display Alert)". * Before, asking for permission multiple times before would result in the RN error "cannot call requestPermissions twice before the first has returned", now you can ask for permission as many times as you want because I've removed the now unused `RCTPromiseResolveBlock`. **Future** If this works on device (we have to land this to test push on device), we can delete `RTCPushNotificationManager.didRegisterUserNotificationSettings` which is being called from several apps. Changelog: [iOS] [Added] Resolve and reject promise for PushNotificationIOS.requestPermissions Reviewed By: PeteTheHeat Differential Revision: D19700061 fbshipit-source-id: 02ba815787efc9047f33ffcdfafe962b134afe6d

view details

push time in a month

MemberEvent

created repositoryreact-native-community/react-native-tvos-podspecs

created time in a month

pull request commentfacebook/hermes

Add website README.md with deploy instructions

Also, interestingly, when I tried running yarn deploy previously it didn't update or push to the gh-pages branch so I needed to so all these steps anyway?

rickhanlonii

comment created time in a month

pull request commentfacebook/hermes

Add website README.md with deploy instructions

Yeah @yangshun I agree but unfortunately the files are too big to land internally so we can't check them into master and they only live on the github pages branch.

rickhanlonii

comment created time in a month

issue closedfacebook/hermes

The website playground is broken

It hangs when the button is clicked a second time.

closed time in a month

tmikov

issue commentfacebook/hermes

The website playground is broken

Deployed and verified that it's fixed!

tmikov

comment created time in a month

PR opened facebook/hermes

Add website README.md with deploy instructions

Overview

This PR adds a README to the website/ directory that briefly explains the website and provides deploy instructions.

+36 -0

0 comment

1 changed file

pr created time in a month

create barnchrickhanlonii/hermes

branch : rh-deploy-instructions

created branch time in a month

push eventfacebook/hermes

Rick Hanlon

commit sha 1b32701a2c24f9f152c76ec0ea2c4c29c045a186

Deploy website version based on 0ca45000362ab76700748371ae515bbd037df05e

view details

push time in a month

pull request commentfacebook/jest

[expect] Add `toBeNullish` as a matcher

@iamandrewluca what would be different now?

wbinnssmith

comment created time in a month

delete branch rickhanlonii/hermes

delete branch : rh-fix-deploy

delete time in a month

issue commentfacebook/jest

globalSetup doesn't process styleMocks / moduleNameMappers

Thanks for the repro cases, I agree this is a bug now (or a feature request to change the behavior, however you want to look at it). If anyone wants to submit a PR to fix it I'm happy to review!

mschipperheyn

comment created time in a month

issue commentfacebook/jest

[feature request] call afterAll() on `ctrl+c`

No update, the issue with running these functions is that users could add code that hangs in the afterAll, breaking the semantics of existing the process and resulting in environment specific "cmd+c doesn't kill the process" issues.

It would be better to handle this in a more specific way as a opt-in than always running afterAll code on cmd+c, but I'm not sure what that would be.

brikou

comment created time in a month

issue commentreact-native-community/upgrade-support

flipper crash ios allHeaderFields

As mentioned above, this was a bug in Flipper that's been fixed. If you've updated everything to latest and you're still seeing this please file a new issue and we'll take a look!

lukasa1993

comment created time in a month

issue closedreact-native-community/upgrade-support

flipper crash ios allHeaderFields

Environment

info Fetching system and libraries information...
System:
    OS: macOS 10.15.4
    CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
    Memory: 4.40 GB / 32.00 GB
    Shell: 5.0.16 - /usr/local/bin/bash
  Binaries:
    Node: 13.11.0 - /usr/local/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.13.7 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 13.4, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK:
      API Levels: 19, 20, 21, 22, 24, 25, 26, 27, 28, 29
      Build Tools: 28.0.3, 29.0.3, 30.0.0
      System Images: android-28 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 11.4/11E146 - /usr/bin/xcodebuild
  Languages:
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.0 => 0.62.0
  npmGlobalPackages:
    *react-native*: Not Found

Upgrading version

0.62

Description

flipper crashes every time

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURLResponse allHeaderFields]: unrecognized selector sent to instance 0x281b59a80'
*** First throw call stack:
(0x1a99ac164 0x1a96c0c1c 0x1a98aa7e0 0x1a99b085c 0x1a99b2b60 0x1046ded9c 0x1046dec64 0x1046b8eb4 0x1103d1d10 0x1103d318c 0x1103da968 0x1103db580 0x1103e70f0 0x1a96b3714 0x1a96b99c8)

#1	0x00000001046b8ad8 in -[FLEXNetworkRecorder recordLoadingFinishedWithRequestID:responseBody:] at ios/Pods/FlipperKit/iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkRecorder.mm:183

closed time in a month

lukasa1993

pull request commentfacebook/hermes

Update gramatical mistake README.md

I reverted my change when landing. What's idiomatic is subjective, but "start-up" being the dictionary spelling is objective so we went with start-up.

akshayakshay30

comment created time in a month

issue commentfacebook/hermes

The website playground is broken

Looks like this was fixed but not deployed

tmikov

comment created time in a month

Pull request review commentfacebook/jest

Document asymmetric matchers ( next version only - review before adding to versioned_docs )

 it('stores only 10 characters', () => { }); ``` +#### Asymmetric matchers++Asymmetric matchers are objects with an `asymmetricMatch` method with a single argument that returns `true` or `false`.  They can be passed as argument to some of the built in matchers, such as `toBeCalledWith` and `toEqual`, or to custom matchers if supported.

It seems like this explains the implementation of what they are, but in the introduction here it would be better to explain what they are at a high level. What do you think about something like:

Asymmetric matchers partially match values based on their character or structure instead of an exact value. This partial matching is called "asymmetric" because the assertion is not fully equal (symmetric) on both sides. Asymmetric matchers allow you to describe the parts of the value you care about, without needing to specify the entire value you're asserting. For example, if you only care that an object has a specific value but do not care about the other values in the object, so you can use the objectContaining asymmetric matcher as <example>.

tonyhallett

comment created time in a month

issue closedfacebook/react-native

Android: Unable to build application. Problem with react-native config

Unable to build an android application on CI when the application is not in the git root folder.

React Native version: System: OS: macOS 10.15.2 CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz Memory: 3.50 GB / 32.00 GB Shell: 5.7.1 - /bin/zsh Binaries: Node: 10.15.3 - ~/.nvm/versions/node/v10.15.3/bin/node Yarn: 1.16.0 - /usr/local/bin/yarn npm: 6.4.1 - ~/.nvm/versions/node/v10.15.3/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman SDKs: iOS SDK: Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1 IDEs: Android Studio: 3.4 AI-183.5429.30.34.5452501 Xcode: 11.3/11C29 - /usr/bin/xcodebuild npmPackages: react: 16.9.0 => 16.9.0 react-native: 0.61.5 => 0.61.5

Steps To Reproduce

  1. make a root directory
  2. in that root directory run react-native init
  3. try to compile application on bitrise

<!-- Issues without reproduction steps or code are likely to stall. -->

Describe what you expected to happen:

I'm using Bitrise for CI which under the hood uses fastlane. So I've created a new project and tried to build it on a build server. Android build produces the next error:

:ReactNative:Unexpected empty result of running 'npx --quiet --no-install react-native config' command from 'null' directory.
:ReactNative:Running 'npx --quiet --no-install react-native config' command from 'null' directory failed.
FAILURE: Build failed with an exception.
* Where:
Script '/Users/vagrant/git/app/node_modules/@react-native-community/cli-platform-android/native_modules.gradle' line: 170
* What went wrong:
A problem occurred evaluating script.
> java.lang.Exception (no error message)

There are several bugs regarding it: https://github.com/react-native-community/cli/issues/804 https://github.com/facebook/react-native/issues/27443

Not sure if this is cli issue or react-native one. But this bug is for tracking status.

closed time in a month

malashkevich

issue commentfacebook/react-native

Android: Unable to build application. Problem with react-native config

Hey @malashkevich sorry for the delay here. It appears the issue in react-native cli which has been fixed: https://github.com/react-native-community/cli/issues/804. If you're still seeing it in the latest version let me know and I'll re-open.

malashkevich

comment created time in a month

create barnchrickhanlonii/react

branch : rh-fix-test-renderer-logging

created branch time in a month

issue commentreact-native-community/upgrade-support

[0.62.1] Release: Can't find variable: LogBoxNotificationContainer

@exentrich thanks for reporting! Is it possible to provide a repo to reproduce? Are there any logs in Metro/adb/logcat? Is it possible to see the JS line this is being thrown on? Which version of react-native-community/cli are you using (the info input says it wasn't found)?

There's only one LogBoxNotificationContainer variable, and it should be in scope: https://github.com/facebook/react-native/blob/0.62-stable/Libraries/YellowBox/YellowBox.js#L52

exentrich

comment created time in a month

issue commentfacebook/react-native

RN 0.59.10 Unable to resolve module `AccessibilityInfo` .... ..... Module `AccessibilityInfo` does not exist in the Haste module map

@git-single-lee, thanks for filing the issue.

I've removed the first line of your post to protect people who may actually struggle with those thoughts. If that is a serious concern for you, please reach out to me directly or other resources for support.

git-single-lee

comment created time in 2 months

push eventakshayakshay30/hermes

Ricky

commit sha ef8c3ef873cd342b2f0dbaab6f2e84a72826a32d

Update README.md

view details

push time in 2 months

Pull request review commentfacebook/hermes

Update gramatical mistake README.md

 [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/facebook/hermes/blob/master/CONTRIBUTING.md) <img src="./website/static/img/logo.svg" alt="Hermes logo - large H with wings" align="right" width="20%"/> -Hermes is a JavaScript engine optimized for fast start up of [React Native](https://reactnative.dev/) apps on Android. It features ahead-of-time static optimization and compact bytecode.+Hermes is a JavaScript engine optimized for fast startup of [React Native](https://reactnative.dev/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
Hermes is a JavaScript engine optimized for fast start-up of [React Native](https://reactnative.dev/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
akshayakshay30

comment created time in 2 months

push eventfacebook/hermes

Rick Hanlon

commit sha fab151953b49af2c2e012d38c5a5b70bcf00ed36

Deploy website version based on a906d01017d1367f2146fde277a01d45c3cb0923

view details

push time in 2 months

push eventakshayakshay30/hermes

Daniel Andersson

commit sha 67d078dd635bcba419739657606627b82de83868

Cast two sentinel pointer constants to uintptr_t to silence warnings Summary: Avoid warnings about reinterpret_cast from uint32_t to a pointer (on 64-bit) by casting to uintptr_t first. Reviewed By: mhorowitz Differential Revision: D17728141 fbshipit-source-id: d7b7fed532703ee4e70043780466edad666bdf5f

view details

Aakash Patel

commit sha 36a644db5661c108efecd8c6b6c735210a251c11

Use indirect eval to support `var` declaration. Summary: `eval` can be called indirectly to run global `eval` from inside a function, which then places variables in the global object when using `var` declarations. Reviewed By: tmikov Differential Revision: D17738207 fbshipit-source-id: ca301deeb2d84ce1a4e36a4bd18a49cc1ff7cf6d

view details

David Detlefs

commit sha 96fee67ce52675b18696945d2047142fa9722b93

Extend CrashManager to allow removing custom data. Reviewed By: dulinriley Differential Revision: D17661506 fbshipit-source-id: d4b3a3919a5f023da3ec45ff64976da5403414e6

view details

David Detlefs

commit sha df52ad3040f486765639106a4d1b8494d88c52ab

Record heap extents in custom breakpad data. Summary: I recently put memory protection on some portions of heap segments. I realized that I might have a hard time determining whether a SEGV fault address was pointing into a heap segment. This diff maintains lists of the segment addresses in custom breakpad data, on platforms that support it. The diff takes care not do do quadratic work. There is a breakpad key for every 10 segments; when we add a segment, we update only the key corresponding to the added segment. When we do a full collection and remove segments, we remove any keys that no longer contain any segments. Reviewed By: dulinriley Differential Revision: D17661669 fbshipit-source-id: 58266b5d3dd2c9183bb4a1243a6df0f665cd3e91

view details

Geoffrey Goh

commit sha 3cb22b9794a716ee9a8d8c6bd589515dc31e7dd1

Revert ICU change Differential Revision: D17744431 fbshipit-source-id: ebcf673309acf58b207c54e3c136cf7f777d423e

view details

Riley Dulin

commit sha 4f3fb9470b5957bae6803105b601a4dc7baee627

Lint all files Reviewed By: amnn, kodafb Differential Revision: D17741472 fbshipit-source-id: e6e3bb844f9ec725593cb5c356d0c53b7a0b8808

view details

Riley Dulin

commit sha c257da10fe418f7184cb33f65fad2a6e5b02e53a

Add filler space limit on OOM log Summary: Our GC's logs are using way more character space than they typically require. This was due to the wrong `printf` specifier used. In `printf` formatters, `%.25s` means "print min(25, string length) characters". The version without the dot means to print 25 characters always, utilizing a padding space if not enough are found in the source string. Reviewed By: kodafb Differential Revision: D17725199 fbshipit-source-id: 59f3b4da82708e57bae4415e88282c2fc7610868

view details

Peter Ammon

commit sha edeef8a28a1cb873eec3fcfaefed6f769ba4ffc2

Rewrite the parser Summary: This is a rewrite of the regexp parser, aiming to simplify it. The current parser attempts to use a PEG formalism closely following the grammar specified in the ES6 spec. Productions are explored and rejected in turn. However the grammar is incomplete and often confusing. Reimplement this using a more intuitive recursive descent approach. This prepares to switch to an explicit stack, fixing a stack overflow when parsing deeply nested regexps. Reviewed By: avp Differential Revision: D16750941 fbshipit-source-id: 3bd4a1fa75890e4728234c0e776824ca41d6f72f

view details

Peter Ammon

commit sha 3f2619238abce84ac2363a919b51e095c204042b

Implement isHigh/Low Surrogate and other Unicode helpers Summary: This adds some Unicode helper functions for determining if a code point is a surrogate, and for decoding surrogate pairs. These will be used by future Unicode regexps. Reviewed By: avp Differential Revision: D17413808 fbshipit-source-id: 7b23f5796900090f192525519527bfecba5e54a0

view details

Peter Ammon

commit sha 60c75cf9c1d0a7ed7f5d14d5142ec37634c76190

Hermes parser to disallow unicode escapes in regexp Summary: The ES6 grammar forbids interpreting Unicode escapes in a regexp literal. Check for these and emit an error. Reviewed By: tmikov Differential Revision: D17413814 fbshipit-source-id: 80967d6da07e1380bedb808eb58b5a2b382392b9

view details

Peter Ammon

commit sha 744c254f86b2efcf344c02b300140350dfffe286

Add support for sticky and unicode flags in regexp Summary: This adds support for the sticky ('y') and unicode ('u') flags in regexp. Unicode parsing is not yet implemented. Reviewed By: avp Differential Revision: D17413828 fbshipit-source-id: 46b7e61d4381d9b07f13b020e01de57c64af6843

view details

Peter Ammon

commit sha 95229bb4fbfaa62d809ec9cc2a3320da634832aa

Stop using strings to represent code points in genUnicodeTable.py Summary: Prior to this fix, the script that outputs our Unicode table stored code points as native Python strings. However this ends up being awkward. Switch to storing them as integers. Reviewed By: avp Differential Revision: D17413811 fbshipit-source-id: 73981b816d38ec2bc8f1decc7a6134dc7b6d0c59

view details

Peter Ammon

commit sha a4a3ab6dd779db3b0cf017e623c397c74a292e53

Rerun the genUnicode script Summary: This updates the Unicode tables with the latest Unicode standard. Do this before introducing Unicode regexp to enable bisecting bugs more easily. Reviewed By: tmikov Differential Revision: D17413825 fbshipit-source-id: f7868d614100d6b95d91f6a37147843bb9bca223

view details

Peter Ammon

commit sha 25ca98f0c53a54753aa408ba87374a170b959f60

Add print_template function to output code Summary: In genUnicodeTable.py, add a print_template function to output a template string. Also update a bit of the text and rerun the script. Reviewed By: avp Differential Revision: D17413815 fbshipit-source-id: 86aaf7670b7738e6a324f0bb83f88a4a3d4da6a9

view details

Peter Ammon

commit sha 9ef3c7c55339f31b2fe91f0f40c63099d4d36414

Add legacy canonicalizations to unicode tables Summary: This introduces a notion of a UnicodeTransformRange which expresses a range of Unicode characters which are transformed (for example, case-folded) through adding a delta. Use this to express legacy (non-Unicode) canonicalizations for regexp, and update the Unicode tables. Reviewed By: avp Differential Revision: D17413823 fbshipit-source-id: b7d8b253e8cb4bb370a4ba11137a002740962489

view details

Peter Ammon

commit sha 4cde38066be73e34d77cbb4742db194f1b48365a

add CodePointSet class Summary: This adds a class which manages a set of code points as a list of disjoint sorted arrays. This will be used by regexp. Reviewed By: avp Differential Revision: D17413816 fbshipit-source-id: b6085a693a13d089e2eb2c40b4ed611697e33445

view details

Peter Ammon

commit sha 62703bf77e00d5c5085c3be921197924bb9d4fe0

Add function to canonicalize characters and code point sets Summary: Canonicalization is an ES operation which maps a character to uppercase (or case folds if Unicode is set). Prior to this fix, canonicalization was implemented by calling into the platform's native Unicode implementation. However Android does not have a native case folding operation, so we will need to do something different there. For simplicity, emit a table for canonicalization and add functions to canonicalize and "precanonicalize" characters. Reviewed By: avp Differential Revision: D17413827 fbshipit-source-id: a4adc2dc721eff79f06df935cac35cf12eda3eda

view details

Peter Ammon

commit sha d21e0c99c8c084ab0e9fa5bfdb0cdd4d3225592f

Use CodePointSet in brackets Summary: Prior to this fix, bracket nodes used a vector of pairs. Switch to the new CodePointSet. Because the CodePointSet maintains its ranges in sorted order, some of the tests need to be tweaked. Reviewed By: avp Differential Revision: D17413817 fbshipit-source-id: 7ecc45bc8d2bd6a1963338b400cdc6a8f55ffbfb

view details

Peter Ammon

commit sha 2d326de0c123d230d3e1446e3aec7f43dd4d62b3

Canonicalize bracket ranges at compile time Summary: This fix makes a large change to how brackets work in case insensitive regexps. The chief problem it is addressing is how canonical equivalence is computed. Prior to this fix, for brackets in case-insensitive regexps, the Hermes regex engine just recorded the ranges directly. For example in the regexp `/[a-z]/i`, the bracket would include the range a-z, even though capital letters must match as well. Consider for example lowercase iota (U+03B9); this must match uppercase iota (U+0399) but also the iota subscripts (U+1FBE and U+0345). Consider matching them: /[\u03B9]/i.exec("\u1FBE") Hermes would compile the regexp as the one-character bracket range [U+03B9 - U+03B9], and then do the following: 1. Check if the input character (U+1FBE) is within that one character range. 2. Canonicalize the input character (yielding U+0399). Check if that is in the range. 3. Find all pre-canonicalizations of U+0399 (U+0345, U+03B9, U+1FBE) and check if any of those are in the range. The tricky part is computing the pre-canonicalizations. In legacy (non-Unicode) regexps, canonicalization just means uppercasing, so pre-canonicalizations is mostly lowercasing with a small list of exceptions. With Unicode regexps (in a future diff), canonicalization means case folding instead of uppercasing. The problem is that there is no system-provided case folding on Android, so Hermes will have to provide its own table. Furthermore the Unicode pre-canonicalization table is large. So keeping the existing design would mean a large binary size regression. In this change, we stop using the "pre-canonicalization" trick. Instead, when compiling the regexp, we walk the full canonicalization table and thereby compute the closure. For example for the regexp: /[\u03B9]/i Hermes will now record when the regexp is compiled all characters that the bracket may match: U+0345 U+03B9 U+0399 U+1FBE now executing the bracket just means searching for input character - we don't even need to canonicalize it. So it speeds up bracket matching at the cost of slower regexp compilation. We must bump the bytecode version because at runtime we expect to have the complete set of matching characters, which was not the case for the previous implementation. Reviewed By: avp Differential Revision: D17413807 fbshipit-source-id: 03fe0685e7598b75223c0e130d19e98d120beb5b

view details

Peter Ammon

commit sha 798ae9ee6c8b88f4fca534dd92a0196ff199d4fa

Remove precanonicalizations Summary: Precanonicalizations are no longer used. Just remove them. Reviewed By: avp Differential Revision: D17413824 fbshipit-source-id: 55aa16a9a91632e22c326dad42893f538596076e

view details

push time in 2 months

PR closed facebook/hermes

I corrected some spelling
+1 -1

2 comments

1 changed file

goku2610

pr closed time in 2 months

pull request commentfacebook/hermes

I corrected some spelling

@goku2610 I fixed up your PR but we need you to sign the CLA in order to import it.

If you want to sign that then I'll re-open and land the typo fix 👍

goku2610

comment created time in 2 months

push eventgoku2610/hermes

Ricky

commit sha f3ddbbac8cb0e0d9214926b58242440b9cf1055c

Update README.md

view details

push time in 2 months

push eventgoku2610/hermes

Ricky

commit sha a90ad68acc2880e599782ee482333d788af54aa7

Update README.md

view details

push time in 2 months

Pull request review commentfacebook/hermes

I corrected some spelling

 echo "'use strict'; function hello() { print('Hello World'); } hello();" | ./bin  ## Contributing -The main purpose of this repository is to continue to evolve Hermes, making it faster and more efficient. We are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Hermes.+The main purpose of this repository is to continue to evolve Hermes, making it faster and more efficient. We are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Hermes.
The main purpose of this repository is to continue to evolve Hermes, making it faster and more efficient. We are grateful to the community for contributing bug-fixes and improvements. Read below to learn how you can take part in improving Hermes.
goku2610

comment created time in 2 months

Pull request review commentfacebook/hermes

I corrected some spelling

 [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/facebook/hermes/blob/master/CONTRIBUTING.md) <img src="./website/static/img/logo.svg" alt="Hermes logo - large H with wings" align="right" width="20%"/> -Hermes is a JavaScript engine optimized for fast start up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.+Hermes is a JavaScript engine optimized for the fast start-up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
Hermes is a JavaScript engine optimized for fast start up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
goku2610

comment created time in 2 months

push eventakshayakshay30/hermes

Ricky

commit sha 1846a3274d9d5d966c5a921d6503193ba8e0aad5

Update README.md

view details

push time in 2 months

push eventakshayakshay30/hermes

Ricky

commit sha 376d5520d6bf76e7dcc942d46cfb1081f6383641

Update README.md

view details

push time in 2 months

Pull request review commentfacebook/hermes

Update granatical mistake README.md

 [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/facebook/hermes/blob/master/CONTRIBUTING.md) <img src="./website/static/img/logo.svg" alt="Hermes logo - large H with wings" align="right" width="20%"/> -Hermes is a JavaScript engine optimized for fast start up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.+Hermes is a JavaScript engine optimized for fast start-up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
Hermes is a JavaScript engine optimized for fast startup of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.
akshayakshay30

comment created time in 2 months

Pull request review commentfacebook/hermes

Update granatical mistake README.md

 [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/facebook/hermes/blob/master/CONTRIBUTING.md) <img src="./website/static/img/logo.svg" alt="Hermes logo - large H with wings" align="right" width="20%"/> -Hermes is a JavaScript engine optimized for fast start up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.+Hermes is a JavaScript engine optimized for fast start-up of [React Native](https://facebook.github.io/react-native/) apps on Android. It features ahead-of-time static optimization and compact bytecode.  If you're only interested in using pre-built Hermes in a new or existing React Native app, you do not need to follow this guide or have direct access to the Hermes source. Instead, just follow [these instructions to enable Hermes](https://facebook.github.io/react-native/docs/hermes). -If you want to know how to build and hack on Hermes directly, and/or integrate Hermes built from source into a React Native app then read on.+If you want to know how to build and hack on Hermes directly, and/or integrate Hermes built from the source into a React Native app then read on.
If you want to know how to build and hack on Hermes directly, and/or integrate Hermes built from source into a React Native app then read on.
akshayakshay30

comment created time in 2 months

create barnchfacebook/hermes

branch : deploy

created branch time in 2 months

delete branch facebook/hermes

delete branch : deploy

delete time in 2 months

PR closed facebook/hermes

hermes

Add config for Docusaurus deploy command

+2 -0

2 comments

1 changed file

cmadunezim

pr closed time in 2 months

pull request commentfacebook/hermes

hermes

Thanks @cmadunezim but this change is already on master.

cmadunezim

comment created time in 2 months

issue commentfacebook/docusaurus

Failed to deploy: Reference error self is not defined

Thanks @lex111, I verified that that fixed the issue and deployed the site. PR is here https://github.com/facebook/hermes/pull/204

For D2, is there a way we can surface these errors with an explanation of how to fix? If I got an error that told me the issue was that I broke server side rendering I may have been able to fix this myself.

rickhanlonii

comment created time in 2 months

PR opened facebook/hermes

Update playground to be deployable

Overview

We need to switch this over to using Suspense to support server side rendering and unblock the deploy.

Test

Tested by patching, building, and deploying the website 😏

+18 -11

0 comment

2 changed files

pr created time in 2 months

create barnchrickhanlonii/hermes

branch : rh-fix-deploy

created branch time in 2 months

push eventrickhanlonii/hermes

Rick Hanlon

commit sha fab151953b49af2c2e012d38c5a5b70bcf00ed36

Deploy website version based on a906d01017d1367f2146fde277a01d45c3cb0923

view details

push time in 2 months

CommitCommentEvent

issue commentfacebook/docusaurus

Failed to deploy: Reference error self is not defined

@lex111 I did try it with the latest alpha as well, sorry I left that out of the description. I also reverted back to 2.0.0-alpha.19 (the last version that we deployed with successfully) but that failed for a different reason.

rickhanlonii

comment created time in 2 months

pull request commentfacebook/hermes

Website playground

Submitted an issue here: https://github.com/facebook/docusaurus/issues/2494

exced

comment created time in 2 months

issue openedfacebook/docusaurus

Failed to deploy: Reference error self is not defined

🐛 Bug Report

I get a ReferenceError in Webpack while running yarn build to deploy the Hermes website.

I think it's due to monaco-editor-webpack-plugin but I'm not sure.

Have you read the Contributing Guidelines on issues?

Yes

To Reproduce

Note: I setup a branch that has the required hermes.js files we're only adding to the gh-pages branch during deploys.

  • Clone my branch here: https://github.com/rickhanlonii/hermes/tree/rh-deploy-hermes
  • cd website
  • yarn build
  • Observe error

Expected behavior

  • Build completes, site deploys

Actual Behavior

Screen Shot 2020-04-01 at 12 53 56 PM

Your Environment

<!-- Include as many relevant details about the environment you experienced the bug in -->

  • Docusaurus version used: 2.0.0-alpha.43
  • Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): Node 12.9.1
  • Operating system and version (desktop or mobile): macOS

Reproducible Demo

https://github.com/rickhanlonii/hermes/tree/rh-deploy-hermes

created time in 2 months

create barnchrickhanlonii/hermes

branch : rh-deploy-hermes

created branch time in 2 months

fork rickhanlonii/hermes

Hermes is a small and lightweight JavaScript engine optimized for running React Native on Android.

https://hermesengine.dev

fork in 2 months

pull request commentfacebook/react-native

[RFC][RNTester] Move Flipper init out of app code

@passy I just noticed this is still open, should we merge or abandon it?

passy

comment created time in 2 months

issue commentreact-native-community/upgrade-support

Flipper shouldn't be included in Release builds

I thought that we had excluded this from release builds, but the only thing I can find is an open PR for Andorid. cc @passy @alloy https://github.com/facebook/react-native/pull/28257

javiercr

comment created time in 2 months

issue commentfacebook/react-native

0.62: YellowBox crash on brand new app

Note that we won't need a cherry-pick as the PR was directly to the 0.62 branch.

vshab

comment created time in 2 months

pull request commentfacebook/hermes

Website playground

Actually, I tried with webpack 4.5X and got the same failure, not sure what the root cause is :/

exced

comment created time in 2 months

pull request commentfacebook/hermes

Website playground

@yangshun I tried deploying this with yarn build && yarn deploy but Docusarus fails with

Screen Shot 2020-04-01 at 12 53 56 PM

I think the issue is that monaco-editor-webpack-plugin requires webpack 4.5 but Docusarus uses webpack 4.4X. Do you have plans to upgrade to 4.5?

exced

comment created time in 2 months

pull request commentreact-native-community/cli

Fix: allow Hermes Debugger to connect from Flipper

@mweststrate does this mean that the Hermes debugger is available in OSS now?

@thymikee is it possible to get this into the 0.62.1 patch Friday?

mweststrate

comment created time in 2 months

PR opened yungsters/yungsters.com

Update Copyright

Super important to keep this site legally protected.

+1 -1

0 comment

1 changed file

pr created time in 2 months

push eventrickhanlonii/yungsters.com

Ricky

commit sha ddbb89aec8e542b2705680d004279ab4d725642b

Update Copyright

view details

push time in 2 months

more