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:
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
Summary: A small clarification after the question 7964772f82 (comments)
Reviewed By: jknoxville
Differential Revision: D19619402
fbshipit-source-id: c392c492fe5e9cd46d46c93f617288ac0a4d02a5
Summary: Added information that "Debugger for Chrome" extension is required to be able to debug in VSCode.
Reviewed By: passy
Differential Revision: D19599117
fbshipit-source-id: 7323fb59daae24fe6b914e9ddb450326b135ad2b
Summary: Updated "Debugging" page in Flipper docs: added instructions about debugging from Visual Studio Code and Google Chrome.
Reviewed By: mweststrate
Differential Revision: D19578864
fbshipit-source-id: c88c8278feb7c90fe77bde1d883c73079f2147f9
Summary: Added docs on how to write React-Native JavaScript based plugins
Reviewed By: passy
Differential Revision: D19344803
fbshipit-source-id: ad1ea66f1031760729fdaea8a7e6c1ef5dcd5439
Summary:
Since background plugins don't receive data anymore when not starred, we should hint the user about this.
For this diff, I reused the existing statusbar. Although this solution is quite ugly, I think it is better than introducing yet another notification / warning mechanism. Probably we should revisit the layout of this status bar in the future.
Reviewed By: jknoxville
Differential Revision: D19251588
fbshipit-source-id: 1dfd07be383d4ba318f344ebff4b08ed36194c58
Summary:
To avoid plugins to collect data forever and store it (if they are never opened), introduced a hard-coded default limit on how many events will be preserved.
A semantic change is that plugins have to be potentially resistant against missing events. So far, during testing, this didn't seem to cause any problems.
Reviewed By: jonathoma
Differential Revision: D19175912
fbshipit-source-id: 828be941e76b7356c9f5be7e5a49de9a7a31b0d2
Summary: It's not much, but at least more than nothing :)
Reviewed By: nikoant
Differential Revision: D18930725
fbshipit-source-id: b1e5fa203b0020de7b5f16d040808cbb247b8dd4
Summary: React 16 is not compatible with react-emotion 9 (it prints warnings, see also https://github.com/emotion-js/emotion/issues/644). So we should upgrade to 10.
Reviewed By: mweststrate
Differential Revision: D18905889
fbshipit-source-id: c00d2dbbadb1c08544632cb9bfcd63f2b1818a25
Summary: For plugins to be discoverable through NPM, they need to have `flipper-plugin` as a keyword. This adds this keyword to all existing plugins (although they are currently not distributed via NPM) and the webside/docs.
Reviewed By: passy
Differential Revision: D17395079
fbshipit-source-id: e42dd31ca39c3754cf729052ee783687748bafe8
Summary:
JS pages first, then client pages.
Would be nice if we had some sort of separator, but I think you can only have two levels.
Reviewed By: danielbuechele
Differential Revision: D15198312
fbshipit-source-id: 6c9f8d8775f513a55c256366448faed13b671767
Summary:
* Renamed to "Client Plugin API" to align with the "JavaScript Plugin API" page.
* Added some more info and reworded some parts.
Reviewed By: danielbuechele
Differential Revision: D15198192
fbshipit-source-id: 2c86b6a852e9ed52b0885eb5b7db8436028489d5
Summary: Documents init in the API reference and deletes the now redundant communicating page.
Reviewed By: danielbuechele
Differential Revision: D15198128
fbshipit-source-id: a9b88632b74edd7d9656ed888192db1fbe7f3642
Summary:
* Made the code snippets uniform across languages.
* Renamed to "Providing data to plugins" because sending hints at sending across the desktop-client connection which is misleading.
Reviewed By: danielbuechele
Differential Revision: D15198081
fbshipit-source-id: e2c318cdc6055c191f47e846b518c26dd21e4a68
Summary: This documents all pretty much the entire API.
Reviewed By: passy
Differential Revision: D15187834
fbshipit-source-id: 073c6a0dc40e3373967e9e5c5b7d44ab9c0aa07f
Summary:
The purpose of this page wasn't that clear to me, though the content is pretty focused. I've changed it from JS setup to JS Plugin Definition, and reworded it a bit.
I think it makes sense if this specifies everything to do with plugins on the file system, and the next page talks about what you do in javascript.
Reviewed By: passy
Differential Revision: D15184829
fbshipit-source-id: 6335ebc8d4297ffcbf1ab9860b4f055fe5bbcf87
Summary:
This page got lost in the reorganisation. Adding it back.
There's still work to be done on the content and organisation of these docs.
Reviewed By: passy
Differential Revision: D15184349
fbshipit-source-id: 76256ba53189579bec363903dc4068a421cafc98
Summary:
Please give feedback on the sidebar placement.
This is only the Android part. I'll put up a second diff copying the iOS thing over
but hope someone can commandeer that and check for accuracy.
Reviewed By: priteshrnandgaonkar
Differential Revision: D15181454
fbshipit-source-id: d32081feefbfb0ffc38890e835a7d5f6b78667ab
Summary: We have a templated function not requiring a downcast, so there's no need to use the non-templated one.
Reviewed By: passy
Differential Revision: D15167856
fbshipit-source-id: 2f125ac9ca62d7ac4c633127104d1cd2954a13fb
Summary: adding code tabs for Android, iOS and C++ to improve readability of pages.
Reviewed By: jknoxville
Differential Revision: D15167691
fbshipit-source-id: e7f602a3a1cbe39ef5da0a15bb0bbfc8f79e8ccc
Summary: Describes the interface that clients should conform to to implement the layout plugin.
Reviewed By: danielbuechele
Differential Revision: D15166234
fbshipit-source-id: b86303f18f33762f09cfc503ece856cfcc887493
Summary: I can't take credit for this, I found it in the internal wiki. Have just modernised it and made it public.
Reviewed By: danielbuechele
Differential Revision: D15165547
fbshipit-source-id: d59344aa6ad47be6ab32b88abcdfc14a7d20c775
Summary:
Specifies the API for implementing your own Flipper Client.
I believe this provides everything you need to know to build a flipper-compliant client.
The only snag is that the current certificate exchange procedure would require a change to allow for new OS's, device types etc. It would be much better if we had a TLS-opt out so you don't need to go through all that rigmarole.
Reviewed By: passy
Differential Revision: D15150550
fbshipit-source-id: 2878dcc174807c3f86c0562660e8a3e43e5777b1