Commit Graph

83 Commits

Author SHA1 Message Date
Lorenzo Blasa
e9c0a459dd Remove connection timeout
Summary:
This change mainly removes the connection timeout period as it may introduce a race condition in which slow server connections get terminated potentially creating connection loops.

Also, suspend and wait for all operations to complete once a socket is disconnected.

Reviewed By: ivanmisuno

Differential Revision: D43048252

fbshipit-source-id: 64c28a3d3d2fd4e065084d5f55a17444385c07e0
2023-02-07 05:55:11 -08:00
Lorenzo Blasa
2ba167f899 Back out "Clear handlers on disconnect"
Summary:
^

Revert as to validate this is not causing regressions: T143523262

Reviewed By: passy

Differential Revision: D42800560

fbshipit-source-id: 8db61454eabfdb259637bb97c2bb4754984ecf6f
2023-01-27 04:07:37 -08:00
Lorenzo Blasa
764e94503e Clear handlers on disconnect
Summary:
A few changes that should make our connect/disconnect more robust:

* Certificate provider handler should be set directly to and managed by the policy.
* Instantiate the socket once, synchronously on the connect method. Explicit deallocation once, synchronously on the disconnect method.
* Clear handlers on disconnect after clearing the delegate.
* Wait for the operation queue to drain before returning.

Reviewed By: passy

Differential Revision: D42664724

fbshipit-source-id: bd482acbb64a9bc9e36fb3418d4c81afa2109305
2023-01-23 03:45:59 -08:00
Lorenzo Blasa
8dd5b57444 Diagnostic controller improvement
Summary:
The diagnostics controller is not the best crafted UIViewController. It has many things that should be improved.

- This diff just sets the background of the root view to white. At least, that will ensure that its text content is always shown if the screen background happens to be black (same as font colour).
- Correct offset calculation, used for scrolling. Effectively, only set it if the content to be displayed no longer fits in the scrollview viewport.

Reviewed By: LukeDefeo

Differential Revision: D41876904

fbshipit-source-id: e2a89d8f6001e5b626c8df1d0832e77783999b81
2022-12-13 09:49:46 -08:00
Lorenzo Blasa
1406e291ee Send with raw parameters
Summary:
On Android we already had an API to send raw arguments i.e. raw json as params.

This just adds feature parity on iOS.

Reviewed By: LukeDefeo

Differential Revision: D41433777

fbshipit-source-id: abd47f987b9e2b451100e81acf6fea61cd876807
2022-11-28 09:45:53 -08:00
Marcelo Lopez Ruiz
b7c38556ce Name the Flipper scheduler/threads
Summary:
Plumbs through an optional name for FollyScopedThreadScheduler.
This allows the threads to be named in XCode/lldb.

Differential Revision: D38582449

fbshipit-source-id: 1de50d25c0f91e7003cf81cb22faf4b10a8e23a8
2022-08-10 21:21:39 -07:00
John Knox
485083750e Fix NPE in ios sdk
Summary: Haven't been able to repro this, but from the stack trace it seems like this NSData object is null in some cases: https://www.internalfb.com/logview/details/instagram_ios_crashes/d0e929eae516ec48380518380cfca9f5/?selected-logview-tab=Employee+Traces

Reviewed By: lblasa

Differential Revision: D37995141

fbshipit-source-id: 937217a7a5b1c7cc992f3f9ca5dc3a7e31165d1c
2022-07-21 05:34:07 -07:00
Ruslan Latypov
88bf980b8e fix more imports
Summary:
There are many files across fbobjc relying on -include_pch and therefore they miss Foundation.h and UIKit.h includes. This diff was generated by a codemod and fixes these missing includes.
More details on the missing imports https://fb.workplace.com/groups/929548250966094/permalink/981237982463787/

Changelog: [Internal]

Reviewed By: yannickl

Differential Revision: D37282740

fbshipit-source-id: 0f419025b3cf2f811e96ff464cb19e8e5a25aa09
2022-07-19 12:53:11 -07:00
Ruslan Latypov
e43884cf11 fixing more imports
Summary: Some files relying on -include_pch and therefore they miss Foundation.h and UIKit.h includes. This diff is fixing missing imports

Reviewed By: rmaz

Differential Revision: D37140239

fbshipit-source-id: bc57921e0c8365e0e9a5a571d607ba40ff1b31f3
2022-06-14 13:37:04 -07:00
Lorenzo Blasa
e44cad5e99 Partially remove dependency on folly async
Summary:
This change isolates the usage of folly async from Flipper. Is now self-contained in Flipper Folly schedulers.

Users of Flipper can decide not to use the types defined in that header and implement their own.

NOTE: changes are minimal, we are just replacing direct calls to folly event base with a scheduler which simply relays this on to folly.

Reviewed By: fabiomassimo

Differential Revision: D36626483

fbshipit-source-id: add0241caf4af0aa5c3b5c2e7efc2e725f5400ab
2022-05-25 15:58:05 -07:00
Billy Ng
3804ccf898 Revert D36052198: Partially remove dependency on folly async
Differential Revision:
D36052198 (ade685c621)

Original commit changeset: 170d64a324a1

Original Phabricator Diff: D36052198 (ade685c621)

fbshipit-source-id: 69d2b18e70a6267667432d6ed9dc1c5bc545b417
2022-05-12 18:47:41 -07:00
Lorenzo Blasa
ade685c621 Partially remove dependency on folly async
Summary:
This change isolates the usage of folly async from Flipper. Is now self-contained in Flipper Folly schedulers.

Users of Flipper can decide not to use the types defined in that header and implement their own.

NOTE: changes are minimal, we are just replacing direct calls to folly event base with a scheduler which simply relays this on to folly.

Reviewed By: fabiomassimo

Differential Revision: D36052198

fbshipit-source-id: 170d64a324a1f1f100224e2622a59cbac3c8b642
2022-05-12 17:56:17 -07:00
Lorenzo Blasa
63dde6e5cf Exceptions
Summary:
Flipper doesn really use library specific exceptions throughout, and that's OK.

Introducing SSLException as a replacement for the existing Folly Async Socket SSL exception.

This exception originally thrown by rsocket. Because we had rsocket and websockets using the same code, websockets were creating and throwing this same exception.

With rsocket gone, we can fully replace the usage of that exception. This is also needed as to decouple Flipper from folly async components.

Reviewed By: fabiomassimo

Differential Revision: D36245624

fbshipit-source-id: f5c97c5efe063280ce95be130008dee7f4e5d788
2022-05-12 09:16:13 -07:00
Lorenzo Blasa
3826f2c8ef Refactor endpoint verification prior to connection
Summary:
^

There's a similar issue/request for Android. So, this change moves the code out from the FlipperKit into Flipper as to be able to reuse it.

Reviewed By: aigoncharov

Differential Revision: D35961745

fbshipit-source-id: aa255db582a7852dc06c2feaba389d1dac3b0f67
2022-05-03 11:24:17 -07:00
Lorenzo Blasa
7d392ade29 Diagnostics UI (Dark mode)
Summary:
^
In dark mode, the logs were not visible as font color is white, same as the background color of the label explicitly set to white.

Don't set it to white (unless the text color is changed as well).

Reviewed By: antonk52

Differential Revision: D36015027

fbshipit-source-id: bf37546a13e4a2153f7307ddeebddb23f27f4403
2022-04-28 14:42:50 -07:00
Lorenzo Blasa
f1fe66afd9 Use a dispatch queue for websocket operations
Summary:
This diff ensures that all operations on the socket are put into a serial background queue, including delegate callbacks.

All operations are executed asynchronously except disconnect, which is made synchronous as to guarantee no resources are accessed after the call.

Reviewed By: fabiomassimo

Differential Revision: D35254499

fbshipit-source-id: 33d93926f7bfc8948095c59f12ca31f0a932b8ae
2022-04-12 02:30:02 -07:00
Lorenzo Blasa
30a1d09a83 Dealloc safety improvement
Summary:
From a different diff, it was pointed out that calling methods on self are discouraged:

Generally you want to avoid calling methods on self in dealloc because it allows you to accidentally capture references to self in dealloc, which leads to zombies.

In this case, a disconnect effectively invalidates a timer and disconnect the underlying socket. Both take place either way when the members are deallocated too. The only thing is not done is notify the caller via the event handler of a close event.

In our case, the caller actually manually disconnects before deallocating so this is not an issue.

Reviewed By: fabiomassimo

Differential Revision: D35547600

fbshipit-source-id: 9b5b9892b657a69585943613bc81344b38dbef30
2022-04-12 02:30:02 -07:00
Lorenzo Blasa
fd2d7bc1a4 Attempt to socket connect before establishing websocket connection
Summary:
^

Changelog: Check if there's a process listening at the specified port before attempting to establish a websocket connection on iOS

Reviewed By: fabiomassimo

Differential Revision: D35546817

fbshipit-source-id: 92ccca9afd8bcdc6d79205cc277ac813e0999166
2022-04-11 07:03:51 -07:00
Lorenzo Blasa
9aed8ce02d Remove RSocket
Summary:
^
Changelog: Remove rsocket dependency for iOS

Reviewed By: aigoncharov

Differential Revision: D33656299

fbshipit-source-id: aab00c425976273112a127e06aca82dfd63194eb
2022-02-25 02:02:24 -08:00
Scott Kyle
c15605afd3 Fixes for Mac Catalyst
Summary: When building for Mac Catalyst, it mostly appears as if it's targeting iOS (`TARGET_OS_OSX` is `0`) and the behavior should be aligned with iOS Simulator builds.

Reviewed By: lblasa

Differential Revision: D34413681

fbshipit-source-id: 1e56bbb3f16f8cd78e77771ff641c5cfcbc49955
2022-02-23 09:22:15 -08:00
Dominik Pich
9703a68423 surpress unused error for retainedData as it is deliberate to delay its deallocation
Summary:
this diff ignores an used variable error as it is deliberate
xcode 13.3 doesnt like that

see:
https://www.internalfb.com/intern/testinfra/diagnostics/5066549669072759.844424981821815.1644949594/

Note: feel free to commandeer for better fix!

Reviewed By: d16r

Differential Revision: D34259729

fbshipit-source-id: 7c6ba4129a83a6f82981e927744c3a36046d88df
2022-02-16 15:48:54 -08:00
Lorenzo Blasa
c2f3607d03 remove rsocket fallback for mobile clients
Summary:
^
Note: this is already a working case. The difference is that if we are unable to establish a socket connection, we will not attempt to create one using rsocket.

Changelog: Removes rsocket-fallback for mobile clients

Reviewed By: nikoant

Differential Revision: D33655430

fbshipit-source-id: cb6f752f2d1354ab46d011b1f19c89520e1e7dd3
2022-02-15 04:56:17 -08:00
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00
Edward Pastuszenski
64df212cd3 Support iOS FlipperConnection send with array parameters
Summary: Achieving API parity with C++ and Android.

Reviewed By: lblasa

Differential Revision: D31921830

fbshipit-source-id: 873901107fc3c53166fa7bbaaff65ebdb0e53c2a
2021-10-28 14:58:36 -07:00
Lorenzo Blasa
b60eaf5fe6 Move the serialiser to Flipper
Summary:
This change moves the existing serialiser from FlipperWebSocket to FlipperURLSerializer.

The serialiser can be shared with Android as it no longer has any iOS dependencies.

Reviewed By: fabiomassimo

Differential Revision: D31571272

fbshipit-source-id: 0769b384d4143d7404fcfcf993d49dc1b00eeffd
2021-10-15 02:34:35 -07:00
Lorenzo Blasa
5944002c4c Base64 encoding using OpenSSL
Summary: This change adds a function to base64 encode. It is used to encode the CSR which gets added to the connection url.

Reviewed By: passy

Differential Revision: D31570706

fbshipit-source-id: 8356550fe87ae3ac6aae8616744a9339cf69b511
2021-10-14 11:23:29 -07:00
Lorenzo Blasa
799d88275e Remove WebSocket delegate before closing
Summary:
This change removes ourselves as a delegate before closing.

SocketRocket uses its own internal async queue to perform most operations.

After a disconnect, we don't expect to receive any more delegate calls as the handlers may contain references which may have become invalid.

So, removing ourselves as delegates will ensure that we don't get called after a disconnect.

For sanity, we are also taking a copy of the message handler instead of a reference to it.

Reviewed By: briantkelley

Differential Revision: D31360721

fbshipit-source-id: bae5a2423757cd9064ffac28afb8b78c28a20d87
2021-10-03 01:17:54 -07:00
Lorenzo Blasa
cf1d579462 Manual disconnect on deallocation and do not clear message handler or message received
Summary:
Trigger a manual disconnect on deallocation. This was done automatically for us when the underlying socket gets released. But, this gives a bit more visibility and control onto exactly when this is going to take place.

Additionally, do not clear the message handler when a message is received.

It is not required as sendExpectResponse is one time called only used for certificate exchange. If this takes place again, a new handler will be set anyway.

Reviewed By: passy

Differential Revision: D31231828

fbshipit-source-id: 36ad13564a358b88d1618e94195fe05433d80993
2021-09-29 07:44:11 -07:00
Lorenzo Blasa
12865fd0bc Connect and disconnect on the current thread and dispatch events on the connection events handler
Summary:
Addresses an issue with the connect and disconnect sequence.

Both, connect and disconnect should be performed 'synchronously' instead of being queued in the connection event thread.

Events should be queued in the connection event thread instead.

Reviewed By: passy

Differential Revision: D31195525

fbshipit-source-id: c15487ea163dd277dacee0e5669944ac6971355f
2021-09-27 09:29:20 -07:00
Lorenzo Blasa
3dacf5a7c9 WebSocket as default socket provider
Summary:
This change makes WebSockets the default for Flipper on iOS.

Having said that, we are introducing some logic to deal with clients connecting to older Flipper Desktop versions.

The mobile client will first attempt to connect via WebSocket with the Desktop. This connection can either be secure or insecure. If that fails, it will attempt to connect via RSocket.

Connection failure logic:
The mobile client will attempt to connect up-to 3 times via a WebSocket. If it fails to connect, then the socket provider is switched to RSocket.

As before, the mobile client will attempt to connect up-to 3 times via a RSocket. If it fails to connect, then the socket provider is switched back to WebSocket.

Process repeats until a successful connection is established.

Some logs that can be seen from iOS:

   2021-09-15 14:31:51.193503+0100 Sample[92026:92107440] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed
   2021-09-15 14:31:51.878257+0100 Sample[92026:92107440] [connection] nw_socket_handle_socket_event [C1.1:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:52.553729+0100 Sample[92026:92107440] [connection] nw_socket_handle_socket_event [C1.2:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:52.899511+0100 Sample[92026:92107442] [connection] nw_connection_get_connected_socket [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection
   2021-09-15 14:31:52.899664+0100 Sample[92026:92107442] TCP Conn 0x600001d384d0 Failed : error 0:61 [61]
   2021-09-15 14:31:57.120120+0100 Sample[92026:92107439] [connection] nw_socket_handle_socket_event [C2.1:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:57.141785+0100 Sample[92026:92107439] [connection] nw_socket_handle_socket_event [C2.2:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:57.151604+0100 Sample[92026:92107483] [connection] nw_connection_get_connected_socket [C2] Client called nw_connection_get_connected_socket on unconnected nw_connection
   2021-09-15 14:31:57.154312+0100 Sample[92026:92107483] TCP Conn 0x600001d7c0b0 Failed : error 0:61 [61]
   2021-09-15 14:31:59.206079+0100 Sample[92026:92107483] [connection] nw_socket_handle_socket_event [C3.1:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:59.236824+0100 Sample[92026:92107483] [connection] nw_socket_handle_socket_event [C3.2:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:31:59.251927+0100 Sample[92026:92107439] [connection] nw_connection_get_connected_socket [C3] Client called nw_connection_get_connected_socket on unconnected nw_connection
   2021-09-15 14:31:59.255963+0100 Sample[92026:92107439] TCP Conn 0x600001d1c210 Failed : error 0:61 [61]
   2021-09-15 14:32:01.291303+0100 Sample[92026:92107439] [connection] nw_socket_handle_socket_event [C4.1:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:32:01.312406+0100 Sample[92026:92107439] [connection] nw_socket_handle_socket_event [C4.2:1] Socket SO_ERROR [61: Connection refused]
   2021-09-15 14:32:01.323099+0100 Sample[92026:92107483] [connection] nw_connection_get_connected_socket [C4] Client called nw_connection_get_connected_socket on unconnected nw_connection
   2021-09-15 14:32:01.326028+0100 Sample[92026:92107483] TCP Conn 0x600001d7c0b0 Failed : error 0:61 [61]
   flipper: Failed to connect with the current socket provider
   flipper: Use legacy socket provider
   flipper: FlipperClient::onConnected

Reviewed By: passy

Differential Revision: D30900471

fbshipit-source-id: 7c242ad71306803b050d0174fc22696bb74fdba5
2021-09-23 05:22:23 -07:00
Lorenzo Blasa
1390bf4a33 Define alt ports for web socket connections
Summary:
The changes below add the notion of alternative ports to Flipper.

These alternative ports are meant to and will be used to connect via WebSocket instead of RSocket. The name does not suggest that as to make as generic as possible so that they can be reused for different purposes in the future.

Reviewed By: passy

Differential Revision: D30898874

fbshipit-source-id: 5eed8c61b41b502c859192aaac59c284b7b36228
2021-09-15 07:59:55 -07:00
Lorenzo Blasa
89886c972b Back out "Revert D30371791"
Summary: This change reverts a revert. The change was reverted for 'unrelated' issues addressed on this diff dependencies.

Reviewed By: passy

Differential Revision: D30696113

fbshipit-source-id: 8591d6ea79999597024c316e9927a346979e5219
2021-09-13 06:15:38 -07:00
Pascal Hartig
f87dfdfea0 Read port configuration from UserDefaults
Summary:
This allows us to configure a simulator to use a non-default port pair by using the `defaults` mechanism. For instance, this can be done by running

```
xcrun simctl spawn booted defaults write "Apple Global Domain" "com.facebook.flipper.ports" -string "9088,9089"
```

Reviewed By: lblasa, timur-valiev

Differential Revision: D30731874

fbshipit-source-id: 689d60b1c392f36dceef1b3c3cfa0c88f54a7a82
2021-09-06 06:06:13 -07:00
Lorenzo Blasa
fe23ea038c Revert D30371791
Summary: Revert D30371791 (cac09d14aa) to address undefined symbols for a few sandcastle jobs

Reviewed By: fabiomassimo

Differential Revision: D30606610

fbshipit-source-id: 24a5c08bcf5456a96469650a4207b05970399181
2021-08-27 11:05:12 -07:00
Lorenzo Blasa
672979b5f8 Guard files with the FB_SONARKIT_ENABLED macro
Summary: Guard code with FB_SONARKIT_ENABLED

Reviewed By: fabiomassimo

Differential Revision: D30576765

fbshipit-source-id: b51d7367c5482add27a5cb18453aedf03001bdc7
2021-08-26 10:16:25 -07:00
Lorenzo Blasa
cac09d14aa FlipperWebSocket
Summary:
Contains the implementation of FlipperWebSocket with any necessary changes to use it but without switching it on.

About SocketRocket and Cocoapods

A decision had to be made about whether to define different sub-specs, one for RSocket and another for SocketRocket.

I've opted to keep the podspec as is because:
- Keeps pod consumption as is.
- Makes easier to switch implementations using GK.
- There's no intention to keep RSocket going into the future. So, there's no point in creating a sub-spec only to remove it in the future.
- SocketRocket is a relatively small library so is not contributing to a significant increase in binary size.

If, as reviewer, you consider a subspec makes more sense, then feel free to reach out to discuss.

Reviewed By: fabiomassimo

Differential Revision: D30371791

fbshipit-source-id: 225c5b1de76aff1a6e36640a41765b963aaa2796
2021-08-26 09:02:59 -07:00
Adam Ernst
91ca7557e8 Daily arc lint --take UNCRUSTIFY
Reviewed By: zertosh

Differential Revision: D30155603

fbshipit-source-id: ffbfc083952ad00eb22270507a694c9b5a800d27
2021-08-06 09:39:53 -07:00
Scott Kyle
fb223671a7 Add macOS support
Summary: This adds macOS compatibility to Flipper client along with some of the standard plugins.

Reviewed By: jknoxville

Differential Revision: D24644439

fbshipit-source-id: dc15636a6ac1bf684fa1c89735f51f0e97667b62
2020-11-06 13:22:54 -08:00
Pritesh Nandgaonkar
293de19c2b Add toggle in the settings for cert exchange medium
Summary:
This diff adds a toggle setting in wilde which will enable certificate exchange through www.
Right now it just sends the information about which medium to be used for cert exchange to Flipper JS and its client side. But its implementation is not done yet.

### Flow for Wilde

Whenever user changes the setting(or when user logs out) we set the state of exchange medium and accordingly set/reset authtoken. Note at no given point we remove already existing certificates.

### Context for OSS

With this diff we introduce another way to do certificate exchange. Before this diff, we did certificate exchange by accessing the file system of app. But it turns out it's not possible to do that in applications signed by enterprise certs. Thus with this diff one can write their FlipperKitCertificateProvider and fetch the certificate from WWW.

Reviewed By: jknoxville

Differential Revision: D22896320

fbshipit-source-id: 55aef7028a62e71ba9c02f9f79acaab41d09c0c6
2020-08-12 04:44:18 -07:00
Pritesh Nandgaonkar
972277b031 Fix warnings of FlipperKit in iOS
Summary:
This diff fixes the warnings raised from FlipperKit. Also this diff updates the deployement target of FlipperKit  to iOS 10. Even wilde assumes the min deployment OS version to be iOS 10. In layout plugin we use [UIAccessibiltyTraiTabBar](https://developer.apple.com/documentation/uikit/uiaccessibility/uiaccessibilitytraits/1648592-tabbar), which assumes iOS 10 and above.

Partially fixes https://github.com/facebook/flipper/issues/803

Still there are some warnings which are coming from the dependencies outside of Flipper.

Reviewed By: passy

Differential Revision: D19941558

fbshipit-source-id: 31809fedb9aa297bc318b5af72e29e8444f0142f
2020-02-18 12:47:21 -08:00
Pritesh Nandgaonkar
ca513cf370 Run CLANGFORMAT on FlipperKit folder
Summary:
This diff runs CLANGFORMAT lint on FlipperKit. I have added CLANGFORMAT as the lint engined for objc files in xplat/sonar. Right now the iOS folder is not formatted according to CLANGFORMAT.
Ran `arc lint -a --paths-cmd "find ./iOS/FlipperKit -type f" --verbose`

Reviewed By: passy

Differential Revision: D19942170

fbshipit-source-id: af677323af4edb761f61f8f7e289cab743aa31f2
2020-02-17 10:49:17 -08:00
Pritesh Nandgaonkar
35ed3ce1a4 Setup lint for iOS
Summary: uncrustify was not recommended to add in xplat thus I have added clangformat for xplat/sonar/iOS

Reviewed By: zertosh

Differential Revision: D19879977

fbshipit-source-id: 76f6dadf5d55a61a5342802cfde2821cbff38525
2020-02-14 21:17:11 -08:00
Janic Duplessis
44f5e35675 Implement react-native-flipper on iOS (#795)
Summary:
Implement the react-native-flipper native module on iOS. Uses very similar abstractions as on Android.

## Changelog

[react-native-flipper] Support iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/795

Test Plan:
Tested using the RN TicTacToe example app

{F228406333}

Reviewed By: mweststrate

Differential Revision: D19853017

Pulled By: priteshrnandgaonkar

fbshipit-source-id: d93d35ff984b9ba75f812c4c8e3c82e4d550f0c0
2020-02-14 21:17:11 -08:00
Andres Suarez
0675dd924d Tidy up Flipper license headers [1/2]
Reviewed By: passy

Differential Revision: D17863711

fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
2019-10-11 13:46:45 -07:00
Andres Suarez
c4c5d453c2 Fix license headers
Reviewed By: scottrice

Differential Revision: D17673481

fbshipit-source-id: 1794e0a6e92e6894b5634b24c6e7910847616261
2019-09-30 15:10:17 -07:00
Anatolii Shevchenko
e874e032c6 Remove ; from method implementation definition
Summary: Removing excessive semicolon ";" symbol from method implementation definition.

Reviewed By: adamjernst

Differential Revision: D16912006

fbshipit-source-id: 9c3e778a107e8fd0055f40a95ea9ca58d461e1c5
2019-08-21 15:49:04 -07:00
Pritesh Nandgaonkar
7848a2d45c Remove symlink and copy the actual files
Summary: Removes the symlink files and copies the actual files. The OSS build is broken as its not able to access those files.It used to work before as the ship it config used to sync thos files from fbobjc. But that approach is fragile as it broke our OSS build recently, because of this diff D16829348

Reviewed By: jknoxville

Differential Revision: D16891051

fbshipit-source-id: b5146129adc8628d336fbca5936539d2e1131ba2
2019-08-19 07:37:10 -07:00
Adam Ernst
2b050851a3 Split and fix FBCxxUtils
Summary: This target was bloating. Split it in two. Migrate to autotests.

Reviewed By: joshleibsly

Differential Revision: D16829348

fbshipit-source-id: 17f2a10371293ddb850c4556abeecee99a9d7bef
2019-08-15 09:53:48 -07:00
Spencer Baumgardner
d68dac2ce0 Convert nlohmann::json to NSDictionary
Summary: T46426056: Add utility to convert nlohmann::json to NSDictionary. Use same in instagram logging module.

Differential Revision: D16798341

fbshipit-source-id: 88923fcbcd1ffbed5a468cee4ba2f9482ba81a97
2019-08-14 17:29:00 -07:00
John Knox
f0be2c5b2e Remove unused import
Summary: This isn't necessary

Reviewed By: passy

Differential Revision: D16358413

fbshipit-source-id: b4bc0af3d671ed9be080eae24f69054cb2623ba4
2019-07-18 11:14:53 -07:00