6313a3da3a79e2955e78e188686752d2638451e7
15 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6313a3da3a |
Bump mock-fs from 5.0.0 to 5.1.2 in /desktop (#3114)
Summary: Bumps [mock-fs](https://github.com/tschaub/mock-fs) from 5.0.0 to 5.1.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tschaub/mock-fs/blob/main/changelog.md">mock-fs's changelog</a>.</em></p> <blockquote> <h2>5.1.2</h2> <ul> <li>Avoid open <code>FSREQCALLBACK</code> file handles (thanks <a href="https://github.com/jloleysens"><code>@jloleysens</code></a>, see <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/342">https://github.com/facebook/flipper/issues/342</a><a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/342">https://github.com/facebook/flipper/issues/342</a>)</li> </ul> <h2>5.1.1</h2> <ul> <li>Added <code>engines</code> to <code>package.json</code> to clarify that Node >= 12 is required (thanks <a href="https://github.com/tillig"><code>@tillig</code></a>, see <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/337">https://github.com/facebook/flipper/issues/337</a><a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/337">https://github.com/facebook/flipper/issues/337</a>)</li> </ul> <h2>5.1.0</h2> <ul> <li>Added support for Node >= 16.3 (thanks <a href="https://github.com/Rugvip"><code>@Rugvip</code></a>, see <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/335">https://github.com/facebook/flipper/issues/335</a><a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/335">https://github.com/facebook/flipper/issues/335</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
8a2d99b592 |
Bump reselect from 4.0.0 to 4.1.5 in /desktop (#3111)
Summary: Bumps [reselect](https://github.com/reduxjs/reselect) from 4.0.0 to 4.1.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/reduxjs/reselect/releases">reselect's releases</a>.</em></p> <blockquote> <h2>v4.1.5</h2> <p>This release updates the TS types to correctly infer selector parameters when input selectors have <code>undefined</code> or <code>null</code> as a parameter type or have optional parameters, and exports the <code>CreateSelectorFunction</code> type to fix uses of <code>createStructuredSelector</code>.</p> <p>(The types fixes feel like playing whack-a-mole, but they keep getting better!</p> <h2>What's Changed</h2> <ul> <li>Fix intersection of parameters that are undefined by <a href="https://github.com/markerikson"><code>@markerikson</code></a> in <a href="https://github-redirect.dependabot.com/reduxjs/reselect/pull/556">reduxjs/reselect#556</a></li> <li>Export CreateSelectorFunction to fix createStructuredSelector usage by <a href="https://github.com/markerikson"><code>@markerikson</code></a> in <a href="https://github-redirect.dependabot.com/reduxjs/reselect/pull/557">reduxjs/reselect#557</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/reduxjs/reselect/compare/v4.1.4...v4.1.5">https://github.com/reduxjs/reselect/compare/v4.1.4...v4.1.5</a></p> <h2>v4.1.4</h2> <p>This release has (you guessed it) more fixes to the TS types: a change to parameter merging that fixes breakage with selectors and RTK Query's API state, a simplification of the <code>OutputSelectorFields</code> type to improve selector variable readability, another update to parameter merging to flag nested <code>never</code> fields as compile errors, and a fix to <code>createStructuredSelector</code> parameters to resolve a lib compilation problem.</p> <h2>Changelog</h2> <h3>More TS Fixes</h3> <p>The parameter merging fixes in 4.1.3 tried to "unwrap/expand" the parameter types to make them more readable, such as showing intersected objects as <code>{a, b, c}</code> instead of <code>{a} & {b} & {c}</code>. This was done with a recursive expansion type. That turned out to break with the complex state types used by RTK Query. We've updated the type expansion to only be a single level instead, which fixes the compilation issue.</p> <p>The <code>OutputSelectorFields</code> type previously took two generics: the <code>Combiner</code> function, and a <code>Result</code> type. This led to extra values being shown in hover previews for selectors. By inferring <code>Result = ReturnType<Combiner></code>, we were able to drop the second generic and cut down on the amount of types shown in previews.</p> <p>A user noted that intersected objects with top-level incompatible fields (like <code>{a: string} & {a: number}</code>) resulted in empty objects, but no compile error. We've updated the parameter merging to flag those as <code>never</code> and catch the problem at compile time. Deeper nested incompatible fields should already be caught by TS.</p> <p>The previous fix to <code>createStructuredSelector</code> missed a step in the spreading process, which has now been fixed.</p> <h2>What's Changed</h2> <ul> <li>Switch package management to Yarn v3 by <a href="https://github.com/markerikson"><code>@markerikson</code></a> in <a href="https://github-redirect.dependabot.com/reduxjs/reselect/pull/551">reduxjs/reselect#551</a></li> <li>Fix parameter expansion and improve OutputSelector readability by <a href="https://github.com/markerikson"><code>@markerikson</code></a> in <a href="https://github-redirect.dependabot.com/reduxjs/reselect/pull/552">reduxjs/reselect#552</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/reduxjs/reselect/compare/v4.1.3...v4.1.4">https://github.com/reduxjs/reselect/compare/v4.1.3...v4.1.4</a></p> <h2>v4.1.3</h2> <p>This release rewrites the TS type inference of input selector parameters for correctness, fixes inference of <code>createStructuredSelector</code> inputs, and fixes an issue with the <code>OutputSelectorFields</code> type not being exported.</p> <h2>Changelog</h2> <h3>Input Selector Parameter Inference Improvements</h3> <p>Reselect's types have always been extremely tricky, because it involves passing multiple input selectors with potentially heterogeneous, and then nested function composition of multiple selectors. Additionally, the input selectors can be passed as individual arguments or a single array of input selectors.</p> <p>The <a href="https://github.com/reduxjs/reselect/blob/v4.0.0/src/index.d.ts">4.0.0 typedefs</a> dealt with this by hand-writing dozens of overloads, which was absolutely impossible to maintain.</p> <p>In 4.1, we took advantage of TS's improved abilities to infer array/tuple types to consolidate the typedefs.</p> <p>One of the issues that happened as a result was that arguments at the same input parameter index were being "unioned" together, rather than "intersectioned". For example, in this complex selector:</p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/reduxjs/reselect/blob/master/CHANGELOG.md">reselect's changelog</a>.</em></p> <blockquote> <h1>Change log</h1> <p>All notable changes to this project will be documented in this file. This project adheres to <a href="http://semver.org/">Semantic Versioning</a>.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
4df4af0fb1 |
Bump open from 8.3.0 to 8.4.0 in /desktop (#3110)
Summary: Bumps [open](https://github.com/sindresorhus/open) from 8.3.0 to 8.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sindresorhus/open/releases">open's releases</a>.</em></p> <blockquote> <h2>v8.4.0</h2> <ul> <li>Improve ArchLinux support (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/265">https://github.com/facebook/flipper/issues/265</a>) b58fb1f</li> </ul> <p><a href="https://github.com/sindresorhus/open/compare/v8.3.0...v8.4.0">https://github.com/sindresorhus/open/compare/v8.3.0...v8.4.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
225a2a7e34 |
Refactor Stella plugin
Summary: 1. Replace old FileSelector with the new FileSelector 2. Remove showOpenDialog from FlipperLib Reviewed By: mweststrate Differential Revision: D32667103 fbshipit-source-id: be8da034c2695f83b397b6c7d35bc6aee78d66e5 |
||
|
|
3491926d17 |
Support importing multiple files and encoding
Summary: 1. Support importing multiple files 2. Support file encoding Reviewed By: mweststrate Differential Revision: D32540132 fbshipit-source-id: 7c2a96ac585f58d01457cb487527940e333da615 |
||
|
|
2d948fe4f4 |
Dedupe server error notifications
Summary: These notifications, when emit, don't get deduped, so if connection timeouts keep happening, like in [this](https://fb.workplace.com/groups/flippersupport/posts/1257144721432850), then you get tons of notifications. This dedupes them if all the info is the same. Reviewed By: mweststrate Differential Revision: D32560073 fbshipit-source-id: beb4d67e2a97841bb91add7847157176dee4a5f4 |
||
|
|
52fca0859e |
Fix debug output in unit tests
Summary: unit tests for deeplinks were logging full device / client objects instances, changed it to log the meta data only (description resp. query). Since Jest buffers console output, this might even help test stability Maybe console.debug shouldn't even be printed in Jest? See next diff Reviewed By: passy Differential Revision: D32557412 fbshipit-source-id: ff7fbf0cb5d8684d5333a62dac02fd5a59a6e358 |
||
|
|
35c482ac92 |
Fix emotion cache output garbage in unit tests
Summary: emotion/cache started generating nonsense warnings about SSR again when running unit tests. This is because atm emotion/cache is 3(!) times in our dep tree, and the wrong one got patched. Tried to dedupe that, but it seems inevitable: - emotion/react requires v. 11.6.0 of it - emotion/css requires v. 11.5.0 because a newer version of that package hasn't been released - console-feed still uses emotion 10. So instead, just added an other patch Reviewed By: passy Differential Revision: D32557413 fbshipit-source-id: 8a61a8065d21123453b3345b25ff87a9865094ed |
||
|
|
8af1e816bc |
Fix client-switching bug
Summary: When a new client connects, we dispatch the NEW_CLIENT event. The reducer of this event contains logic for determining if flipper should switch to display the newly connected client or not, and if so, it will dispatch SELECT_CLIENT. For that reason, flipperServer always dispatching SELECT_CLIENT bypasses the "should switch?" logic and always switches whenever a new client connects. This is disruptive to working and not desired. Removing this dispatch so that we rely on the NEW_CLIENT reducer to decide. Bug report: https://fb.workplace.com/groups/flippersupport/posts/1255964631550859 Reviewed By: aigoncharov Differential Revision: D32532942 fbshipit-source-id: 0ff2693745e37378362254053ae5fd6fc0d11de2 |
||
|
|
a279b9bc43 |
Remove fs.readFile from some plugins
Summary: 1. Remove fs.readFile from some plugins 2. Add "importFile" to FlipperLib and RenderHost See D32492149 for context Followups: 1. Decapitate Stella's sendToPhone 2. Decapitate crash reporter 3. Figure out how to approach navigation 4. Figure out how to approach FileSelector Reviewed By: mweststrate Differential Revision: D32496775 fbshipit-source-id: e150aa56a2c2c1eb12a4c03c801f76cd76485a9d |
||
|
|
2c7bc0a952 |
Remove fs.write from plugins
Summary: 1. Remove "fs.writeFile" from plugins 2. Remove "showSaveDialog" from "FlipperLib" 3. Add "exportFile" to "FlipperLib" and "RenderHost" As we are going to use Flipper in a browser as well, instead of providing low-level abstraction like "showSaveDialog", we should provide more high-level ones like "exportFile". In browsers it does not make too much sense to expose "showSaveDialog" as there is not way to use the returned file path to write to it. In the end, "exportFile" is going to trigger a file download for browsers and show the save dialog and write to the returned file path for Electron. Reviewed By: mweststrate Differential Revision: D32492149 fbshipit-source-id: 0673119bdb7670a5872f5982c7d82dfc44eb7906 |
||
|
|
32a58f0fec |
Bump redux from 4.1.1 to 4.1.2 in /desktop (#3057)
Summary: Bumps [redux](https://github.com/reduxjs/redux) from 4.1.1 to 4.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/reduxjs/redux/releases">redux's releases</a>.</em></p> <blockquote> <h2>v4.1.2</h2> <p>This release fixes a small specific TS types issue where state types that had a nested <code>unknown</code> field inside would cause compilation failures when used as the <code>preloadedState</code> argument.</p> <h2>What's Changed</h2> <ul> <li>Fix preloaded state type by <a href="https://github.com/phryneas"><code>@phryneas</code></a> in <a href="https://github-redirect.dependabot.com/reduxjs/redux/pull/4078">reduxjs/redux#4078</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/reduxjs/redux/compare/v4.1.1...v4.1.2">https://github.com/reduxjs/redux/compare/v4.1.1...v4.1.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
c0a0fa5dd8 |
Bump deps
Summary: Preempting dependabot by bumping a few patch and minor releases. Reviewed By: timur-valiev Differential Revision: D32434931 fbshipit-source-id: 77a3ec760f08262a118e12318d7601e031730a9a |
||
|
|
7e50c0466a |
Move app/src (mostly) to flipper-ui-core/src
Summary: This diff moves all UI code from app/src to app/flipper-ui-core. That is now slightly too much (e.g. node deps are not removed yet), but from here it should be easier to move things out again, as I don't want this diff to be open for too long to avoid too much merge conflicts. * But at least flipper-ui-core is Electron free :) * Killed all cross module imports as well, as they where now even more in the way * Some unit test needed some changes, most not too big (but emotion hashes got renumbered in the snapshots, feel free to ignore that) * Found some files that were actually meaningless (tsconfig in plugins, WatchTools files, that start generating compile errors, removed those Follow up work: * make flipper-ui-core configurable, and wire up flipper-server-core in Electron instead of here * remove node deps (aigoncharov) * figure out correct place to load GKs, plugins, make intern requests etc., and move to the correct module * clean up deps Reviewed By: aigoncharov Differential Revision: D32427722 fbshipit-source-id: 14fe92e1ceb15b9dcf7bece367c8ab92df927a70 |
||
|
|
c3ff0ff355 |
Set up Flipper decapitated packages
Summary: This diff introduces the packages necessary for Flipper decapitated. * flipper-common: utilities & types shared between client, server, flipper-plugin * flipper-server-core: all device & client management goes in here. Basically flipper's backend * flipper-ui-core: all UI goes in here, as far as it doesn't depend on Electron * desktop: the Electron app, will load server-core and ui-core, and glue them together, providing implementations for some electron specific stuff like dialgos * flipper-server: A node process hosting flipper-server-core, that can be connected to over websockets. And probably can serve a browser version of the UI as well. * flipper-ui-browser: thin wrapper around flipper-ui-core, providing some browser specific behavior / stubs. * flipper-dump: (might remove later), but want to hack a quick and dirt flipper dump in here, as alternative way to test flipper-server-core. This diff just creates the packages, but doesn't move any code, so it can be summarized as: restoftheowl Reviewed By: nikoant Differential Revision: D30218646 fbshipit-source-id: 735598a1261a98e584f52504b5eba01ec0afa162 |