Summary: This blesses the `Layout` and `theme` components and exposes them from `flipper-plugin`, so that they can be used in (public) Sandy plugins. Also marked old abstractions as going to be deprecated.
Reviewed By: cekkaewnumchai
Differential Revision: D24503560
fbshipit-source-id: a8f384667b8f66e3b9f00771a123fe5c9d755eb3
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1610
Reviewed By: nikoant
Differential Revision: D24505996
Pulled By: passy
fbshipit-source-id: f959e173e69d4857d3694d11590da8563d0b9cf9
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1612
* Use the QPL-managed QPLCore and PigeonClient.
**Facebook:**
js-shared/qpl and js-shared/pigeon-client are maintained by QPL in xplat/js-shared. I've updated the Metro config and tsconfig to allow the packages to be imported without breaking the open-source version.
Reviewed By: passy
Differential Revision: D24358369
fbshipit-source-id: 7f13d6c99d8ca6ebcd0e66bf0e5f25069370cce7
Summary:
Split container had a convenient property `scrollable`, that automatically applies a Scroll container to the main content.
But I noticed it leads to bad design choices because it is so convenient. So sometimes scrolling would be unnecessarily in two directions because of this.
Or, since the scroll container wraps around the whole content, toolbars would scroll out of view. By forcing scrolling to be put explicitly in the component tree, we encourage plugin developers to think about where they actually want to have that scroll, and in which direction.
Also added options to use the Container padding properties on ScrollContainer, which is great since we can keep the scrollbars outside the padding, and apply it to the content only, to prevent an accidental mistake where people would put a scroll container in a padded container, that would put the scrollbar inside the padding.
Reviewed By: cekkaewnumchai
Differential Revision: D24502546
fbshipit-source-id: 524004a1c5f33a185f9b959251b72875dd623cb3
Summary:
So far we distinguished `Layout.Container` from `Layout.Vertical`, but they did almost exactly the same, so figured to unify them, so smaller API ftw :) Normal containers put children vertical, and if you want to use horizontal, use Layout.Horzontal
Also simplified code in Layout file a little bit.
Fixed issue I split container where the main container didn't go "underneath" the fixed container
Reviewed By: cekkaewnumchai
Differential Revision: D24502547
fbshipit-source-id: 517db3692749e670cda8f0cd7cb1c807df818b4d
Summary:
per title
In addition, this diff adds `startUnactivated` option to allow setting up `onSend` mock implementation.
Reviewed By: mweststrate
Differential Revision: D24477989
fbshipit-source-id: f913574ebacdd436e8511baa43744249a014e90b
Summary:
This stack tries to migrate notification system to Sandy.
This diff contains on the view; other functionalities aren't working. Also, some of the views will be implemented as functionalities are added.
Reviewed By: mweststrate
Differential Revision: D24390370
fbshipit-source-id: 8e11a01d9462934ff1fadf411e7e8f57ca7ef078
Summary: Actually, things only start to break in 132.
Reviewed By: mweststrate
Differential Revision: D24480958
fbshipit-source-id: c7003459647d06cbcdf639505fa0779183923a3b
Summary:
This should give us some headroom. There are some incompatibilities and bugs in newer versions,
so only bumping this one which is compatible.
Reviewed By: mweststrate
Differential Revision: D24480863
fbshipit-source-id: ec21b937bf44686e49a71aeb38063d996d2cbff4
Summary: export filterRowsFact so we can reuse it. it's needed in diffs above
Reviewed By: SimoneCasagranda
Differential Revision: D24445819
fbshipit-source-id: 1c9ca363419c7e34f53e65b77764a49235e259e2
Summary: Allow using of .env file to pass env vars to be used in dev mode. Currently this allow to configure defaults for enabling fast refresh, automatic opening of dev tools and plugins to load.
Reviewed By: passy
Differential Revision: D24398938
fbshipit-source-id: 30a5d86b7906a7723a404cf84a1b8d50ae497dbc
Summary: Currently we load all the plugins even if they are not required in dev mode, e.g. when you are developing a specific plugin. This diff adds an env var and command-line option to specify exact list of plugins to load. This makes dev mode startup faster and consume less memory.
Reviewed By: passy
Differential Revision: D24394146
fbshipit-source-id: 42a78c1ffb2632e657c2411e34e9c80fff18df3a
Summary:
Some exploratory testing on all iOS and Android plugins, to see how they behave inside Sandy, and fixed some layout glitches (some were also present without Sandy)
General fixes:
* Introduced some niceties like searchbox resizing properly, and toolbars wrapping automatically in Sandy, rather than buttons becoming invisible
* Containers don't grow anymore by default, but take size of contents
* ScrollContainer child is now a Layout.Vertical. Layout.Vertical should be used as default container everywhere (e.g. Tabs, Panels) in the future
* Fixed layout issue if a split container had only 1 visible child
* DetailsSidebar now scrolls vertically by default
* Details sidebar would sometimes render content in-place rather than in the reserved area
* AppSelector dropdown and Plugin list will now properly ellipse (...) if there is not enough space
Plugin fixes:
* Long database / table names in Database plugin would break layout
Also fixes https://github.com/facebook/flipper/issues/1611
Reviewed By: passy
Differential Revision: D24454188
fbshipit-source-id: c60c867270900a1d4f28587d47067c6ec1072ede
Summary: Tests to verify the more complex selection logic resulting from the Metro device exception. Also verifies the logic that computes the available plugins
Reviewed By: nikoant
Differential Revision: D24445555
fbshipit-source-id: 70110c4470e6aa1356e814aa40744b65c21cad89
Summary:
I love useMemo, and the memoized functions are in principle easy to testable since deps are known
But in practice they aren't as they close over their deps, preventing hoisting. So I now use a small `useMemoize` utility that encourages me to write them in a testable manner.
Applied this to the PluginList, and it makes it imho cleaner to read. Also, testing is now much easier as demonstrated in the next diff.
Reviewed By: nikoant
Differential Revision: D24445556
fbshipit-source-id: e156dbd4b8623eb1b90650e174b69a0ec868d2da
Summary:
This adds the ability in AppInspect to work with Metro and plugins.
Metro remains a weird and hardcoded edge case, as we show it as part of another device. So a few things to notice:
- Metro does not have it's own entry in the device/app dropdown
- When selecting a metro plugin, the surrounding context (selected main device / app) remains, but you will notice that the device dropdown switches to 'React Native'. This is intentional to reflect that we are talking to React Native in general, and not necessarily to the device / app shown in the context.
Reviewed By: nikoant
Differential Revision: D24422267
fbshipit-source-id: 239aa71b5c01e19bdda53a930ad9fa8af13b8d4a
Summary:
This diff adds the rough navigation to open pugins, there are some rough egdes still, and tests will be added later, but wanted to keep diffs small, and land the feature early to get some initial dogfooding going on early.
Note that we now also show all disabled plugins to help people with trouble shooting.
Reviewed By: nikoant
Differential Revision: D24418411
fbshipit-source-id: 1402d69efe2e52bc2c81336cfb4f4c9928ea4d80
Summary:
This diff implement few things:
* Logs tab for plugin
* Sending new state for each action is expensive, that is why flipper side receive only diffs and uses `getStateFromLogItem` to calculate new state
* fixed `keys` in `DataInspector.tsx` which caused `DataInspector` become unresponsive
{F340648998}
Differential Revision: D23021619
fbshipit-source-id: 17490c25f7b86faf9e574a612996563aac18525e
Summary:
The bridge between Flipper and AMA has been established in previous diff. The goal of this diff - is to actually send data to flipper
{F340648834}
Differential Revision: D22999433
fbshipit-source-id: 72b6ad57bcaa9c0318879a224508397f70e3bc76
Summary: It's a lot more than just "launcher" now.
Reviewed By: nikoant
Differential Revision: D24425780
fbshipit-source-id: 74f6dd4d73a224a43608c4d3f3698dbd16c2e865
Summary: Disables the picker if the selection isn't editable
Differential Revision: D24419005
fbshipit-source-id: 433229a23db7fac947f574110326f5bf0dc51bc3
Summary:
Removes the "Set current" button if the timeline isn't editable
Note that the styling does weird stuff to colors when a field is set as not editable
Differential Revision: D24419006
fbshipit-source-id: 84dcee2e04d5ed7ebb3dc0255e99d1756f195284
Summary: Metro update already uppgraded half of babel libraries and jest update required updating some others, so here I just updated all babel-related and jest-related packages using `yarn upgrade-interactive` so their versions matched
Reviewed By: mweststrate
Differential Revision: D24421484
fbshipit-source-id: e22a1a8cbc36435253b8d92adadd2439d669e811
Summary:
Bumps [metro](https://github.com/facebook/metro) from 0.60.0 to 0.63.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/metro/releases">metro's releases</a>.</em></p>
<blockquote>
<h2>Release v0.63.0</h2>
<ul>
<li>[fix] Change initialisation logo and text from RN to Metro</li>
</ul>
<h2>Release v0.62.0</h2>
<ul>
<li>[feature] Add onBundleBuilt to ServerOptions</li>
</ul>
<h2>Release v0.61.0</h2>
<p>Contains all changes since 0.60.0:</p>
<ul>
<li>[Feature]: Add support for blockList and array of regexs</li>
<li>[Fix]: Change order of imports to be the same as in source files</li>
<li>[Feature]: Add new secureServerOptions option to runServer</li>
<li>[Feature]: Add inline-requires option</li>
<li>[PetPeeve]: Metro server => Metro</li>
</ul>
<p>See <a href="https://github.com/facebook/metro/compare/0.60.0...0.61.0">0.59.0...0.60.0</a> for a full list of changes.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b9bacd51d0"><code>b9bacd5</code></a> Metro release v0.63.0</li>
<li><a href="c106b6540e"><code>c106b65</code></a> Change initialisation logo and text</li>
<li><a href="be719b29c0"><code>be719b2</code></a> remove redundant deprecated-utility setting from flow configs</li>
<li><a href="9236feba99"><code>9236feb</code></a> Turn off template literal and shorthand properties transform for hermes-canary</li>
<li><a href="6b82e8443c"><code>6b82e84</code></a> Create a <code>metro-runtime</code> module</li>
<li><a href="18883f6caa"><code>18883f6</code></a> Fix up package.json files.</li>
<li><a href="921b73e4d0"><code>921b73e</code></a> Remove autogenerated table of contents (deprecated in docusaurus v2)</li>
<li><a href="eb9b02572b"><code>eb9b025</code></a> Update configuration page with examples</li>
<li><a href="00a5a6d8d6"><code>00a5a6d</code></a> Fix troubleshooting and help pages</li>
<li><a href="c73eaf88f8"><code>c73eaf8</code></a> Update docusaurus version</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/metro/compare/v0.60.0...v0.63.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
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 close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor 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)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1606
Reviewed By: passy
Differential Revision: D24392103
Pulled By: nikoant
fbshipit-source-id: 6d816629f55e04852d6737f9960fa61d7e83cee8
Summary: Updates the OpenSSL dependency. Enabling bitcode as the latest version of OpenSSL has bitcode support.
Reviewed By: mweststrate
Differential Revision: D24276537
fbshipit-source-id: 6f135659d64e8849dcf68266458a8f24ef795be7
Summary: Added `axis` property to scroll container, to make scroll work in one direction, and fill out the other one.
Reviewed By: cekkaewnumchai
Differential Revision: D24390943
fbshipit-source-id: 5767e753edfb947f43b3998e10d6cebf57f9b53b
Summary:
Restore sidebar functionality for Sandy plugins
Also needed to fix some circular dependency issues as fallout.
Reviewed By: cekkaewnumchai
Differential Revision: D24362215
fbshipit-source-id: 0a09ac35ba981322ae0793edc3aa79ffddf2ce73
Summary: When trying to refactor some components, did once again run into circular imports that cause the flipper startup sequence to fail. Added linting rules to make sure this is much less likely to happen in the future, and fixed all resulting errors
Reviewed By: nikoant
Differential Revision: D24390583
fbshipit-source-id: 9b20cf6a4d3555dc68f0069c2950dd7162b17e67
Summary:
Render a plugin list
Will add tests once the entire feature is complete
Reviewed By: cekkaewnumchai
Differential Revision: D24079897
fbshipit-source-id: db7250ff612b67ab18dfcacdcb9c44dab596933d
Summary: This diff adds the device switcher, filling the switcher with apps and devices.
Reviewed By: cekkaewnumchai
Differential Revision: D24053787
fbshipit-source-id: 4f69835a12eec90a0e5704f71c8ceed5509f61ce
Summary:
Add a GUI for the timeline of a Component based off MarkerTimeline.
It enables selecting points on the timeline, which will display their properties (arbitrary KVS). A button allows the user to select the current point of the timeline for the tree. This triggers unselection of the tree as per D24254002.
Solving re-selection isn't trivial, which is why the tree collapses on redraw too, and I believe we can live with this UX for this v1.
Reviewed By: astreet
Differential Revision: D23865369
fbshipit-source-id: 026562e71aa04b4e5e1e7cf1392d8ef140cdf43c
Summary:
This diff adds the Java classes that serialize to the data expected by the new timeline widget. See D23865369 for the JS counterpart.
Currently the Flipper plugin uses `toString` to get the wire values. I'm not feeling like using a json library or dealing with JSONObject's nonsense, so these are rolled manually for now.
Reviewed By: astreet
Differential Revision: D24254377
fbshipit-source-id: b2fc00400c40b47ac29c9b83c0b66621c3677974
Summary: Tried to sum up all solutions mentioned in https://github.com/facebook/react-native/issues/28503 for this recurring problem. The most common problem being simply opening the wrong file in XCode. From experience I can tell this is not obvious for iOS noobs like me :-P.
Reviewed By: passy
Differential Revision: D24359426
fbshipit-source-id: bb4d4951ac287ed2b09203e5414f62628a3feeb0
Summary: Recreation of D22118786, which was so old rebasing died on some lacking meta data. Lands https://github.com/facebook/flipper/pull/1256
Reviewed By: passy
Differential Revision: D24331424
fbshipit-source-id: 65fc5d8bf0242d4266e269716a319d71ce2e2826
Summary:
Changelog: [Network] Non-binary request are not properly utf-8 decoded on both iOS and Android, both when gzipped and when not gzipped
This diff fixes a long standing / ping-pong issue regarding network decoding differences between
* iOS vs Android
* binary vs utf-8
* gzipped vs uncompressed
The changes aren't too big, but the underlying investigating is :)
The primary contribution to this diff is:
First, adding test cases for know problematic cases. This is done by grabbing the messages that are send from the flipper client to flipper using the flipper messages plugin. This is the base64 data that is stored in the `.txt` files. Beyond that, for all tests public endpoints are used, so that we can both get a hold of the raw original files, and how we expect them to be displayed in flipper.
For testing a simple RN app was build, with a button that fires a bunch requests. The first 3 are captured in unit tests, the last one is not idempotent, but a case reported in #1466, so just left it there as manual verification.
```
const fetchData = async () => {
await fetch(
'https://raw.githubusercontent.com/SangKa/MobX-Docs-CN/master/docs/donating.md',
{
headers: {
'Accept-Encoding': 'identity', // signals that we don't want gzip
},
},
);
await fetch('https://reactnative.dev/img/tiny_logo.png?x=' + Math.random());
await fetch(
'https://raw.githubusercontent.com/SangKa/MobX-Docs-CN/master/docs/donating.md',
);
await fetch(
'https://ex.ke.com/sdk/recommend/html/100001314?hdicCityId=110000¶mMap[source]=&id=100001314&mediumId=100000037&elementId=&resblockId=1111027381003&templateConfig=%5Bobject%20Object%5D&fbExpoId=346620976471638017&fbQueryId=&required400=true&unique=1111027381003&parentSceneId=',
);
};
```
The second contribution of this diff is that it doesn't use weird URLencoder hacks to convert base64 to utf8, but rather a proper library. The problem with our original solution, using `atob` is that it converts to ASCII, not to utf-8, which is the source of the original bugs. See for more background on this: https://www.npmjs.com/package/js-base64#decode-vs-atob-and-encode-vs-btoa-
Solves:
https://github.com/facebook/flipper/issues/1466https://github.com/facebook/flipper/pull/1541https://github.com/facebook/flipper/issues/1458
Supersedes D23837750
Future work: we don't inspect the `content-type=xxx;charset` header yet, which we should do for less common encodings, to make sure that they get displayed correctly as well
Future work: in feature like copy data and curl, we always call decode body, without check if we are actually dealing with non-binary data. Probably it is better to keep binary data in base64, rather than decoding it, as that will assume the data is an utf-8 string, which might fail.
An assumption in these changes is that binary data is never gzipped, which is generally correct; gzip is not applied by webserver to things like images, as it would increase, not decrease their size, and waste a lot of computation power.
Reviewed By: cekkaewnumchai
Differential Revision: D23403095
fbshipit-source-id: 5099cc4a7503f0f63bd10585dc6590ba893f3dde
Summary: Plugin update is required to fix hit counter and auto-redirect from public site on Chrome 85+. It will also enable auto-redirect from staticdocs.thefacebook.com to internalfb.com/intern/staticdocs to ensure intern sidebar is visible when documentation is browsed internally.
Reviewed By: dkgi
Differential Revision: D24281980
fbshipit-source-id: 2614b4228d2df164981cee437952058684575a23
Summary: These tests are testing the logic of building the main components in Actions tab and Sagas tab.
Reviewed By: zaxy78
Differential Revision: D24078307
fbshipit-source-id: 2929832e18f4ccbf2cf46e94c8ef08f4f947cc85
Summary:
Bumps [react-native-flipper](https://github.com/facebook/flipper) from 0.60.0 to 0.62.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="ca271dd7c3"><code>ca271dd</code></a> Flipper Release: v0.62.0</li>
<li><a href="eafc5b220c"><code>eafc5b2</code></a> Disable asar to fix physical ios devices</li>
<li><a href="49e3e1ddfa"><code>49e3e1d</code></a> Rename the plugin identifier</li>
<li><a href="8c5c38d9fc"><code>8c5c38d</code></a> Log setData events from layout inspector</li>
<li><a href="bb3fd8c992"><code>bb3fd8c</code></a> Bump types/node from 13.13.0 to 14.11.5 in /desktop (<a href="https://github-redirect.dependabot.com/facebook/flipper/issues/1575">https://github.com/facebook/flipper/issues/1575</a>)</li>
<li><a href="6dad27c221"><code>6dad27c</code></a> Bump react-native from 0.62.2 to 0.63.3 in /react-native/react-native-flipper...</li>
<li><a href="3e0537f000"><code>3e0537f</code></a> Bump types/react from 16.9.17 to 16.9.51 in /desktop (<a href="https://github-redirect.dependabot.com/facebook/flipper/issues/1582">https://github.com/facebook/flipper/issues/1582</a>)</li>
<li><a href="c474880413"><code>c474880</code></a> Bump deps in ReactNativeFlipperExample</li>
<li><a href="3ba8bbf03c"><code>3ba8bbf</code></a> Bump dependencies (attempt 2)</li>
<li><a href="8b111e48e6"><code>8b111e4</code></a> Bump dependencies in flipper-js-client-sdk</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/flipper/compare/v0.60.0...v0.62.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
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 close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor 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)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1595
Reviewed By: passy
Differential Revision: D24275723
Pulled By: nikoant
fbshipit-source-id: 31764a9b70ffdb463f1d25024cb6eadc7aca564a
Summary:
Bumps [types/babel__traverse](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__traverse) from 7.0.13 to 7.0.15.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/babel__traverse">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
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 close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor 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)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1589
Reviewed By: mweststrate
Differential Revision: D24254928
Pulled By: nikoant
fbshipit-source-id: 123b7dad283a55b7cf0889920a238bd7deccfada
Summary: See the previous diffs, we pollute the global namespace here and there. Found some more missing namespace wrappers. Tried to wrap `FlipperStep` as well, which passed tests but gave weird linking errors in Wilde, so reverted that part (the name is not very ambiguous anyway)
Reviewed By: cekkaewnumchai
Differential Revision: D24193109
fbshipit-source-id: 111c479e421fdb321e898f948586229f30a7d777