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/1400
Reviewed By: mweststrate
Differential Revision: D22739816
Pulled By: nikoant
fbshipit-source-id: 7d098b8b99ea764cecde720eb607337e2d354895
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/1371
Reviewed By: nikoant
Differential Revision: D22502894
Pulled By: passy
fbshipit-source-id: a9a7fded3fac39810e9cec327be9fb5c3c8e4ef9
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/1324
Reviewed By: mweststrate
Differential Revision: D22389097
Pulled By: passy
fbshipit-source-id: 54e4d43c85298f0e7929ce33ff67c3e2e2327a49
Summary: This field is going to be removed in a subsequent version of the struct. Showing it is not that important, so let's just remove it.
Reviewed By: kevin0571
Differential Revision: D22335170
fbshipit-source-id: 0916927ee30757678f847cd0f826caa1d4a6c7cc
Summary:
Converted the Seammammals plugin to use Sandy plugin infra (but the old components). Also updated lock file.
Added unittests have been added as well. The UI snapshots in there are kinda overkill, but nice demo that it works.
This completes the full roundtrip of the new Sandy infra, so this will be the last diff of this stack. I promise. I think.
Reviewed By: nikoant
Differential Revision: D22308265
fbshipit-source-id: 260e91a1951d486f6689880fe25281e80a71806a
Summary:
`CKComponentAccessibilityContext::operator==` can be extremely expensive; it may invoke the `accessibilityLazyTextBlock` for its `CKComponentAccessibilityTextAttribute` members, and that can do a lot of string construction.
I could refactor this to make it cheaper, e.g. by migrating to a function-pointer-and-context-object approach. But the easiest thing to do is to simply remove it; I don't think it's meaningfully used.
Reviewed By: kevin0571
Differential Revision: D22322108
fbshipit-source-id: 82a0548d6dd28ec4adf2f3ba85705eabf665d100
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/1295
Reviewed By: mweststrate
Differential Revision: D22233104
Pulled By: passy
fbshipit-source-id: b98e49249b9783fe4170232eadba9060b7686743
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/1272
Reviewed By: mweststrate
Differential Revision: D22117092
Pulled By: jknoxville
fbshipit-source-id: 3129f35f33958045860203071902f38767ff2a06
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/1237
Reviewed By: mweststrate
Differential Revision: D21971388
Pulled By: nikoant
fbshipit-source-id: 0a2c91d537833c8560da1bb3fc257d2e9fbdf122
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/1221
Reviewed By: passy
Differential Revision: D21863090
Pulled By: priteshrnandgaonkar
fbshipit-source-id: c6b06a6dbc7039ef099462028f37a1761c6e071b
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/1177
Reviewed By: passy
Differential Revision: D21642302
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 7019861e07e0a467eb40cb5d1cf1e109466e38f9
Summary: Discovered in https://fburl.com/h6eczhr2; the highlight didn't get removed correctly. This was from [this method](https://fburl.com/diffusion/twur28gt), which must be called on main thread to be executed completely.
Reviewed By: jknoxville
Differential Revision: D21629318
fbshipit-source-id: cfc52ac755a1ddfe92e675aac1a81066ce338bd7
Summary:
Encountered when trying to build the sample app on iOS. Seemed `initWithComponentProvider` is now for Swift only and cannot be called in Objective-C.
Change to call `initWithComponentProviderFunc` instead
Reviewed By: passy
Differential Revision: D21629319
fbshipit-source-id: bf39f67ad22259b9c72694e43c507f8869e7bf22
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/1158
Reviewed By: priteshrnandgaonkar
Differential Revision: D21550463
Pulled By: passy
fbshipit-source-id: 190b52bf2657603f9b6a037df5942ca17de4c0a3
Summary:
This reverts D21285438 and patches some holes in the layout invalidation routines.
(I tried to use `didAddSubview:` and `willRemoveSubview:` but those are annoying for other reasons; for example, `willRemoveSubview:` can be called from within `dealloc` which is surprising. Also they still don't catch the case where subviews are being reordered.)
Reviewed By: Andrey-Mishanin
Differential Revision: D21512129
fbshipit-source-id: 1d9e8dac9333eddfae2309d446ef4de9e83220d6
Summary:
If you're going to swizzle, you have to be very careful to call the original version of the swizzled method!
The blame diff for this regression is D21285438.
In this case we would fail to call `swizzle_removeFromSuperview` if the view being removed was a child of a window. Thus the view would never be removed.
In practice, this manifested as `UITransitionView` instances being left around. These would block taps, leading to developer reports of unresponsive UI.
Reviewed By: priteshrnandgaonkar
Differential Revision: D21509692
fbshipit-source-id: e400c55232c44e9cd3f478eb2b456222c0bc6576
Summary: Similar to D21040424 and D21040426.
Reviewed By: Andrey-Mishanin
Differential Revision: D21335955
fbshipit-source-id: 5e8326915e54647c77fb241ad2ed4eaa55d0cfe2
Summary:
Similar to D21040429, we need to add data sent to Flipper desktop so that we can use to retrieve necessary data.
~~The implementation is different; storing **all** component data is needed because the plugin refers to it when asked for information. This might cause an issue because we need to store more data. However, due to the sparseness of data at a single touch, this shouldn't cause any OOM.~~
Implementation Detail:
- `FlipperKitLayoutPlugin.mm`
- When the process finishes the tree returned is trie from root node to every node that is touched
- `SKTouch.m`
- `_nodeStack` keeps track of path from root to current component
- `_treeStack` keeps track of current prefix tree (trie)
- `continueWithChildIndex` takes care of logic for `_nodeStack` and `_treeStack`
Reviewed By: Andrey-Mishanin
Differential Revision: D21335956
fbshipit-source-id: 84c0cabd7399abe50cf2deaff2b01149a1a792d5
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/1141
Reviewed By: passy
Differential Revision: D21440678
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 616c083237b23807d152db59a7a223f53bc45028
Summary:
Currently user’s are being told to add a definition of the `FB_SONARKIT_ENABLED` macro and examples, including those in stock React Native templates, set this for the user by making use of a `post_install` hook in the user’s `Podfile`. This leads to confusion, fragile code [when a user’s project dir structure deviates from vanilla], and is ultimately not necessary as CocoaPods already has dedicated mechanisms to:
* specify build settings (through the `xcconfig` property);
* and selectively include certain pods only in certain build configurations (e.g. debug).
Finally, this PR also includes a commit [to fix the current builds](https://github.com/facebook/flipper/pull/1086/files#r418526812).
## Changelog
> Entirely control Flipper being enabled through inclusion in Podfile and optionally limiting to certain build configurations using the `:configuration` directive.
Pull Request resolved: https://github.com/facebook/flipper/pull/1086
Test Plan: I have built and ran the Sample application, as well as used this version of Flipper with a new RN app built from `master`.
Reviewed By: passy
Differential Revision: D21381828
Pulled By: priteshrnandgaonkar
fbshipit-source-id: edf6dae28eb02336a49e8230654d6186360ea8d6
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][1]
[1]: https://github.com/peter-evans/create-pull-request
Pull Request resolved: https://github.com/facebook/flipper/pull/1110
Reviewed By: priteshrnandgaonkar
Differential Revision: D21399344
Pulled By: passy
fbshipit-source-id: ee3435d19593c93566737bbe16252a8d4863fffa
Summary:
Before this diff the nodes were not invalidated properly when the new view got added in the hierarchy, due to this there was following bug.
https://our.intern.facebook.com/intern/px/p/15RSP
Reviewed By: Andrey-Mishanin
Differential Revision: D21285438
fbshipit-source-id: b72aa93856688b31296ae1df4f15e128037aa1ca
Summary: This diff commits Podile.lock, once this diff gets landed I will add a github action to automatically raise a PR with the updated Podfile.lock
Reviewed By: cekkaewnumchai
Differential Revision: D21348940
fbshipit-source-id: e3bcdb8699442aa8d3092d9517c332eeb9c02981
Summary:
Add support for io_uring based async read/recvmsg
(Note: this ignores all push blocking failures!)
Reviewed By: kevin-vigor
Differential Revision: D21208891
fbshipit-source-id: 21b3b5e0f201e982ecb50a284d03ab53413ec3e3
Summary: Added in D14209157, but the JavaScript no longer ever calls this method.
Reviewed By: jknoxville
Differential Revision: D21290792
fbshipit-source-id: df1969d83f0dc096a24977c15c27100d2f2bdfc0
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: Currently subdescriptors are *always* rendered. Allow them to return `nil` to signal that they don't need to be rendered.
Reviewed By: cuva
Differential Revision: D21157249
fbshipit-source-id: 68a83424efc50723e1ec71c069feef8e10037671
Summary:
Before this diff, Flipper showed *leaf* views created by ComponentKit, but not any intermediate views. Now we show both.
A new node type `SKComponentMountedView` is used for this purpose. Its descriptor `SKComponentMountedViewDescriptor` mostly delegates to its view's descriptor, but redirects back into ComponentKit for children.
Reviewed By: Andrey-Mishanin
Differential Revision: D21130997
fbshipit-source-id: b3c12ea7cc1200962b3ba7c269c48d68b1809948
Summary:
This change makes it possible to remove preferences. I also added a `Delete` context menu option to `DataInspector` because I needed it to implement this feature. passy confirmed that it makes sense to add this because delete is a common action.
Fixes https://github.com/facebook/flipper/issues/451
Pull Request resolved: https://github.com/facebook/flipper/pull/1018
Reviewed By: jknoxville
Differential Revision: D21086308
Pulled By: passy
fbshipit-source-id: 551ff0908d5e6c93f58d6012b42e1ee3531de997
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: Component classes do not reflect the source of the component anymore.
Reviewed By: fabiomassimo
Differential Revision: D20595754
fbshipit-source-id: 645a63f78ee6aaaf75ac0c1e08bf67229a3f906b