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
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
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
Summary:
We currently give sonar one event base from java / obj-c code to use for scheduling tasks.
This causes a problem, because we schedule reconnect tasks on the event base, and then these tasks interact with rsocket which schedules it's own tasks.
The problem is that we're passing rsocket the same event base. So the reconnect code executes and blocks waiting for rsocket to connect.
But rsocket can never connect because it never executes because that thread is blocked, so we get deadlock.
Fixing it by giving both processes their own event base / thread.
Reviewed By: danielbuechele
Differential Revision: D8748355
fbshipit-source-id: b0ad2172087f0103180677438f427c831db7f42c
Summary:
We currently give sonar one event base from java / obj-c code to use for scheduling tasks.
This causes a problem, because we schedule reconnect tasks on the event base, and then these tasks interact with rsocket which schedules it's own tasks.
The problem is that we're passing rsocket the same event base. So the reconnect code executes and blocks waiting for rsocket to connect.
But rsocket can never connect because it never executes because that thread is blocked, so we get deadlock.
This is the first step which just changes the interface to pass two event bases.
The consumers will be changed to pass in different threads next.
Reviewed By: danielbuechele
Differential Revision: D8748350
fbshipit-source-id: 481d6f23644f28fd0f1c786252605287019c999c