Commit Graph

912 Commits

Author SHA1 Message Date
Dimple Jethani
4a02041fa1 adding tree structure to layout inspector for NT subsection
Summary: Added JSON parsing to make tree structure for NT subsection in layout inspector

Reviewed By: danielbuechele

Differential Revision: D12938117

fbshipit-source-id: 43967d2e970ff2ce7e9b2e05a99d58a95a71b650
2018-11-07 12:45:40 -08:00
John Knox
bdc3abacbd Isolate BodyFormatter exceptions
Summary: If one throws an exception, we'd skip all the other ones. I don't think that's the behaviour we want.

Reviewed By: passy

Differential Revision: D12958926

fbshipit-source-id: dd82b750197b6fc1380496be4147fe63454d39da
2018-11-07 10:35:38 -08:00
Sveinung Bakken
a56d7d5d72 Add HTML formatter to Network plugin
Summary:
Currently HTML renders as a blank response panel which is not helpful for seeing erros.
Adding a formatter for `text/html` so we can see error responses, or other HTML responses, correctly.

Note, this adds the xml beautifier package from npm.

Reviewed By: danielbuechele

Differential Revision: D12883274

fbshipit-source-id: c49b60984f10bba471b5bbb8aabcb385a171d0d6
2018-11-07 08:51:45 -08:00
Daniel Büchele
8ab52839fb UI fixes
Summary:
This is a collection of small UI fixes for the network plugin:

- image maxWidth is set to 100% to not cause vertical scrolling
- Panels now have horizontal scrollbars, if their content overflows
- fixing missing icon for failed network requests
- removing position sticky from table headers as it was not used and causing some rendering issues and performance problems
- Adding a `label` and `grow` option to the `Select`-component which is used in the sidebar of the network plugin.

Reviewed By: passy

Differential Revision: D12956336

fbshipit-source-id: 6e7e9cf97c058a2ff626576d4afdc6df65007ea1
2018-11-07 06:27:33 -08:00
Daniel Büchele
4ff5c7294c don't update when nothing changed
Summary:
The QPL plugin is sending the current time on the device every second, this was causing state updates every second.

QPL: don't update the state, when we did not receive new traces.
Client: only dispatch the update event, when the new state is different from the current.

Reviewed By: passy

Differential Revision: D12956337

fbshipit-source-id: c006540097408ead8fb8c5aac3aaaa220c1a3951
2018-11-07 06:27:33 -08:00
Fabio Milano
9ee10392e1 Fixed missing code block container
Summary: A missing code block closing back tick cause the documentation's layout to be incorrect.

Reviewed By: jknoxville

Differential Revision: D12948908

fbshipit-source-id: 8e9496d2bac81a49b39aed3a2c97ff6a20c71241
2018-11-07 05:19:22 -08:00
Ian Childs
7b569a1692 Remove getBaseContext
Summary:
We have getAndroidContext() instead.

This will probably take a few iterations to land, but getting it out there so that I can try :)

Reviewed By: muraziz

Differential Revision: D12921523

fbshipit-source-id: 038ecf8c411fdbde6831051b219a43716007ac49
2018-11-07 04:20:13 -08:00
Daniel Büchele
db42e8e970 createTablePlugin using persistedState (fixes #310)
Summary:
Implementing persistedState for createTablePlugin, so it doesn't lose its data when switching back and forth between plugins. When `runInBackground` is set to true on the native side, createTablePlugins are now also capable of receiving new data in the background.

Adds a test suite for createTablePlugin, to make sure it:
- returns a FlipperPlugin
- ID, title and icon are set correctly
- the resetMethod clears the data
- the persistedStateReducer correctly adds new data

Reviewed By: passy

Differential Revision: D12939848

fbshipit-source-id: 30048f3ce2bb98c83b0c165e48df72c8e28eadcd
2018-11-07 02:44:35 -08:00
Hilal Alsibai
21a18d3e53 Pass real client to sidebar extension factory functions
Summary: This allows sidebar extensions to have more information as to whether they should be enabled or not

Reviewed By: danielbuechele

Differential Revision: D12930405

fbshipit-source-id: 649d3f01da1c535f7d60b7b525b012a888ea78e0
2018-11-06 11:30:35 -08:00
Ian Childs
3c3ef35bce Build against Litho snapshots
Summary: We need to be able to access `getAndroidContext()`.

Reviewed By: passy

Differential Revision: D12942049

fbshipit-source-id: 0d8eee272e7822d085ba70b2d3ce4767ceec9aa2
2018-11-06 10:11:22 -08:00
Daniel Büchele
2088153ffb make width of DetailsSidebar configurable
Summary:
The `DetailsSidebar` has a fixed width of 300px. For some plugins it makes sense to specify a larger width for the sidebar, to show more content in it.

Usage:
```
<DetailSidebar width={500}>...</DetailSidebar>
```

Reviewed By: passy

Differential Revision: D12924525

fbshipit-source-id: 889d799017a6d3d53f6d32510863b4838a928fba
2018-11-06 05:38:01 -08:00
Daniel Büchele
9fb3a56303 persist notification filter
Summary:
persist the state of the redux store of `blacklistedPlugins`, so we don't show notifications for them.

This also fixes a bug where defaultFilters were not shown in the filterbar.

Reviewed By: passy

Differential Revision: D12924356

fbshipit-source-id: ebc5d2f5d2d3acfb5ed63d4085b65b7a78a7b05a
2018-11-06 05:38:01 -08:00
Pascal Hartig
f7063448e2 Upgrade electron jest runner
Summary: `v0.1.0` was released recently.

Reviewed By: jknoxville

Differential Revision: D12922054

fbshipit-source-id: 4f5dd42ca9e897d21dee4cc03e37d77d1d23972b
2018-11-05 10:50:35 -08:00
John Knox
ad98ba3235 Never cache source files in dev mode
Summary:
Some times chrome caches the output from metro bundler, meaning when developing, it uses old source files and your changes have no effect.
This fixes that by adding dont-cache to the headers of all files served.

Reviewed By: danielbuechele

Differential Revision: D12922357

fbshipit-source-id: 2c3bdf8fb60e4ec64ace2c21f6b1e4656f885339
2018-11-05 10:48:34 -08:00
Pascal Hartig
a0800b079a v0.11.2-SNAPSHOT (#319)
Summary:
Per title.
Pull Request resolved: https://github.com/facebook/flipper/pull/319

Reviewed By: jknoxville

Differential Revision: D12922076

Pulled By: passy

fbshipit-source-id: 90440de77db25b27f5e3cda274713c381467743e
2018-11-05 07:14:16 -08:00
Daniel Büchele
95a7298d21 updating UI documentation
Summary:
adding documentation for more of our UI components.

Deleted some unused components, which were not working anyways.

Reviewed By: jknoxville

Differential Revision: D12896109

fbshipit-source-id: 959c7864240883869ad67283f80a3c189b94bf00
2018-11-05 03:12:23 -08:00
Daniel Büchele
640dee6645 auto generated UI docs
Summary:
Using `react-docgen` to automatically generate docs for our UI components.
React-docgen parses the files in `components/ui` and using comments and flowtypes to generate structured information about the UI components.

For higher-order-components `react-docgen` is not able to get the information. As we are using HOC often as part of emotion's styled-components, I added a custom parser for HOCs. Using babel/parser I am parsing the components and using their doc-comments to generate the structured description.

Then, the description generated by react-docgen and my custom parser is used to generate markdown which is added to the `ui-components.md` file of our docs.

Plus: Added some styling around the documentation of props, mostly table styles.

Reviewed By: jknoxville

Differential Revision: D12896110

fbshipit-source-id: 1337c924c06e10a5d3aa752579428fd2cc7b4743
2018-11-05 03:12:23 -08:00
Pascal Hartig
ac6575850e Fail build when plugins don't compile
Summary:
This adds an option to the compilePlugin function that
allows specifying whether or not to throw an exception
if compiling a plugin fails.

While this seems like a sensible default while development,
it seems like a pretty bad idea when building releases.

Reviewed By: jknoxville

Differential Revision: D12904570

fbshipit-source-id: aee365074af129296a9d493804b959cb9513f9cc
2018-11-04 04:36:09 -08:00
Pascal Hartig
870f6017ab Flipper Release: v0.11.1
Summary: Fixes Apple dependencies and QPL plugin, changes build to fail on error.

Reviewed By: jknoxville

Differential Revision: D12905241

fbshipit-source-id: 339ca920f958cdc36c4339976d11b2b50380e861
2018-11-03 06:26:51 -07:00
Pascal Hartig
9f59497913 Use Gradle 5.0RC1 with HTTP retry (#317)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/317

This could save our collective sanity. There's now
built-in support for HTTP retries: 0904f9d136

Reviewed By: jknoxville

Differential Revision: D12906015

fbshipit-source-id: 6030bfb6b914cfda186d92d20f3b15e693b1710c
2018-11-02 17:21:04 -07:00
Pascal Hartig
1045a195d6 v0.11.1-SNAPSHOT
Summary: Back to snapshots.

Reviewed By: jknoxville

Differential Revision: D12902343

fbshipit-source-id: 3e519e1348ff901c7dbdb42e82ec4b662739dd28
2018-11-02 11:25:59 -07:00
Pascal Hartig
43e7acd07f Use jellyfish for release script
Summary: Arcanist is deprecated and slow. Let's not use it.

Reviewed By: jknoxville

Differential Revision: D12905244

fbshipit-source-id: c966df5e58ac8942bdb6b66f71e1eb7652477348
2018-11-02 11:16:08 -07:00
Rafael Oleza
afd3e5e6a2 Bump react-deep-force-update
Summary: This diff should make HMR work again with the latest version of React

Reviewed By: yungsters

Differential Revision: D12900009

fbshipit-source-id: f9d4dad3ccb4e236f0545983534c167c8fcfbf31
2018-11-02 10:34:27 -07:00
Pritesh Nandgaonkar
2e9489d426 Remove unwanted import (#315)
Summary:
- [ ] Solves the broken travis
Pull Request resolved: https://github.com/facebook/flipper/pull/315

Reviewed By: jknoxville

Differential Revision: D12903152

Pulled By: passy

fbshipit-source-id: c349e451fd62f50d07814b86ff3e52cc5bdda10f
2018-11-02 09:59:54 -07:00
Pascal Hartig
a7fd546f0e Add basic integration test
Summary:
Just a quick startup test that can save you the time of manually
opening the app.

I don't have any plans of hooking this up in Circle, but it's
still kinda useful to have.

Reviewed By: jknoxville

Differential Revision: D12901590

fbshipit-source-id: a16a1814574d9f27770dcf98c6b238517c589930
2018-11-02 07:09:51 -07:00
Pascal Hartig
d54fb3a21a Flipper Release: v0.11.0
Summary: Including a fix for OkHttp issues, contributed by NightlyNexus: https://github.com/facebook/flipper/pull/313

Reviewed By: jknoxville

Differential Revision: D12883196

fbshipit-source-id: e17b43b33694f46a2bd949eafc008a772777f83e
2018-11-02 06:57:47 -07:00
Dimple Jethani
aa979b8abd Added NTSubDescriptor files and SKSubDescriptor interface
Summary: Added NTSubDescriptor file which implements the SKSubDescriptor interface to pass all NT specific data to the Layout Component Descriptor.

Reviewed By: jknoxville

Differential Revision: D12840392

fbshipit-source-id: bff295e13e8531456428424b7e073aefe7e1ced4
2018-11-01 14:43:48 -07:00
Eric Cochran
c6aed22a25 Fix OkHttp Interceptor closing response on IOException. (#313)
Summary:
The returned response body should not be closed, so that users can read the response body.

Before, when [this call](db833d36e9/android/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java (L94)) threw an exception, the body would be closed, and then [this](db833d36e9/android/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java (L54)) would return a closed response.
Pull Request resolved: https://github.com/facebook/flipper/pull/313

Reviewed By: jknoxville

Differential Revision: D12881111

Pulled By: passy

fbshipit-source-id: e76a732af6bdb527be6b90bbb02b3a5f45a1ec10
2018-11-01 09:35:07 -07:00
Pritesh Nandgaonkar
1dd5a72ab6 Update metro (#311)
Summary:
- [ ] Solve failing JS travis job
Pull Request resolved: https://github.com/facebook/flipper/pull/311

Reviewed By: jknoxville

Differential Revision: D12822934

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 2cc47372a3dde3500119e1e183aa97111cfe7f6a
2018-11-01 04:47:14 -07:00
John Knox
db833d36e9 Add max rsocket payload size
Summary:
We're seeing some crashes when attempting to send payloads larger than are supported by rsocket.
Instead of crashing, skip the message, but log it so we can see what it's containing.

This is where the failure occurs: https://github.com/rsocket/rsocket-cpp/blob/master/rsocket/framing/FramedDuplexConnection.cpp#L64

Reviewed By: passy

Differential Revision: D12857616

fbshipit-source-id: 2b02d7f5dd6499ba81783d3f8aefcbb64d9d408a
2018-10-31 11:14:56 -07:00
John Knox
b3f9bd9ee1 Remove adb reverse from test setup
Summary:
The bash file was running adb reverse on the oneworld devices.

Switching to use the real code to do this instead.

--forceExit is needed because the dispatcher keeps an open handle on the adb connection, and it doesn't expose a close() method to stop it. I'm not sure of the best way to fix that, but it's out of scope for this diff anyway.

Reviewed By: passy

Differential Revision: D10868563

fbshipit-source-id: fb44ff1353d5050bb7967cb6c4fa18c2e5d0d149
2018-10-31 08:54:42 -07:00
Jiyue Wang
f88aa99d2a Show the streaming response correctly in Flipper
Summary: make Sonar network tab work nicely with GraphQL streaming response

Reviewed By: danielbuechele

Differential Revision: D12841335

fbshipit-source-id: efcae3428c42957cbce27d467180ccbc10dc2ae9
2018-10-31 08:07:54 -07:00
Zac Sweers
62b913d844 Remove guava dependency (#309)
Summary:
It's only used in `JavascriptSessionTest`, and seems fine to keep it in tests

Resolves #172
Pull Request resolved: https://github.com/facebook/flipper/pull/309

Reviewed By: passy

Differential Revision: D12840362

Pulled By: jknoxville

fbshipit-source-id: 4ead5a4bf0c08d792abcadef713f907930a3e4e7
2018-10-31 07:50:45 -07:00
Ian Childs
f3833a6e5a More prep for ComponentContext not extending Context
Summary: Per title

Reviewed By: astreet

Differential Revision: D12839032

fbshipit-source-id: c69805fd68a6530d1e56edad3bb5edf4089ee98a
2018-10-31 07:29:32 -07:00
Pascal Hartig
81ef493a23 yarn fix
Summary: Fix style in master.

Reviewed By: jknoxville

Differential Revision: D12838697

fbshipit-source-id: 0d0d59d6d073c13e4a8c926d3a52329c3dc2381f
2018-10-31 04:48:30 -07:00
Pascal Hartig
0a6dbfcf3e Bump flow version
Reviewed By: priteshrnandgaonkar

Differential Revision: D12839991

fbshipit-source-id: 1dcca0a0bc682bf24430c7313d4af14b87cfc44d
2018-10-30 17:04:50 -07:00
Pascal Hartig
5ec2add066 Bump Litho version (#312)
Summary:
0.20.0 has been released.
Pull Request resolved: https://github.com/facebook/flipper/pull/312

Reviewed By: jknoxville

Differential Revision: D12838684

Pulled By: passy

fbshipit-source-id: 33b4f82dc65f8d8e21ea659d711a620ad12de4ee
2018-10-30 08:16:02 -07:00
Dimple Jethani
f153eedd3e add xhp tags on nt primitives
Summary: Adding xhp tags of <:nt:object> to reduction trace elements

Reviewed By: priteshrnandgaonkar

Differential Revision: D12818285

fbshipit-source-id: 4729ecc84dd1c31242c48fc6195ba05cdbb58e59
2018-10-29 12:04:06 -07:00
Dimple Jethani
e19489fbcb parsing JSON string for NTData subsections
Summary: Added separate subsections for ntData in objc - json string will be parsed on ios into correct subsections

Reviewed By: priteshrnandgaonkar

Differential Revision: D12817695

fbshipit-source-id: e1480303e121ceb537c47e6c30d328654ab91b8a
2018-10-29 11:29:28 -07:00
Pritesh Nandgaonkar
2ee2dfacfe Back out "[DO NOT LAND until Litho open source version includes rerenderForAccessibility] add litho accessibility rendering to Flipper accessibility mode [2/2]"
Summary: Original commit changeset: 000a7413fcbe

Reviewed By: passy

Differential Revision: D12821473

fbshipit-source-id: 5fa369cc48f074414b04e4786d5bd634158598a6
2018-10-29 06:20:47 -07:00
Pritesh Nandgaonkar
c938931b4f Add compiler flag for OSS builds
Summary: Currently we don't have a flag in iOS setup which lets us know if the code is going to be compiled in Open source or internally. Till now we didn't have a use case for it. But NT team is hacking a componentkit descriptor which is open sourced. This flag will come in handy for us to keep the open source setup build successfully.

Reviewed By: jknoxville

Differential Revision: D10854300

fbshipit-source-id: ac5da6f239b2066b6d7f0680cbfc1b7062ae0f36
2018-10-29 03:56:35 -07:00
Brett Lavalla
21c0b3ad0e add litho accessibility rendering to Flipper accessibility mode [2/2]
Summary: Completes D9667222 to allow force rendering of accessibility in litho when an accessibility service is not actually running.

Reviewed By: ikenwoo

Differential Revision: D9720987

fbshipit-source-id: 000a7413fcbe775a525ca3aca64443c3669cdf9e
2018-10-27 23:35:50 -07:00
Dimple Jethani
a2c4c98feb Added nt stack trace param in SKComponentLayoutDescriptor
Summary: Added stack trace param in layout node descriptor

Reviewed By: priteshrnandgaonkar

Differential Revision: D10850248

fbshipit-source-id: 0d647c773528f40a349b6738ecfafed0f22df193
2018-10-26 18:53:25 -07:00
John Knox
e418a810e6 Apply oneworld-fix patch before testing connectivity
Summary:
Making the runner apply the necessary oneworld fix patch before running the tests.

This can't be a long term solution, but at least means not getting that breaking change landed doesn't stop our tests from running.

Since that change is only necessary for the tests, maybe we'll get away with fixing the update process before having to land it.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10852110

fbshipit-source-id: b53a6d0ae9cb51e62cafc0c0f2cfe359ee6aff46
2018-10-26 06:42:32 -07:00
Hilal Alsibai
c6244054e0 Fix view accessibility path key
Summary: Was set to view previously and blocked the ability to edit view attributes.

Reviewed By: sjkirby

Differential Revision: D10865495

fbshipit-source-id: 8db043bdc8725b2b56f037d7d8467233db524f5e
2018-10-26 01:15:33 -07:00
Pascal Hartig
c3e4f16188 Restructure modules to reduce import-time side effects
Summary:
`flipper` does a lot of stuff at import time. I copied the `styled` reexport
to the UI module, so it's possible to just depend on that.

`remote` is another one of those pot holes that can easily ruin your journey
if you aren't careful navigating around it. Added some defensive fallbacks here
which ultimately allows the lint test to run (and pass) without Electron.

Reviewed By: danielbuechele

Differential Revision: D10507655

fbshipit-source-id: 6dad5665ba15b5cb73caa4ea46262cf337173eb8
2018-10-25 12:56:42 -07:00
Pascal Hartig
2f307b8b4f Avoid import-time side effects for application
Summary:
`INITIAL_STATE` is defined at import-time and relies on `remote.getCurrentWindow()`, which means that any import from the `flipper` module will require a display server + electron running.

Happy to take alternative suggestions to make this look a bit less intrusive.

Reviewed By: danielbuechele

Differential Revision: D10507539

fbshipit-source-id: 62b6bff0b4fd40638e54328613de4d3821b69dd6
2018-10-25 12:56:42 -07:00
John Knox
1be54ebee1 Add optional debug log switch
Summary:
This won't affect runtime, but is useful when debugging issues with flipper itself.
Setting this flag means all state changes will be output in logcat.

Reviewed By: passy

Differential Revision: D10231148

fbshipit-source-id: 7ddd490290ad973fc339b2f5f93a6f9a1fab4577
2018-10-25 04:14:37 -07:00
John Knox
57752533a6 Reconnect after desktop fails during cert exchange
Summary:
The code here is quite complicated so here's whats happening:

There's a disconnect hook, that waits and reconnects, so flipper never stops, except for the case where the desktop itself fails.

This makes some sense, but not total sense, as the client should really keep connecting, in case there's a different desktop that won't fail, or even if it was a transient failure.

Explicitly disconnecting, by setting the client to null, will trigger the disconnect hook and carry on the connect loop.

Reviewed By: passy

Differential Revision: D10231241

fbshipit-source-id: 90d823dce2221b1fb6501bd2797871dc1fb9770a
2018-10-24 10:37:16 -07:00
John Knox
d1a1c299dc Reconnect when adb server gets killed
Summary:
Flipper tracks devices on an adb connection. If the adb server gets killed, it deletes all devices, but doesn't attempt to reconnect.
This gets it to rety after 500ms.

Reviewed By: priteshrnandgaonkar

Differential Revision: D10526974

fbshipit-source-id: a2101067f2245b728f458fc5e06dc68833c5e772
2018-10-24 08:13:43 -07:00