Summary:
The log plugin subscribed to the device logs, when it was mounted. Then, the device replayed all log messages that happened in before the plugin became active. While this works, this was not the most performant way to handle this, because it caused multiple rerenders.
In this diff, a method is added to `BaseDevice` to get all buffered logs. This method is called once the logs plugin becomes active. The processing of the logs is split into a couple smaller functions.
Reviewed By: jknoxville
Differential Revision: D13376393
fbshipit-source-id: bb151659c3335e10f647ae2dbf66e93b32d22913
Summary:
Improves the UI of crash reporter plugin
- Added max height on the value container with scrollable capabilities
- Fixed the bug in UI of the plugin where it showed the latest crash data even though one navigated to the plugin from old crash notification
Reviewed By: danielbuechele
Differential Revision: D13307302
fbshipit-source-id: 97eb96d3d9947a2835cd5572053256e0bdc01e27
Summary: Adds support for physical iOS devices, when the necessary dependencies are present. Unfortunately these aren't open sourced yet so the open source build won't get this feature yet.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13001473
fbshipit-source-id: d8c2bcd53b7972bec676717c8af0112800b918d0
Summary:
This improves bug reports.
Adding serial into device.toJson() means you can now easily see which clients (apps) are from which device because they both contain the serial.
Changing client id to use # instead of - because the subcomponents of it already use -.
Reviewed By: passy
Differential Revision: D13058430
fbshipit-source-id: 02697ec623829423e667fd2acbd1abc369a6919b
Summary:
* move CPU and Logs plugin to plugins directory, set up package.json for them
* adjust plugins/index.js to expose device and client plugins in the same place, adding two new exports
Reviewed By: danielbuechele
Differential Revision: D10247606
fbshipit-source-id: 347bf8b3f9629987ad29d1d2ed025e0c88b9c967
Summary: Invert the way device plugin <-> device support works with the long term goal of supporting user defined device plugins
Reviewed By: danielbuechele
Differential Revision: D10240765
fbshipit-source-id: 9e886518a2fbfd263c79daa4b805c088ab38ab87
Summary:
Yesterday I made a change that switches from hardcoded IP address 10.0.2.2, to localhost for emulators on Android 5+.
This didn't work with flipper because it relies on port forwarding, and port forwarding was only done for physical devices, not emulators.
This corrects that, by port forwarding whenever possible. This will enable using localhost, which simplifies remote adb connection support.
Reviewed By: danielbuechele
Differential Revision: D10255554
fbshipit-source-id: 77a05eddf530e0e9495568f2a0901f390464345a
Summary: Pretty sure this was meant to get removed before open sourcing, it isn't referenced anywhere.
Reviewed By: danielbuechele
Differential Revision: D10202081
fbshipit-source-id: 23d213b3a041acad85eb723d32b65f7da276003d
Summary:
The logs plugin opened a new log connection every time it was activated and never closed the connection.
This is now changed. Once a device is connected, a log connection is opened. The logs plugin subscribes and unsubscribes to this connection. This allows the logs plugin it even access the logs from when it was not activated and ensures to only open on connection to read the logs. Logs are persisted when switching away from the plugin.
Also removes the spinner from the logs plugin, as it loads much faster now.
Reviewed By: jknoxville
Differential Revision: D9613054
fbshipit-source-id: e37ea56c563450e7fc4e3c85a015292be1f2dbfc
Summary:
- Cleans up iOS log listener code
- Retries to create a connection to the log stream if it failed
- logs errors with the log parser
Reviewed By: jknoxville
Differential Revision: D9613055
fbshipit-source-id: 33a24e474be62fc2a906f022a68547594f2e66c1
Summary:
This diff adds the ability for a windows desktop app to be a selectable device for Sonar.
just to over-communicate what I'm thinking regarding the logging: windows system logs don't have a lot of valuable information in my experience, and there is a ton of garbage, but there is probably a way to tap into that if we want.
however, I was thinking that redirecting stderr/stdout from every connected process would be useful. i.e. OVRServer could register a log plugin and it would write to the device's log output. not sure if this would be better than just having a logger plugin. This is probably a pretty naive question and this probably isn't the place to have this conversation...but here we are :)
Reviewed By: jknoxville
Differential Revision: D8861986
fbshipit-source-id: f6ccba28729692ae4566dd24302268ad54d437eb
Summary: Adding support for a WindowsDevice (in following diff) that relies on this behavior, also seems reasonable that the logic for what client os' a device supports should be in the device class.
Reviewed By: jknoxville
Differential Revision: D8861698
fbshipit-source-id: 2907f616baa04eb71a9e4ef3b6704980acbafaf5
Summary: The redux store keeps a list of devices. For the active device, it stored the index in that list. This diff now stores a reference to the active device instead of the index in that array. This changes makes it easier to get the reference to the active device in a component.
Reviewed By: jknoxville
Differential Revision: D8767514
fbshipit-source-id: c740cf98d6039223ce8d5a47bcd277989fe70bc3
Summary:
Refactors the plugin architecture of Sonar:
- Before plugin rendering had it's own implementation of the react lifecycle. This means the `render`-function was not called by react, but rather by the application it self. In this diff, the render method is now called from react, which enables better debugging and allows react to do optimizations.
- Business logic for querying emulators is moved away from the view components into its own dispatcher
- All plugin handling is moved from `App.js` to `PluginContainer`.
- The sidebar only shows one selected device. This allows us to add the screenshot feature as part of the Sonar main app and not a plugin.
- This also fixes the inconsistency between the devices button and the sidebar
Reviewed By: jknoxville
Differential Revision: D8186933
fbshipit-source-id: 46404443025bcf18d6eeba0679e098d5440822d5