Commit Graph

371 Commits

Author SHA1 Message Date
Feiyu Wong
f46cf2b0ce Added color options for highlighting search terms
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
2022-06-29 10:36:52 -07:00
Feiyu Wong
2f39ede6f7 Highlight search terms in logs with yellow when highlight search setting is enabled
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
2022-06-29 10:36:52 -07:00
Feiyu Wong
24a314054e Added highlight search setting and toggle in menu to trigger
Summary:
Created search highlight settings to be stored as part of persisted state. Added toggle/menu option in the dropdown.

This diff serves as the start of the stack that introduces highlighting the search terms in the search results of flipper. Currently, the results returned do not show why(the key word) they are appearing.

The next diffs will introduce not only the actual highlighting but also "custom"-ish color-picking for the highlights. The colors will be chosen from the sub-menu where the highlighting is enabled.

Reviewed By: mweststrate

Differential Revision: D37229735

fbshipit-source-id: d681f8e7b7fdfce8135c2c3fa81d8450447565c1
2022-06-29 10:36:52 -07:00
James Wysynski
3a8226b890 Support tabKey and key for tab keys
Summary:
Support tabKey and key properties for tab keys in Tabs/Tab.

tabKey > tab > key > tab_{idx}

Reviewed By: aigoncharov

Differential Revision: D37412130

fbshipit-source-id: 56ade27a02a7ba2926534a81d92dd1e9229576f4
2022-06-24 07:02:50 -07:00
Luke De Feo
48bebdc665 Improve typing of getValueAtPath
Summary: Context: https://www.internalfb.com/diff/D36663929 (e07d5c5bfe)?dst_version_fbid=701770760940095&transaction_fbid=714786499947486

Reviewed By: antonk52

Differential Revision: D36782095

fbshipit-source-id: 2eb29d70aa641d386b129bf957320b718e97c298
2022-06-07 04:29:16 -07:00
Luke De Feo
3412ddfb1b Added mouse hovered state when exploring tree
Summary:
Added a mouse hover state to detail inspector. The hover state follows you into and out of the hierarchy.

changelog: Added hover state to detail inspector

Reviewed By: mweststrate

Differential Revision: D36781553

fbshipit-source-id: eafbf119a81779bf07199142d305b06ad6b98c52
2022-06-07 04:29:16 -07:00
Luke De Feo
ae0a89c580 Fix context menu for nested/overlapping elements
Summary:
Previously if you activated context menu in detail inspector it would trigger a context menu for multiple
overlapping children. This behaviour can be observed in live by right clicking a nested property an selecting 'Copy value'.
Most of the time you will copy the entire tree as you are clicking on the parents context menu. This is
the solution recommended by the antd team. https://github.com/ant-design/ant-design/issues/33865 (see the
response fiddle from the maintainer)

changelog: Fixed bug when copying value from context menu in detail sidebar

Reviewed By: mweststrate

Differential Revision: D36781555

fbshipit-source-id: 010a04648eb90eb19a47aa0f1f2b0427c9f5f7cc
2022-06-07 04:29:16 -07:00
Luke De Feo
0200afca51 Added support for plugin supplied context menu items
Reviewed By: passy

Differential Revision: D36781556

fbshipit-source-id: 42124e0324bb2c850099b60410eb20872ebefe3c
2022-06-07 04:29:16 -07:00
Michel Weststrate
f2bf48d4e4 DataTable delighter: Introduce search history
Summary:
Getting the behavior exactly right was tricky, now settled on the following:

* Don't automatically show the search history (the default) but introduce an explicit button to toggle it, as opening it by default was pretty obtrusive in testing
* Items are added to the history when using return / explicitly clicking search, to only get "clean" entries into the history, and not half complete searches. Needing to press enter might be to subtle since datatable will also search without that, but not searching on keypress felt as a regression as well.
* Introduced a menu item for clearing the search history
* Search history is persisted like search filters.

Yay to Antd's AutoComplete, which is really straightforward and cleanly composes with Input.Search.

Changelog: DataTable will now keep a history of search items when hitting <return> to search. Use the history button to bring up the history.

Reviewed By: aigoncharov

Differential Revision: D36736821

fbshipit-source-id: 8d18b85308a39bd1644057371040855d199545c7
2022-06-07 04:04:01 -07:00
Michel Weststrate
36b78131b7 update control filter toggling implementation
Summary:
The `Control` button press, that hides the current search filter, had some specific logic to make sure that the current selection remained visible. Since this is now generically supported, this is no longer needed.

Also updated the `Control` button behavior to also toggle back the search filter if needed, which was never finished in the original implementation.

Changelog: DataTable: pressing the control key can be used to temporarily turn the current search filter on and off.

Reviewed By: aigoncharov

Differential Revision: D36736494

fbshipit-source-id: 2c4949efa0d6935735f61ee43f9268b7e27d1fcf
2022-06-07 04:04:01 -07:00
Michel Weststrate
2037cf0595 preserve selection during filter changes
Summary:
During filter changes, DataTable would loose any selections made, which was posted multiple times as papercut

I didn't implement preserving multi line selections. That should be straightforward, but wasn't sure that'd be desirable or not.

Changelog: DataTable: Data tables will now preserve the current selection and scroll it into view when changing the search filter.

Reviewed By: aigoncharov

Differential Revision: D36736496

fbshipit-source-id: 401ef351c847f58a5d411cf9f352390f6a110b24
2022-06-07 04:04:01 -07:00
Michel Weststrate
fd3f6a0435 Improve selection color of datatable
Summary:
DataTable selected rows are a bit hard to spot when changing search, scrolling etc, so give them a bit more prominent background

Changelog: DataTable: more pronounced background color for selections

Reviewed By: aigoncharov

Differential Revision: D36736495

fbshipit-source-id: 2cab9eb99594ffaaccdd9ebe0d922691adb27bdc
2022-06-07 04:04:01 -07:00
Luke De Feo
e07d5c5bfe Added support for dotted key paths in Data table column
Summary:
This adds support for the key of DataTableColumn to be a dotted path into a nested object, e.g foo.bar. Currently the typescript types only allow a top level key to be set, making this feature currently unusuable from plugin code.

While this could be addressed in a future commit the intention of this is to allow the user to add custom fields into their table columns at run time

Note there is a side effect to free text search from this commit. Previously it would search all top keys in the object. Now it will only search in columns that are in the table.

changelog: Searching data table will now only search columns in the table, rather than all top level attributes of the object

Reviewed By: mweststrate

Differential Revision: D36663929

fbshipit-source-id: 3688e9f26aa7e1828f8e9ee69f8e6f86268c8a54
2022-05-30 04:37:25 -07:00
Anton Nikolaev
015be5ad83 Remove flashing on initializing datatable with filter
Summary:
When filter is applied for the first time we shouldn't debounce to avoid "flashing" on datatable loading when it is first loaded without filter and then filter applied after 250ms.

Changelog:
Fixed flashing on opening datatable-based plugin with a filter.

Reviewed By: timur-valiev

Differential Revision: D36602929

fbshipit-source-id: 8bd33f50c92036f2a5565f636f4f2fbe69d900f2
2022-05-24 04:51:19 -07:00
Anton Nikolaev
8d07b7b644 Quick action for resetting all datatable filters
Summary:
As we persist column filters between sessions - sometimes it's not obvious that they are applied.

This diff adds "Reset filters" action just near message "No records match the current search / filter criteria" to make it obvious that some records are hidden because of filters and let user quickly disable filters to see all items.

The same action also added to datatable's context menu.

Changelog:
Quick action "Reset filters" for datatable-based plugins which is shown in context menu and in empty table when all items filtered out.

Reviewed By: timur-valiev

Differential Revision: D36600535

fbshipit-source-id: 782e7f863f2f52d7f6017685bdebcb1feeb97dbd
2022-05-24 04:51:19 -07:00
Andrey Goncharov
e40981ee2e Expose isAtom from flipper-plugin
Summary: Required for companion in later diffs

Reviewed By: passy

Differential Revision: D36517737

fbshipit-source-id: ad47ae00cc88f424507284553c7d4eb430691311
2022-05-23 03:38:23 -07:00
Andrey Goncharov
0f038218f8 Share uuid
Summary: Expose uuid from flipper-common as it is required in multiple packages

Reviewed By: lblasa

Differential Revision: D36441889

fbshipit-source-id: 1fa539cb437976dbefe7d5d9a52e5e098a6402a7
2022-05-18 03:13:31 -07:00
Andrey Goncharov
88bc3110a5 Add server add-on documentation
Reviewed By: nikoant

Differential Revision: D36446375

fbshipit-source-id: dfa9098428413bff454b5893f022735267dba5b8
2022-05-18 02:20:53 -07:00
Michel Weststrate
e51e95af2e supportsMethod should return false if not connected
Summary: https://www.internalfb.com/logview/details/flipper_javascript/7e72d9f75d047791d9de43b72915cbd4/?selected-logview-tab=latest shows an exception for just checking whether a feature is supported, while the client is not connected. there is no point in checking if a feature is supported if not connected, so just returning false instead of throwing

Reviewed By: timur-valiev

Differential Revision: D36371047

fbshipit-source-id: 6e83bed6fc53cc41ddef30eeeb41d030b2c4c175
2022-05-13 06:40:06 -07:00
Andrey Goncharov
49dbe12d5f Do not start server add-ons for archived devices
Reviewed By: mweststrate

Differential Revision: D36371703

fbshipit-source-id: 16083ed9f0dbee67963ace2284138ee108f696b2
2022-05-13 03:25:55 -07:00
Andrey Goncharov
ad76060614 Expose intern graphQL reuqests to plugins
Summary: Some intern plugins use it, an dit is currently missing in FlipperLib

Reviewed By: timur-valiev

Differential Revision: D36313032

fbshipit-source-id: 5ea8e250f1d0bc8831727abd883d953286a022d4
2022-05-11 06:48:05 -07:00
Andrey Goncharov
2854e75e9c Support exporting public API from a plugin
Reviewed By: passy

Differential Revision: D36098167

fbshipit-source-id: 90182248d0541a1d8eff92a391a56422537c0595
2022-05-10 05:13:24 -07:00
Michel Weststrate
f7fc00cde2 Fix bug where high frequent updates could be skipped
Summary:
As reported in https://fb.workplace.com/groups/flippersupport/permalink/1346149929198995/, data updates would sometimes not render in DataTable. After some debugging, this happens when multiple updates are scheduled with high frequency, and is bug in the internal render scheduler. (it might be that this never triggered before React 18, but it was a lingering bug).

Basically in the following sequence, no second render of the data table would happen:

1. emit update
2. schedule render
3. React renders
4. emit a second update
5. scheduler bails out because update is already scheduled
6. React useEffect will clear out the scheduler state that was causing the render at point 3.

Now the second update never gets rendered out (well, not until something else causes a new render).

The problem here is that the scheduler state should be immediately reset as soon as React starts rendering, so that any new incoming update should trigger a new render, even though useEffect of the first render didn't finish. New flow now becomes:

1. emit update
2. schedule render
3. React renders & clears out scheduler state
4. emit a second update
5. scheduler schedules fresh render
6. etc...

Reviewed By: nikoant

Differential Revision: D35501325

fbshipit-source-id: 8af58c0da7bb024f360b750c856865f220dc6272
2022-04-08 11:10:29 -07:00
Andrey Goncharov
1f83b4b414 Migrate to React 18
Summary:
Sadly, we have to use the experimental version of React to decapitate React Devtools.
See https://fb.workplace.com/groups/react.devtools/posts/3135684459978453/?comment_id=3135711763309056&reply_comment_id=3135760513304181

On the bright side, Replay.io and Code Sandbox also use experimental React without any problem.

Reviewed By: lblasa

Differential Revision: D34926473

fbshipit-source-id: 5cd63cc065c2535f0583464c7b5e37891dadaf14
2022-03-31 04:01:33 -07:00
Andrey Goncharov
88b72043b4 Persist "inversed" table filter
Summary: Persist "inversed" filtering between sessions

Reviewed By: antonk52

Differential Revision: D35113051

fbshipit-source-id: 466d94c7041e44398b5bd89ed9560c7d026ab2fd
2022-03-24 07:58:27 -07:00
dependabot[bot]
5685d774a9 Bump @emotion/react from 11.8.1 to 11.8.2 in /desktop (#3533)
Summary:
Bumps [emotion/react](https://github.com/emotion-js/emotion) from 11.8.1 to 11.8.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/emotion-js/emotion/releases"><code>@​emotion/react</code>'s releases</a>.</em></p>
<blockquote>
<h2><code>@​emotion/react</code><a href="https://github.com/11"><code>@​11</code></a>.8.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2677">https://github.com/facebook/flipper/issues/2677</a> <a href="ff3cb16419"><code>ff3cb164</code></a> Thanks <a href="https://github.com/Jack-Works"><code>@​Jack-Works</code></a>! - Change <code>Global</code> component to use the <code>StyleSheet</code> constructor of the current <code>cache.sheet</code>. This is useful when <code>cache.sheet</code> is not the default implementation. Thanks to that the inner sheet constructed by <code>Global</code> can share the behavior with its &quot;main&quot; sheet that is hold by the <code>cache</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="239f2d0f9e"><code>239f2d0</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2679">https://github.com/facebook/flipper/issues/2679</a>)</li>
<li><a href="7f8910a049"><code>7f8910a</code></a> Removed the direct dependency on  from  as it's no longer used that way</li>
<li><a href="ff3cb16419"><code>ff3cb16</code></a> Change <code>Global</code> component to use the <code>StyleSheet</code> constructor of the current ...</li>
<li><a href="4266aa0183"><code>4266aa0</code></a> Fix the description of the cascade problem in the docs (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2659">https://github.com/facebook/flipper/issues/2659</a>)</li>
<li><a href="affe8f1e37"><code>affe8f1</code></a> Removed non-existent item from the ToC in the theming doc (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2674">https://github.com/facebook/flipper/issues/2674</a>)</li>
<li><a href="6d81b4b28b"><code>6d81b4b</code></a> Add <code>concurrency</code> to the Changesets workflow</li>
<li><a href="4851669459"><code>4851669</code></a> STOP WAR IN UKRAINE (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2668">https://github.com/facebook/flipper/issues/2668</a>)</li>
<li><a href="ce9873faab"><code>ce9873f</code></a> Upgrade <code>dtslint</code> (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2653">https://github.com/facebook/flipper/issues/2653</a>)</li>
<li>See full diff in <a href="https://github.com/emotion-js/emotion/compare/emotion/react@11.8.1...@emotion/react@11.8.2">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@emotion/react&package-manager=npm_and_yarn&previous-version=11.8.1&new-version=11.8.2)](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/3533

Reviewed By: mweststrate

Differential Revision: D34867363

Pulled By: lblasa

fbshipit-source-id: a2ad3f6863ee8a9c4273dd50d1c87bdc8326badb
2022-03-15 05:52:17 -07:00
Pascal Hartig
9d390d0864 Dep bump for /desktop
Summary: Combining dependabot bumps.

Reviewed By: nikoant

Differential Revision: D34682717

fbshipit-source-id: 09975ed9f258d2f5bed6871e15643c38a07e0459
2022-03-08 03:02:11 -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
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
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
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
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
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
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
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
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
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
dependabot[bot]
a0ec82c981 Bump @emotion/react from 11.6.0 to 11.7.1 in /desktop (#3388)
Summary:
Bumps [emotion/react](https://github.com/emotion-js/emotion) from 11.6.0 to 11.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/emotion-js/emotion/releases"><code>@​emotion/react</code>'s releases</a>.</em></p>
<blockquote>
<h2><code>@​emotion/react</code><a href="https://github.com/11"><code>@​11</code></a>.7.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2577">https://github.com/facebook/flipper/issues/2577</a> <a href="04681a5f52"><code>04681a5f</code></a> Thanks <a href="https://github.com/Methuselah96"><code>@​Methuselah96</code></a>! - Export <code>Keyframes</code> type to avoid TypeScript inserting <code>import(&quot;emotion/serialize&quot;).Keyframes</code> references into declaration files emitted based on a source files exporting <code>keyframes</code> result. This avoids issues with strict package managers that don't allow accessing undeclared dependencies.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2590">https://github.com/facebook/flipper/issues/2590</a> <a href="1554a7e264"><code>1554a7e2</code></a> Thanks <a href="https://github.com/Andarist"><code>@​Andarist</code></a>! - Upgraded and pinned the version of Stylis - the CSS parser that Emotion uses under the hood.</p>
</li>
<li>
<p>Updated dependencies [<a href="1554a7e264"><code>1554a7e2</code></a>]:</p>
<ul>
<li><code>@​emotion/cache</code><a href="https://github.com/11"><code>@​11</code></a>.7.1</li>
</ul>
</li>
</ul>
<h2><code>@​emotion/react</code><a href="https://github.com/11"><code>@​11</code></a>.7.0</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/emotion-js/emotion/pull/2534">https://github.com/facebook/flipper/issues/2534</a> <a href="57be9e8cb2"><code>57be9e8c</code></a> Thanks <a href="https://github.com/srmagura"><code>@​srmagura</code></a>! - Changed the implementation of the runtime label extraction in elements using the css prop (that only happens in development) to one that should yield more consistent results across browsers. This fixes some minor issues with React reporting hydration mismatches that wouldn't happen in production.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="01cca604ca"><code>01cca60</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2581">https://github.com/facebook/flipper/issues/2581</a>)</li>
<li><a href="1554a7e264"><code>1554a7e</code></a> Stylis upgrade (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2590">https://github.com/facebook/flipper/issues/2590</a>)</li>
<li><a href="04681a5f52"><code>04681a5</code></a> Export Keyframes type from <code>@​emotion/react</code> (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2577">https://github.com/facebook/flipper/issues/2577</a>)</li>
<li><a href="26ded6109f"><code>26ded61</code></a> Tweak grammar in the CHANGELOGs</li>
<li><a href="200bc6a56b"><code>200bc6a</code></a> Version Packages (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2564">https://github.com/facebook/flipper/issues/2564</a>)</li>
<li><a href="f046ae40bc"><code>f046ae4</code></a> Add ESLint 8 to the peer dependency range  (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2562">https://github.com/facebook/flipper/issues/2562</a>)</li>
<li><a href="57be9e8cb2"><code>57be9e8</code></a> Extract, unit test, and improve getLabelFromStackTrace (<a href="https://github-redirect.dependabot.com/emotion-js/emotion/issues/2534">https://github.com/facebook/flipper/issues/2534</a>)</li>
<li>See full diff in <a href="https://github.com/emotion-js/emotion/compare/emotion/react@11.6.0...@emotion/react@11.7.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@emotion/react&package-manager=npm_and_yarn&previous-version=11.6.0&new-version=11.7.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/3388

Reviewed By: nikoant

Differential Revision: D33892154

Pulled By: cekkaewnumchai

fbshipit-source-id: 460e820c36c367a4174e7cc44bc4d23340db020a
2022-02-02 11:14:39 -08:00
Anton Kastritskiy
f2abbf63db ban interface usage for component props and state
Summary: another eslint rule for flipper codebase

Reviewed By: passy

Differential Revision: D33917213

fbshipit-source-id: e60b867d359ef5b94a481edf0eda318ecff17eee
2022-02-02 05:09:45 -08:00
Anton Kastritskiy
c5dd1fc350 rename files from ts to tsx in flipper-* packages
Summary: mass files rename

Reviewed By: nikoant

Differential Revision: D33890252

fbshipit-source-id: d5afaa60af7340313a97d8e4967fe37f00abd9db
2022-01-31 10:16:19 -08:00
dependabot[bot]
9415bff254 Bump react-virtual from 2.10.0 to 2.10.4 in /desktop (#3343)
Summary:
Bumps [react-virtual](https://github.com/tannerlinsley/react-virtual) from 2.10.0 to 2.10.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tannerlinsley/react-virtual/releases">react-virtual's releases</a>.</em></p>
<blockquote>
<h2>v2.10.4</h2>
<h2><a href="https://github.com/tannerlinsley/react-virtual/compare/v2.10.3...v2.10.4">2.10.4</a> (2022-01-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><code>totalSize</code> should be <code>paddingStart</code> + <code>paddingEnd</code> when size is 0 (<a href="https://github-redirect.dependabot.com/tannerlinsley/react-virtual/issues/238">https://github.com/facebook/flipper/issues/238</a>) (<a href="5300e47ea5">5300e47</a>)</li>
</ul>
<h2>v2.10.3</h2>
<h2><a href="https://github.com/tannerlinsley/react-virtual/compare/v2.10.2...v2.10.3">2.10.3</a> (2022-01-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>types:</strong> Move options interface definition to separated interface and export it (<a href="https://github-redirect.dependabot.com/tannerlinsley/react-virtual/issues/178">https://github.com/facebook/flipper/issues/178</a>) (<a href="df4723cf72">df4723c</a>)</li>
</ul>
<h2>v2.10.2</h2>
<h2><a href="https://github.com/tannerlinsley/react-virtual/compare/v2.10.1...v2.10.2">2.10.2</a> (2022-01-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>increment patch to fix breaking change (<a href="7a799a2f40">7a799a2</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5300e47ea5"><code>5300e47</code></a> fix: <code>totalSize</code> should be <code>paddingStart</code> + <code>paddingEnd</code> when size is 0 (<a href="https://github-redirect.dependabot.com/tannerlinsley/react-virtual/issues/238">https://github.com/facebook/flipper/issues/238</a>)</li>
<li><a href="bc21ad14ff"><code>bc21ad1</code></a> docs: fix dynamic example</li>
<li><a href="df4723cf72"><code>df4723c</code></a> fix(types): Move options interface definition to separated interface and expo...</li>
<li><a href="75417452c7"><code>7541745</code></a> docs: add sticky example (<a href="https://github-redirect.dependabot.com/tannerlinsley/react-virtual/issues/169">https://github.com/facebook/flipper/issues/169</a>)</li>
<li><a href="7a799a2f40"><code>7a799a2</code></a> fix: increment patch to fix breaking change</li>
<li><a href="6a748a6914"><code>6a748a6</code></a> feat: put version to 2.10 in prep for fix release to cure breaking change</li>
<li><a href="6056d1d819"><code>6056d1d</code></a> fix: rebase breaking changes into next branch, rerelease 2.10.1 as non-breaking</li>
<li><a href="7f88ae6f23"><code>7f88ae6</code></a> Update logo.sketch</li>
<li>See full diff in <a href="https://github.com/tannerlinsley/react-virtual/compare/v2.10.0...v2.10.4">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-virtual&package-manager=npm_and_yarn&previous-version=2.10.0&new-version=2.10.4)](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/3343

Reviewed By: mweststrate

Differential Revision: D33741758

Pulled By: lblasa

fbshipit-source-id: 84edbb7cc1a4a80c1967c97eebe5732000ebc76d
2022-01-27 07:22:34 -08:00
dependabot[bot]
3764b5aa2d Bump immer from 9.0.7 to 9.0.12 in /desktop (#3345)
Summary:
Bumps [immer](https://github.com/immerjs/immer) from 9.0.7 to 9.0.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/immerjs/immer/releases">immer's releases</a>.</em></p>
<blockquote>
<h2>v9.0.12</h2>
<h2><a href="https://github.com/immerjs/immer/compare/v9.0.11...v9.0.12">9.0.12</a> (2022-01-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>produceWithPatches should not wrap result in Immutable, fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/850">https://github.com/facebook/flipper/issues/850</a>, <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/881">https://github.com/facebook/flipper/issues/881</a> (<a href="d8f26362a9">d8f2636</a>)</li>
</ul>
<h2>v9.0.11</h2>
<h2><a href="https://github.com/immerjs/immer/compare/v9.0.10...v9.0.11">9.0.11</a> (2022-01-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>incorrect patches for <code>delete</code> on arrays. Fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/879">https://github.com/facebook/flipper/issues/879</a> (<a href="d91a6597e9">d91a659</a>)</li>
</ul>
<h2>v9.0.10</h2>
<h2><a href="https://github.com/immerjs/immer/compare/v9.0.9...v9.0.10">9.0.10</a> (2022-01-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>No patches being generated for root primitive replacements. Fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/888">https://github.com/facebook/flipper/issues/888</a> (<a href="0f96270840">0f96270</a>)</li>
</ul>
<h2>v9.0.9</h2>
<h2><a href="https://github.com/immerjs/immer/compare/v9.0.8...v9.0.9">9.0.9</a> (2022-01-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>make sure produceWithPatches accepts promises (<a href="d80e823733">d80e823</a>)</li>
</ul>
<h2>v9.0.8</h2>
<h2><a href="https://github.com/immerjs/immer/compare/v9.0.7...v9.0.8">9.0.8</a> (2022-01-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>immerjs<a href="https://github-redirect.dependabot.com/immerjs/immer/issues/876">https://github.com/facebook/flipper/issues/876</a> Ensure empty patch set for atomic set+delete on Map (<a href="https://github-redirect.dependabot.com/immerjs/immer/issues/878">https://github.com/facebook/flipper/issues/878</a>) (<a href="e1409180eb">e140918</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d8f26362a9"><code>d8f2636</code></a> fix: produceWithPatches should not wrap result in Immutable, fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/850">https://github.com/facebook/flipper/issues/850</a>, <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/881">https://github.com/facebook/flipper/issues/881</a></li>
<li><a href="feba5d1404"><code>feba5d1</code></a> chore: remove debugger statement</li>
<li><a href="d91a6597e9"><code>d91a659</code></a> fix: incorrect patches for <code>delete</code> on arrays. Fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/879">https://github.com/facebook/flipper/issues/879</a></li>
<li><a href="0f96270840"><code>0f96270</code></a> fix: No patches being generated for root primitive replacements. Fixes <a href="https://github-redirect.dependabot.com/immerjs/immer/issues/888">https://github.com/facebook/flipper/issues/888</a></li>
<li><a href="d80e823733"><code>d80e823</code></a> fix: make sure produceWithPatches accepts promises</li>
<li><a href="e1409180eb"><code>e140918</code></a> fix: immerjs#876 Ensure empty patch set for atomic set+delete on Map (<a href="https://github-redirect.dependabot.com/immerjs/immer/issues/878">https://github.com/facebook/flipper/issues/878</a>)</li>
<li>See full diff in <a href="https://github.com/immerjs/immer/compare/v9.0.7...v9.0.12">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=immer&package-manager=npm_and_yarn&previous-version=9.0.7&new-version=9.0.12)](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/3345

Reviewed By: antonk52

Differential Revision: D33741770

Pulled By: lblasa

fbshipit-source-id: 2f52bee684c99d171c1e3460825c557b027e8cf0
2022-01-25 03:30:52 -08:00
Michel Weststrate
80bb372920 make data tables horizontally scrollable if needed
Summary:
Changelog: most data tables allow for horizontal scrolling now if they run out of space

This diff introduces support for horizontal scrolling in datatables. Originally thought about making this a view option, but doing automatically works actually quite fine. By default the columns resize as they did, but if either a column is made bigger or the window is so small no space is left, a horizontal scrollbar can be used.

This adresses several usability issues reported in GH / workplace

fixes https://github.com/facebook/flipper/issues/2608

Reviewed By: antonk52

Differential Revision: D33368216

fbshipit-source-id: 206c761a5873cf0396af091f2cbdedc3e638afac
2022-01-04 09:06:15 -08:00
Michel Weststrate
25e585b819 fix data tables not remembering their defaults
Summary:
Changelog: Data tables will now remember their configuration by default and share it across different applications

As reported, column configurations were often not remembered across restarts. This was caused by two things
1. persisting config was by default turned off
2. the persistence key was based on pluginKey, that includes device and client identification, rather than purely the plugin name.

Reviewed By: cekkaewnumchai

Differential Revision: D33364780

fbshipit-source-id: 6c38182dc35e3cce23b858f931d554111b080c97
2022-01-04 04:08:23 -08:00
Michel Weststrate
b77b234e98 fix table header column widths deviating from rows
Summary:
changelog: Improved column widths in data tables

This diff fixes two issues:
1) dynamic width columns became invisible if there is too much else, and therefor it was hard to make them bigger or even notice them
2) column headers could be out of sync with the actually rendered rows, due to minor styling differences

Reviewed By: cekkaewnumchai

Differential Revision: D33364781

fbshipit-source-id: c3d47bb8db4af521859a5cbdf525d8ce39c71d00
2022-01-04 04:08:23 -08:00
Andres Suarez
79023ee190 Update copyright headers from Facebook to Meta
Reviewed By: bhamodi

Differential Revision: D33331422

fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
2021-12-27 14:31:45 -08:00