Summary: It is an escape hatch for testing iOS Sample app if `navigate('/')` cannot be made to work easily (D51394323)
Reviewed By: lblasa
Differential Revision: D51466697
fbshipit-source-id: fd6c2f37504807b4b634b85cb10e837523dadba8
Summary:
Reference:
https://fb.workplace.com/groups/flippersupport/permalink/1717333982080586/
The steps added below seem to have fixed the issue.
Still need to investigate why these steps are needed.
Reviewed By: aigoncharov
Differential Revision: D50797561
fbshipit-source-id: a31c71dbedc506344438082846b41ff16b6f459a
Summary: Do not use mutex for device listing.
Reviewed By: antonk52
Differential Revision: D50265112
fbshipit-source-id: 9b3bf4f9351e28dfb6366b6b787ec8b466b9bc47
Summary: Make it more clear what are we checking about.
Reviewed By: aigoncharov
Differential Revision: D48781145
fbshipit-source-id: c3c03b407dc7f47730a3fb80de769243768b34ec
Summary:
A little hacky because we currently have too many implementations for getting devices but lblasa is working on cleaning this up. Once that's done, we should add some tests for this.
Changelog: Show the iOS version of simulators in the launcher window
Reviewed By: lblasa
Differential Revision: D48777923
fbshipit-source-id: 18846520feba8eb10b6417f87bd802ffaabb1dff
Summary:
If listing devices is successful, then don't record the event
as this is triggered every X amount of seconds.
Reviewed By: antonk52
Differential Revision: D47995681
fbshipit-source-id: 2d0fa68fd7b9c4ce74bad9e8cc0296691d9b8880
Summary: If it is successful, we rarely care about stdout, which can be quite verbose. So don't use it.
Reviewed By: antonk52
Differential Revision: D47339446
fbshipit-source-id: 66f43d4184e44ed07364a6f33715139e19b2dc1d
Summary: Remove debug logs and add re-format other warn logs to have parity with iOS
Reviewed By: antonk52
Differential Revision: D47330455
fbshipit-source-id: ac8edde2124bbe99d0ea11f46f3b85dd77b96c7b
Summary:
CertificateProvider is intrinsically related to a client query, make it available to it.
This becomes the optional 'context' of shell executions. When these are recorded, the context is provider to the recorder which can then link an ongoing certificate exchange process with the success or failure of said command.
Reviewed By: antonk52
Differential Revision: D47295894
fbshipit-source-id: 9469d18bda02793d71a6a8b29c93f4af1db23569
Summary:
Centralise connectivity logging into a single place. By having all logs go through a single interface, then it becomes trivial to manipulate them as needed.
In this change, this is not done.
In subsequent diffs, logs will be dispatched via an event and will be visualised in the Connectivity Hub.
Reviewed By: passy
Differential Revision: D47185054
fbshipit-source-id: fb5eab98895be0c8f61fb9a77d3e66d6a8dbcb27
Summary:
Bit of refactoring, bit of improvements, maybe. Mainly:
- Name consistency
- Promise chaining to async/await
- Refactoring
Reviewed By: lawrencelomax, antonk52
Differential Revision: D47224620
fbshipit-source-id: 5f4515f576decc03d470c11f24577b43f34a5a28
Summary: Bit of reorganising as utils is a bit too generic and crowded.
Reviewed By: passy
Differential Revision: D47186536
fbshipit-source-id: 7b1dd26db95aef00778ff4f23d91f7371c4d07ad
Summary: These are no longer that useful and can be quite verbose, remove.
Reviewed By: antonk52
Differential Revision: D46516093
fbshipit-source-id: e6c3a546d379ca20ff8757fdc3feaa11bf0788a0
Summary:
I noticed we were not killing the PortForwardingApp on exit.
This is not ideal.
So, use an exit hook to kill the app.
Reviewed By: passy
Differential Revision: D46392855
fbshipit-source-id: e2b75f76c9dfab0ff46df3ad2c94a1a523154b2a
Summary: On my mac localhost resolves to an IP6 address by the new adb lib. This should fix it.
Reviewed By: LukeDefeo
Differential Revision: D46314612
fbshipit-source-id: 3771efd2c6b79fe9ae9851ce4aac35bcede28847
Summary: It seems that adb path has changed on the jest-e2e side. That might case the flipper e2e test failure. With this fallback we have granular control of the path.
Reviewed By: antonk52
Differential Revision: D46278512
fbshipit-source-id: 97310459de54eeb003eefb3a3ff06af8b13bebae
Summary:
We were using an old unmaintained/abandonned library for communicating with adb server https://github.com/openstf/adbkit
This was giving me issues i couldnt figure out when running flipper server.
There is a popular fork written in typescript here https://github.com/DeviceFarmer/adbkit but it uses blue bird for promises.
There is a fork of the fork here which i have chosen to use which is the same api as above but with es6 promises, https://github.com/UrielCh/adbkit.
Both forks have a slightly different api to the original. In the original library there was a single client and any command directed at a particular device had a serial as the first argument
In the new libraries you create a DeviceClient where the serial is baked in and you don't need to supply this argument every time
allow-large-files
Reviewed By: lblasa
Differential Revision: D45569652
fbshipit-source-id: 2a23c0eaa12feaebdccadb3d343e087c0d5708d5
Summary: The error is non-fatal as it's already handled and it's not actionable by the Flipper team.
Reviewed By: lawrencelomax
Differential Revision: D44054514
fbshipit-source-id: c54c7e935374a1c97e54a5da4daaa3f26b236023
Summary: We can't do much if a phone is not setup properly
Reviewed By: lblasa
Differential Revision: D43980508
fbshipit-source-id: 5baf82ae36030b81c7cc90bcf6a5de2af9304fb3
Summary: This is firing regularly when people have a broken local setup.
Reviewed By: lawrencelomax
Differential Revision: D43834469
fbshipit-source-id: 1fbc2cf52f93046984e9846f8aed931106542b03
Summary:
The 'screenrecord' command is not in some Android phones e.g OPPO. So 'screenrecord' command can't be used as a basis for determining whether or not you can take a screenshot. Replace it with 'screencap' command to determine whether you can take a screenshot.
## Changelog
Fixed a bug where the screenshot of some Android phones was unavailable
Pull Request resolved: https://github.com/facebook/flipper/pull/4366
Test Plan: It passed the test on my Mac and OPPO phone Reno2.
Reviewed By: ivanmisuno
Differential Revision: D42918902
Pulled By: passy
fbshipit-source-id: c1f02f075817d90e0d447f466a1168b6ec932e4e
Summary: On older Android devices (API 24) `-printf ` is not available
Reviewed By: lblasa
Differential Revision: D40980640
fbshipit-source-id: d1a1bcadc496deaf3d514c1e45b2e0104a937b18
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#
Some files on the devices could be unavailable due to lack of permissions (hello SELinux and enterprise builds of iOS apps). Instead of failing the export, we should fetch what we can.
Reviewed By: passy
Differential Revision: D40551931
fbshipit-source-id: 698e157b1283b9e959909b6439cd09d2dc8dc8d6
Summary:
Design doc: https://docs.google.com/document/d/1HLCFl46RfqG0o1mSt8SWrwf_HMfOCRg_oENioc1rkvQ/edit#
In later diffs, we'll start fetching the actual files as well. The list of available files itself might be useful already to see what we have in our folder on the device
Reviewed By: passy
Differential Revision: D40508960
fbshipit-source-id: 96193fef3fed64d509cd3397513ae3e94438ae22
Summary: pull/push might fail when run-as fails on insufficient permissions. When this happens, try to perform the command as root.
Reviewed By: aigoncharov
Differential Revision: D40623363
fbshipit-source-id: a4cc71d70f83ce1a390b14c9af9d3a3fa09f1307
Summary:
When we start using Flipper from the CLI for automation, we want to have the list of currently connected devices as soon as flipper server is alive.
Otherwise, we would have to poll flipper server waiting for some magical moment in the future when devices connect.
This way, we can be certain that if flipper server started, but we do not see a device, it is not connected at all.
Reviewed By: mweststrate
Differential Revision: D40184106
fbshipit-source-id: ce4c2b897a2df0081e3a0b6a8c26640599e0f9e8
Summary:
flipper-server-companion depends on flipper-plugin. flipper-plugin includes dependencies that run only in a browser. Splitting flipper-plugin into core and browser packages helps to avoid including browser-only dependencies into flipper-server bundle.
As a result, bundle size could be cut in half. Subsequently, RSS usage drops as there is twice as less code to process for V8.
Note: it currently breaks external flipper-data-source package. It will be restored in subsequent diffs
Reviewed By: lblasa
Differential Revision: D38658285
fbshipit-source-id: 751b11fa9f3a2d938ce166687b8310ba8b059dee
Summary: Do not remove dummy devices as they are created during WWW cert exchange and are not picked up by IDB
Reviewed By: lblasa
Differential Revision: D39430458
fbshipit-source-id: 249efda23f324522ae2ae3a0ee4f198ab701d22d
Summary:
Starting a screencapture longer than 30 seconds would timeout as the start command waits for the process to finish. Removed that wait is it is the stop command that should only wait for the finish.
(n.b. please ship after accepting, as I'm on PTO)
Reviewed By: LukeDefeo
Differential Revision: D38918570
fbshipit-source-id: fd93e1239985c81a2143ceb79312518e7ebb27f5