Commit Graph

6699 Commits

Author SHA1 Message Date
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
Chris Hogan
4c91382e09 Synchronize access to dict in FLEXNetworkRecorder (#3457)
Summary:
All our read/write to `identifierDict` in FLEXNetworkRecorder are done in their own thread-safe queue except one read and one write call.

Those two non-thread-safe read/write calls are causing ThreadSanitizer crashes in `react-native-macOS` when we consume flipper. By adding these calls to the `dispatch_async(self.queue` a few lines lower in the method, their access becomes thread safe as well.

Never having worked on Flipper I don't have much context on what FLEXNetworkRecorder actually does and the git history for this file shows the bug has existed since the "Initial commit" so it's unclear to me if we've purposefully not included these calls in the dispatch queue for some reason.

That said, I'd propose this as a fix as the thread sanitizing crash no longer repros for me downstream and I don't see anything immediately obvious for why this can't be in the self.queue as well.

## Changelog

Fix thread sanitizer crash in FLEXNetworkRecorder.

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

Test Plan:
Running react-native-macOS with the ThreadSanitizer consistently hits this race condition on a library object in Flipper with the error below.

```
WARNING: ThreadSanitizer: race on NSMutableDictionary (pid=32575)
  Read-only access of NSMutableDictionary at 0x000133ae5c60 by thread T11:
    #0 -[__NSDictionaryM objectForKeyedSubscript:] <null>:130036204 (CoreFoundation:arm64+0x1897d8)
    https://github.com/facebook/flipper/issues/1 __85-[FLEXNetworkRecorder recordRequestWillBeSentWithRequestID:request:redirectResponse:]_block_invoke FLEXNetworkRecorder.mm:130 (RNTester:arm64+0x1007afc48)
    https://github.com/facebook/flipper/issues/2 __tsan::invoke_and_release_block(void*) <null>:130036204 (libclang_rt.tsan_iossim_dynamic.dylib:arm64+0x70514)
    https://github.com/facebook/flipper/issues/3 _dispatch_client_callout <null>:130036204 (libdispatch.dylib:arm64+0x581c)

  Previous modifying access of NSMutableDictionary at 0x000133ae5c60 by thread T1:
    #0 -[__NSDictionaryM setObject:forKeyedSubscript:] <null>:130036204 (CoreFoundation:arm64+0x188808)
    https://github.com/facebook/flipper/issues/1 -[FLEXNetworkRecorder recordRequestWillBeSentWithRequestID:request:redirectResponse:] FLEXNetworkRecorder.mm:118 (RNTester:arm64+0x1007af754)
    https://github.com/facebook/flipper/issues/2 __73-[FLEXNetworkObserver(NSURLSessionTaskHelpers) URLSessionTaskWillResume:]_block_invoke FLEXNetworkObserver.mm:1690 (RNTester:arm64+0x1007adc70)
    https://github.com/facebook/flipper/issues/3 __tsan::invoke_and_release_block(void*) <null>:130036204 (libclang_rt.tsan_iossim_dynamic.dylib:arm64+0x70514)
    https://github.com/facebook/flipper/issues/4 _dispatch_client_callout <null>:130036204 (libdispatch.dylib:arm64+0x581c)
```
After moving the only non-thread safe read/write call into the appropriate dispatch queues I'm not longer able to repro this thread access crash after many attempts.

Reviewed By: fabiomassimo

Differential Revision: D34388079

Pulled By: lblasa

fbshipit-source-id: 2e654d601bc6a7d8d78d9a824e0aee66889b7fb9
2022-02-22 10:22:23 -08:00
Andrey Goncharov
bed23c586b Replace style guide references
Summary:
allow-large-files
See D34339758

Reviewed By: jknoxville

Differential Revision: D34378570

fbshipit-source-id: ad451afc1774e6d38902d510629ce1b92457adf0
2022-02-22 08:25:28 -08:00
Andrey Goncharov
342c316c84 Add style guide
Summary:
allow-large-files
See D34339758

Reviewed By: jknoxville

Differential Revision: D34378571

fbshipit-source-id: a7c845f4676b25998dc63bf3029c5d1ec8205611
2022-02-22 08:25:28 -08:00
Andrey Goncharov
3d8d43b562 Update babel config
Summary:
allow-large-files

During decapitation the style guide was accidentally removed. In this diff we bring it back and embed it into our docs.
The only caveat is that the fonts have slightly changes because we included antd.css. It does not change too much from my point of view, but I would love to hear from the team.

Reviewed By: jknoxville

Differential Revision: D34339758

fbshipit-source-id: 10d347bc805f9314ae717de483bf8b766000280f
2022-02-22 08:25:28 -08:00
Anton Nikolaev
38c81ca159 Make internal plugin distribution code publicly available (#3473)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3473

This diff is the first one which addresses https://github.com/facebook/flipper/issues/3320.

In this diff we are making a part of the code used for internal Flipper plugin distribution in Meta also available publicly for re-using in other orgs.

Some explanation on how plugin installation and updates is designed now:
1) We periodically poll for plugins available for download. API for retrieving available plugins list is abstracted and will be different between public and fb versions, however all other logic is re-used.
2) In addition to "Enabled" and "Disabled" plugins in the left panel Flipper shows "Detected in App" list. Plugins in this list are those which are known compatible with the currently selected device/app, but not yet installed.
3) User can install any of "Detected in App" plugins by clicking to "Download and install" button near them in the left panel similarly to enabling plugins in "Disabled" list.
4) If we detect that for some installed plugin we have a newer version available for download - we download it silently and store on disk.
5) If the plugin for which we have new downloaded version is disabled - we update it silently without any notifications by loading new version from the disk and unloading the previous version from cache.
6) If the plugin for which we have new downloaded version is enabled then we avoid updating it automatically (because we need to reset plugin state in such case) and instead show notification on top of the plugin and ask user to reload it to apply new version. On reloading we reset the plugin state.
7) On Flipper startup we always update all plugins to their latest versions available on the disk.

Reviewed By: aigoncharov

Differential Revision: D34380308

fbshipit-source-id: a94d724e42aa5ef78445af266fcd4c424226a703
2022-02-22 05:23:05 -08:00
Anton Nikolaev
5da0a83a36 Refactor recommended plugin API
Summary:
This is just refactoring in preparation to open-sourcing internal plugin distribution code to make it available for other orgs so they can distribute their internal plugins. See other diffs in the same stack.

This diff moves recommended plugins handling from `pluginMarketplace` which will be the same for fb-internal and OS versions into `pluginMarketplaceAPI` which will differ for fb-internal and OS versions. This will make it possible for other orgs to define their own "recommended" plugins which then will be automatically installed/enabled for new users.

Reviewed By: aigoncharov

Differential Revision: D34379981

fbshipit-source-id: 5c3a4efb6d0171256cf508f9005d914d7332e14f
2022-02-22 05:23:05 -08:00
Lorenzo Blasa
395708348d Remove RSocket documentation references
Summary:
^
Changelog: Remove RSocket documentation references

Reviewed By: jknoxville

Differential Revision: D34345316

fbshipit-source-id: 5b9fac8c04e325f3f02ef3713b0146b17e694c9d
2022-02-21 06:22:44 -08:00
Andrey Goncharov
4d1d9648f0 JS Flipper announcement
Summary: Annonce JS flipper

Reviewed By: mweststrate

Differential Revision: D33565875

fbshipit-source-id: da7140ea3a331ff3d387801410e88d1f6746bee3
2022-02-21 04:23:16 -08:00
John Knox
ab0775a987 automatic update for docusaurus-plugin-internaldocs-fb@0.10.6
Reviewed By: antonk52

Differential Revision: D34343082

fbshipit-source-id: d6baf684e951e6ad4099034595331f5ed9e764d5
2022-02-21 04:23:16 -08:00
Lorenzo Blasa
c45164ec2b Log unable to extract clientQuery as warning instead of error
Summary:
^
LogView is raising this up but I don't think there's an actionable item from our side. If a client doesn't have the right arguments on the query string then we effectively are unable to construct a valid query.

All our clients do this correctly, but there may be instances that either a browser or another process is 'trying' to connect to Flipper even if unintentionally. This behaviour I've observed in the past.

Changelog: Log 'Unable to extract the client query from the request URL' as warning

Reviewed By: passy

Differential Revision: D34340068

fbshipit-source-id: f5fc36a9803a83d6662b6383589bc0aa99774798
2022-02-18 05:50:07 -08:00
facebook-flipper-bot
db68ff5b3a Automated: Update Podfile.lock (#3456)
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/3456

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

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

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

Reviewed By: nikoant

Differential Revision: D34299173

Pulled By: aigoncharov

fbshipit-source-id: 2595b9e239415007e43adf79f58fd62c65dd381a
2022-02-17 02:51:54 -08:00
Dominik Pich
9703a68423 surpress unused error for retainedData as it is deliberate to delay its deallocation
Summary:
this diff ignores an used variable error as it is deliberate
xcode 13.3 doesnt like that

see:
https://www.internalfb.com/intern/testinfra/diagnostics/5066549669072759.844424981821815.1644949594/

Note: feel free to commandeer for better fix!

Reviewed By: d16r

Differential Revision: D34259729

fbshipit-source-id: 7c6ba4129a83a6f82981e927744c3a36046d88df
2022-02-16 15:48:54 -08:00
Xin Yue
9833105764 Edit intro.mdx using inpage editor
Summary:
This diff has been automatically generated by the inpage editor.
                        If you want to update this diff, go through the preview link that would be attached to the test plan.
                        Please ensure you are editing the same page that was used to create this diff.

Reviewed By: nikoant

Differential Revision: D34249537

fbshipit-source-id: cc64c219d3400633af7bbcb5ab002c13dfb83899
2022-02-16 11:36:15 -08:00
tsubasa kogoma
63cec41e29 Change label from iOS to ObjC (#3398)
Summary:
The documentation shows Swift and ObjC code, but the label names are Swift and iOS.

## Changelog
Modify the documentation

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

Test Plan:
No test plan

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

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

Reviewed By: mweststrate

Differential Revision: D34269458

Pulled By: aigoncharov

fbshipit-source-id: 98909b539b49a54eb6cba8605b55a00e53619a19
2022-02-16 08:31:53 -08:00
Pascal Hartig
d8530baa25 Upgrade to Gradle 7.4 (#3437)
Summary:
Done using

```
./gradlew wrapper --gradle-version=7.4 --distribution-type=all
```

Waiting for CI result to check if this also addresses the build problem.

Note for reviewers: This is generated. Scanning for Bad Things is appreciated but you don't need to carefully read every line.

Depends on https://github.com/facebook/flipper/issues/3436.

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

Test Plan: The recently added test step for verifying that this doesn't regress our APK creation is passing: https://github.com/facebook/flipper/runs/5188576639?check_suite_focus=true

Reviewed By: lblasa

Differential Revision: D34218046

Pulled By: passy

fbshipit-source-id: 20d3c543db8f1c12f996977d0bb34d62ea5bcd0b
2022-02-16 08:22:09 -08:00
Pascal Hartig
3945675ca0 Remove dynamic data from error
Summary:
Dynamic information means we can't deduplicate on the backend.
Logging the serial as a warning instead.

In general, I'm not convinced this is a good error to begin with
as it seems expected that devices can disappear on disconnect
but getting a better count should help to make that decision.

Reviewed By: aigoncharov

Differential Revision: D34247723

fbshipit-source-id: ace3c32d2370433dcca2debbea3a2c5d7a2ecb57
2022-02-16 07:59:45 -08:00
Andrey Goncharov
277e18133b Fix NPM publishing
Reviewed By: cekkaewnumchai

Differential Revision: D34272179

fbshipit-source-id: d270847996b180029b28d22afe5d03e2d74252a7
2022-02-16 07:59:45 -08:00
Andres Orozco Gonzalez
b2dae4da81 Add support to load settings from options (flag) and default to specific options
Summary: This change gives priority to a user option settingsString to set up the flipper-server configuration and load them from a json string. Also giving the user the chance to avoid flipper-server looking at the launcher config files in the computer

Reviewed By: mweststrate

Differential Revision: D34210110

fbshipit-source-id: 9e852b79da106b5140c59116fd7d0c0f3155e620
2022-02-16 06:23:45 -08:00
Flipper Bot
ff872400c7 Flipper Snapshot Bump: v0.135.1-SNAPSHOT
Summary: Releasing snapshot version 0.135.1-SNAPSHOT

Reviewed By: aigoncharov

Differential Revision: D34269501

fbshipit-source-id: f3e688db82c72616ddddb85fa9a98a76fabf686c
2022-02-16 05:52:58 -08:00
Flipper Bot
4e1ad10440 Flipper Release: v0.135.0
Summary: Releasing version 0.135.0

Reviewed By: aigoncharov

Differential Revision: D34269502

fbshipit-source-id: fe99fb7959778c97052045450ca5fce26a348043
2022-02-16 05:52:58 -08:00
Lorenzo Blasa
77ab722b52 Better notification messaging
Summary:
'Failed to start connection server' is a bit misleading. 'server-error' is used for both server and client errors.
Changelog: Better notification messaging

Reviewed By: aigoncharov

Differential Revision: D34269045

fbshipit-source-id: f51a28fc0e9ba394b464e5bfca4d0e497f740b1b
2022-02-16 05:22:35 -08:00
Peter Velkov
9d2f11f505 Fix adb path check on Windows (#3434)
Summary:
The adb path check seem to be platform dependent

Instead of pre-validating the path we can execute the intended command and retry with an alternative adb path only if it fails with file not found error

Related to https://github.com/facebook/flipper/issues/3430 (adb is not detected)

## Changelog

Fix ADB detection and startup on Windows

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

Test Plan:
#### adb is detected successfully when `adb.exe` is in `platform-tools`
![image](https://user-images.githubusercontent.com/12156624/153605414-b85c1aef-1e60-457d-be90-3673900d7cc5.png)

#### Falling back to alternative path when `adb.exe` is the SDK folder
![image](https://user-images.githubusercontent.com/12156624/153605693-0adb9c1b-e77f-44a1-9d2c-00cf40f59645.png)

#### Otherwise failing if `adb.exe` is not found
![image](https://user-images.githubusercontent.com/12156624/153605797-307304d3-e513-459a-9e28-53d95ba94642.png)

Reviewed By: passy

Differential Revision: D34240518

Pulled By: aigoncharov

fbshipit-source-id: db834bbdc9815e5ad41f7a1329ec8d5869f6f24b
2022-02-16 02:59:39 -08:00
facebook-flipper-bot
e52c0dfa78 Automated: Update Podfile.lock (#3454)
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/3454

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

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

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

Reviewed By: nikoant

Differential Revision: D34245365

Pulled By: passy

fbshipit-source-id: 241aa9333ad1a2cb0f0bdcbcf4ba9cbe75355652
2022-02-15 11:04:06 -08:00
dependabot[bot]
c18aabd8ac Bump metro-runtime from 0.66.2 to 0.68.0 in /desktop (#3451)
Summary:
Bumps [metro-runtime](https://github.com/facebook/metro) from 0.66.2 to 0.68.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/metro/releases">metro-runtime's releases</a>.</em></p>
<blockquote>
<h2>Release v0.68.0</h2>
<ul>
<li><strong>[Breaking]</strong> <code>resolver.resolveRequest</code> moved to the front of the resolution algorithm and <a href="https://facebook.github.io/metro/docs/configuration/#resolverequest">has a new API</a> (d81d8877c05637eac2b4ea946a9fa1e8ae869b06)</li>
<li><strong>[Feature]</strong>  <code>metro-react-native-babel-preset</code>: Support async iterators, &quot;for await ... of&quot; (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/747">https://github.com/facebook/flipper/issues/747</a> by <a href="https://github.com/newyankeecodeshop"><code>@​newyankeecodeshop</code></a>)</li>
</ul>
<p>Thanks to all of our contributors for helping improve Metro! 🚇</p>
<h2>Release v0.67.0</h2>
<ul>
<li><strong>[Breaking]</strong> Use custom resolvers (<code>resolver.resolveRequest</code>) before checking the Haste map. (96fb6e904e1660b37f4d1f5353ca1e5477c4afbf)</li>
<li><strong>[Feature]</strong> Update React Native lazy imports list with the removal of <code>StatusBarIOS</code>. (2a0f77925e3299e01c2bfe82d0356145a643adc0)</li>
<li><strong>[Feature]</strong> Allow configuring the path of the canonical empty module, which now lives in <code>metro-runtime</code> by default. (bd5f9323337b03a77bc219636937bb75cd8c18ca, 6e3e789b685b95ea59a58364a751e8010d536e8b, 7723be545795c936cb81cad214ee202f72e169b3)</li>
<li><strong>[Feature]</strong> Add <code>initialize_done</code>, <code>transformer_loading</code>, and <code>transformer_loaded</code> events to the <code>Reporter</code> interface. (d19cf5d7e88207a8d46c17b570f14a239dae8926)</li>
<li><strong>[Feature]</strong> Add <code>waitForBundler</code> option to the <code>runServer()</code> and <code>runMetro()</code> APIs. (57d8a92583185a97dffcdc1c95fef7780be9104d)</li>
<li><strong>[Feature]</strong> Add <code>resolver.disableHierarchicalLookup</code> option. (01416f1bc41a3d557b24e4b508fed5f158990108)</li>
<li><strong>[Feature]</strong> Remove confusing troubleshooting steps from missing module errors. (1fa45c21f7508cc3a852071b775f592873700ad0)</li>
<li><strong>[Feature]</strong> Infer names for anonymous functions in optional calls. (4ced2a1be8a42a9c7df71b566918a457bad207c1)</li>
<li><strong>[Feature]</strong> Infer names for anonymous functions memoized with useCallback. (2611f618b245fd2bd2c3558d2536011269bb5a68)</li>
<li><strong>[Feature]</strong> Update terser to v5 in <code>metro-minify-terser</code>. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/754">facebook/metro#754</a> by <a href="https://github.com/rockwotj"><code>@​rockwotj</code></a>, <a href="https://github-redirect.dependabot.com/facebook/metro/pull/606">facebook/metro#606</a> by <a href="https://github.com/janicduplessis"><code>@​janicduplessis</code></a>)</li>
<li><strong>[Fix]</strong> Fix a caching issue with custom resolvers. (793b1a03c1f0b5e63869b471adab3f1ad61b199b)</li>
<li><strong>[Fix]</strong> Specify UTF-8 encoding when serving bundles. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/695">facebook/metro#695</a> by <a href="https://github.com/zhiqingchen"><code>@​zhiqingchen</code></a>)</li>
<li><strong>[Fix]</strong> Support <a href="https://github.com/defunctzombie/package-browser-field-spec#replace-specific-files---advanced">package.json module replacements</a> for requires with implicit extensions. (41522a25bec9325d1df5981b55d4672db7126895)</li>
<li><strong>[Fix]</strong> Resolve <a href="https://github.com/defunctzombie/package-browser-field-spec#replace-specific-files---advanced">package.json module replacements</a> when the replaced module isn't a physical file. (171393a6319e507935eeb3d40561e908c1a2abfe)</li>
<li><strong>[Fix]</strong> Fix stack trace symbolication when input files have non-Unix line endings. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/691">facebook/metro#691</a> by <a href="https://github.com/danielsmc"><code>@​danielsmc</code></a>)</li>
<li><strong>[Fix]</strong> Decrease the precedence of <code>resolver.nodeModulesPaths</code> to respect transitive dependencies. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/738">facebook/metro#738</a> by <a href="https://github.com/sharmilajesupaul"><code>@​sharmilajesupaul</code></a>)</li>
<li><strong>[Fix]</strong> Respect <code>mangle: false</code> &amp; <code>sourceMap: false</code> in <code>minifierConfig</code>. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/749">facebook/metro#749</a> by <a href="https://github.com/mfbx9da4"><code>@​mfbx9da4</code></a>)</li>
<li><strong>[Fix]</strong> Update hash function from MD4 to MD5 for Node 17 compatibility. (<a href="https://github-redirect.dependabot.com/facebook/metro/pull/752">facebook/metro#752</a> by <a href="https://github.com/tobua"><code>@​tobua</code></a>)</li>
</ul>
<blockquote>
<p>NOTE: Experimental features are not covered by semver and can change at any time.</p>
</blockquote>
<ul>
<li><strong>[Experimental]</strong> Add <code>server.unstable_serverRoot</code> option to allow serving bundles from folders outside the project root. (026a66cf40df1bd05da2afc1660efa1d9605c55a, ca86682012eb836e2b6aeb001f2b3112129e38c3, e061cf342505f3d07fb21f85f22925e3d05557c9, 70e98882ad24d7c25c9b73eaf347e60f2a74c8ca, baacea28635dae7fea3bd30dd485252ae59a937e)</li>
<li><strong>[Experimental]</strong> Update <code>metro-hermes-compiler</code>. (e80434cf329619e1a0c6c56ae7be6c88cb350c99)</li>
<li><strong>[Experimental]</strong> Provide safe access to assets outside the project root using <code>/assets?unstable_path=...</code>. (f3d1157bacc341dff82efea2f70b634141105fc0)</li>
<li><strong>[Experimental]</strong> Add <code>resolver.unstable_hasteMapModulePath</code> option. (e8c0de0411148bd31e3decb6a5c4c1dc1d645666)</li>
</ul>
<p>Thanks to all the contributors mentioned above for helping improve Metro! 🚇</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c84b533643"><code>c84b533</code></a> Publish 0.68.0</li>
<li><a href="fbe26fd929"><code>fbe26fd</code></a> fix(website): add Algolia search API key (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/726">https://github.com/facebook/flipper/issues/726</a>)</li>
<li><a href="02baeb6dac"><code>02baeb6</code></a> Change github actions trigger to use <code>main</code> branch (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/769">https://github.com/facebook/flipper/issues/769</a>)</li>
<li><a href="bf73ed3aa7"><code>bf73ed3</code></a> RN preset: support async iterators, for await of (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/747">https://github.com/facebook/flipper/issues/747</a>)</li>
<li><a href="a40c474a67"><code>a40c474</code></a> Deploy 0.171.0 to xplat</li>
<li><a href="d81d8877c0"><code>d81d887</code></a> Move resolveRequest to the front of the resolution algorithm</li>
<li><a href="ccfec1e846"><code>ccfec1e</code></a> Release 0.67.0</li>
<li><a href="b31f5a462d"><code>b31f5a4</code></a> Deploy v0.170.0 to xplat</li>
<li><a href="36e3ffe4bd"><code>36e3ffe</code></a> Bump node-fetch from 2.6.1 to 2.6.7 (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/762">https://github.com/facebook/flipper/issues/762</a>)</li>
<li><a href="3fb4da8fae"><code>3fb4da8</code></a> Bump trim-off-newlines from 1.0.1 to 1.0.3 (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/757">https://github.com/facebook/flipper/issues/757</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/metro/compare/v0.66.2...v0.68.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=metro-runtime&package-manager=npm_and_yarn&previous-version=0.66.2&new-version=0.68.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/3451

Reviewed By: nikoant

Differential Revision: D34216543

Pulled By: passy

fbshipit-source-id: 3b212ed4822f34950450e51103aa90a45977322a
2022-02-15 09:39:49 -08:00
Lorenzo Blasa
c2f3607d03 remove rsocket fallback for mobile clients
Summary:
^
Note: this is already a working case. The difference is that if we are unable to establish a socket connection, we will not attempt to create one using rsocket.

Changelog: Removes rsocket-fallback for mobile clients

Reviewed By: nikoant

Differential Revision: D33655430

fbshipit-source-id: cb6f752f2d1354ab46d011b1f19c89520e1e7dd3
2022-02-15 04:56:17 -08:00
Pascal Hartig
e602cc0305 GH Action: Only publish to NPM when tagged (#3453)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/3453

Per title. Otherwise leads to continuous errors on every
commit like these: https://github.com/facebook/flipper/runs/5188689903?check_suite_focus=true

Reviewed By: nikoant

Differential Revision: D34216898

fbshipit-source-id: 686abdca5e70bee62917bcb8db265dcea5fcbb98
2022-02-15 04:14:25 -08:00
Pascal Hartig
b8fdb14dfb Add library verification step (#3436)
Summary:
This is pretty dumb but hopefully good enough to prevent accidental regressions. We simply check if there are "enough" `libevent_core.so`s in the bundle. This is obviously not future-proof but it's super cheap to run and if it causes problems at some point, we can always remove it.

Apologies for the formatting spam. Didn't notice until I submitted this that my editor got a little passive-aggressive.

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

Test Plan: CI here.

Reviewed By: lblasa

Differential Revision: D34210743

Pulled By: passy

fbshipit-source-id: a57c397e39456fae33af9f3ceed08b6944eac79e
2022-02-14 11:30:45 -08:00
dependabot[bot]
05b1575175 Bump openssl from 1.1.1g-alpha-1 to 1.1.1l-beta-1 (#3442)
Summary:
Bumps openssl from 1.1.1g-alpha-1 to 1.1.1l-beta-1.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.ndk.thirdparty:openssl&package-manager=gradle&previous-version=1.1.1g-alpha-1&new-version=1.1.1l-beta-1)](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/3442

Reviewed By: lblasa

Differential Revision: D34212800

Pulled By: passy

fbshipit-source-id: 0e2a78fdf9ad0195f878b327c9e5667dcc8e8e0a
2022-02-14 10:41:17 -08:00
Erkka Marjakangas
c973f4eba0 Add outgoing payload size to flipper network plugin
Summary:
Flipper network plugin does not show request payload size at all, only the response.

I was trying to use flipper to check the compression ratio and overall analytics log size, but wasn't able to it, so fixed the network plugin

Reviewed By: lblasa

Differential Revision: D34062808

fbshipit-source-id: f4d4395eece9d41380b8ac6f834a014315c5db66
2022-02-14 10:21:34 -08:00
Pascal Hartig
4e766c44bd Bump dependencies in /js/js-flipper
Summary: Combining dependabot bumps.

Reviewed By: lblasa

Differential Revision: D34212867

fbshipit-source-id: b751ccc0669d3c9bc9718ba19f4992984f06fefc
2022-02-14 09:55:15 -08:00
Pascal Hartig
8141a4c1a3 Bump dependencies in /react-native/ReactNativeFlipperExample
Summary: Combining dependabot bumps into one.

Reviewed By: lblasa

Differential Revision: D34212832

fbshipit-source-id: 13cb3628a35ebbd4b46e5484d0545fd839613313
2022-02-14 09:55:15 -08:00