Summary: It is a copy-paste of what we have in jest-e2e
Reviewed By: passy
Differential Revision: D51527040
fbshipit-source-id: 36b62edee006580023e9ce2cd309dddfd0dbce84
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:
Some features of bloks do not work off vpn.
Until we figure out how to make them off vpn
Reviewed By: LukeDefeo
Differential Revision: D51076469
fbshipit-source-id: c83d96e89d33d245845312b39928a7460a235217
Summary: You can now descriminate based on `hasProblem`. Thus removing asserting operator
Reviewed By: LukeDefeo
Differential Revision: D50366398
fbshipit-source-id: a16a5419ce946831bd2d1624b1baa75c89a47aa3
Summary:
If a requests fails due to lack of allow-listing or other incompatibilities, we will now fall back to VPN mode while logging an error that will hopefully end up at the plugin owner.
For this, there's a new `vpnMode` option on every request that can also be used to enforce a particular type.
There's a lot of verbose logging that's turned off by default but very handy when debugging. Also potentially useful for plugin authors that are looking into request issues.
Reviewed By: lblasa
Differential Revision: D49023365
fbshipit-source-id: 755393063e379587feda9ae13973877780a1d987
Summary: Comes from Electron. Will go away with PWA.
Reviewed By: lblasa
Differential Revision: D48778132
fbshipit-source-id: 0cecdc38e76b663315434aec995635afca2959dc
Summary: Changelog: Don't throw an error if Watchman was not found
Reviewed By: aigoncharov
Differential Revision: D48778121
fbshipit-source-id: bfe3599e41d8c6fbe4ea89393ace5213914a2611
Summary: Updating the remaining tsconfigs to build for an ES2021 target.
Reviewed By: antonk52
Differential Revision: D48687661
fbshipit-source-id: 2761704d251f701594ca5d362a17731f287088ed
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: The one-off hack for slog makes this hard to refactor, so I've added a headers field, putting the caller in charge of this.
Reviewed By: LukeDefeo
Differential Revision: D48564065
fbshipit-source-id: f8e78e9b8597fd3131bf3741197e6179807ad5da
Summary: There's nothing specific nor private about the ScribeLogger, so it is moved to flipper-common.
Reviewed By: LukeDefeo
Differential Revision: D48556074
fbshipit-source-id: aa9446036fd07fe6e6debc5a978a42308fc93fe0
Summary: The log tailer is already defined in flipper-common, use that instead.
Reviewed By: passy
Differential Revision: D48524909
fbshipit-source-id: 1c0674276f08893ea80dc2fc9f8b45679f33e93e
Summary: Log tailer is/could/will be used in different places, move to a centralised place.
Reviewed By: antonk52
Differential Revision: D48524579
fbshipit-source-id: 81d6c4670572284ba2821a93011f5daa133b21fa
Summary:
Session Id should be shared between client and server, but it was defined deep in the client (redux store).
The proposed solution presented below is to move the session id to the server configuration. By doing this, it becomes available to both server and client VERY early in the application life-cycle for both Electron and non-Electron builds.
Reviewed By: LukeDefeo
Differential Revision: D48520367
fbshipit-source-id: ca959b27ab18b1a2e4cd2fac1d28545664f1b514
Summary: Implementation was missing for the browser. This provides a default implementation.
Reviewed By: aigoncharov
Differential Revision: D48311198
fbshipit-source-id: fd067600f571234e0fbccfb90853b62f175ff8fb
Summary:
Match isProduction definition in flipper-common and flipper-server/src/index.tsx.
Without it, PWA never quits after all clients disconnect because Flipper Launcher does not set NODE_ENV to production currently (changed in the next diff)
Reviewed By: LukeDefeo, lblasa
Differential Revision: D48265768
fbshipit-source-id: 59e4660cb57da20b606562144c47c65276999d6c
Summary: OS will become useful later on, add it.
Reviewed By: antonk52
Differential Revision: D47989161
fbshipit-source-id: 3615544051b163b77f87e5c52e6ac9cae8c478d4
Summary:
Styles are applied depending on entry type. This was an issue when we had 'cmd' as a type too.
So, let's simplify and keep type to denote info, warning, or errors.
Later on we can add a different tag if we want to differentiate between logs, command, others.
Reviewed By: passy
Differential Revision: D47912857
fbshipit-source-id: 213a0768a95f63cbd692ba96f6745ab740346a58
Summary:
There's a generic notification server event.
This change introduces a new notification server event dedicated for connection troubleshoot.
The difference is, this notification will have a button to troubleshoot the issue. Additionally, in the future, we may even be able to add a payload so that we can troubleshoot the exact problem.
Reviewed By: antonk52
Differential Revision: D47873697
fbshipit-source-id: 28843a08836d0054909f6b9ab7a88b14b8a1b868
Summary: Already have SecureClientQuery. No need to have this as a type as it's not used or needed anywhere.
Reviewed By: antonk52
Differential Revision: D47210345
fbshipit-source-id: d9f3026a0e2a0b5dd2e87f16dba34a388dacd75f
Summary: It should've been there with ClientQuery.
Reviewed By: antonk52
Differential Revision: D47210314
fbshipit-source-id: 869496918648f20b616c1a612296fff55597af77
Summary:
Simplifies medium usage. Clients report this value as an integer. Internally, we transform this integer as type (a set of valid strings).
Instead of transform this value in different places, do it once when the client query is received.
Reviewed By: antonk52
Differential Revision: D46358024
fbshipit-source-id: ecd2b6c6ccbe7c38787a89d4e2f81930c7b91864
Summary: It is hard to pass auth token to Jest E2E tests.
Reviewed By: lblasa
Differential Revision: D46279204
fbshipit-source-id: ee0138c3bd014bafb416f7fa8951fb25b25b4067
Summary:
In our organization, Flipper is distributed in a version controlled way. As a result, we do not want users to manually update or receive prompts to update when a new version is available. There is already a `--updater` flag in the command line arguments for flipper.exe, but it isn't piped through. This change pipes it through and disables all update related UI when `--no-updater` is passed in.
## Changelog
Support --updater and --no-updater options for flipper.exe
Pull Request resolved: https://github.com/facebook/flipper/pull/4277
Test Plan: Ran `yarn build --win` in flipper/desktop, and launched flipper.exe from flipper/dist/win-unpacked with the `--updater`, `--no-updater` and no flags and ensured the proper behavior was observed (update UI shows by default or when `--updater` is specified, and doesn't show when `--no-updater` is specified).
Reviewed By: passy
Differential Revision: D41298321
Pulled By: mweststrate
fbshipit-source-id: 5ddfede2700954f0fdd6a111b20d0836fab25565
Summary:
Flipper plugins fail when importing css from third-party dependencies. This diff tries to fix that.
Effectively, the plugin can import the css and export it when is bundled.
When we load the plugin, we check if there's a css file for it. If there's one, we return it and try to use it.
Reviewed By: aigoncharov
Differential Revision: D40758178
fbshipit-source-id: e53afffcc481504905d5eeb1aea1f9114ee2a86b
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:
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: 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: 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:
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:
Expose two new methods as to be able to:
- List plugins from marketplace
- Install a plugin from marketplace
Reviewed By: passy
Differential Revision: D37749817
fbshipit-source-id: 82b78f7906c5664d5747289fa4f8eadebcde1d73
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