Commit Graph

86 Commits

Author SHA1 Message Date
John Knox
1d2793f701 Rename SonarWebSocket
Summary:
Part of Sonar -> Flipper rename.
It's about time this is renamed from *Websocket as well, since it doesn't use websockets anymore.

Reviewed By: passy

Differential Revision: D9919695

fbshipit-source-id: 78a63bfb7d5de19c093b7fb775d1426b4fc58f77
2018-09-24 06:03:51 -07:00
John Knox
5350d3ce7a Rename C++ SonarPlugin class
Summary: Part of sonar -> flipper rename

Reviewed By: passy

Differential Revision: D9917615

fbshipit-source-id: e59f43bf003d30ae6be4d95bc4a21c92ab39f732
2018-09-24 06:03:50 -07:00
Pritesh Nandgaonkar
22f37368ce Change the file name of SonarKitNetworkPlugin to FlipperKitNetworkPlugin
Summary: Renames the file name of SonarKitNetworkPlugin to FlipperKitNetworkPlugin

Reviewed By: passy

Differential Revision: D9972211

fbshipit-source-id: c092c75f0e1bab54cd247e3ae69449577453ec07
2018-09-21 03:45:54 -07:00
Pritesh Nandgaonkar
02ac3ff9cd Rename SonarKitNetworkPlugin
Summary: Renames SonarKitNetworkPlugin

Reviewed By: passy

Differential Revision: D9968092

fbshipit-source-id: 6d5b7761405be9b47e679510ce6fc7f2a84c308b
2018-09-21 03:45:54 -07:00
John Knox
9889df3f3c Rename SonarConnection to FlipperConnection
Summary: Part of Sonar -> Flipper rename

Reviewed By: passy

Differential Revision: D9907353

fbshipit-source-id: 01f7bb84da1c27fd68d608151f437a18b6eaaa4e
2018-09-20 17:06:54 -07:00
John Knox
3c656de7fa Rename SonarClient to FlipperClient
Summary: Part of the Sonar -> Flipper rename

Reviewed By: passy

Differential Revision: D9871902

fbshipit-source-id: 4b64953cb1a64235d47caaf0fabfb560bb85f7a2
2018-09-20 17:06:53 -07:00
John Knox
df8763e697 Move xplat/sonar/xplat/Sonar* to Flipper*
Summary:
Part of the Sonar -> Flipper rename
Intentionally left externally visible buck target as Sonar for now to minimize diff size.

Reviewed By: passy

Differential Revision: D9871684

fbshipit-source-id: 6926eb62c578a05cd895745c75ed7da3cfe965b5
2018-09-20 15:39:57 -07:00
John Knox
e1f4b73783 Delete Sample app Podfile.lock
Summary: It's not necessary for the sample app itself, and causes a lot of conflict trouble.

Reviewed By: passy

Differential Revision: D9971997

fbshipit-source-id: 99b822c7a317487d841b939bf99e0dedcc172d37
2018-09-20 11:13:34 -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
Pritesh Nandgaonkar
04efc06f6a Rename xcodeproj file
Summary: Renames xcodeproj file

Reviewed By: passy

Differential Revision: D9947704

fbshipit-source-id: 057d849c1b20ced228f43e42938f4fbffd1c1794
2018-09-20 04:45:35 -07:00
Pritesh Nandgaonkar
6ac6ac61e3 Rename SonarCppBridgingConnection to FlipperCppBridgingConnection
Summary: Renames SonarCppBridgingConnection to FlipperCppBridgingConnection

Reviewed By: passy

Differential Revision: D9946932

fbshipit-source-id: 58437feba9164453f0bed54f9f57a6e578dceb73
2018-09-20 04:45:35 -07:00
Pritesh Nandgaonkar
79b2cf712d Rename SonarResponder to FlipperResponder
Summary: Rename SonarResponder to FlipperResponder

Reviewed By: passy

Differential Revision: D9939713

fbshipit-source-id: 6792ec6529907ee98a070af9e26064bb5fcc07ef
2018-09-19 16:43:42 -07:00
Pritesh Nandgaonkar
da851bd7e6 Change modulename to FlipperKit
Summary: Change modulename to FlipperKit

Reviewed By: passy

Differential Revision: D9940793

fbshipit-source-id: ea3c6633c481e29fc192cea7465fe3a93cf28f87
2018-09-19 08:29:43 -07:00
Pritesh Nandgaonkar
ab00f3360e Rename SonarUtil file and method to Flipper
Summary: Rename SonarUtil file and method to Flipper

Reviewed By: passy

Differential Revision: D9920194

fbshipit-source-id: 3d1e360ccce613b7fbba10fb6b1fcaf0f15442a7
2018-09-19 04:58:21 -07:00
Pritesh Nandgaonkar
fdc4f7a5c8 Rename iOS SonarConnection to FlipperConnection
Summary: Rename iOS SonarConnection to FlipperConnection

Reviewed By: jknoxville

Differential Revision: D9916509

fbshipit-source-id: 7253ab37f5ab28dc8063fb6b3765afd1c2aee645
2018-09-18 11:59:27 -07:00
Pritesh Nandgaonkar
f970e60edd Rename iOS SonarPlugin to FlipperPlugin
Summary: Rename iOS SonarPlugin to FlipperPlugin

Reviewed By: jknoxville

Differential Revision: D9915094

fbshipit-source-id: ea2ca60ab578aca8c8f028e3deea4a3b9a48a63b
2018-09-18 09:58:08 -07:00
Pritesh Nandgaonkar
a488e34514 Rename iOS SonarClient to FlipperClient
Summary: Renamed `SonarClient` to `FlipperClient`

Reviewed By: passy

Differential Revision: D9861749

fbshipit-source-id: 3374e4297e49ac198a235babc92deb9d2dddc268
2018-09-18 08:58:10 -07:00
John Knox
9d9fa17134 Rename all The c++ JNI classes
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/272

Reviewed By: passy

Differential Revision: D9861432

Pulled By: jknoxville

fbshipit-source-id: 523b8fc28541b922bbcc0939514f4ddd0a3fc1b0
2018-09-18 07:27:28 -07:00
John Knox
a480be90a2 Rename facebook::sonar namespace
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/271

Reviewed By: passy

Differential Revision: D9861393

Pulled By: jknoxville

fbshipit-source-id: d65f751c35028748915023f33f273d6ec45863c8
2018-09-18 07:27:28 -07:00
Pritesh Nandgaonkar
bc3ccfce5d Flipper Release: v0.7.2
Summary: New Flipper Release

Reviewed By: passy

Differential Revision: D9850680

fbshipit-source-id: 50a8251fd2ddc2c6ca57f8a87ee1943f46f7559d
2018-09-17 05:57:32 -07:00
Pritesh Nandgaonkar
0ac03b74cc Flipper Release: v0.7.1
Summary: Flipper Release: v0.7.1

Reviewed By: jknoxville

Differential Revision: D9829332

fbshipit-source-id: fb8099a16d6bc3e68be7d0e69fdeb69281492ea6
2018-09-14 05:41:58 -07:00
Pritesh Nandgaonkar
27cbf7f995 Flipper Release: v0.7.0
Summary: New release

Reviewed By: passy

Differential Revision: D9789625

fbshipit-source-id: 799206eafa0db54bdcb67de3854dba395326de7c
2018-09-12 09:13:35 -07:00
John Knox
6f1e011a8b Don't use vendorID as deviceId
Summary:
Device Id needs to be the same for multiple apps on the same device. This isn't true for this attribute, which is specific to the vendor of the app.
Apple has deprecated the API that gives you the device Id, so we can't discover it in the SDK alone.

However, this isn't a problem because we have a similar issue on android, and now Flipper desktop gives each device it's own deviceId during certificate exchange.
Removing this incorrect one so it's never used as a fallback, which would cause flipper to think the app is on a different device than the one it's running on.

Reviewed By: danielbuechele

Differential Revision: D9700552

fbshipit-source-id: 5467f6cb7d1f941af9df09fc6a03dbe34e6575e5
2018-09-11 07:57:16 -07:00
John Knox
e51342c778 Fix Nan / Inf serialization issue
Summary:
Sonar was trying to convert folly dynamics containing NaN and Inf to json.
Folly doesn't allow this so we have to get rid of them before converting.

See https://fb.facebook.com/groups/230455004101832/permalink/483173632163300/ for more context.

`grep -r convertFollyDynamicToId fbsource/xplat/sonar` now returns results which all have `true` in the second parameter slot.

Reviewed By: danielbuechele

Differential Revision: D9570364

fbshipit-source-id: bf28b03e54b4987399e028a491d82451a8267d97
2018-08-30 04:27:49 -07:00
John Knox
f99ef6996e Summarise state in iOS diagnostics
Summary:
V1 ios diagnostics complete.

This change adds a new section to the ios diagnostics screen that shows the current state of each step required to get sonar working.
The logs (transitions between states) are displayed below it.

SonarClient.mm is technically involved in the UI, by converting enums to emojis, I don't like this
but didn't get obj-C working with C enums so have left it like this for now.

Reviewed By: priteshrnandgaonkar

Differential Revision: D9378212

fbshipit-source-id: 091ce00e898a8038c680555123640b90d753fc09
2018-08-28 04:14:01 -07:00
Pritesh Nandgaonkar
a0bb9e6fe5 Fix broken sample app
Summary:
This diff adds FlipperStateUpdateListener in public headers, as SonarClient.h depends on it and the sample app depends on SonarClient.h.

This diff fixes the compilation error for Sample and SwiftSample

Ideally travis should have caught it. Fix for travis is coming.

Reviewed By: jknoxville

Differential Revision: D9462177

fbshipit-source-id: e3e0ec90f9083294d4a131989ec0eaee02b52791
2018-08-22 12:57:33 -07:00
John Knox
e2575239f2 Add background color to iOS diagnostic screen
Summary:
Some apps have a default background color, for example black, making the diagnostic screen fully black.
Fix this by making sure the bg is always white so the text is readable.

Reviewed By: passy

Differential Revision: D9400682

fbshipit-source-id: a45744f833cb7fe5ca7db4dcdacc09f304670032
2018-08-21 12:43:02 -07:00
John Knox
d8e5e31c9a iOS: Update diagnostic screen on state update
Summary: Update the diagnostic screen whenever the sonar state changes.

Reviewed By: priteshrnandgaonkar

Differential Revision: D9218765

fbshipit-source-id: 654a35e309cb43df18bc8c8a645d469eddc1031d
2018-08-20 05:11:49 -07:00
John Knox
21888157df iOS: Add very basic diagnostic screen
Summary:
Adds an extremely barebones in-app screen for showing sonar diagnostics.
The UI is laughable, but it's wired up. Leaving proper design to a later commit.

Like in the android case, state is currently passed as a string, but will become something much more structured after this is in place.

Reviewed By: priteshrnandgaonkar

Differential Revision: D9218766

fbshipit-source-id: 4889ed79b928056a67b1e8cb8a40a9bd52e084f1
2018-08-20 05:11:49 -07:00
Pritesh Nandgaonkar
be4b45c703 Update Sample apps to refer local podspecs (#244)
Summary:
Before this PR, travis used to build sample app which used a tagged release of SonarKit and Sonar. So travis used to never check the source code in master branch. This PR, instead uses local podspecs, which refers to the local source code, and thus travis would be testing the local source code.
Solves #237
Pull Request resolved: https://github.com/facebook/flipper/pull/244

Reviewed By: passy

Differential Revision: D9394955

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 7109a8baaeb8ff7e14d19ebe1d7c3bcb7e4bebd2
2018-08-20 04:11:38 -07:00
Oleksiy Ivanov
6924416de8 Fix for compilation error about missing virtual destructor in GCDQueue (#236)
Summary:
error: destructor called on non-final 'facebook::sonar::GCDQueue' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
    __data_.second().~_Tp();
Pull Request resolved: https://github.com/facebook/flipper/pull/236

Reviewed By: passy

Differential Revision: D9351946

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 4718460ff587e1d5fa475a5f3bf115b1e2b5305f
2018-08-16 08:44:47 -07:00
Pritesh Nandgaonkar
ae0b8f6b53 Release 0.6.16 for iOS
Summary: Releases a new iOS version 0.6.16. After landing this I will release 0.6.16 tag on github

Reviewed By: danielbuechele

Differential Revision: D9194965

fbshipit-source-id: 13d5e346d6d34a7bf7b6dfb568ca622d97660132
2018-08-07 08:28:55 -07:00
Pritesh Nandgaonkar
128a837304 Update sonarkit podswith public header files for swift umbrella header
Summary: With the new swift support for network plugin, the sample swift app was not compiling as it didn't have the location of plublic header files

Reviewed By: danielbuechele

Differential Revision: D9194964

fbshipit-source-id: 210da3b4a921febc95a3ee8a6dc7788278c5db96
2018-08-07 08:28:55 -07:00
Pritesh Nandgaonkar
2f009882d3 Use tags instead of master branch for folly
Summary:
Prior to this diff the OSS sonar project depended on folly's master branch instead of tags, which is not good as things can break, which broke recently. So this diff adds the folly dependency thru tags to avoid any future failures.

This diff releases a new folly dependency which relies on a tag

Reviewed By: danielbuechele

Differential Revision: D9194966

fbshipit-source-id: 0a0956f0bd457e375fcbb86b3fec412aeb759a47
2018-08-07 08:28:55 -07:00
Pritesh Nandgaonkar
0c60347593 Swift support for NetworkPlugin (#201)
Summary:
Solves #173

- [x] Add plugins in the sonarkit xcodeproj so that its easy to debug
- [x] Get rid off the c++ in the headers
- [x] Add example to hit network requests and validate

Have a look at the screen shot below ️

<img width="1677" alt="screen shot 2018-08-02 at 12 46 07 pm" src="https://user-images.githubusercontent.com/3865908/43581809-22efe4fe-9652-11e8-9424-f279d07c5c81.png">
Pull Request resolved: https://github.com/facebook/flipper/pull/201

Reviewed By: danielbuechele

Differential Revision: D9132157

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 2b425506961f02eb2bf629c2bcab0da6e7ce5bb0
2018-08-06 12:43:13 -07:00
Pritesh Nandgaonkar
3d66b1c9d0 Fix for iOS Cocoapods default config (#205)
Summary:
Solves #203

- [x] Sample Objc and Swift apps now have default configs(i.e non-recursive header search paths)
- [x] Fix for the cocoapods default config by adding FBMacros.h file in `Core` subspec
- [x] Updated the Spec(0.6.15) so that 0.6.15 works for default configs
- [x] Updated the doc
Pull Request resolved: https://github.com/facebook/flipper/pull/205

Reviewed By: passy

Differential Revision: D9148358

Pulled By: priteshrnandgaonkar

fbshipit-source-id: e6d32d9cde7b100573bd9a9996f0ec850b269d28
2018-08-03 07:12:47 -07:00
Pritesh Nandgaonkar
0b47fb4a09 Remove internal plugins 2018-08-03 11:07:06 +01:00
Pritesh Nandgaonkar
0b0f59f096 Move SKTigonNetwork internal plugin to xplat
Summary: Moves SKTigonNetwork internal plugin to xplat leaving behind a stub buck target in litho

Reviewed By: passy

Differential Revision: D9082339

fbshipit-source-id: d98eeef4e64458586403c01937f6d48ad82e27aa
2018-08-02 08:13:38 -07:00
Pritesh Nandgaonkar
d2708d4982 Release 0.6.15 with a fix which broke the release
Summary: Release 0.6.15

Reviewed By: danielbuechele

Differential Revision: D9117554

fbshipit-source-id: 1096705c8d9b25c36df4b824d70c0c49fd6c50af
2018-08-01 06:55:59 -07:00
Pritesh Nandgaonkar
a5585aa7e7 Add FBMacros file (#198)
Summary:
It was deleted in one of the previous commit and it broke the build
Pull Request resolved: https://github.com/facebook/flipper/pull/198

Reviewed By: passy

Differential Revision: D9117234

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 72d9d58a11683b8a51732b3f735ef1326ce56794
2018-08-01 06:55:58 -07:00
Pascal Hartig
221cdda89d Manual fixup
fbshipit-source-id: 7b80c41ca68324f067b6c6796f59f14101a2c643
2018-07-31 14:20:42 -07:00
Pritesh Nandgaonkar
10dc4d0ca9 Change the mention of Sonar in iOS sample app
Summary: Update the iOS sample app with flipper

Reviewed By: passy

Differential Revision: D9056882

fbshipit-source-id: f5b49fc60905c6d5ebca3da977cf966e76feffb8
2018-07-31 14:02:58 -07:00
Pritesh Nandgaonkar
d931a563d1 Version bump to 0.6.14
Summary: Version bump 0.6.14

Reviewed By: passy

Differential Revision: D9081956

fbshipit-source-id: 165f051bb762b00080a3447ac336031bdae01d39
2018-07-31 09:56:15 -07:00
Noah Gilmore
68789e7c96 Fix Obj-C and Swift builds which are broken in v0.6.13 (#192)
Summary:
9f807c introduced a new subspec in SonarKit.podspec, which caused Cpp header files to be included in `SonarKit-umbrella.h`, causing all non-ObjC++ project integrations to fail to build (see #190 for more info). SirArkimedes and I investigated this today and found the fix:

1. Make the `CppBridge` subspec's header files private
2. Add a hack to make Cocoapods copy `FBMacros.h` into `{PODS_ROOT}/Headers/Public/SonarKit`, since otherwise `#import "FBMacros.h"` in `SonarKit-umbrella.h` will fail to resolve in out-of-the-box projects.

I've put up a branch [here](https://github.com/noahsark769/sonar-testing-example-projects/tree/working_reference) which pulls the pod from this branch and verifies that the fix works.

Fixes #190
Pull Request resolved: https://github.com/facebook/Sonar/pull/192

Reviewed By: passy

Differential Revision: D9049420

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 9383016975607e897085323d64ad44a068199918
2018-07-31 09:56:15 -07:00
Pritesh Nandgaonkar
6c78895b2a Move SampleSwift project to xplat
Summary: Move SampleSwift project to xplat

Reviewed By: passy

Differential Revision: D8989867

fbshipit-source-id: cfda775ec3919d5c689aaf6846a870a2653c47a6
2018-07-26 05:21:43 -07:00
Pritesh Nandgaonkar
2155c7799f Publish 0.6.13 to private repo (#186)
Summary:
Publishes 0.6.13 to private repo
Solves  #181
Pull Request resolved: https://github.com/facebook/Sonar/pull/186

Reviewed By: passy

Differential Revision: D8991760

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 3081cfd947d4bfea1defe75903cfa14cce442b19
2018-07-25 09:37:39 -07:00
Pritesh Nandgaonkar
9f807cd0df Move core sonarkit code to xplat
Summary:
This diff only moves the core of sonarkit to the xplat.

- This diff uses `fb_xplat_cxx_library` as a buck rule in xplat as it is the recommended way
- Updated few imports in the files which were not compiling with new buck function
- Due to the new way of import the OSS would break, so fixed it by changing the `podspec` file

Reviewed By: passy

Differential Revision: D8937414

fbshipit-source-id: 6e12cd049bedb496e7a6820be85b2535e70ba09b
2018-07-25 01:43:23 -07:00
Eldad Moneta
333ceac957 convertFollyDynamicToId - Don't crash if illegal value is return in one of the conversions
Summary:
Fixing T31692652.
I couldn't reproduce this on my local tests - (tried non-utf chars, deleted memory, onverted vectors that are erased).
My guess - an illegal string cannot be converted to NSSString and thus we return nil when the folly::dynamic type is STRING.

See task for additional details.

Reviewed By: nubbel

Differential Revision: D8952714

fbshipit-source-id: c87af523efca1b96a4cf3d5d26fa5c16ed5cd773
2018-07-24 06:48:26 -07:00
Noah Gilmore
8177675465 Initial support for using Sonar in Swift projects (#106)
Summary:
This PR adds support for using SonarKit clients in Swift apps. Fixes #13, fixes #87

1. Swift can't import Obj-C modules which have C++ headers. For this reason, we use SonarKit as an Obj-C++ wrapper around Sonar, which is written in C++. Due to search path misconfiguration, trying to import SonarKit into a Swift project would import `xplat/Sonar/SonarPlugin.h` instead of `iOS/SonarKit/SonarPlugin.h`, which caused `file not found` errors for C++ stdlib imports like #28 because new projects don't have their search paths set up correctly.
2. The network and layout plugins have C++ definitions (struct methods, classes) in some of their headers. This causes the compiler to get confused for Swift projects, because it only supports importing Objective-C files in umbrella headers, meaning that the `SonarKit` won't build.

1. I updated the `HEADER_SEARCH_PATHS` of SonarKit.podspec's build configuration to include `${PODS_ROOT}/Headers/Private/SonarKit/**` first, which alleviates the search path issue. The Obj-C `Sample` project seems to have worked around this by including a hardcoded `${PODS_ROOT}/SonarKit/**` search path in the pbxproj, which is why Sample works but new projects (like those referenced in #28) don't. I removed this since it's no longer necessary.
2. I added a `SampleSwift` app to demonstrate using Sonar with a Swift project.
3. Because the Podfiles for `Sample` and `SampleSwift` referenced podspecs using `:podspec` instead of a concrete version, Cocoapods wouldn't copy local header files (instead, it downloads them from the source). To enable local development of these sample apps using `:path`, I added a symlink to SonarKit.podspec in the root of the directory.
4. I changed SonarKit.podspec to use a tag-based `source`, since v0.0.1 pulls from the master branch of this repo.

The layout and network plugins still don't work with Swift - in order to fix this, we'll need to work on extracting the C++ out of their headers and writing Obj-C++ wrappers for them. I decided to push this off to a later PR since this one is quite large already.

This means that we need to be able to `import SonarKit` without importing all the network/layout plugin headers. In order to make this work, I made "SonarKit/Core" the spec's `default_subspecs`.

priteshrnandgaonkar, let me know if you have any thoughts on this implementation. You can verify that the SampleSwift app works by checking out this branch, `pod install`ing in the SampleSwift directory, and building it :)

![image](https://user-images.githubusercontent.com/1168853/41928625-ac195bd8-792a-11e8-82b8-65d6233a1fbb.png)
Pull Request resolved: https://github.com/facebook/Sonar/pull/106

Reviewed By: jknoxville

Differential Revision: D8890010

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 449305bcc5cbeb5787c23f51b1ecb80a5cbdad32
2018-07-20 04:33:52 -07:00