Summary:
A few comments in my rewrite stack got missed, I am addressing them here.
In addition react testing library has been hoisted to the root module in the project and been made available to all sub modules
Reviewed By: mweststrate
Differential Revision: D37712339
fbshipit-source-id: 60984c3d16bd535b0c489570907f097c7d80f634
Summary:
Bootcamp task:
I’m removing the remaining UI components imported from ‘flipper’ and replacing with new ones from ‘antd’.
I’m also attempting to polish 🇵🇱 the UI and UX of the plugin:
UI:
- Selecting one of the listed sandboxes and custom URL lead to the same action -> align all components together
UX:
- Sometimes loading sandboxes takes time, and it’s not clear for the user what’s happening -> add a loading indicator
- At first the input field was a bit confusing to me -> add more labels to explain the purpose of visible components
- It’s not always clear what happened after requesting a sandbox change -> the result of all actions is now confirmed with the small 'popup' notification.
I don't have any experience with web frontend, so if something is terribly wrong below - don't be afraid to point it out :)
Before/After:
{F745958473}
Reviewed By: mweststrate
Differential Revision: D37343946
fbshipit-source-id: 3dbdd213ffd5540dc7a418c1590eb956ef4c6715
Summary: Use BasDevice definition from flipper-frontend-core in flipper-ui-core and remove the redundant definition from flipper-ui-core
Reviewed By: lblasa
Differential Revision: D37234785
fbshipit-source-id: 6e768090a197c1d2c49cb1cd573acea12fb65d24
Summary: This stack attempts to start using flipper-frontend-core from flipper-ui-core. Currently, flipper-frontend-core contains lots of copy-pasted code from flipper-ui-core.
Reviewed By: lblasa
Differential Revision: D37139198
fbshipit-source-id: 042db7492c550e10ea72c32fd15001c141bf53f9
Summary:
CHANGELOG: Refactor tic-tac-toe plugin to Sandy architecture
Sandy architecture unblocks using the plugin in a headless mode. Eventual goal - platy tic-tac-toe form a terminal
Reviewed By: passy
Differential Revision: D36513795
fbshipit-source-id: 5a967a325cfb52cc3ae72840240b22b0a4e8f031
Summary:
As part of an ongoing effort to migrate Flipper plugins to new Sandy arch, this diff aims to help by migrating the 'Sandbox' Plugin.
Most of the changes were straightforward, as in, could be done by following this excellent migration guide : https://www.internalfb.com/intern/staticdocs/flipper/docs/extending/sandy-migration/
Only thing which caused few issues was the "onready" behaviour. In the old pattern, the 'init' method used to get executed on every render. So it was ok to check for "isconnected" prop there.
Now the 'plugin' method is only executed once => and since the device might not be connected then, the "onReady" method (which is equivalent to old 'init' method) didn't work.
To fix this => the init method has been replace with "onConnect".
Reviewed By: lblasa
Differential Revision: D36284538
fbshipit-source-id: 4b2bf74c6d11625e4bd784fbb29fd270158a41ff
Summary:
Next steps:
1. Refactor it TS for consistency
2. Remove it in favor of tic-tac-toe integration
Reviewed By: mweststrate
Differential Revision: D36102002
fbshipit-source-id: 7dc930f67bed636159a2ec433d7405ab6ee09f97
Summary:
Remove reference to limitation of an API to a particular platform or app.
We show in Flipper whether the plugin is compatible or not. For example, if an iOS device is connected, for plugins that don't support iOS, Flipper marks them as disabled and show a message.
Reviewed By: lblasa
Differential Revision: D36241811
fbshipit-source-id: 4f936279c8dd616fc95a4e6c3e149a0b74b98bd6
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: mweststrate
Differential Revision: D36197861
fbshipit-source-id: b73787f04892d3f76938929ef84943f2031657e1
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: passy
Differential Revision: D36198283
fbshipit-source-id: 499133cc7265488203a248da2d1e519fc23a0d19
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: mweststrate
Differential Revision: D36197599
fbshipit-source-id: 6fad2066d64f1f191b32639e1f36c24e103a91fb
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: mweststrate
Differential Revision: D36198043
fbshipit-source-id: 961d9b535f0869ae3db3bbdfcbc33be43773edd6
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: passy
Differential Revision: D35898254
fbshipit-source-id: 67e3f3e344faf105f5a8f393c60441d6af3d62aa
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: passy
Differential Revision: D35897472
fbshipit-source-id: 4b3853cd805c8714c83a8d227395dec8e3ff888f
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: passy
Differential Revision: D35899228
fbshipit-source-id: 4ade5b28f1634e792fcf4582fe163d02e2f4fab4
Summary:
^
Not exactly sure how to reproduce the issue. Having said that:
- A database id is a non-zero number (1..n)
- If there's no selected database and/or there's no databases, then selectedDatabase is '0', which is an invalid database id.
- It is safer to check if the selected database id falls within bounds before attempting to obtain the tables from it.
From Logview, if the database id is '0', which is invalid, then we attempt to access a database at index -1 (database[selectedDatabase - 1]) which is definitely invalid. The returned object is undefined and hence the error.
Changelog: Fixes an issue on the databases plugin when there is no selected database.
Reviewed By: mweststrate
Differential Revision: D35810827
fbshipit-source-id: 4c9f112eebcd0aa3fcd5df316749f48f3922381c
Summary: Show tab bar in React DevTools to allow switching to Profiler
Reviewed By: nikoant
Differential Revision: D35747309
fbshipit-source-id: ca7e65fdd30261aabc5f05fe10b451c115a92b7f
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: nikoant
Differential Revision: D35579752
fbshipit-source-id: c06ac9a812b244a9ace5c829df5c347d450f5e3b
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: nikoant
Differential Revision: D35579365
fbshipit-source-id: cb04b5e839b3d4ae74c4a20dd4a2fadd853d4181
Summary: Restyle of the page, including changes to spelling, grammar, links, and structure (where relevant).
Reviewed By: nikoant
Differential Revision: D35581050
fbshipit-source-id: 8ebe9a18e997653c2bb5062150f0de9cf9741116
Summary: Restyle of the page, including changes to spelling, grammar, lins checks, and structure (where relevant).
Reviewed By: jknoxville
Differential Revision: D35578704
fbshipit-source-id: 65a36631af2369e6483db05f139431d043638c65
Summary:
- Support loading globally installed DevTools
Background:
1. Initially, I wanted to use react-devtools-core as before. react-devtools-core standalone contains quite a few imports of node.js APIs. After [a conversation with Brian](https://fb.workplace.com/groups/react.devtools/permalink/3131548550392044), I pivoted to react-devtools-inline
2. Technical design doc of react-devtools-inline integration: https://docs.google.com/document/d/1STUSUhXzrW_KkvqSu7Ge-rxjVFF7oU3_NbwzimkO_Z4
3. We support usage of globally installed devtools. Code of react-devtools-inline is not ready to be used by the browser as is. We need to bundle it and substitute React and ReactDOM imports with the globals.
4. As we can't pre-compile what users install globally, we need to bundle global devtools on demand,
5. I tried re-using our Metro bundling pipeline initially, but gave up after fighting it for 2 days. Included, `rollup` instead.
6. Size of a `tgz` archive with a plugin is 2.1MB
allow-large-files
Reviewed By: mweststrate
Differential Revision: D34968770
fbshipit-source-id: 352299964ccc195b8677dbda47db84ffaf38737b
Summary:
Changelog: Migrate from react-devtools-core to -react-devtools-inline
Technical design doc: https://docs.google.com/document/d/1STUSUhXzrW_KkvqSu7Ge-rxjVFF7oU3_NbwzimkO_Z4
At this point, React DevTools doe snot support globally installed DevTools. Only the bundled version. The support for the globally installed DevTools comes in the subsequent diffs along with on-the-fly transpilation.
Reviewed By: mweststrate
Differential Revision: D34926472
fbshipit-source-id: fde1d4cf386adfbf8a8581ee5a54e950d2cb34ef