Commit Graph

6730 Commits

Author SHA1 Message Date
Lukas Kurucz
8416372c8f fix: encode ws url (#3498)
Summary:
Some clients require encoded ws url. For example on Android (running in Rect Native), plain URL like this:
`ws://10.0.2.2:8333?device_id=ReactNative1646120067758.0.2246373385349361&device=ReactNative&app=React Native App Google - Android SDK&os=ReactNative`
will throw error during connection.

To not require param encoding when starting the `flipperClient.start()`, it is easier to encode entire `url` before starting the ws server.

## Changelog

- encode url for `js-flipper` ws server

Pull Request resolved: https://github.com/facebook/flipper/pull/3498

Reviewed By: aigoncharov

Differential Revision: D34638857

Pulled By: lblasa

fbshipit-source-id: 9eb0e268c7bacb5febc19bbb45fe6814fb7a60de
2022-03-04 03:46:06 -08:00
Pascal Hartig
07ee7fa706 Add Support Ukraine banner
Summary:
Inspired by https://github.com/facebook/react-native-website/pull/2988

Changelog: Add Support Ukraine banner to website

Reviewed By: antonk52, aigoncharov

Differential Revision: D34627820

fbshipit-source-id: 61f69984451c504eca9a6f5e55f30d968344129e
2022-03-04 03:25:42 -08:00
Andrey Goncharov
6c74f2dd18 Set device features on device initialization
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
2022-03-04 02:00:23 -08:00
facebook-flipper-bot
04e7c7282b Automated: Update Podfile.lock (#3492)
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)

Pull Request resolved: https://github.com/facebook/flipper/pull/3492

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

**Static Docs Preview: flipper**
|[Full Site](https://our.intern.facebook.com/intern/staticdocs/eph/D34595970/V2/flipper/)|

|**Modified Pages**|
|[docs/getting-started/ios-native](https://our.intern.facebook.com/intern/staticdocs/eph/D34595970/V2/flipper/docs/getting-started/ios-native/)|

Reviewed By: lblasa

Differential Revision: D34595970

Pulled By: passy

fbshipit-source-id: 5435c5fdd50e38c92e604547f32b73adf8148e37
2022-03-03 04:13:40 -08:00
Pascal Hartig
7c1251075f Dep bump for /desktop
Summary:
Combining a bunch of dependabot PRs.

N.B. I had to manually clean up the `yarn.lock` a few times because some dependencies resolved to multiple version numbers, catching tsc off-guard.
allow-large-files

Reviewed By: nikoant

Differential Revision: D34579180

fbshipit-source-id: a4848e1010ff240d9b0e721d3878585e7b4bd078
2022-03-03 04:11:52 -08:00
Andres Orozco Gonzalez
5b5ce92519 Add support to binding both IPv6 and IPv4 ports
Summary: Add support for binding the same port in flipper in both the IPv6 and IPv4 interfaces

Reviewed By: mweststrate

Differential Revision: D34591022

fbshipit-source-id: e28239c24425885ee442d93b84bb38902d521a0c
2022-03-03 00:31:08 -08:00
Adam Fiksen
7222437beb Add plumbing icon to flipper
Summary: Adds a reference to plumbing icon for plugins to use

Reviewed By: svaithia

Differential Revision: D34467457

fbshipit-source-id: 21d95f663309224742f4f93ac584998e1a470f28
2022-03-02 14:59:50 -08:00
Andrey Goncharov
5068c8273b Add deprecation notice notification
Summary: Add deprecation notice device icon and notification

Reviewed By: lblasa

Differential Revision: D34582475

fbshipit-source-id: 90fde15caf1925b42f50fbfc77dece88c82833cf
2022-03-02 09:18:15 -08:00
Flipper Bot
ed6e589bec Flipper Snapshot Bump: v0.137.1-SNAPSHOT
Summary: Releasing snapshot version 0.137.1-SNAPSHOT

Reviewed By: passy

Differential Revision: D34577712

fbshipit-source-id: 9d00f9fb5a6eec45a8578ece953faf89457928b4
2022-03-02 07:41:24 -08:00
Flipper Bot
f2e60ab6cb Flipper Release: v0.137.0
Summary: Releasing version 0.137.0

Reviewed By: passy

Differential Revision: D34577711

fbshipit-source-id: fc0ceb7676d1f7a8f5d1e271d78b489c61919bf6
2022-03-02 07:41:24 -08:00
dependabot[bot]
8018b0144a Bump gradle-maven-publish-plugin from 0.18.0 to 0.19.0 (#3482)
Summary:
Bumps [gradle-maven-publish-plugin](https://github.com/vanniktech/gradle-maven-publish-plugin) from 0.18.0 to 0.19.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/vanniktech/gradle-maven-publish-plugin/releases">gradle-maven-publish-plugin's releases</a>.</em></p>
<blockquote>
<h2>0.19.0</h2>
<p><a href="https://github.com/vanniktech/gradle-maven-publish-plugin/blob/master/CHANGELOG.md#version-0190-2022-02-26">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/vanniktech/gradle-maven-publish-plugin/blob/master/CHANGELOG.md">gradle-maven-publish-plugin's changelog</a>.</em></p>
<blockquote>
<h2>Version 0.19.0 <em>(2022-02-26)</em></h2>
<ul>
<li><strong>Behavior Change:</strong> When using version 7.1.0 or newer of the Android Gradle Plugin we will now publish all variants
of a library unless <code>androidVariantToPublish</code> was set in the DSL. This means that for example both <code>debug</code> and <code>release</code>
or all flavors.</li>
<li>Deprecated <code>androidVariantToPublish</code>. In the future the main plugin will always publish all variants of an Android
library. If you need to publish only one variant or a subset take a look at the <a href="https://github.com/vanniktech/gradle-maven-publish-plugin/blob/master/README.md#base-plugin">base plugin</a>
APIs.</li>
<li>Base plugin: Added <code>AndroidSingleVariantLibrary</code> and <code>AndroidMultiVariantLibrary</code> options that use the new AGP 7.1
APIs under the hood.</li>
<li>Base plugin: Deprecated <code>AndroidLibrary</code> option in favor of the above</li>
<li>The integration with Sonatype Nexus has been extracted into it's own artifact and is available as <code>com.vanniktech:nexus:&lt;version&gt;</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c1267766d9"><code>c126776</code></a> Prepare version 0.19.0</li>
<li><a href="a91b7655b9"><code>a91b765</code></a> add AGP 7.1.2 support (<a href="https://github-redirect.dependabot.com/vanniktech/gradle-maven-publish-plugin/issues/293">https://github.com/facebook/flipper/issues/293</a>)</li>
<li><a href="6b8661bd33"><code>6b8661b</code></a> change how integration tests are run, update dependencies/build (<a href="https://github-redirect.dependabot.com/vanniktech/gradle-maven-publish-plugin/issues/327">https://github.com/facebook/flipper/issues/327</a>)</li>
<li><a href="224c2fb4d5"><code>224c2fb</code></a> Fix maven local path (<a href="https://github-redirect.dependabot.com/vanniktech/gradle-maven-publish-plugin/issues/316">https://github.com/facebook/flipper/issues/316</a>)</li>
<li><a href="6f455427ae"><code>6f45542</code></a> Fix partial(confusing) sign detail for windows (<a href="https://github-redirect.dependabot.com/vanniktech/gradle-maven-publish-plugin/issues/286">https://github.com/facebook/flipper/issues/286</a>)</li>
<li><a href="c76feb19ce"><code>c76feb1</code></a> Extract <code>nexus</code> as a separate module (<a href="https://github-redirect.dependabot.com/vanniktech/gradle-maven-publish-plugin/issues/309">https://github.com/facebook/flipper/issues/309</a>)</li>
<li><a href="42a748d1f7"><code>42a748d</code></a> Fixing variable names (group and version) in base plugin configuration in doc...</li>
<li><a href="3b0d49a9a9"><code>3b0d49a</code></a> Prepare next development version.</li>
<li>See full diff in <a href="https://github.com/vanniktech/gradle-maven-publish-plugin/compare/0.18.0...0.19.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.vanniktech:gradle-maven-publish-plugin&package-manager=gradle&previous-version=0.18.0&new-version=0.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/3482

Reviewed By: nikoant

Differential Revision: D34578848

Pulled By: passy

fbshipit-source-id: f3e0f8271b0a0d1632a105dbf798afaff467e257
2022-03-02 04:48:01 -08:00
Andrey Goncharov
e26ba0d945 Encapsulate styleguide styles
Summary: Prevent leaking Flipper styles and antd styles into the website by embedding the styleguide into an iframe.

Reviewed By: nikoant

Differential Revision: D34522771

fbshipit-source-id: a05bf1e7f54fe172fb012a0a02296b3a4e0100f1
2022-02-28 09:54:03 -08:00
Andrey Goncharov
8ee788239b Update version number for default plugins
Summary: Prior to this fix, plugins were copied with verion 0.0.0 which forced them to be updated with "newer" versions from marketplace

Reviewed By: nikoant

Differential Revision: D34457087

fbshipit-source-id: a3242578c570447f8ecf9c62bcaa69e5d9688c42
2022-02-28 03:50:34 -08:00
Andrey Goncharov
b82cdfb664 Fix starting dev Flipper without bundled plugins
Summary: --no-embedded-plugins does not seem to exist. Replaced with --no-bundled-plugins which removes plugins from defaultPlugins/idex.tsx (as in prod).

Reviewed By: antonk52

Differential Revision: D34445364

fbshipit-source-id: e52c2e327bf43a3f682b6d9e18315e6ecadad5d8
2022-02-28 03:50:34 -08:00
Andrey Goncharov
3ec5b56263 Polyfill fetch
Summary: Provide server add-on writers with a well-known fetch API

Reviewed By: mweststrate

Differential Revision: D34447630

fbshipit-source-id: 70386940c12f9e53aa97b3530a7edf1d40b5f2e2
2022-02-28 03:50:34 -08:00
Andrey Goncharov
aec05533d7 Expose a subset of flipper-plugin to flipper server
Summary: Flipper plugins rely on 'flipper-plugin' package being accessible from 'global'. Expose a subset (without UI stuff) of flipper-plugin to server add-ons

Reviewed By: mweststrate

Differential Revision: D34400811

fbshipit-source-id: e0079ddfa67e66c1b24ab02d7682917ddfc84aaf
2022-02-28 03:50:34 -08:00
Andrey Goncharov
9449f61adb Add server add-on babel transform
Reviewed By: antonk52

Differential Revision: D34393126

fbshipit-source-id: d910392d9ac7e7a44e2e9ede690a6bed77f018c7
2022-02-28 03:50:34 -08:00
Andrey Goncharov
01a5f3da90 Add generics to server add-on connection
Reviewed By: mweststrate

Differential Revision: D34307356

fbshipit-source-id: 27e61355a85995368ebb197c42d58f4145473567
2022-02-28 03:50:34 -08:00
Andrey Goncharov
673bb9135e Allow Node APIs for server add-ons
Reviewed By: antonk52

Differential Revision: D34386916

fbshipit-source-id: b2484dff15b0a1b0d08f8b0b2e17916d037570c8
2022-02-28 03:50:34 -08:00
Andrey Goncharov
dcfc84cce6 Add onServerAddOnStart and onServerAddOnStop plugin hooks
Reviewed By: mweststrate

Differential Revision: D34378231

fbshipit-source-id: e086eebcf94c01da76bfe8b88c6528bd21d89968
2022-02-28 03:50:34 -08:00
Andrey Goncharov
9e4ac0aaa9 Add unit tests for PluginManager
Reviewed By: mweststrate

Differential Revision: D34307076

fbshipit-source-id: 7cb6c808bea10d15627958e8fabc02b4563183d4
2022-02-28 03:50:34 -08:00
Andrey Goncharov
d96cf8127f Add unit tests for ServerAddOn
Reviewed By: mweststrate

Differential Revision: D34303780

fbshipit-source-id: 03a4570a6e891d979b87caca14f51068d74df877
2022-02-28 03:50:34 -08:00
Andrey Goncharov
81d0057a8d Fix potential race conditions for starting/stopping server add-ons
Reviewed By: mweststrate

Differential Revision: D34301593

fbshipit-source-id: 2950de8a8567318cd3e87eff176657df5ba8fd1b
2022-02-28 03:50:34 -08:00
Andrey Goncharov
bdbf79e3e1 Limit events and methods in server contact to strings only
Reviewed By: antonk52

Differential Revision: D34300854

fbshipit-source-id: 79cd3e3da9bb5dbac75243ac90118f32e12d8177
2022-02-28 03:50:34 -08:00
Andrey Goncharov
8b94186783 Load installed server add-ons
Reviewed By: nikoant

Differential Revision: D34300475

fbshipit-source-id: 6bb6c0ab811e28806a0924b3487931bdb0dd2c59
2022-02-28 03:50:34 -08:00
Andrey Goncharov
b4b9c0ab28 Implement receiving messages from add-on on the client
Reviewed By: mweststrate

Differential Revision: D34249101

fbshipit-source-id: 07297b84ed8640e3b41599726ba613b6b4e2b62e
2022-02-28 03:50:34 -08:00
Andrey Goncharov
4067f5bd88 Implement sending messages from desktop to add-on
Reviewed By: antonk52

Differential Revision: D34239803

fbshipit-source-id: 1a18d522ba877ade3d0703fbb374c15b596241d7
2022-02-28 03:50:34 -08:00
Andrey Goncharov
2ce037d96b Load bundled server add-ons
Reviewed By: antonk52

Differential Revision: D34238883

fbshipit-source-id: 01b4b1c1c0a63cbfb639e903f6a77307ae370330
2022-02-28 03:50:34 -08:00
Andrey Goncharov
b655efc78e Migrate to default exports for server add-ons
Reviewed By: antonk52

Differential Revision: D34201906

fbshipit-source-id: 3ee2bf831d5a1f5c6c9252acce1b1731462871f1
2022-02-28 03:50:34 -08:00
Andrey Goncharov
5cdb7c952e Update build scripts to support bundling server add-ons
Summary: Summary

Reviewed By: nikoant

Differential Revision: D34170565

fbshipit-source-id: be9904809bf33e85536a4c6ead0e753ef05209ff
2022-02-28 03:50:34 -08:00
Andrey Goncharov
47dd675dc8 Update schema
Reviewed By: mweststrate

Differential Revision: D34169727

fbshipit-source-id: 4df1eeb17ff3894e60b7b857a571524dba7de085
2022-02-28 03:50:34 -08:00
Andrey Goncharov
04eab80c98 Move server add-on interfaces to flipper-common
Reviewed By: antonk52

Differential Revision: D34169419

fbshipit-source-id: 69fcc8da7d98f59818fbb5b486a488f19830cd81
2022-02-28 03:50:34 -08:00
Andrey Goncharov
b9294645d3 Limit methods server add on can access
Reviewed By: mweststrate

Differential Revision: D34076174

fbshipit-source-id: e51a1b08dab54de6b7dc82ca59ec18a10f81ddd7
2022-02-28 03:50:34 -08:00
Andrey Goncharov
b80755721c Draft communication with server add-ons from the client side
Reviewed By: nikoant

Differential Revision: D34075379

fbshipit-source-id: 09f575f5cced866ad7b9290d7739ce60f38edeee
2022-02-28 03:50:34 -08:00
Andrey Goncharov
db976d5113 Implement sending messages from a server add-on
Reviewed By: mweststrate

Differential Revision: D34074383

fbshipit-source-id: de85e7a22dc9bb780163fc5b522708e8bc976df3
2022-02-28 03:50:34 -08:00
Andrey Goncharov
842b2c810a Implement sending messages to server add-on
Reviewed By: mweststrate

Differential Revision: D34073403

fbshipit-source-id: eacd73811b436f2b5c4255a83d8eb09367a96a67
2022-02-28 03:50:34 -08:00
Andrey Goncharov
12151e4a71 Extend Flipper commands to support server add-on messaging
Reviewed By: mweststrate

Differential Revision: D34046466

fbshipit-source-id: 9acc172c1805ec724b8709999bacf9e899c39e6b
2022-02-28 03:50:34 -08:00
Andrey Goncharov
3b390b74ff Track client connections and autostop server add-ons when all clients leave
Reviewed By: mweststrate

Differential Revision: D34045584

fbshipit-source-id: 1ad0cfffb9d304f0359c973d76d6956f7e932f72
2022-02-28 03:50:34 -08:00
Andrey Goncharov
9113006851 Make Client initialize server add-ons
Reviewed By: mweststrate

Differential Revision: D34044353

fbshipit-source-id: 99bcb1559787b2a904bdd796233666a7a4783ea4
2022-02-28 03:50:34 -08:00
Andrey Goncharov
a60865f0be Intergrate ServerAddOn with PluginManager
Reviewed By: lblasa

Differential Revision: D34042338

fbshipit-source-id: 2ae3992738e647075f19c4dba0ebfb01e6c12b8f
2022-02-28 03:50:34 -08:00
Andrey Goncharov
016299b374 Add server-side ServerAddOn entity
Reviewed By: lblasa

Differential Revision: D33982373

fbshipit-source-id: a07589e515fe82d3735402cc26d1258e1d212931
2022-02-28 03:50:34 -08:00
Andrey Goncharov
fc20abf392 Add Flipper server command definitions
Reviewed By: lblasa

Differential Revision: D33980529

fbshipit-source-id: b64f48134d4816d3502c70d15beff90a044490a4
2022-02-28 03:50:34 -08:00
Jong Hyun Park
035ba5613c Add neighbouring lines feature to Flipper Logs plugin
Summary:
Adding a feature to Flipper's Logs plugin where:
1) you search for something,
2) click on a line among the filtered search results,
3) press control,
4) get taken back to unfiltered list of all messages, centered on your selected line

This is to help debugging where the user may add a print statement but the error happens after it, and it's difficult to catch without a lot of scrolling.

Reviewed By: mweststrate

Differential Revision: D33446285

fbshipit-source-id: 19aa472a12de074e561dbe37b44821fc29bf5c91
2022-02-25 10:07:42 -08:00
Lorenzo Blasa
30becc1ced Remove RSocket
Summary:
^
Changelog: Remove rsocket dependency for Android

Reviewed By: aigoncharov

Differential Revision: D34418565

fbshipit-source-id: d2bfd6cede3c85709e252a8205525aa4595b4791
2022-02-25 02:33:22 -08:00
Lorenzo Blasa
9aed8ce02d Remove RSocket
Summary:
^
Changelog: Remove rsocket dependency for iOS

Reviewed By: aigoncharov

Differential Revision: D33656299

fbshipit-source-id: aab00c425976273112a127e06aca82dfd63194eb
2022-02-25 02:02:24 -08:00
Lorenzo Blasa
c4f80a826e Remove RSocket
Summary:
^
Changelog: Remove rsocket references from xplat

Reviewed By: aigoncharov

Differential Revision: D34418118

fbshipit-source-id: bd49b9da119e3a2a1ce396d14e0dca73e1b9c692
2022-02-24 23:56:22 -08:00
Scott Kyle
c15605afd3 Fixes for Mac Catalyst
Summary: When building for Mac Catalyst, it mostly appears as if it's targeting iOS (`TARGET_OS_OSX` is `0`) and the behavior should be aligned with iOS Simulator builds.

Reviewed By: lblasa

Differential Revision: D34413681

fbshipit-source-id: 1e56bbb3f16f8cd78e77771ff641c5cfcbc49955
2022-02-23 09:22:15 -08:00
Flipper Bot
faddf82317 Flipper Snapshot Bump: v0.136.1-SNAPSHOT
Summary: Releasing snapshot version 0.136.1-SNAPSHOT

Reviewed By: jknoxville

Differential Revision: D34414614

fbshipit-source-id: 176dd6c48587ea3b6a1bd24203210a5a649438d5
2022-02-23 08:22:34 -08:00
Flipper Bot
e1746932ce Flipper Release: v0.136.0
Summary: Releasing version 0.136.0

Reviewed By: jknoxville

Differential Revision: D34414615

fbshipit-source-id: 7239b27687b1af22cf26597e0d1fca138f9f9c7f
2022-02-23 08:22:34 -08:00
Lorenzo Blasa
5993a748ba C++ WebSocket
Summary:
^

Changes include:
- C++ WebSocket integration
- Explicit asio namespace usage as namespace asio = websocketpp::lib::asio; this way we don't care if boost::asio or just asio is used in the end.

Reviewed By: javache

Differential Revision: D34388770

fbshipit-source-id: d0b3ee8ac687751ab1b93d483729eb2baccb8687
2022-02-23 04:23:07 -08:00