Commit Graph

39 Commits

Author SHA1 Message Date
Roman Gorbunov
f2bc5d3fb2 Generic solution for live editing
Summary: Preparation for making components live editable

Reviewed By: kevin0571

Differential Revision: D16379961

fbshipit-source-id: d0ea3d753eb588fe7b55f2345124427b4a5a58b5
2019-07-25 04:03:03 -07:00
Roman Gorbunov
89911acd84 Made a DataStorage for live editing in flipper
Summary: Theadsafe Data Storage for new insets in CKInsetComponent

Reviewed By: kevin0571

Differential Revision: D16338091

fbshipit-source-id: 3b77652a4d08cfebce115a606af3fc3440a1aca0
2019-07-25 04:03:02 -07:00
Roman Gorbunov
cf1347d2e3 Fixed bug with flipper live editing
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
2019-07-10 12:13:15 -07:00
Roman Gorbunov
8b2a886c19 Fixed a bug with accessibility button
Summary:
Fixed a bug with accessibility button
Now it's pressable

Reviewed By: kevin0571

Differential Revision: D16165294

fbshipit-source-id: 9c6ea464f2faa149aa78c0534c51a0f58bd249ad
2019-07-10 11:40:03 -07:00
Roman Gorbunov
7551b6da04 Added search in text of some components
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
2019-07-08 03:43:55 -07:00
John Knox
b0f44d9a9b Add accessibilityIdentifier to iOS layout attributes
Summary: Apparently useful for debugging e2e tests which reference accessibility Identifiers

Reviewed By: passy

Differential Revision: D15874161

fbshipit-source-id: b6a71a8474b52546bd825c0d13c1487688c7a30e
2019-06-18 09:40:19 -07:00
Rain ⁣
aa649ff48f standardize C-like MIT copyright headers throughout fbsource
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
2019-06-06 19:40:28 -07:00
Oleksii Dykan
cb79b3b9ba Fix layout plugin for CKFlexboxComponent and CKInsetComponent
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
2019-05-29 04:59:13 -07:00
Pritesh Nandgaonkar
7576e1c61d Fix watch tab bug
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
2019-05-23 03:50:11 -07:00
Pritesh Nandgaonkar
0a514c3618 Back out "[Flipper] Use the tree node idenitifer as the component identifier"
Summary:
Original commit changeset: 4d83c1bee3fd

BUG:

{F159187385}

Reviewed By: passy

Differential Revision: D15415247

fbshipit-source-id: 6209a2c9c2b5da6b9405bf01e3cb7622b3431475
2019-05-20 09:46:50 -07:00
Jonathan Ballerano
bcc05296ef Back out "Fix the crash in the watch tab"
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
2019-05-17 22:42:35 -07:00
Pritesh Nandgaonkar
821232a9c6 Fix the crash in the watch tab
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
2019-05-10 09:53:18 -07:00
Pascal Hartig
bbee7a3357 Update iOS license headers (and more)
Summary: Add the affiliates bit that the linter is checking for.

Reviewed By: jknoxville

Differential Revision: D15164826

fbshipit-source-id: 500ffe89ec0c2fd3acfbc374408d16a337cecfa4
2019-05-02 03:28:07 -07:00
Kfir Schindelhaim
b78dbb75b2 Use the tree node idenitifer as the component identifier
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
2019-04-26 10:15:02 -07:00
Kfir Schindelhaim
1c35b705eb Use the cached layout wrapper if it exists
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
2019-04-26 10:15:02 -07:00
Kfir Schindelhaim
c764322c1a Layout plugin integration for reused nodes information
Summary:
- Expose the reused component counter into the layout plugin

https://pxl.cl/wVJf

Reviewed By: priteshrnandgaonkar

Differential Revision: D14952906

fbshipit-source-id: 784a02dbf44d80d95fdd3a804f58ecd0f51a3e1f
2019-04-26 10:15:02 -07:00
Kevin Lin
7f20c34e34 Remove unneeded TODO
Summary: Remove unneeded TODO.

Reviewed By: priteshrnandgaonkar

Differential Revision: D14882889

fbshipit-source-id: cbcb26bb90a315b5c36f4573bfcb416b8a0b4c46
2019-04-11 03:50:49 -07:00
Pritesh Nandgaonkar
8a19a859f2 Update Componentkit, Yoga, YogaKit
Summary: Fixed the broken master for flipper iOS  oss

Reviewed By: jknoxville

Differential Revision: D14686908

fbshipit-source-id: abdcacf279449f83c98d1635c65ff8759ee17926
2019-04-01 06:59:59 -07:00
Andrey Mishanin
a0e0b434ee Removed UIView (CKComponentAttachController)
Summary: Remove ObjC categories so we can strip dead code

Reviewed By: kfirapps

Differential Revision: D14665041

fbshipit-source-id: 243dee61a5b7cfd854191bfb5fa3a570b4ac1a4b
2019-03-28 09:23:41 -07:00
Kevin Lin
deef14d3a2 Rename CKComponentDataSourceAttachController to CKComponentAttachController
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
2019-03-20 06:09:22 -07:00
Pritesh Nandgaonkar
af317eed2b Export and import all the nodes
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
2019-02-28 09:40:50 -08:00
John Knox
9b6db1f482 Respond on exceptions thrown when on main thread
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
2019-02-14 06:24:38 -08:00
Scott Wolchok
6d4728c41f Rename FB_LINK_REQUIRE to FB_LINK_REQUIRE_CATEGORY
Reviewed By: adamjernst

Differential Revision: D13577664

fbshipit-source-id: 6a81e097840ccc66f55641990ad63729345b49e2
2019-01-08 16:53:06 -08:00
Daniel Abramowitz
0f5cee4fec Reenable SubDescriptors after fixing a bug on the flipper client dealing with empty strings
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
2018-11-30 10:50:32 -08:00
John Knox
ed93c98313 Disable subdescriptors to fix layout plugin
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
2018-11-16 11:33:04 -08:00
John Knox
57235131fc Prevent overlay class from being target-selected
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
2018-11-13 03:54:22 -08:00
Dimple Jethani
aa6d6ccb9b sending www string through ntsubdescriptor
Summary: took out dictionary implementation and passing string through NTSubDescriptor

Reviewed By: rohan-mehta

Differential Revision: D12961340

fbshipit-source-id: 73493b83b3b670eb3455148c0223972b0d25815a
2018-11-07 15:20:05 -08:00
Pritesh Nandgaonkar
2e9489d426 Remove unwanted import (#315)
Summary:
- [ ] Solves the broken travis
Pull Request resolved: https://github.com/facebook/flipper/pull/315

Reviewed By: jknoxville

Differential Revision: D12903152

Pulled By: passy

fbshipit-source-id: c349e451fd62f50d07814b86ff3e52cc5bdda10f
2018-11-02 09:59:54 -07:00
Dimple Jethani
aa979b8abd Added NTSubDescriptor files and SKSubDescriptor interface
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
2018-11-01 14:43:48 -07:00
Dimple Jethani
f153eedd3e add xhp tags on nt primitives
Summary: Adding xhp tags of <:nt:object> to reduction trace elements

Reviewed By: priteshrnandgaonkar

Differential Revision: D12818285

fbshipit-source-id: 4729ecc84dd1c31242c48fc6195ba05cdbb58e59
2018-10-29 12:04:06 -07:00
Dimple Jethani
e19489fbcb parsing JSON string for NTData subsections
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
2018-10-29 11:29:28 -07:00
Dimple Jethani
a2c4c98feb Added nt stack trace param in SKComponentLayoutDescriptor
Summary: Added stack trace param in layout node descriptor

Reviewed By: priteshrnandgaonkar

Differential Revision: D10850248

fbshipit-source-id: 0d647c773528f40a349b6738ecfafed0f22df193
2018-10-26 18:53:25 -07:00
John Knox
4eaf76ecf2 Fix isSearchActive crash in wilde
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
2018-10-23 05:54:25 -07:00
Pritesh Nandgaonkar
588d61efc6 Rename SonarKitLayoutComponentkitsupport
Summary: Rename SonarKitLayoutComponentkitsupport

Reviewed By: passy

Differential Revision: D10029301

fbshipit-source-id: c87717d431ce2603e31bf3c25add40f90eb76609
2018-09-25 13:47:38 -07:00
Pritesh Nandgaonkar
790296ae18 Rename SonarResponderMock
Summary: Renames SonarResponderMock

Reviewed By: passy

Differential Revision: D10027566

fbshipit-source-id: d0aea826641d2fd2b0f73daec01544766fd3848b
2018-09-25 13:08:13 -07:00
Pritesh Nandgaonkar
f7aef49d8a Rename SonarConnectionMock
Summary: Renames SonarConnectionMock

Reviewed By: jknoxville

Differential Revision: D10026707

fbshipit-source-id: eb1be0ad5fa53ab1fc6ca0c7e8482bb61521daeb
2018-09-25 13:08:13 -07:00
Pritesh Nandgaonkar
ef6ee6281f Rename SonarKit tests and testutils folder
Summary: Renames SonarKit tests and testutils folder

Reviewed By: passy

Differential Revision: D10017892

fbshipit-source-id: 0725e061ee2c6baa77a3d80af36375e08d9f415e
2018-09-25 13:08:13 -07:00
Oleksii Dykan
c0982ea1db Add stateless component info in Flipper
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
2018-09-20 07:27:42 -07:00
Pritesh Nandgaonkar
ba7b43a547 Rename SonarKitLayoutPlugin to FlipperKitLayoutPlugin
Summary: Renames SonarKitLayoutPlugin to FlipperKitLayoutPlugin

Reviewed By: passy

Differential Revision: D9949785

fbshipit-source-id: 8cfde4dfad3e34038d2f66f0ce4393db9d83ef60
2018-09-20 04:45:35 -07:00