Summary: Refactored Navigation plugin to make it fast-refreshable: moved the main component into a separate file and exported all components as named functions. Without these changes every change of UI triggered full reload.
Reviewed By: timur-valiev
Differential Revision: D29814077
fbshipit-source-id: 5285bdc5f14a5163f9501c0d45a3affefb08fc8e
Summary:
This stack reduces our direct dependency on Electron, for example by exposing our own API to open links.
Also exposing `getFlipperLib` as API from `flipper-plugin`, so that these utility methods are available outside plugin contexts as well.
Reviewed By: timur-valiev
Differential Revision: D29661689
fbshipit-source-id: 0c0523326eeb0d9d8fbe3e03c4609327bb53596b
Summary:
Change iOS to Objective C, reference which file is being updated
- Clarifies how to update iOS if using objective C for flipper network plugin
## Changelog
- renamed iOS to ObjC for flipper network plugin setup
- specified which iOS file to modify for flipper network plugin setup
Pull Request resolved: https://github.com/facebook/flipper/pull/2595
Test Plan:
Imported from GitHub, without a `Test Plan:` line.
|[Site Preview: flipper](https://our.intern.facebook.com/intern/staticdocs/eph/D29662605/V2/flipper/)
Reviewed By: passy
Differential Revision: D29662605
Pulled By: nikoant
fbshipit-source-id: acdc8bba73900c19500fc91f8a275930c51d73ad
Summary:
Fix selection problem on ManageMockResponsePanel. Currently, when the user adds new routes, the detail section continues to show the detail for the first route. Select different routes in the list does not change the detail panel. The screen is currently not doing anything on selection.
Also fixed a problem with updating on mock header names and values. Updates were not persisting if user did not exist input fields before leaving header input panel.
## Changelog
Network Plugin - Fix selection problem on ManageMockResponsePanel
Pull Request resolved: https://github.com/facebook/flipper/pull/2574
Test Plan:
Add multiple mock routes
Select various routes
Verify that detail panel shows the selected route

Reviewed By: passy
Differential Revision: D29582286
Pulled By: mweststrate
fbshipit-source-id: 6690e2262a033cdfa5afa6e6fdfacc9694244590
Summary: Apply local storage setting at a few relevant places, see parent diff
Reviewed By: cekkaewnumchai
Differential Revision: D29516498
fbshipit-source-id: 4797986e3540217e42dfb867f7d627921b97618e
Summary:
Changelog: Flipper message debugging moved from a separate device to the console tab
This makes message debugging easier accessible, and in production (recently requested at GH). Also it clears up a lot of infra that was created just to make flipper a self recursive inspection device + a separate plugin. While fun, a hardcoded setup is just a bit more simpler (no exception rules and better static verification)
Reviewed By: nikoant
Differential Revision: D29487811
fbshipit-source-id: b412adc3ef5bd831001333443b432b6c0f934a5e
Summary:
Github build is currently broken, so I'm removing this for now while I'm looking for the proper fix.
Failed job: https://github.com/facebook/flipper/runs/2947749418
Reviewed By: priteshrnandgaonkar
Differential Revision: D29491530
fbshipit-source-id: a2430033e18d3883adf2617beb0c60a67db5e183
Summary: Moved plugin documentation and related assets to plugin folders, fixed links and configured redirects where required. Now these docs are used for both showing docs in Flipper and generating Flipper docs website.
Reviewed By: passy
Differential Revision: D29465567
fbshipit-source-id: 3ec4240b215b0d5baea5154f64266a9ba7ead3a5
Summary:
This diff changes the way on how plugin documentation is produced. Instead of keeping plugin documentation together with other docs, we will now keep it together with plugin code. There are multiple advantages of such solution:
1. We are generating docs for every plugin in a standartised way so all of them looks similar. We can also use plugin metadata for generation as well (e.g. take title, icon, oncall name etc from package.json).
2. Standartised plugin docs make it possible to build docs both for websites (public and internal) and for embedding into Flipper.
3. It will hopefully incentivise authors to write docs as they will be a part of plugin "package".
4. We can scaffold documentation template using scarf to further incentivise filling it.
Reviewed By: jknoxville
Differential Revision: D29378053
fbshipit-source-id: 66ea48dc9ba225fabfb256ae6a10f8c81eef6f5f
Summary: Went over all plugins and did superficial fixes to make most plugins look decent or at least usable in dark mode, which before they weren't :)
Reviewed By: priteshrnandgaonkar
Differential Revision: D29456680
fbshipit-source-id: 3952e5da512c68b89434eea081faf121d1049908
Summary:
This diff adds Sandy colors and dark mode support to the `DataInspector` and `LayoutInspector` components, and coverts hardcoded colors to semantic colors. Currently only one set of colors is used since they contrast fine with both dark and light mode, but this could be deviated from now onwards.
Also styled the legacy ManagedTable and Panel, since they are so commonly used (will convert more legacy components in next diffs).
Reviewed By: passy
Differential Revision: D28056698
fbshipit-source-id: 5a85103983f89e82b7f000d309bb9e1e1f07491d
Summary: per title, for reasons see next diff :)
Reviewed By: passy
Differential Revision: D29327501
fbshipit-source-id: 548d943e90769af478232d3031d916fb399a067a
Summary:
Changelog: [Network] The network plugin will now detect utf-8 strings if no content header is present
Fixes https://github.com/facebook/flipper/issues/2406
Reviewed By: nikoant
Differential Revision: D29388968
fbshipit-source-id: 7017828a5f3f28dcf220eeda1d30888f1fc5f07a
Summary:
After loading a layout plugin snapshot, I noticed the plugin feels really sluggish. I noticed that getDimensions, which recursively walks the full tree, is triggered on every rendering, although the state it introduces is only required when opening a screenshot visualizer. So Moved the function invocation to there.
Also did some first steps on supporting iOS; the visualizer will no show a preview of iOS as well. I'll leave implementing the highlights to a volunteer :)
Reviewed By: passy
Differential Revision: D29262697
fbshipit-source-id: b13b19b013eeeb98abb66fb648a193c69688a7e3
Summary: Changed some imports, and again the Flipper initialisation broke. Refactored the store initialization to create nowhere module local constants, which prevents generally against module loading issues, making it possible to load all code first, and then intialise things through the `init()` method, which should make Flipper initialisation a lot more robust to changes
Reviewed By: passy
Differential Revision: D29233603
fbshipit-source-id: 322cb87cba23228b1d7a88634b7b3995e27cc277
Summary:
With new abstraction, `DataList` matches what the plugin trying to render.
Should fix:
https://fb.workplace.com/groups/flippersupport/permalink/1145431339270856/
Changelog: [MobileConfig] Fix issues with scrolling not working and several other improvements
Reviewed By: cekkaewnumchai
Differential Revision: D28314408
fbshipit-source-id: 4d8fbe3d8e868f737750203cd568d94bae8b4108
Summary: Edit button was not visible which blocked editing of databases
Reviewed By: passy
Differential Revision: D29139000
fbshipit-source-id: d0e8d22ca1a1a39697ec70e94e3eb7422e32de48
Summary:
Got this in my dep bump: https://www.internalfb.com/intern/sandcastle/job/13510799320314417/
Babel is having some trouble with a certain syntax in newer d3-array elements: https://github.com/babel/babel/issues/11038
Until that's fixed the recommended work-around is hard-coding the old version which is apparently compatible.
Reviewed By: priteshrnandgaonkar
Differential Revision: D29107071
fbshipit-source-id: 5a4ba8e698969bc033a76da78ce9116d1cfbbeb4
Summary:
- recharts includes types now as part of the main distro
- the react resolution doesn't make a difference to the `yarn.lock` anymore
Reviewed By: mweststrate
Differential Revision: D29105837
fbshipit-source-id: 5699b7b9c4f00da00781245fed8b2a94d603bb63
Summary: We somehow had both `__test__` and `__tests__`. Moving over to the more common place.
Reviewed By: mweststrate
Differential Revision: D29062420
fbshipit-source-id: 1589fcda18609dcc61b1ca4ef80cbf48c9e8d170
Summary: Changelog: Increase width of database name and table name dropdowns
Reviewed By: fabiomassimo
Differential Revision: D29062064
fbshipit-source-id: 46278ae6587d2feadea20fd1c5b4e04400034362
Summary:
Re-introduced context menu to DataTable, due to popular demand.
Originally it wasn't there to better align with ant design principles, but in an app like Flipper it makes just too much sense to have it
See e.g. https://fb.workplace.com/groups/flippersupport/permalink/1138285579985432/
changelog: Restored context menu in data tables
Reviewed By: passy
Differential Revision: D28996137
fbshipit-source-id: 16ef4c90997c9313efa62da7576fd453a7853761
Summary:
The current desktop plugin tutorial was outdated as it has several steps that are now automated, and still referred to old APIs. This has been updated now.
Additionally left the intermediate code of the tutorial in the plugin, but splitting `index.tsx` into `index_table.tsx` and `index_custom.tsx` (which will be updated in the next diff)
Clarified the tutorial page labels a little bit to show that 3 pages are covering the Desktop plugin development process.
Changelog: Updated the Desktop plugin tutorial
Reviewed By: jknoxville
Differential Revision: D28990029
fbshipit-source-id: a06a7a774ceca3daf10f8e8fbd4e03191dbfd1cc
Summary: Changelog: [Logs] show debug level logs by default. Now only verbose level is hidden by default
Reviewed By: fabiomassimo
Differential Revision: D28963445
fbshipit-source-id: e960654b02cf3b4248e0c8d4a9745208f160bc8d
Summary: some type simplifications, that makes it easier to reuse data sources and helps type inference
Reviewed By: passy
Differential Revision: D28413380
fbshipit-source-id: 261a8b981bf18a00edc3075926bd668322e1c37d
Summary: Now we support splitting metadata to public and fb-internal (see the previous diff in the stack), and this diff actually cleans up all public plugin metadata from fb-specific things.
Reviewed By: passy
Differential Revision: D28568413
fbshipit-source-id: eae699eabaae489c4bcfbfcc407c3bef42bfd338
Summary:
Network Plugin - When creating a mock request from a selected request, the request data is not in the proper format. It is decoded instead of just being copied from the call (which has already been decoded properly). This PR fixes that problem.
Below is a screenshot showing the problem (which occurs for all text response data):

## Changelog
Network Plugin - Fix problem with decoding request data for mocks copied from selection
Pull Request resolved: https://github.com/facebook/flipper/pull/2340
Test Plan:
Using the sample Android app, issue a network request
In Flipper, create a mock for the network request by selecting it and using the "Copy Selected Calls" function in the mock
Verify that the request data is readable:

Note:
Testing was done using the sample app which uses responses with JSON data. I was not able to provide testing for other types of calls, specifically calls that would return binary data.
Reviewed By: passy
Differential Revision: D28533224
Pulled By: mweststrate
fbshipit-source-id: ce11d23ade60843c110286f7a5bbeba91febbcf0
Summary:
Network requests and responses using JSON API content type of pattern `application/vnd.api+json` (see https://jsonapi.org/#mime-types) are currently treated as binary data. They should be treated as textual content.
## Changelog
Add regular expression to detect JSON content types.
Pull Request resolved: https://github.com/facebook/flipper/pull/2337
Test Plan: Using an API that return `Content-Type` of pattern `application/vnd.api+json`, verify that the response data in sidebar appears as text rather than `(binary data)`.
Reviewed By: passy
Differential Revision: D28513547
Pulled By: mweststrate
fbshipit-source-id: 3335b7eeb63c2429c2245113c8c83bd7e08a9420
Summary:
Network requests that return a "Content-Type" of 'application/xhtml+xml' are currently being treated as binary data when they should be treated as text.
## Changelog
Network Plugin - treat "Content-Type" of 'application/xhtml+xml' as text
Pull Request resolved: https://github.com/facebook/flipper/pull/2336
Test Plan: Using an API that return "Content-Type" of 'application/xhtml+xml' , verified that the response data in sidebar appears as text rather than '(binary data)'
Reviewed By: nikoant
Differential Revision: D28478695
Pulled By: mweststrate
fbshipit-source-id: ed60c8301dbd0cf65924a80d9e6a5800a59c6bb8
Summary: I've noticed that two plugins had wrong versions set and because of that they always published with the same version and not auto-updated. This diff fixes that and also adds safeguard which shows error on "yarn install" if some plugin packages has version set to something different from "0.0.0".
Reviewed By: passy
Differential Revision: D28443509
fbshipit-source-id: d982dbe05fa876717799d9464f900f2173b32f70