Summary:
This diff bumps `hramos/needs-attention` to `v2.0.0` & `actions/checkout` to `v3`
- `hramos/needs-attention@v2.0.0` is a `latest` **BREAKING** release with a number of improvements made by Pranav-yadav i.e. ***me*** 😎
### Major Improvements:
`hramos/needs-attention@v2.0.0`:
- Bump `Node.js` to `v16`
- Bump `actions/checkout` to `v3`
- Add **TypeScript**
- Generate and publish **fully compiled** dist (with deps) instead of `node_modules`
### Ref.:
- Full Changelog for `v2.0.0`: https://github.com/hramos/needs-attention/releases/tag/v2.0.0
- Marketplace `v2.0.0`: https://github.com/marketplace/actions/needs-attention?version=v2.0.0
## Changelog:
[GENERAL] [SECURITY] - [Actions] `issues` - Bump `hramos/needs-attention` to `v2.0.0` & `actions/checkout` to `v3`
Pull Request resolved: https://github.com/facebook/flipper/pull/4862
Test Plan: - Workflow should add and remove respective labels as usual.
Reviewed By: lblasa
Differential Revision: D47017048
Pulled By: passy
fbshipit-source-id: ebc70e2c64e1d782977da96863d9b9969a453551
Summary:
This diff switches to `dtolnay/rust-toolchain@stable` since `actions-rs/toolchain` is **NOT maintained** and bumps `actions/checkout@v3.5.3`
> **Note**:
> `uses: dtolnay/rust-toolchain@stable`
> The selection of Rust toolchain is made based on the particular `rev` of this Action being requested. For example `dtolnay/rust-toolchain@nightly` pulls in the `nightly` Rust toolchain, while `dtolnay/rust-toolchain@1.42.0` pulls in `1.42.0`.
### Ref.:
- `actions-rs/toolchain` is **NOT Maintained**, issue:
https://github.com/actions-rs/toolchain/issues/216
- `dtolnay/rust-toolchain@stable` usage note: https://github.com/dtolnay/rust-toolchain#example-workflow
- `actions/checkout@v3.5.3` changelog: https://github.com/actions/checkout/releases/tag/v3.5.3
## Changelog:
[GENERAL] [SECURITY] - [Actions] `packer` - Switch to `dtolnay/rust-toolchain@stable` & bump `actions/checkout@v3.5.3`
Pull Request resolved: https://github.com/facebook/flipper/pull/4878
Test Plan: - Workflow should run and work as usual.
Reviewed By: lblasa
Differential Revision: D47056977
Pulled By: passy
fbshipit-source-id: 68023fcce355831314af2f31d514ed95efb7788c
Summary:
Usage tracking comes from Electron's `main.tsx`. There's a timer that dispatches an IPC event every 60 seconds.
This is all good for Electron builds.
For non-electron builds, there's no such thing as IPC.
So, react to the IPC event whenever necessary but also handle the interval internally such that usage is tracked independently of explicit callers.
Reviewed By: antonk52
Differential Revision: D47053404
fbshipit-source-id: f17694e65eed18678b45a2e815813bafab69c3f1
Summary: A transition period of 2 years should be enough.
Reviewed By: LukeDefeo
Differential Revision: D47053216
fbshipit-source-id: c9f9bfbff82a05942d408b325088095a6069cced
Summary: Im concerned that we are gettign disconnected without realising, this should help with the logs
Reviewed By: lblasa
Differential Revision: D47053321
fbshipit-source-id: 1014a3e856517e234f0f79f2a4692f18397fc457
Summary: This will hopefully be useful for prod debugging where we have users with no data,
Reviewed By: lblasa
Differential Revision: D47053328
fbshipit-source-id: 37ecce885ebd93bf2ffdd67cf49cf33255dda429
Summary:
This just adds a link next to each request in the Flipper GraphQL plugin to take you to the mobile GraphQL efficiency tool. We want this to be a kind of hub for mobile devs using GraphQL, alongside GraphiQL.
This was a suggestion from a product dev who attended our demo. Later we could also pull down actually efficiency info and show it directly in Flipper.
Reviewed By: ginfung
Differential Revision: D47029548
fbshipit-source-id: 05185e57bfbfaab9169a6b154822ede82d50fd4d
Summary:
PerformanceStatsEvent declares the metrics we track for performance.
DynamicPerformanceStatsEvent is a new type which extends it by allowing arbitraty key/value pairs to be reported and visualised.
Reviewed By: antonk52
Differential Revision: D47023248
fbshipit-source-id: fadfad79561fca9ae48d0668da3cc62f0d0391d8
Summary: Add an entry to the sample app to showcase Jetpack compose support. Note that you need to enable View Attribute Debugging in the Android Debug settings for this to work.
Reviewed By: lblasa
Differential Revision: D46933645
fbshipit-source-id: fbe2ddd50ef0e7917ef873959db5b3f35b833cf0
Summary: Build the jetpack compose plugin with gradle and export it to Maven.
Reviewed By: lblasa
Differential Revision: D46932689
fbshipit-source-id: cca0468bae7e6a324430aab548613aa1fdb61bf2
Summary: Move the jetpack plugin to a location that will get exported to GitHub. It won't get built as part of Gradle just yet.
Reviewed By: lblasa
Differential Revision: D46932691
fbshipit-source-id: 5837bbb2f31aad4221ee745fd145b91b2783d7fe
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/4850
Quick drive-by change to avoid falling that far behind again as we did before the last Sustainathon.
Reviewed By: antonk52
Differential Revision: D46859127
fbshipit-source-id: 91fe675fc16ea66544920eeea070b344fa66340a
Summary:
Currently we surface the difference in plugin type to the user. However, it doesn't make much sence to the user as they primarily care about the plugins being enabled or not. Thus merging device plugins (always enabled) and enabled plugins sections.
I wasn't sure if I should also merge the metro plugins section due to some metro specific hints. So I left it as is.
Reviewed By: lblasa
Differential Revision: D46971125
fbshipit-source-id: 0bb667c3b2f5576e5704dae29b03cfd631c38ad2
Summary:
A few enhancements:
1. we use the component name when using big grep search and looking up in codehub instead of big grep search
2. diffusion renamed to code hub
Differential Revision: D46934805
fbshipit-source-id: c818b2937256cbeaabfdfc0a191706ebdecb716b
Summary:
Create the step as an attempt.
Remove conditionally marking it as success or failure as connect will not be done 'synchronously' moving forward.
:::notes:::
Documentation is for personal use and will be removed next.
Reviewed By: passy
Differential Revision: D46850048
fbshipit-source-id: d6dce961d5cbd767f428e58850d24a433d50ba14
Summary: Not really part of the connect process in this case, so is getting moved closer to where the CSR is generated.
Reviewed By: passy
Differential Revision: D46849966
fbshipit-source-id: b91e2925552cd7fcab67b3d1d7af006f4f8c1431
Summary:
Sometimes iOS can return active child -1, which is causing some crashes on desktop, (see the tasks) this is a client bug but the desktop shouldnt crash none the less
seems to occur only sometimes only on fboios
Reviewed By: lblasa
Differential Revision: D46894387
fbshipit-source-id: f9c34fe8fb32691486455224f82bed9c3dce6cef
Summary: This was a temporary variable which is not really needed, so remove.
Reviewed By: passy
Differential Revision: D46849864
fbshipit-source-id: 56fb52f9a80128fb746afcdc4d36225e6d596db2
Summary:
The event handler is a friend type that was mutating the connection manager state.
Instead, just forward the event handling to it.
Then state mutation is consolidated inside the connection manager.
Reviewed By: passy
Differential Revision: D46849769
fbshipit-source-id: 594ab32c8e891564afa94e1be6b93b1dfeffe26f
Summary:
we need to wrap the bloks layout in a debug variet in order for flipper to work. See this diff for context D45605120
We are now using wether flipper is connected at all which is much more reliable.
Reviewed By: lblasa
Differential Revision: D46854921
fbshipit-source-id: 1b3baef2681ccce50fd452044cd3f740c256b0a9
Summary: Expose the newly created `isConnected` API to Android FlipperClient API.
Reviewed By: LukeDefeo
Differential Revision: D46841260
fbshipit-source-id: 1512e54d28779ef62423aa52727fed3a34d00333
Summary: Expose the newly created `isConnected` API to iOS FlipperClient API.
Reviewed By: antonk52
Differential Revision: D46841190
fbshipit-source-id: c36eb08427d60c73fad8f92100df5d012149b4a8
Summary:
Expose a new API to be used to check if there's an open connection with Flipper Desktop.
Changelog: new FlipperClient isConnected API
Reviewed By: antonk52
Differential Revision: D46841095
fbshipit-source-id: 82a60f52496fb218cb50c6a28d7ffe7225ae23aa
Summary: Previously there was no way to get of this state
Reviewed By: aigoncharov
Differential Revision: D46803900
fbshipit-source-id: 2eb0eb41b58064659ef1d2cff245a2b8d7e2f261
Summary: There was an issue with cropping introduce by virtualisation and the position of the scroll view in the hierachy. Its a bit fragile but it works now.
Reviewed By: lblasa
Differential Revision: D46761831
fbshipit-source-id: ce001c6f4fe7ddc111edf0098f75a1273c84472d
Summary: Now the tree is virtualise the dom based scrolling effect doesnt work. Instead have to reimplement the search on the raw data and use the virtualiser to scroll, this isnt idea but it is still very fast and we can use this to later implement the browser style 4/8 results with ability to page through them.
Reviewed By: aigoncharov
Differential Revision: D46760491
fbshipit-source-id: 9c9b9961f084b39f86fd2aa94ab8e33ca476788b
Summary:
Following feedback from https://fb.workplace.com/groups/443457641253219/permalink/587444816854500/
When pressing left arrow and is already collapse goes to parent, when pressing right arrow and is expanded will go to first child. this mimics behaviours in mac os and other ides.
Also refactored kb scroll to use row virtualiser instead of dom refs
I also fixed the kb scroll hijacking, previously we were using a setTimeout, if you held a key down for a long time then the timeout would fire and the mouse enter event would briefly fire causing the hover position to jump. I now use a more robust approach were we just reserve the focus input for 250ms from the keyboard input, each time the key is held this reservation is extended slightly.
Changelog: UIDebugger, pressing left arrow jumps to parent after collapse. Pressing right arrow enters after expand. Similar to file browsers in IDES
Reviewed By: aigoncharov
Differential Revision: D46760448
fbshipit-source-id: da45d81056aa070be84b2db972400d650b86a172
Summary:
Removed previous memoization approach as it was causing issues and very inconsistent perf increase due to the indent guides often causing half the tree needed to rerender.
New approach is using react virtual. Its very fast in all cases including initial render off the wire. It does require 2 hacks.
1) React virtual requires you to explicitly size your parent component. In all the examples they have a height in px. This doesnt really work given we can resize the window. To mitigate this I added a grandparent component that is sized correclty with flexbox, then i use a layout effect to grab the height from the grandparent ref and set it to the scroll parent ref
2) Due to the implementaion of react virtual the width of the items in the tree is not correct. By default all the content overflows the box and the box doesnt grow automatically to fill the content. I think this is due to absolute positioning which breaks all the normal layout engine rules. The fix is to get the scrollWidth of the parent scroll view. (scrollWidth is the width of the element including overflow) and then set it via the refs we have on the tree item elements. This is also done in a layout effect.
changelog: UIDebugger virtualized UI to improve rendering performance
Reviewed By: aigoncharov
Differential Revision: D46724776
fbshipit-source-id: 75a6d35542066bd788aa4536481dedc72f667fc1
Summary:
There were a small number of styles / attributes that were missing, this addresses this.
Similar to the bloks minification map there are some special hardcoded reserved ids, if that doesnt work then you can look into a special place for each style
I also refactored the transform metadata method as it was getting very nested and hard to understand.
Reviewed By: aigoncharov
Differential Revision: D46799392
fbshipit-source-id: 8de8a2740f45ddb23a1bc9abb7bb36f969cf1fbb
Summary:
`setProcessState` does some adjusting to PATH. This was only ever done for Electron.
This change moves that functionality to FlipperServerImpl which is the one what orchestrates. By doing this, flipper server also benefits from getting these adjustments.
Reviewed By: antonk52
Differential Revision: D46836659
fbshipit-source-id: f98291d320cf9b7f3808223af8745c068b1318ce
Summary: Add a check to prevent the odd error when the box is no longer available to display an error.
Reviewed By: antonk52
Differential Revision: D46763634
fbshipit-source-id: 6ac2c404c842ff989b037c991b5f085baacd2f9a
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/4836
Reviewed By: lblasa
Differential Revision: D46756889
Pulled By: passy
fbshipit-source-id: 8151a079e6a80a7bdd729bb836cdfeb6cc331994