Summary:
This is the first diff to implement the feature for the Flipper logs plugin to have an option to persist logs in the table between crashes, disconnections, etc.
Since this is not a local change, the UI option for persistence will be located in the settings for the Flipper UI(as seen in the test plan). The setting is associated with the Redux Store `Settings` and is stored globally to be used across all plugins. So the plan is making the persistence pertain to all plugins.
Reviewed By: mweststrate
Differential Revision: D37786988
fbshipit-source-id: 7ffc6077cbca559b3401b16770eda657a6c45620
Summary:
Some old welcome links are 'Page Not Found'.
## Changelog
Some old links are 'Page Not Found', so update them as follows:
1. Update "Using Flipper" link to 'https://fbflipper.com/docs/features'
2. Update "Add Flipper Support to Your App" link to 'https://fbflipper.com/docs/getting-started'
Pull Request resolved: https://github.com/facebook/flipper/pull/3902
Test Plan: Pass the test on a Mac.
Reviewed By: lblasa
Differential Revision: D37927376
Pulled By: passy
fbshipit-source-id: 0aac129932395e3f2ce3afa8c47cc637f3e814a8
Summary: Move User from reducers to flipper-common. User will now be usable by other modules.
Reviewed By: passy
Differential Revision: D37599802
fbshipit-source-id: 66412e7ed00bf27448fa2deae70f0e8e80303aba
Summary:
This diff builds on the previous ones by enabling other colors to be used as highlights for the search terms. Current color options are: yellow(default), red, blue, green. Possible extensions to this feature could include allow the user to enter a custom hex-color string and use that as the highlight color.
Changelog: DataTable will now have option to have its search terms highlighted in the search results by toggling and customizing the highlight colors in the menu bar
Reviewed By: mweststrate
Differential Revision: D37383163
fbshipit-source-id: c81e383c0570ef5efbf3171b92b81a8fb2e55ea7
Summary: Building on the previous diff which added a setting to enable/disable highlighting search terms in the logs. This diff adds the actual highlighting and connects with the setting. The highlighting currently only supports one color, while the next diff will seek to support a preset of a "custom" colors for the highlighting
Reviewed By: mweststrate
Differential Revision: D37348441
fbshipit-source-id: 7a2b74b16f239d5e36c213e06ccb86f74eaa8df5
Summary:
CHANGELOG: Add Flipper logs export to file
Allows users to export their Flipper logs with a single click. The export always includes all log levels but debug.
Reviewed By: antonk52
Differential Revision: D37485571
fbshipit-source-id: 82b02132794da30b255e6178db4a17c1ba8091ee
Summary:
There's one setting: to enable or disable flipper-server.
However, I've added some current running state to it. If there's a better way of doing this, please do let me know.
Reviewed By: aigoncharov
Differential Revision: D37276670
fbshipit-source-id: f6c941cf0cfe55c267b9bcb9f799934fba1e28ef
Summary: Use BasDevice definition from flipper-frontend-core in flipper-ui-core and remove the redundant definition from flipper-ui-core
Reviewed By: lblasa
Differential Revision: D37234785
fbshipit-source-id: 6e768090a197c1d2c49cb1cd573acea12fb65d24
Summary: This stack attempts to start using flipper-frontend-core from flipper-ui-core. Currently, flipper-frontend-core contains lots of copy-pasted code from flipper-ui-core.
Reviewed By: lblasa
Differential Revision: D37139198
fbshipit-source-id: 042db7492c550e10ea72c32fd15001c141bf53f9
Summary: This is now replaced by the support entry point and we need to delete the calling sites before we can clean up the everstore type.
Reviewed By: lawrencelomax
Differential Revision: D37090901
fbshipit-source-id: 597684bb149783d75e46ba61113e73878bf271a8
Summary:
Andrey's diff already ensures that we send the flag, this also adds it to the info string
which makes it more visible.
Reviewed By: lblasa
Differential Revision: D36699070
fbshipit-source-id: 905eded9612b19ecaa35a841ec240af002e11611
Summary: The styleguide was no longer accessible in Flipper, this diff restores that, and also cleans up the extras menu a bit to by creating a plugin devs only section.
Reviewed By: antonk52
Differential Revision: D36697071
fbshipit-source-id: a2abce40157fffd4952172f379c8063492e2dcc0
Summary: For some reason, the most important container property grow (and shrink) wasn't in the docs. Added that
Reviewed By: antonk52
Differential Revision: D36697072
fbshipit-source-id: 45dd0351e2a94d31972d57a9f006cd06a0d37c4e
Summary:
^
This change aims to extract some bits and pieces that are not specific to FBLogger and could be used by other Logger implementations.
Reviewed By: passy
Differential Revision: D36473286
fbshipit-source-id: 57f02d132673dbac97384da4dca51bf3e6fb8738
Summary:
It's not obvious for non-mobile developers how to fix it when there are no emulators available. Adding a quick section in the troubleshooting guide and linking to it.
Changelog: Add link to troubleshooting page when no emulators are available.
Reviewed By: nikoant
Differential Revision: D36599925
fbshipit-source-id: f3a1e79e07209e34b66176102c85e7797292978c
Summary:
Our current loading state holder for the emulator launch dialogue is a "No emulators available" error message which may stay there for up to 5 seconds (in the case of only iOS enabled) before we see devices.
This adds a proper spinner that will show for as long there are pending device queries.
Changelog: Loading state for emulator launch dialogue
Reviewed By: nikoant
Differential Revision: D36598855
fbshipit-source-id: 64099596b48708b48a43f0208696a7dddc15007c
Summary:
Our launch emulator button isn't very helpful when you don't have any SDKs set up as it shows you exactly the same message as if it was loading for a bit longer. We've seen a low, but constant flow of support requests and it's often not easy to debug remotely unless you dig into the state export.
This sets up a new actionable message when you have neither Android nor iOS support enabled and sends you straight to the settings.
Changelog: Show alert in Launch Emulator dialogue if no SDKs are enabled
Reviewed By: mweststrate
Differential Revision: D36596972
fbshipit-source-id: ba72e9aaeb136c1a7e2f360ef9fbbeec6bc76f4d
Summary:
A paper cut that hurt me so many times. The launch emulator window gets populated by external commands that finish at interminate points in time and change the size, jiggling the buttons around. That means, you may hover over an android emulator just when the iOS command returns and when you click, you don't hit the Android emu, but some iOS thing.
This just makes the height fixed, so this cannot happen.
Still having some more improvements in mind as this is such a high-trafficked surface.
Chanlog: Fix wiggling of the Launch Emulator dialogue as data comes in
Reviewed By: mweststrate
Differential Revision: D36595001
fbshipit-source-id: e61de55f348ab4d2f6f977552539d2a44d3fd11d
Summary: Fix a TypeError exception in TableHead.tsx when an ordered column is not present in the row.
Reviewed By: aigoncharov
Differential Revision: D36497494
fbshipit-source-id: 18c961468fc2bc3cca16290fd9e6c973e5e18ebf
Summary: Restyle of Trobleshooting, which involved changes to sidebar.js and splitting up the previous troubleshooting page into five separate pages.
Reviewed By: lblasa
Differential Revision: D36282539
fbshipit-source-id: e60834e2b4d98b70b23bb11309c3438d85e4de0e
Summary: Some intern plugins use it, an dit is currently missing in FlipperLib
Reviewed By: timur-valiev
Differential Revision: D36313032
fbshipit-source-id: 5ea8e250f1d0bc8831727abd883d953286a022d4
Summary: Fix UI freezes on popup opening by upgrading back React app creation from "createRoot" to "ReactDOM.render". These UI freezes started to happen after React upgrade because the issue in integration of Antd with React 18: https://github.com/react-component/trigger/issues/288
Reviewed By: aigoncharov
Differential Revision: D35359129
fbshipit-source-id: eb0ad979443ecf67eb2acc2e219196c9fefcff62
Summary:
- Support loading globally installed DevTools
Background:
1. Initially, I wanted to use react-devtools-core as before. react-devtools-core standalone contains quite a few imports of node.js APIs. After [a conversation with Brian](https://fb.workplace.com/groups/react.devtools/permalink/3131548550392044), I pivoted to react-devtools-inline
2. Technical design doc of react-devtools-inline integration: https://docs.google.com/document/d/1STUSUhXzrW_KkvqSu7Ge-rxjVFF7oU3_NbwzimkO_Z4
3. We support usage of globally installed devtools. Code of react-devtools-inline is not ready to be used by the browser as is. We need to bundle it and substitute React and ReactDOM imports with the globals.
4. As we can't pre-compile what users install globally, we need to bundle global devtools on demand,
5. I tried re-using our Metro bundling pipeline initially, but gave up after fighting it for 2 days. Included, `rollup` instead.
6. Size of a `tgz` archive with a plugin is 2.1MB
allow-large-files
Reviewed By: mweststrate
Differential Revision: D34968770
fbshipit-source-id: 352299964ccc195b8677dbda47db84ffaf38737b
Summary: In the category "how did this ever work", we had quite some reports of Flipper features not working while users are seemingly logged in. The cause of that is because the user info gets stored in the user reducer, so even when the network requests fail, the users appear to be logged in.
Reviewed By: nikoant
Differential Revision: D35114048
fbshipit-source-id: b8c09cb4e3fd7cd0cbe87ecb06dafca88716b689
Summary:
This is not actionable for us as it includes changing device identifiers.
In this case it's better to rely on individual user reports if this is about
a particular device/app combo.
Reviewed By: lawrencelomax
Differential Revision: D34749996
fbshipit-source-id: 88c6c8b076b3f7d9808b6a2a9b08854d2d7cb39f
Summary:
This is PR on top of: https://github.com/facebook/flipper/pull/3473
It adds an option to Settings to allow distribution of marketplace plugins.
Also includes a simple fetch function to retrieve data from external API/server.
## Changelog
Allow marketplace plugins
Pull Request resolved: https://github.com/facebook/flipper/pull/3491
Test Plan:
1. Enable marketplace
2. Provide custom marketplace server (it will serve the list of internal plugins with downloadURL)
3. Test if can see Available plugins and can download/remove the plugin
4. If new update for the plugin, it should also allow auto update
Reviewed By: antonk52
Differential Revision: D34586339
Pulled By: nikoant
fbshipit-source-id: c887982aa0f0f9abd3b5360f22e8692a2445d345
Summary:
1. Identify if device supports screenshots/screen recording when it is created.
2. Disable screen recording/screenshot buttons when they are not supported
Reviewed By: passy
Differential Revision: D34611133
fbshipit-source-id: 82ad2d67e4af482d9becf7995187667b5d99bc36