Summary:
Used https://www.brokenlinkcheck.com/broken-links.php#status for now to find broken links and fixed them all.
Would be better to use some automated tool to check this at diff time, but that's not setup yet.
Reviewed By: passy
Differential Revision: D21301702
fbshipit-source-id: f13c8769b15d9f99563fc65dc0544320d07a2bfb
Summary:
KESHAmambo pointed out some internal links are broken on the website: https://twitter.com/KESHAmambo/status/1255443093542895619
The way relative links are processed in docusaurus v1 and v2 has changed. This fixes them up.
Reviewed By: mweststrate
Differential Revision: D21301293
fbshipit-source-id: 7610e38a55bc066625373cf2eee9a3efb63aec08
Summary:
Numbered list syntax changed during the docusaurus migration from v1 to v2.
It looks wrong at https://fbflipper.com/docs/extending/js-setup/
This fixes it.
I searched for "1)" and replaced all numbered lists it found.
Reviewed By: mweststrate
Differential Revision: D21283693
fbshipit-source-id: adeb6e04693f50e0a0cfe4b2de5f4663075c34ce
Summary: "migrate" command for easy migration of existing Flipper plugins to the specification version 2.
Reviewed By: passy
Differential Revision: D21253913
fbshipit-source-id: 9edb170fbaa10e9c3f670d5d68e69f4f6106c151
Summary:
Implemented json schema for flipper plugin package.json and used it for validation in "flipper-pkg lint" command.
Nice thing about json schema is that it not only allows to validate json, but also can be referenced using "$schema" property in json so IDEs like VSCode can find it and use for code completion, validation and to show properties documentation. I'm going to deploy the schema as a part of documentation website so it can be referenced as https://fbflipper.com/schemas/plugin-package/v2.json.
Also the "$schema" field can be used instead of "specVersion" to determine the specification according to which the plugin is defined. E.g., if specification version 3 would be created, it will be described in schema https://fbflipper.com/schemas/plugin-package/v3.json, etc.
Reviewed By: passy
Differential Revision: D21228294
fbshipit-source-id: f21351e584ef936a7d6b314436448489691f83a6
Summary:
Background for this diff: https://fb.quip.com/KqEfAlKYlgme
Some plugins don't respect that stuff (livefeed and graphql), but for others it seems to work fine.
This is just a PoC, there are some present bugs concerning the combination of selecting and bg plugins
Questions to investigate:
- [x] make sure that LiveFeed and GraphQL disconnect properly. There might be more plugins that need that
- [x] verifiy that we don't loose one of the original goals of background plugins, e.g. QPL collecting and sending data from device start. Does this still work as intended after this change?
- [x] how can we observe / measure improvements? Are dev builds more responsive after this? Is the layout inspector smoother for example because no QPL plugins are interweaved?
- [x] how is forward and backward compatibility?
- If Flipper is updated, but device not: No change I think, as getBackgroundPlugins() will return an empty set, and background plugins are initiated as usual, so old behavior
- If device is updated, but Flipper not, background plugins won't be started until they are selected. This is a degradation, but hopefully explainable.
- [x] Verify QPL buffer is not unbounded
- [x] Share architecutre changes with team
For Graphql updates: D20943455
Added runtime stats to monitor network traffic (sadly had to redo that since scuba couldn't handle the data format used at first, so probably will hold of landing this diff a week to make sure we can see some effects)
Follow up work:
[x] wait until we released the stat tracking before we release this, to be able to measure the effect?
[x] make sure graphql fix lands
[ ] use side effects abstraction
[ ] fix other background plugins (android only) or fix it in a generic way:
{F234394286}
Changelog: Background plugins will no longer receive a Flipper connection if they are disabled. This should significantly reduce the overall load of Flipper both on the device and desktop when unused plugins are disabled used, which could otherwise generate 10MB/s of network traffic certain scenarios. All plugins *should* be able to handle to this gracefully, but since this is quite a fundamental change, reach out to the Flipper team when in doubt!
Reviewed By: jknoxville
Differential Revision: D20942453
fbshipit-source-id: b699199cb95c1b3e4c36e026b6dfaee7d1652e1f
Summary:
Docusaurus 2 is quite a lot more powerful than docu 1 it turns out.
This should convert the website fully.
* [done] Go through migration guide https://v2.docusaurus.io/docs/migrating-from-v1-to-v2
* [done] Convert landing page html
* [done] Convert all images to img tags
* [done] Convert all .md files to .mdx
* [done] Make sure ui-doc generation and including still works
* [done] Scan every page visually for sanity check
* [done] Make sure footer still works
* [done] Make sure search still works
* [done] Change all links/ to links/index
* [done] Change all links.md to links
* [done] Add some custom css to make the navbar look like the old one and darken the footer.
Reviewed By: passy
Differential Revision: D21158717
fbshipit-source-id: 5f45b711b1b6fd5ece4c5c15c55635c7ebbfb568
Summary: Flipper should never be a normal dependency of a flipper plugin. And since this an example, lets do it properly :)
Reviewed By: jknoxville, passy
Differential Revision: D21228427
fbshipit-source-id: 72166c8706a213e2cb649f1201984dd722b63d2f
Summary:
Assets should never be referenced by /doc/assets, as it breaks docusaurus' baseUrl conversion.
I'd write a lint rule for this but I don't know if it affects docusaurus v2, might be better to just migrate to that.
Reviewed By: passy
Differential Revision: D21153686
fbshipit-source-id: d839015e989a64f897617855ece77439da388cb7
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1016
YogaKit's version is compatible recent version of swift and also before the last release its swift version was not mentioned, which caused issues, but now there is no need to set the swift version.
Reviewed By: passy
Differential Revision: D21054723
fbshipit-source-id: 2210cf4beab86088533302028091e0bc44b9d232
Summary:
This PR fixes a broken `Troubleshooting` link in the iOS setup page as well as adds that link to the React Native iOS one.
## Changelog
Add correct `Troubleshooting` page links
Pull Request resolved: https://github.com/facebook/flipper/pull/1013
Test Plan: Check `docs/getting-started/native-ios` and `docs/getting-started/react-native-ios`.
Reviewed By: mweststrate
Differential Revision: D21042264
Pulled By: passy
fbshipit-source-id: 3b069b3ffa51d5d290af410d8c85ecb316d76c32
Summary:
We've ported [Reactotron](https://infinite.red/reactotron) to work as a Flipper plugin. This adds a new section listing known community plugins and starts with Reactotron-in-Flipper as an example.
## Changelog
Added one section to the React Native page.
Pull Request resolved: https://github.com/facebook/flipper/pull/1009
Test Plan: Docs-only.
Reviewed By: passy
Differential Revision: D21039079
Pulled By: mweststrate
fbshipit-source-id: 1187119d78baba321012f8ffa243685b25441e9d
Summary:
I trimmed the previous versions of this down a lot to only
focus on what RN developers need to know without duplicating
what we have in the non-RN docs.
Reviewed By: mweststrate
Differential Revision: D20816115
fbshipit-source-id: 9d88a6fb0d49e823194cce647e64b86d61d6229a
Summary:
The url for the getting started page was changed yesterday. (no longer getting-started.html)
This fixes some links that were broken because of it.
Reviewed By: cekkaewnumchai
Differential Revision: D20855343
fbshipit-source-id: 788efb75f3581e4fe6cecd5f69f11dd64b03e7df
Summary:
This is a first step in breaking up the getting started docs.
Ultimately, the React Native Android and iOS bits will become
separate sections, too, but I won't to keep the diffs a bit smaller.
This one doesn't really do much apart from reorganising the current
content.
Reviewed By: mweststrate
Differential Revision: D20815235
fbshipit-source-id: 5c85b788211699a2a9f5808b9e2590c7db68a1c1
Summary:
When using baseUrl in site config, it adds a prefix to all link paths.
But for assets, it doesn't work if you refer to them as `docs/assets/...`, you have to use just `assets/...`. Source: https://github.com/facebook/Docusaurus/issues/861
Reviewed By: passy
Differential Revision: D20796933
fbshipit-source-id: 2346e42b8b548f576a1e143f56ee5236eab55073
Summary: Added some UI so that we can manually verify that logging and network inspection is working in RN + Flipper.
Reviewed By: jknoxville
Differential Revision: D20668428
fbshipit-source-id: 4271595583e055b2b0324b3da7ac216c39717093
Summary:
I think this'll clarify how to use the lifecycle methods.
Diagram edit link: https://excalidraw.com/#json=5696112581148672,nDwD6t1BNXVreQ8YE8917g
Reviewed By: mweststrate
Differential Revision: D20645302
fbshipit-source-id: 0814dbe8421cfe8e85c297bd5bfb4a8f1a83c353
Summary:
Kinda what is in the title. But shouldn't be merged yet as RN 0.62 didn't ship yet.
Also, the iOS tutorial hasn't been verified yet, as the relevant diff hasn't been merged yet (see D19391739)
Reviewed By: passy
Differential Revision: D19468497
fbshipit-source-id: 9e7d90123d3637a1a552c4a9def6420137cf8246
Summary:
Updates the instructions to integrate iOS pods for the case with the usage of `use_frameworks!` for cocoapods 1.9. Also changed our podfile for Tutorial app and add travis test for the same, so that in future if there are any further changes with the API in new releases of cocoapods, we can catch it.
## Changelog
- Added travis test for iOS Tutorial app
- Updated the getting started guide for iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/892
Test Plan: Travis test passed and also tested that tutorial app builds with cocoapods 1.9
Reviewed By: mweststrate
Differential Revision: D20587989
Pulled By: priteshrnandgaonkar
fbshipit-source-id: b297e6b1298a20a9279ad6414e9d099917876fb1
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/872
Move all the JS code related to desktop app to "desktop" subfolder.
The structure of "desktop" folder:
- `src` - JS code of Flipper desktop app executing in Electron Renderer (Chrome) process. This folder also contains all the Flipper plugins in subfolder "src/plugins".
- `static` - JS code of Flipper desktop app bootstrapping executing in Electron Main (Node.js) process
- `pkg` - Flipper packaging lib and CLI tool
- `doctor` - Flipper diagnostics lib and CLI tool
- `scripts` - Build scripts for Flipper desktop app
- `headless` - Headless version of Flipper app
- `headless-tests` - Integration tests running agains Flipper headless version
Reviewed By: passy
Differential Revision: D20249304
fbshipit-source-id: 9a51c63b51b92b758a02fc8ebf7d3d116770efe9