Summary:
We would like to version control Flipper and some of our custom plugins that are installed on developers' systems.
Flipper by default prompts users to upgrade so they sometimes do the update and then all our custom plugins break because they were compiled for an older version.
See https://github.com/facebook/flipper/issues/3947 for feature request info.
## Changelog
Adds notifyAvailable flag to config.json to disable prompting for users that "an update is available"
Pull Request resolved: https://github.com/facebook/flipper/pull/3992
Test Plan:
Tested by running locally.
Had to comment out the isProduction() check to confirm this it worked properly because this flag is false on dev versions.
Couldn't figure out how to manually test the handleOpenPluginDeeplink.tsx change but made a similar change there; happy to test that if you can tell me how to exercise that path.
Reviewed By: antonk52
Differential Revision: D39654481
Pulled By: antonk52
fbshipit-source-id: cef6b48d870915c48f620269c42d24b8ef1f4c29
Summary:
In D39311893 (094c5bdfdd) we started monkey-patching `require` to resolve global dependencies in the plugins. Apparently, patching `globalThis.require` did not work in the electron env. On my local machine it kept working because I had the experimental `flipper-server` feature enabled which embeds flipper-server into the electron build. In flipper-server we properly patch `require` via `Module.prototype.require` which affected the global require in electron.
With this fix we now properly patch require in electron via Module.prototype.require all the time
Changelog: Fix plugin loading with experimental flipper-server disabled
Reviewed By: nikoant
Differential Revision: D39633821
fbshipit-source-id: 9554f643c625620d116075ae87f573d8447850f6
Summary: `requirePlugin` in electron uses native `require` which has a built-in cache. Without this fix a stale version of the plugin loaded.
Reviewed By: lblasa
Differential Revision: D39542121
fbshipit-source-id: e6c4b65f9ea7b816803baaae537c234914fcb3d7
Summary: esbuild references external modules via `require`. We wrap `require` to point the references to built-in modules to global variables
Reviewed By: lblasa
Differential Revision: D39311893
fbshipit-source-id: a99480161c082f4095d78c22271f114532f32c16
Summary: As we stopped bundling plugins in D39276249, we no longer need the entry points for the bundled plugins (these entry points are always going to be empty)
Reviewed By: lblasa
Differential Revision: D39307565
fbshipit-source-id: 43751fe31c8bd962677c226b27cfe52093d3f2d4
Summary: Stop bundling plugins into Flipper Server bundles. In later diffs, we will start building all plugins even in dev mode which removes the need to bundle them.
Reviewed By: lblasa
Differential Revision: D39276249
fbshipit-source-id: 091405cfcf58aa7e1bd2b382da40f8d9841ae6b1
Summary:
Currently, the `app inspect` tooltip at the left rail has a link to the getting started page that doesn't exist.
New path is `/docs/getting-started/`.
Also fix troubleshooting guide and no devices are found to `/docs/getting-started/troubleshooting/`
Pull Request resolved: https://github.com/facebook/flipper/pull/4042
Reviewed By: lawrencelomax
Differential Revision: D39314971
Pulled By: lblasa
fbshipit-source-id: 000b354b60bd05211b99134b63d790bf6949060f
Summary:
This is the second part of the feature which enables data/log persistence by adding a global setting which controls whether the data is wiped when the same device is disconnected and reconnected.
Building on the previous diff, this diff uses the setting from the Redux Store to determine whether to "wipe" the data or not.
Changelog: Added option in Flipper settings to persist device data upon reconnection instead of wiping everything.
Reviewed By: mweststrate
Differential Revision: D38076567
fbshipit-source-id: 83658ac09bc88921a56517e1a1f624d4a4bbc2c5
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:
A few comments in my rewrite stack got missed, I am addressing them here.
In addition react testing library has been hoisted to the root module in the project and been made available to all sub modules
Reviewed By: mweststrate
Differential Revision: D37712339
fbshipit-source-id: 60984c3d16bd535b0c489570907f097c7d80f634
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: More bumps for patch and minor releases. allow-large-files
Reviewed By: aigoncharov
Differential Revision: D36104098
fbshipit-source-id: 6db995e660afbe4febd72aa70ed8150cc16a8c93
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