Summary:
^
LogView is raising this up but I don't think there's an actionable item from our side. If a client doesn't have the right arguments on the query string then we effectively are unable to construct a valid query.
All our clients do this correctly, but there may be instances that either a browser or another process is 'trying' to connect to Flipper even if unintentionally. This behaviour I've observed in the past.
Changelog: Log 'Unable to extract the client query from the request URL' as warning
Reviewed By: passy
Differential Revision: D34340068
fbshipit-source-id: f5fc36a9803a83d6662b6383589bc0aa99774798
Summary:
Dynamic information means we can't deduplicate on the backend.
Logging the serial as a warning instead.
In general, I'm not convinced this is a good error to begin with
as it seems expected that devices can disappear on disconnect
but getting a better count should help to make that decision.
Reviewed By: aigoncharov
Differential Revision: D34247723
fbshipit-source-id: ace3c32d2370433dcca2debbea3a2c5d7a2ecb57
Summary: This change gives priority to a user option settingsString to set up the flipper-server configuration and load them from a json string. Also giving the user the chance to avoid flipper-server looking at the launcher config files in the computer
Reviewed By: mweststrate
Differential Revision: D34210110
fbshipit-source-id: 9e852b79da106b5140c59116fd7d0c0f3155e620
Summary:
This error messaging is confusing for device only users. These users may only be running against a device **without xcode installed**, which is supported.
However, we also need to handle the case where a user has a sim running and they haven't xcode-select'd as this will mean that the sim is working fine, but the user has no way of knowing why Flipper is not working.
Reviewed By: passy
Differential Revision: D34140277
fbshipit-source-id: f9b035b6c7918424d6131d1dfcdba10acf438fa8
Summary: These can be batched together rather nicely
Reviewed By: lblasa
Differential Revision: D34139753
fbshipit-source-id: 7388630dcae34d40308d54f18a37215cf18e5904
Summary: Accidentally tested a function that should have been called from the internals. This makes the internal function use the check.
Reviewed By: lblasa
Differential Revision: D34139589
fbshipit-source-id: fac13f7b54ffb0b6f501fb9237f55766706e975a
Summary:
Fixes https://github.com/facebook/flipper/issues/3396 - the Xcode version mismatch check has been broken since 0.132.0.
## Changelog
Fixed Xcode version mismatch check
Pull Request resolved: https://github.com/facebook/flipper/pull/3428
Test Plan: No existing test, manually tested locally on macOS 11.6.3 via `yarn start` when launching the Simulator directly or via `yarn react-native run-ios` in an RN project
Reviewed By: lblasa, mweststrate
Differential Revision: D34139471
Pulled By: lawrencelomax
fbshipit-source-id: 97920de5c463b366ef7ecaef0441ee37debe5d46
Summary: If a device disconnects quickly, trying to determine whether screenshots and alike are supported would throw, showing up in our monitoring (see attached tasks). This change fixes that
Reviewed By: nikoant
Differential Revision: D34105451
fbshipit-source-id: 8d3d6dd4c2c82f70cdff710722d789e7c1d73693
Summary:
Certificate exchange errors should be communicated back to the user, as they are often actionable, and otherwise leave users in a stuck state.
Also removed the ServerController interface, upgraded the listener types to get at the necessary internal apis typewise that were already available.
Removed that error wrapping utility complaining about idb installation, this is rarely ever the problem anymore, and it hides the underlying error.
Reviewed By: nikoant
Differential Revision: D34105452
fbshipit-source-id: 3b3cd0b99cecbda26dfd0744a90690fe568a5ea5
Summary:
https://fb.workplace.com/groups/flippersupport/permalink/1304868459993809/
Changelog: Don't show errors for clients that fail to connect in a timely fashion repeatedly.
I think this change is fine, as even once the error is supressed, the clients will show up as 'still connecting...' in the app selector dropdown, which gives the same signal, but a bit less in the face.
Reviewed By: lawrencelomax
Differential Revision: D33976460
fbshipit-source-id: 7c5a02f3cd645ed1cbda47d186798857a05906f1
Summary: Look up for the path of the adb may sometimes fail when looking for the folder platform-tools because the adb configuration wasn't done by android studio
Reviewed By: aigoncharov
Differential Revision: D33888687
fbshipit-source-id: 4d0cad2f6b19717e45422632f5d459813a7b7ee0
Summary:
When connection to Android, I always get an error popup with 'device still authorizing', which disappears itself and the device connects fine. It seems that this was a case we handled gracefully before, but the error message we check for has changed. Also updated the log message so that we get it in our monitoring I don't silently get stuck in this state.
Changelog: Fixed 'device still authorizing' errors showing up while connecting to an Android device
Reviewed By: aigoncharov
Differential Revision: D33976028
fbshipit-source-id: dbb055bbbd43bad129b10ffee4a8dbb50be8e87a
Summary: Idb and adb sholuld not really be accessed out side of Adnroid and iOS device managers
Reviewed By: lawrencelomax
Differential Revision: D33915162
fbshipit-source-id: 0d1bb028b9a53254cf5b0ce6289ae76339c5a254
Summary: Remove hidden async initialization of adb and idb. Make it explicit. Remove nullable fields in Android and iOS device managers.
Reviewed By: lawrencelomax
Differential Revision: D33915177
fbshipit-source-id: 882f79310410e0dfde6169abf343ab808644e4a2
Summary: Extract WWW certificate provider from the iOS certificate provider. Hide its implementation from OSS since it is not relevant for OSS folks.
Reviewed By: mweststrate
Differential Revision: D33895378
fbshipit-source-id: 376afda3b5fa3857c0eb280b92555314eb1a0d1f
Summary:
Currently, certificateSetup is called in two places:
- processCertificateSigningRequest
- loadSecureServerConfig
`loadSecureServerConfig` is a mandatory step of Flipper server initialization ([ServerController.init](https://www.internalfb.com/code/flipper/[24785758018a2ffbd4751ad2b9093b5ef97c611d]/src/fbsource/xplat/sonar/desktop/flipper-server-core/src/comms/ServerController.tsx?lines=118)). Flipper cannot start without executing it.
As a result, calling `certificateSetup` in `processCertificateSigningRequest` always results in the early return.
This diff removes executing `certificateSetup` from `processCertificateSigningRequest`. Since it's called only during server setup (so only once), it no longer makes sense to use `didCertificateSetup`.
Next steps:
- Extract Android and iOS certificate utils. Remove the dependency on accessing adb/idb dynamically. See D33711652 (da618fd3f3).
Reviewed By: jknoxville
Differential Revision: D33817119
fbshipit-source-id: 675d1e2fe468782da458832c2e88259c92951fdb
Summary:
`idb` has supported video recording on devices for quite some time now. We even have the implementation in `iOSDevice`, but it's currently unused.
As a result, we just need to remove the check within `iOSDevice` that the target is an "emulator" and it will use the `idb` implementation. Removing this check means that the button is now selectable within the UI.
Reviewed By: passy
Differential Revision: D33913383
fbshipit-source-id: b3d6b4c480c79b54f0d2c206c68092ab62bf71ed
Summary: This should in theory never happen since the state of the recording is also managed within the UI. However, it's better to ensure that if `startRecording` is called twice, without calling `stopRecording` first it will error rather than leak a recording (the first process will still run but the object representing it is oprhaned)
Reviewed By: passy
Differential Revision: D33913298
fbshipit-source-id: f8fa6b0e4fdbdf4282633fa29a736d3e7dedf3bb
Summary:
The state of the destination and the process are coupled together. As a result it makes sense to move these to an object type.
This prevents destination and process being independently settable. No change in behaviour, just a removal of invariants that need to be checked
Reviewed By: passy
Differential Revision: D33913213
fbshipit-source-id: ed18650cac4f72d40e82d20254674f7fa12cbb48
Summary: This is public but never read, no need for it to exist
Reviewed By: passy
Differential Revision: D33893097
fbshipit-source-id: aa423464f9cc0c35768a549fd5cb481784d8bcd6
Summary:
There's no need for us to have a property that can be undefined, since we can use the magic of *passing arguments* to achieve the same end result.
The unit test a bit more precarious, but it's left here for posterity or until we decide to kill it otherwise.
Reviewed By: passy
Differential Revision: D33892407
fbshipit-source-id: 3b499511189862e2265d8d6d29f849a7b813050e
Summary:
Bulding on the work from prior diffs we can use the created bridge directly. No need to have if statements calling out to sub-functions, just use the base type itself which will use the appropriate implementation.
There's no behavioural change here. Either idb was queried for sims/devices or simctl was queried for just sims, they were always mutually exclusive.
Reviewed By: passy
Differential Revision: D33842604
fbshipit-source-id: 0bf63ffc34368c70df31c105ea0ba5df941e72cc