Summary:
Depends on https://github.com/facebook/flipper/issues/505.
The test case there works for the JS part but times out during the XCode build. This gives us a bit more time.
Pull Request resolved: https://github.com/facebook/flipper/pull/506
Reviewed By: priteshrnandgaonkar
Differential Revision: D16561461
Pulled By: passy
fbshipit-source-id: 15cc18b8c57732ef73a874256305542d439b3d2c
Summary: Move from adding adb path in tracery plugin to adding flipper as a whole. Se discussion here: D16494684
Reviewed By: jknoxville
Differential Revision: D16542414
fbshipit-source-id: abb2f4989693025a8bfe7d12f4c328870a962204
Summary:
# New Features
- Select plugins to include in your exports.
# Fixes and chores
- Run TSC in Travis.
- Restore Android build in Travis.
[Full Changelog](https://github.com/facebook/flipper/compare/v0.23.3...v0.23.4)
Reviewed By: jknoxville, danielbuechele
Differential Revision: D16559674
fbshipit-source-id: 919f758f8750d26d9e49b6721d05264880d0abc5
Summary: This is just to clear a security warning.
Reviewed By: danielbuechele
Differential Revision: D16542869
fbshipit-source-id: 910c421292efeff2d65769e0c00cea7e4653233d
Summary:
Will post about this in more detail later but in short, this is taking
up wayyyy too much space.
Reviewed By: danielbuechele
Differential Revision: D16543587
fbshipit-source-id: 8130a1a8378e5a6ffde669d651063ef92eb021c0
Summary:
Here I've added a drop down sheet for the nav bar. Currently it only supports showing the first five bookmarks with no filtering.
I use a custom hook to handle navigation with the keyboard in the nav bar, so that works well.
So you can use the arrow keys to select a uri from the dropdown, or by using the mouse.
Reviewed By: danielbuechele
Differential Revision: D16542218
fbshipit-source-id: 4c242fd3097297fc599b36523bb4821bbc172f88
Summary: Run TSC in Sandcastle to make sure everything is typed nicely.
Reviewed By: jknoxville
Differential Revision: D16202412
fbshipit-source-id: 23064d5a0b327c32d0b633f9234882a46f88270e
Summary: This is required to properly run eslint in Atom/VSCode on TypeScript files
Reviewed By: jknoxville
Differential Revision: D16201418
fbshipit-source-id: 31da04c2d313e9147e0f868c1af15bf3115e6d6a
Summary:
We had a brief moment without Flow coverage, where this must have snuck
in. Not sure if there's a better type for `node` given the current
structure, but the rest should be obvious.
Pull Request resolved: https://github.com/facebook/flipper/pull/502
Test Plan: flow
Reviewed By: jknoxville
Differential Revision: D16533248
Pulled By: passy
fbshipit-source-id: 51e493208050e4af531e161fb49eda77fdf2494e
Summary: The bookmarks would appear in different order upon reloading the app. Here I have a fixed order.
Reviewed By: jknoxville
Differential Revision: D16540496
fbshipit-source-id: ebc3e1065dbd2ae76b919a943c2cc7f81d857ca8
Summary: Here I add the ability to remove bookmarks. If a bookmark already exists, a different dialouge menu appears.
Reviewed By: danielbuechele
Differential Revision: D16540394
fbshipit-source-id: 5d6737e1efb1a9663519bf17084ef3b55a6ba28e
Summary: Moved Flow types into their own file. I will be adding more types as part of the auto complete for the navigation bar and this is to keep the code more organized.
Reviewed By: danielbuechele
Differential Revision: D16540279
fbshipit-source-id: d69ac0d05f91e9d92fcda37325c791ddc83a52c9
Summary:
This is a glue commit that glues all the components I've added in the past together.
Favouriting a page (i.e. clicking on the star) adds it as a bookmark.
There's four main parts to make your rreview easier:
1. Add bookmarks and favouriting to all the components that support it, including their parents. (NavigationInfoBox, SearchBar, Timeline)
2. Persist bookmarks using the indexedDB. (index.js)
3. Add saving to db through the SaveBookmarksDialog
4. Various other changes due to a changed architecture. i.e. moving bookmarks from persistedState to state.
Still to come.
1. Removing bookmarks.
2. Pressing enter to save the bookmarks when the SaveBookmarksDialog pops up.
3. Alphabetizing bookmarks? Order seems to jump around.
Reviewed By: jknoxville
Differential Revision: D16518013
fbshipit-source-id: 2e0cef14123c611db43cca360bc66dc4c05b11ed
Summary:
These are utility function for reading from the IndexedDB and writing to it. This will be used for persistant storage of bookmarks.
The reason I chose IndexedDB over local storage is due to the poor efficiency of stringifying and parsing a long list of bookmarks everytime we read and write to local storage.
With IndexedDB we can modify a single value at a time.
Bookmarks are passed around as a Map, with the key being the uri's and the common names being the values. This allows me to check if a specified uri is in the Map in O(1) time, so that I can highlight the star icon in the UI with gold.
Reviewed By: jknoxville
Differential Revision: D16498744
fbshipit-source-id: 7c7af28bf4eb3fcc985a71dfd61ffbdb8481b6a6
Summary:
It appears that Electron (or the version of Chromium it uses) has a bug that causes a `webview` process to crash if `URL.createObjectURL` is used.
Before releasing `react-devtools-core` 3.5.0, we updated Webpack and the loaders we used. Apparently the version of `style-loader` we now use makes use of the `URL.createObjectURL` API for CSS source maps. This triggers the `webview` crash I mentioned above.
The fix for this is to disable CSS source maps, in which case the loader just uses a `<style>` tag. This diff updates Nuclide to pull in this fixed version.
Reviewed By: bestander
Differential Revision: D16518772
fbshipit-source-id: a779b7d310f869793fa05988d138ce6a46840d8c
Summary: Adds UI to the select the plugin to export. It lists the plugins which has currently some data in the redux store and it also lists those plugins which has implemented `exportPersistedState` function, as it might happen that the redux store may not have the data for a plugin but it will still export the data by calling `exportPersistedState`, which will ping the mobile client to get the data at point while we export the flipper trace.
Reviewed By: jknoxville
Differential Revision: D16468408
fbshipit-source-id: 452a7caf7199dd2b8df330bbb10d0a90008e92ec
Summary: objc_msgSend_stret isn't available when building for 64 bit devices so this line breaks. objc_msgSend is the correct function to call in 64 bit, but Flipper doesn't run for devices so its fine either way.
Reviewed By: jasonhotsauce
Differential Revision: D16502377
fbshipit-source-id: cfc20880bcccd086dc34fad74a6eef2c9a17cb17
Summary: I felt it would be good to say what these stars are actually for.
Reviewed By: passy
Differential Revision: D16457243
fbshipit-source-id: 961933f71efdcb6835936d5e1da7fe817eccc996
Summary: This adds a dialog box component that allow saving of bookmarks.
Reviewed By: jknoxville
Differential Revision: D16491842
fbshipit-source-id: fc8332bba491ad0583564fd6a85b5ad225bbd461
Summary:
Original commit changeset: bdbd61bce1bc
That change appears to be causing some issues for open source users: https://github.com/facebook/flipper/issues/498
To mitigate the issue I'm reverting it, the change turns out to be unnecessary anyway.
Reviewed By: passy
Differential Revision: D16486136
fbshipit-source-id: 70decca6e017a6a2903cc484641fb2e736dc5d7c
Summary:
CKCenterLayoutComponent's options are now live editable
P.S. Now it takes some time to see the view changed and the new value of everything on flipper side
Reviewed By: kevin0571
Differential Revision: D16458390
fbshipit-source-id: a5344253641633dd8c985549c2d9bc6f64da1f74
Summary:
CKRatioLayoutComponent's ratio is now live editable
P.S. Now it takes some time to see the view changed and the new value of everything on flipper side
Reviewed By: kevin0571
Differential Revision: D16458380
fbshipit-source-id: 0f06426477b6747f6ad71716dc66e69316b23208
Summary:
CKFlexboxComponent's insets are now live editable
P.S. Now it takes some time to see the view changed and the new value of everything on flipper side
Reviewed By: kevin0571
Differential Revision: D16379743
fbshipit-source-id: 69bc9b7cb6b2103ff34b5c4489b240ac7562a85d
Summary:
CKInsetComponent's insets are now live editable
P.S. Now it takes some time to see the view changed and the new value of insets on flipper side
Reviewed By: kevin0571
Differential Revision: D16338109
fbshipit-source-id: 9c6648e72d55a09df9d715637e82901d1b5dcec8
Summary: Preparation for making components live editable
Reviewed By: kevin0571
Differential Revision: D16379961
fbshipit-source-id: d0ea3d753eb588fe7b55f2345124427b4a5a58b5
Summary: In previous version when you edited something in the flipper, after each symbol flipper sent a message to edit a value to mobile side. Now "change message" will be sent only after pressing "Enter" button.
Reviewed By: priteshrnandgaonkar
Differential Revision: D16338101
fbshipit-source-id: 6605663d0b0059fdb2d20cb279e133afc25d47f1
Summary: Theadsafe Data Storage for new insets in CKInsetComponent
Reviewed By: kevin0571
Differential Revision: D16338091
fbshipit-source-id: 3b77652a4d08cfebce115a606af3fc3440a1aca0
Summary: Stepper that reflects the static - states of the trace process.
Reviewed By: mfcripps
Differential Revision: D16286582
fbshipit-source-id: 9434816f2155c0205d1a3ab549580c48769c9973
Summary:
In my last plugin for React VR I used spawn heavily to call adb and python2. It worked out well, but after Flipper released, I noticed that all my spawn commands were broken.
I found that Electron start in different way when bundled as production bundle, and because of it, it does not inherit process.env.PATH in a same way as it do this for development mode. (only linux/mac issue)
In this diff I used npm package which detects linux/mac and executes bash command which returns all the env variables from the system. After it, it takes PATH and merge it with process.env.PATH.
Reviewed By: passy
Differential Revision: D16457847
fbshipit-source-id: 60226f2d7977f1dfec49de6e889f3115d8688991
Summary: This could be useful for OSS users, e.g. https://github.com/facebook/flipper/issues/498
Reviewed By: passy
Differential Revision: D16457362
fbshipit-source-id: 73fad6a30383f622e49cecc3a20d7fbbec2b318b
Summary: `teardown()` was not called for device plugins. This diff fixes the issue.
Reviewed By: jknoxville
Differential Revision: D16416440
fbshipit-source-id: 5c9ffa211bfbe4e322504c37b95ff87afab8d061
Summary:
This component was added back in January, but it hasn't been used, and thus no one has tested it in the real world.
It needs a onHideSheet method to unmount this component when the plugin sheet becomes hidden. This allows the sheet to appear and dissapear on button clicks, instead of only appearing when the container component loads.
For the old behavior see the test plan in this diff: D13597251
Reviewed By: jknoxville
Differential Revision: D16443836
fbshipit-source-id: 68feec23338287dbafc846689ea2a1b35be4b2b0
Summary:
Split this up into a separate review because the file is actually
sorta hand-written and just adds noise to the things I was
actually doing.
Reviewed By: jknoxville
Differential Revision: D16441548
fbshipit-source-id: 93366d38908bbec347fd837f5dc90b11329ebf8e
Summary:
Adds a star rating to flipper internal.
Based on the nuclide behaviour:
We get an event emitted when a user changes their rating.
And we also get the rating with every ping event, which is fired every minute, if flipper is the primary window.
The only thing I don't like that much is that this doesn't actually say anywhere what the stars are for.
Reviewed By: passy
Differential Revision: D16420281
fbshipit-source-id: 69a52f64058955d7cd068215478e95c554cb9ed4
Summary: Talkback prepends "password" on focus for password editText outputs. Flipper's AccessibilityUtil should include this case.
Reviewed By: blavalla
Differential Revision: D16427345
fbshipit-source-id: 28afdd196973539618b73824671ef02128a4e9ab
Summary: I've added the ability to navigate to different pages in the app via the bookmarks sidebar. Still no way to add bookmarks yet.
Reviewed By: jknoxville
Differential Revision: D16438415
fbshipit-source-id: f7dcda1add701eba8655518fba7cb9a82cf49ca1
Summary:
Migrating tables' row collection to Immutable.js List:
1. Migrate createTablePlugin to ManagedTable_immutable
-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity
Reviewed By: jknoxville
Differential Revision: D16416867
fbshipit-source-id: 20890aa851cd2e34e33fd2ed69c5d6048af14cbb
Summary:
Migrating tables' row collection to Immutable.js List:
1. Сopy SearchableTable code to SearchableTable_immutable
2. Use ManagedTable_immutable for SearchableTable_immutable
-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity
Reviewed By: jknoxville
Differential Revision: D16416732
fbshipit-source-id: 856ba0407bfdd12bb1b90110e130562a07cc5060
Summary:
Migrating tables' row collection to Immutable.js List:
1. Change native array to Immutable list in ManagedTable_immutable
-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity
Reviewed By: jknoxville
Differential Revision: D16416869
fbshipit-source-id: 6d5690d8f5f70286f31a423e319b2cb22deab8ff
Summary:
Migrating tables' row collection to Immutable.js List:
1. Сopy ManagedTable code, no changes
2. Add deps to Immutable.js
-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity
Reviewed By: jknoxville
Differential Revision: D16416870
fbshipit-source-id: d3e1a9571ea08fa7ccaedc5ad3eca863d22a79a4
Summary:
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.5 to 4.17.13.
<details>
<summary>Commits</summary>
- [`e371828`](e37182845f) Bump to v4.17.13.
- [`357e899`](357e899e68) Rebuild lodash and docs.
- [`fd9a062`](fd9a062d57) Bump to v4.17.12.
- [`e77d681`](e77d68121f) Rebuild lodash and docs.
- [`629d186`](629d186579) Update OpenJS references.
- [`2406eac`](2406eac542) Fix minified build.
- [`17a34bc`](17a34bc585) Fix test bootstrap for core build.
- [`53838a3`](53838a38f8) Fix tests in older browsers.
- [`29e2584`](29e258497b) Fix style:test lint nits.
- [`8f4d3eb`](8f4d3eb018) Update deps.
- Additional commits viewable in [compare view](https://github.com/lodash/lodash/compare/4.17.5...4.17.13)
</details>
<br />
[](https://help.github.com/articles/configuring-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flipper/network/alerts).
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/496
Reviewed By: jknoxville
Differential Revision: D16417041
Pulled By: passy
fbshipit-source-id: 8e6f08761b0478184569588eec786e577508e058