Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Tue 23 jun #1728

Closed
wants to merge 60 commits into from
Closed

Tue 23 jun #1728

wants to merge 60 commits into from

Conversation

vjeux
Copy link
Contributor

@vjeux vjeux commented Jun 23, 2015

No description provided.

Shuangzuan and others added 30 commits June 16, 2015 06:15
…mmediately

Summary:
[CATransaction Class Reference](https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CATransaction_class/index.html)

In Tasks > Getting and Setting Completion Block Objects > Discussion:

The completion block object that is guaranteed to be called (on the main thread) as soon as all animations subsequently added by this transaction group have completed (or have been removed.) If no animations are added before the current transaction group is committed (or the completion block is set to a different value,) the block will be invoked immediately.
Closes facebook#1400
Github Author: Shuangzuan <[email protected]>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
…the owner or the children

of the navigator component.

Summary:
Per offline discussion with @evv, we'd like to deprecate the `onDidFocus` and `onWillFocus`
API that makes it really hard for the descendent children of a navigator to observe its focus
change events.
@public

Since for now the descendent children do have access to the navigator via `this.props.navigator`,
this diff makes it easy to observe the focus change event by doing:

```
this.props.navigator.addListener('willfocus', this._onFocus);
```

The goal is to make the event system in navigator more useful and maintainable.

Test Plan:
Test Video: https://www.facebook.com/pxlcld/mrzS
1. jest:  ./Libraries/FBReactKit/js/runTests.js NavigationEventEmitter
2. Load UI Explorer: <Navigator />, see console logs that shows the focus change events fires.
Summary:
Closes facebook#1593
Github Author: Prathamesh Sonpatki <[email protected]>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
…he end

Summary:
@public
Fixes facebook#1431
Fixes facebook#1005
Files with no newlines and a comment at the end of the file would've caused a syntax error in the bundle:

```js
__d('module', function() {
hi();
// wow })
```

This fixes the issue by inserting a new lines before `})`.

Test Plan:
* ./runJestTests.sh
* ./runJestTests.sh PackagerIntegration
* open app to the playground app
* add an error
* observe that the redbox has the correct lines
Summary:
As discussed in our internal group, think this is a fairly easy error to run into so I added some explanation.

@frantic / @vjeux open to better wording here, but I tried to explain how setting the height directly is discouraged and it's probably better to pipe `flex: 1` all the way down.

I didn't regenerate the website since the script assumes some permissions (push permission to master repo) and has some missing npm dependencies (and after fixing that, still had some obscure error :P )
Closes facebook#1633
Github Author: Peter Cottle <[email protected]>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
Summary:
Updates promise, and more importantly asap.  This fixes some nasty race conditions.

See:

 - then/promise#99
 - then/promise#93

@public

Test Plan:
sh Libraries/FBReactKit/runJestTests.sh
Open Catalyst and check it works
Summary:
@public

Add missing `RCT_EXTERN` to the constants in `RCTProfile`'s header

Test Plan:
Move the the import on `RCTBridge` to the header, build no longer fails due to
duplicate symbols.
Summary:
@public

The current implementation of `MessageQueue` is huge, over-complicated and spread
across `MethodQueue`, `MethodQueueMixin`, `BatchedBridge` and `BatchedBridgeFactory`

Refactored in a simpler way, were it's just a `MessageQueue` class and `BatchedBridge`
is only an instance of it.

Test Plan:
I had to make some updates to the tests, but no real update to the native side.
There's also tests covering the `remoteAsync` methods, and more integration tests for UIExplorer.
Verified whats being used by Android, and it should be safe, also tests Android tests have been pretty reliable.

Manually testing: Create a big hierarchy, like `<ListView>` example. Use the `TimerMixin` example to generate multiple calls.
Test the failure callback on the `Geolocation` example.

All the calls go through this entry point, so it's hard to miss if it's broken.
Summary:
The activity indicator was treated as a zero-width element without an explicit width. Fill it in so the style dimensions match what is displayed on the screen.

Closes facebook#1156
Github Author: James Ide <[email protected]>

Test Plan:
 Render an ActivityIndicator with a background, and see that the background shows up as a square behind the spinner instead of not showing up at all (since it was 0px wide previously).
Summary:
Added the ``scalesPageToFit`` prop to ``WebView``. This allows ``UIWebView`` to handle user zoom and scale.
Closes facebook#1631
Github Author: alvaromb <[email protected]>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
Summary:
@public

Add marker to show JavaScript download duration + flow arrows to show the origin
of the UI blocks being flushed.
Also fixed the condition on `RCTPerfStats`, UI and JS graphs were being created
at startup time, now they're just created on the first time they're shown.

Test Plan:
The markers:

{F22577660}

To check the FPS graph, enable it on the DevMenu, and it should appear initially
empty, instead of previously filled as before.
Summary:
@public

The test file is getting compiled when hitting cmd+R which fails for 64-bit
devices even if not trying to run tests.  Change back to runtime check to fix.

Test Plan:
cmd+R works for iPhone 6, cmd+U fails as expected on iPhone 6, works
for iPhone 5
Summary:
@public

Fix mocking on MessageQueue-test

Test Plan: Run the test
Summary:
@public

There was an iVar being directly referenced from inside a block on RCTDevMenu
that was causing a retain cycle and the dev menu wasn't being released.

Test Plan: Put a break point on dealloc, it should be called now.
Summary:
@public

I was using UIKeyCommand as a key in a dictionary, but it seems iOS wasn't treating identical commands as equal, so it was possible to register the same key command twice, resulting in the command triggering the action multiple times.

I've now created a container object for the key commands, and not relying on undocumented hashing behavior of UIKeyCommand for deduplication any more.

Test Plan: Reload bridge multiple times, then check that the number of registered keys in the command set inside RCTKeyCommands doesn't keep increasing.
Summary:
Before this diff every time you reload in debug mode Chrome window
is actiavated. Looks like that behaviour is pretty annoying.

Fixes facebook#689

@public

Test Plan:
```
$ ./packager/launchChromeDevTools.applescript 'https://www.facebook.com/'
```

First time it opens a new tab and activates Chrome, running this again does
not activate Chrome if the tab already exists.
Hedger Wang and others added 12 commits June 22, 2015 12:02
Summary:
@public
The current getter for `navigationContext` always return a static
context, and it should return an instance-based one, instead.

Test Plan:
Use console.log() in inspect that two different navigators do
have their own `navigationContext` created.
Summary:
@public

When the profile is initialized, it automatically hooks into every method of
the bridge modules, that was causing `+initialize` to be called twice.

Also add a popup to notify the user that the profile has been created.

Test Plan:
Run the UIExplorer, start the profiler, try to rage shake to open the dev menu
again. It should now work, and show an alertview with some information once the
profile is stopped.
Summary:
@public

If something changes in the list view that should trigger more loads, it
wouldn't.  Example case is tap to load more - only the first new row would load,
but it wouldn't trigger a re-measure and subsequent layout of additional new
rows.

Test Plan: View More in Events works.
Summary:
@public

I've added an alert to notify when the profile has been generated, but it was
being created out of the main thread.

Test Plan:
Launch the UIExplorer, start and stop profiling, an alert should show up, and
everything should just keep working as expected.
Summary:
resizeMode is a native prop, but it is also in the propTypes, so this causes an incorrect warning:

```
Prop resizeMode = `contain` should not be set directly on Image.
```

@public

Test Plan: No warnings on image example in UIExplorer
@facebook-github-bot facebook-github-bot added GH Review: review-needed CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. labels Jun 23, 2015
@vjeux vjeux closed this Jun 24, 2015
@facebook-github-bot
Copy link
Contributor

@vjeux updated the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.