Summary: Preparation for making components live editable
Reviewed By: kevin0571
Differential Revision: D16379961
fbshipit-source-id: d0ea3d753eb588fe7b55f2345124427b4a5a58b5
Summary: Theadsafe Data Storage for new insets in CKInsetComponent
Reviewed By: kevin0571
Differential Revision: D16338091
fbshipit-source-id: 3b77652a4d08cfebce115a606af3fc3440a1aca0
Summary:
Fixed bug with live editing
Previously if the meaining of the value was changed in flipper you receive back same value as it was
Now you see correct changed value
Reviewed By: priteshrnandgaonkar
Differential Revision: D16162141
fbshipit-source-id: 1a68ea64603171e952382c5093470d2cc12f7bbe
Summary: Added a possibility to search for the text not only in name and id of components but also in text for all components, that conforms to a protocol <SKTextSearchable>
Reviewed By: priteshrnandgaonkar
Differential Revision: D16108297
fbshipit-source-id: 31da4ac6762c487ef644d62c9576d9eff43e8cd4
Summary:
`/*` is the standard throughout open source code. For example, Firefox uses single /*: https://hg.mozilla.org/mozilla-central/file/21d22b2f541258d3d1cf96c7ba5ad73e96e616b5/gfx/ipc/CompositorWidgetVsyncObserver.cpp#l3
In addition, Rust considers `/**` to be a doc comment (similar to Javadoc) and having such a comment at the beginning of the file causes `rustc` to barf.
Note that some JavaScript tooling requires `/**`. This is OK since JavaScript files were not covered by the linter in the first place, but it would be good to have that tooling fixed too.
Reviewed By: zertosh
Differential Revision: D15640366
fbshipit-source-id: b4ed4599071516364d6109720750d6a43304c089
Summary: Importing the extensions fixes the fact that responds to selector was returned false for `sonar_additionalDataOverride` selector
Reviewed By: priteshrnandgaonkar
Differential Revision: D15535414
fbshipit-source-id: ab465a1aab36cccd2129c5b0c29a7872dfd65015
Summary:
This solves the watch tab crash discussed here D15266478, which got reverted.
Bug: [Here](diffusion/FBS/browse/master/xplat/sonar/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm;57c596a566bec49e343af51b93df65ed1377a2b9$338), when the node is `CKComponentRootView` the `[descriptor childForNode: node atIndex: i]` returns `SKComponentLayoutWrapper`. In the next iteration of the loop, node is `SKComponentLayoutWrapper`, the `[descriptor childForNode: node atIndex: i]` returns `CKComponentRootView`, and hence the infinite recursion
I also tested T44431259, it is not regressed.
Reviewed By: passy
Differential Revision: D15451821
fbshipit-source-id: 25f10112f5f52bb1fa964316a4c7e91a3b29156d
Summary: This resolves a crash related to the contents of certain CKComponents, which was apparently introduced by D15266478
Differential Revision: D15406260
fbshipit-source-id: efd1ad1a1bcb41451c56b74c240ad2dca069deb0
Summary:
BUG:
{F158264042}
Context: The code entered an infinite loop till it crashed. In the implementation of `- (SKSearchResultNode *)searchForQuery:(NSString *)query fromNode:(id)node withElementsAlreadyAdded:(NSMutableSet<NSString *> *)alreadyAdded`, we recurse through the child. In the case when the view was `CKRootComponent` it created a `SKComponentLayoutWrapper` in the call to `[descriptor childForNode: node atIndex: i];`. This wrapper's descriptor used to return the very same view from which it was created when it's children were asked. So this led to an infinite loop.
Reviewed By: kfirapps
Differential Revision: D15266478
fbshipit-source-id: 8035209746b7cb4b8773e2fcbdd4c0a148191304
Summary: Add the affiliates bit that the linter is checking for.
Reviewed By: jknoxville
Differential Revision: D15164826
fbshipit-source-id: 500ffe89ec0c2fd3acfbc374408d16a337cecfa4
Summary: Now that we always build the component tree (CKTreeNode) in debug, we can just use the tree node identifier as the component identifier instead of creating a very long string.
Reviewed By: fabiomassimo
Differential Revision: D15046568
fbshipit-source-id: 4d83c1bee3fd7ac85ee4bd6e9f4f47812509e0c3
Summary:
- We cache the layout wrapper, but never used it actually.
- This should make the Layout plugin faster.
Reviewed By: fabiomassimo
Differential Revision: D15046463
fbshipit-source-id: b61f28d9a981e782b76abe78037d37665f7d8ba3
Summary: Remove ObjC categories so we can strip dead code
Reviewed By: kfirapps
Differential Revision: D14665041
fbshipit-source-id: 243dee61a5b7cfd854191bfb5fa3a570b4ac1a4b
Summary:
`CKComponentDataSourceAttachContrlller` doesn't have to be tied with datasource. It's totally legit to use it in hosting view as well.
Renaming it to `CKComponentAttachController` and move it to `Core` folder.
Reviewed By: priteshrnandgaonkar
Differential Revision: D14526150
fbshipit-source-id: f48a8d27a3bfa5170e22a397fe1b32e806bc3c55
Summary:
This diff does the following
- Support to export the entire view hierarchy for iOS
- Android is not supported yet
- This diff adds a call `getAllNodes` to the client side of iOS, which returns the entire view hierarchy
- Currently the search doesn't work on the imported layout plugin data. Also the imported layout plugin data doesn't expand the way it does when component is mounted, reason being the client passed to the plugin is not functional for the archived case
I will work on fixing the last points in the next diffs stacked on the current one.
For Android:
- Currently the export function will export whatever is currently displayed on the Flipper app, not the entire view hierarchy
Support for Android will also come up in later diffs.
Reviewed By: jknoxville
Differential Revision: D14209157
fbshipit-source-id: 3ad3e39edfd994913dc19cc239bfbbe011a9757c
Summary: Changes FlipperPerformBlockOnMainThread to take a responder, and respond with an error if an exception is caught.
Reviewed By: passy
Differential Revision: D14066982
fbshipit-source-id: 70135bf58171684bcd013c66d9deec366aed36f5
Summary: Previously an empty string would crash the flipper client. Now that we handled that ok, we can reenable the descriptors.
Reviewed By: jknoxville
Differential Revision: D13257534
fbshipit-source-id: 09be4834d5a7023b2fa4e2bee7e57e412916120b
Summary:
Bug report here: https://fb.facebook.com/groups/230455004101832/permalink/519062535241076/
This has broken layout plugin when NT components are used.
Removing the subdescriptors as a quick fix. At the moment, this means removing the new NT features.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13103790
fbshipit-source-id: 57c10a0a07507aaba0cd7a20d1b548470203f2f6
Summary:
We use this class to show an invisible overlay when using a sandbox. This shouldn't intercept hit tests.
Would be good to remove these FB-specific references from the OSS code, but since there's one already, will leave that for a separate diff.
Reviewed By: danielbuechele
Differential Revision: D13028248
fbshipit-source-id: df2eb83fd9c4b7547ede5dcb088e10a7d3d4f36b
Summary: took out dictionary implementation and passing string through NTSubDescriptor
Reviewed By: rohan-mehta
Differential Revision: D12961340
fbshipit-source-id: 73493b83b3b670eb3455148c0223972b0d25815a
Summary: Added NTSubDescriptor file which implements the SKSubDescriptor interface to pass all NT specific data to the Layout Component Descriptor.
Reviewed By: jknoxville
Differential Revision: D12840392
fbshipit-source-id: bff295e13e8531456428424b7e073aefe7e1ced4
Summary: Added separate subsections for ntData in objc - json string will be parsed on ios into correct subsections
Reviewed By: priteshrnandgaonkar
Differential Revision: D12817695
fbshipit-source-id: e1480303e121ceb537c47e6c30d328654ab91b8a
Summary:
This responder was added to android but not iOS, and was always being called during layout init.
Fixing by implementing it in iOS too.
Reviewed By: priteshrnandgaonkar
Differential Revision: D10489411
fbshipit-source-id: ef711dc5f54f52dd76db1245d07f9007fc846532
Summary: This diff updates layout plugin in Flipper to show the name of the Stateless component C function
Reviewed By: adamjernst
Differential Revision: D9907068
fbshipit-source-id: d10b43171383f11aca3c140bbb450db817576052