Commit Graph

1482 Commits

Author SHA1 Message Date
Michel Weststrate
a3a3db5363 Improve stats collection for plugins in the background
Summary:
This diff improves two things:
1. Stats are now gathered on every `trackUsage` tick, rather than only when there is a selection
2. The stats now include a delta to compare it with the previous tick

Reviewed By: passy

Differential Revision: D19514231

fbshipit-source-id: 1854c1dc03c63a03db8c7040c185d2629e1b9ea2
2020-01-22 07:10:52 -08:00
Anton Nikolaev
7c03366136 Setitngs: button to reset Android SDK path to default
Summary: Added button to reset Android SDK path to default + fixed default SDK path on Windows which I introduced in a previous diff and which before might be wrongly resolved to roaming data instead of local data folder

Reviewed By: jknoxville

Differential Revision: D19498899

fbshipit-source-id: e10865b528f55ea6b56873bdf9369c4b60dca89f
2020-01-21 10:28:38 -08:00
Timur Valiev
4f63d6435f JS app launcher ui bugfix
Summary: JS App launcher wasn't appearing when no android emulators are installed

Reviewed By: nikoant

Differential Revision: D19499107

fbshipit-source-id: d062d4781747b77b708306b592ea66a1a67b93e4
2020-01-21 09:03:35 -08:00
Mateo Silguero
b0caaa7254 persist favorites queries at localStorage. show parsed values from databases. (#738)
Summary:
on databases section, queries marked as "favorite", are not persisted. With this changes,  they will be saved at localStorage and persist from refresh.

Improves on parse json values from databases.

## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/738

Reviewed By: mweststrate

Differential Revision: D19330218

Pulled By: passy

fbshipit-source-id: 673b2d0bbee9b3ef4544defaca0e3c5547a992a2
2020-01-21 08:37:53 -08:00
Anton Nikolaev
e178221f44 Default path to Android SDK is wrong on Windows
Summary:
Default path for Android SDK was set to "/opt/android_sdk" disregard the current OS.
On Windows it should be set to "%localappdata%\android\sdk" instead.

Reviewed By: passy

Differential Revision: D19496646

fbshipit-source-id: 86ce7df74b98eef5b7b0a556a5359bec8cb0dbc4
2020-01-21 08:04:50 -08:00
Anton Nikolaev
35d62e70cb Analytics: log both shown and suppressed warnings
Summary: A small enhancement for the Doctor usage report

Reviewed By: passy

Differential Revision: D19496887

fbshipit-source-id: 1f0efb0eb29e2efce60ba4fca3bd6fdc062406ea
2020-01-21 06:41:47 -08:00
Michel Weststrate
94e2230583 Animated chevrons in sidebar
Summary: Sidebar collapsing finally feels right! Also made the sidebar a little bit less cramped by widening it.

Reviewed By: passy

Differential Revision: D19496743

fbshipit-source-id: 8dd93afc8ef542781b1c1598623d1c9cef9b6b66
2020-01-21 06:29:41 -08:00
Michel Weststrate
02e02338e8 Fix Mac plugins not showing up
Summary:
Fixed a bunch of issue in the new sidebar navigation
1) Stop filtering out the host device (collapse it by default instead)
2) Show offline status in title for more clarity
3) Stop sorting devices by name, so that they are sorted in connection order, which feels more consistent
4) Group uninitialised clients together, rather than showing them under every device
5) Rename "device" section to "device plugins", and hide it if there are none
6) some minor margin fixes

Reviewed By: jknoxville

Differential Revision: D19495950

fbshipit-source-id: 513d0a1171016bd3077641f614a6554a132f8180
2020-01-21 04:54:25 -08:00
Timur Valiev
ff26deedd7 Add default search term in Searchable
Summary: Add a way to provide default search term; similar to default filters

Reviewed By: mweststrate

Differential Revision: D19449561

fbshipit-source-id: 6845ae5d2e058fe68974ac7aa8fd7b45814c2002
2020-01-20 10:19:38 -08:00
greenkeeper[bot]
fd83a751c7 Update jsdom in group plugins to the latest version � (#753)
Summary:
## The devDependency [jsdom](https://github.com/jsdom/jsdom) was updated from `15.2.1` to `16.0.1`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

 ---

**Publisher:** [domenic](https://www.npmjs.com/~domenic)
**License:** MIT

<details>
<summary>Release Notes for Version 16.0.1</summary>

<ul>
<li>Fixed Node v10 and v11 support when <code>runScripts</code> was set.</li>
<li>Fixed the behavior when changing an <code>&lt;input&gt;</code>'s <code>type=""</code> attribute.</li>
<li>Fixed input validation behavior for <code>&lt;input type="range"&gt;</code> when <code>max=""</code> is less than <code>min=""</code>.</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 52 commits.</p>
<ul>
<li><a href="afc85c80df"><code>afc85c8</code></a> <code>Version 16.0.1</code></li>
<li><a href="6472db466a"><code>6472db4</code></a> <code>Fix Node v10 and Node v11 support</code></li>
<li><a href="16c9856649"><code>16c9856</code></a> <code>Improved "expected fail" messages for web platform tests</code></li>
<li><a href="e2dbad8183"><code>e2dbad8</code></a> <code>Add support for  reverse range validation</code></li>
<li><a href="94b40d3ebf"><code>94b40d3</code></a> <code>Implement  type state switch logic</code></li>
<li><a href="c292572cd7"><code>c292572</code></a> <code>Add comment about radio button activation muddiness</code></li>
<li><a href="52109d5b23"><code>52109d5</code></a> <code>Clean up  typeMismatch constraint validation</code></li>
<li><a href="4a374e5b99"><code>4a374e5</code></a> <code>Clean up _defaultStepBase in </code></li>
<li><a href="92e9adbf41"><code>92e9adb</code></a> <code>Consistently use ._value for constraint validation</code></li>
<li><a href="11664cabd4"><code>11664ca</code></a> <code>More consistent applicability checking for  attributes</code></li>
<li><a href="b097c0a000"><code>b097c0a</code></a> <code>Roll Web Platform Tests</code></li>
<li><a href="d240291edb"><code>d240291</code></a> <code>Remove unnecessary dependencies</code></li>
<li><a href="902b69e15a"><code>902b69e</code></a> <code>Version 16.0.0</code></li>
<li><a href="020539ed3f"><code>020539e</code></a> <code>Remove document.origin and add window.origin</code></li>
<li><a href="678141f58e"><code>678141f</code></a> <code>Use mutability as a measure for valueMissing constraint</code></li>
</ul>
<p>There are 52 commits in total.</p>
<p>See the <a href="c3f0f2756b...afc85c80df">full diff</a></p>
</details>

 ---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

 ---

Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/753

Reviewed By: nikoant

Differential Revision: D19469099

Pulled By: passy

fbshipit-source-id: 78de63ebb15843b27818dcbcbbe78ce5d5964ae9
2020-01-20 07:55:37 -08:00
Michel Weststrate
c8ebb7caaf Fix layout of clear icon
Summary:
Flipper clear icon was hidden, this fixes it

Also fixed a null pointer exception that would occur when clearing search with the keyboard, and no filters were active

Reviewed By: passy

Differential Revision: D19445833

fbshipit-source-id: 213c28dc8c1e295018e6318f86604d96d2a9b75c
2020-01-17 06:30:10 -08:00
Anton Nikolaev
73e0f9035a Pass plugins via ipc instead of env to fix loading of plugins on Windows
Summary: Fixed the issue with empty plugin list on Windows because of env var length limit

Reviewed By: passy

Differential Revision: D19411466

fbshipit-source-id: 7fa390f7dd342e23e965b2135fbeb8e88e5857ef
2020-01-17 03:50:13 -08:00
John Knox
2f3b9e1be9 Increase line height of markdown text
Summary: Lines were a bit squashed together. Taken the value from workplace, as that's the style we've been copying so far.

Reviewed By: priteshrnandgaonkar

Differential Revision: D19430279

fbshipit-source-id: 52cc8167d6acaa6af42caaa67a693b5fda492701
2020-01-16 09:39:52 -08:00
John Knox
ce96e5efc2 Use chevron-right for collapsed state
Summary: I find this much more intuitive that it's unexpanded, than a down arrow.

Reviewed By: mweststrate

Differential Revision: D19429007

fbshipit-source-id: 7b414aeee846a864641941b6837770252cb298de
2020-01-16 08:15:55 -08:00
John Knox
c17cd0f11e Add isForeground to ping events
Summary:
I want to make ping events fire when in background or foreground.
But doing that now could mess with some stats.
Setting this up so we have the data. If it comes to it, after this has been going a while,
we can add a filter to the existing queries for "isForeground=true" to preserve their behaviour.

Reviewed By: mweststrate

Differential Revision: D19428926

fbshipit-source-id: 7c175e9936dce52a59d17995dae61a82d23687f8
2020-01-16 08:15:54 -08:00
Michel Weststrate
e7780530df Fixed #647, urls are not editable in shared preferences
Summary:
As reported in https://github.com/facebook/flipper/issues/647 urls are not editable in our generic data inspector, as clicking an url will immediately open it, rather than going to edit mode.

This diff fixes that by appending an edit icon to URL previews.

Reviewed By: jknoxville

Differential Revision: D19428925

fbshipit-source-id: 428e8e4c10fb472792b61986d915658f7581c38d
2020-01-16 06:53:15 -08:00
Michel Weststrate
db9c41303d Introduce Flipper Tic Tac Toe example
Summary:
This Diff introduces an example for how to develop a React Native pure JS plugin and will be used in the docs. See the attached project as demo. The RN sources for the plugin component are:

```
import React, {useState, useEffect} from "react";
import {
  StyleSheet,
  View,
  Text,
  Button,
} from 'react-native';

import {addPlugin} from "react-native-flipper";

const initialState = {
  cells: [" ", " ", " "," ", " ", " "," ", " ", " ",],
  turn: ' ',
  winner: ' ',
}

export default function FlipperTicTacToe() {
  const [status, setStatus] = useState("Waiting for Flipper Desktop Player...")
  const [gameState, setGameState] = useState(initialState);
  const [connection, setConnection] = useState(null);

  useEffect(() => {
    addPlugin({
      getId() {
        return 'ReactNativeTicTacToe';
      },
      onConnect(connection) {
        setStatus("Desktop player present");
        setConnection(connection);

        // listen to updates
        connection.receive('SetState', (gameState, responder) => {
          if (gameState.winner !== " ") {
            setStatus(`Winner is ${gameState.winner}! Waiting for a new game...`);
          } else {
            setStatus(gameState.turn === "X" ? "Your turn...": "Awaiting desktop players turn...");
          }
          setGameState(gameState);
          responder.success();
        })

        // request initial state
        connection.send('GetState');
      },
      onDisconnect() {
        setConnection(null);
        setStatus("Desktop player gone...");
      }
    })
  }, []);

  return (
    <View style={styles.container}>
      <Text style={styles.title}>Flipper Tic-Tac-Toe</Text>
      <Text>{status}</Text>
      <View style={styles.board}>
        {gameState.cells.map((state, idx) =>
          <View
            key={idx}
            style={styles.cell}>
            <Button
              title={state}
              disabled={gameState.turn !== 'X' || state !== ' '}
              onPress={() => {
                connection.send('XMove', { move: idx });
              }}
            />
          </View>
        )}
      </View>
    </View>
  )
}

// Omitted styling

```

Reviewed By: passy

Differential Revision: D19410138

fbshipit-source-id: 93266a1ef7b86dcf043a744c3563dab0c585c8fd
2020-01-16 05:06:22 -08:00
Michel Weststrate
08e2d54f62 Make sure callbacks are not reused and reloading works
Summary:
This diff is part of the bigger task T60496135

This diff changes the RN support from crude to decent citizen, making sure we don't recycle callbacks over the bridge, use subscriptions were possible, and making sure connecting, disconnecting, etc works correctly

For example, connect and disconnect hooks should work.

Finally, throw in hot reloading into the mix, which causes the registerPlugin to be triggered another time, without the old one every been unloaded.
This should trigger a new 'onConnect' on the client, to make sure it can restore any state / subscriptions necessary, even though the never disappeared in the Java world.

These cases should all be handled well.

Reviewed By: jknoxville

Differential Revision: D19347330

fbshipit-source-id: de64a08f4043f01528c794430ccc3c717abf0180
2020-01-16 05:06:22 -08:00
Michel Weststrate
c7158f4517 Make it possible to write JS only plugins
Summary:
This diff is part of the bigger task T60496135

This diff is based on D18706643, extracting only the react native module parts

It implements the entire Android client api for JavaScript, so that there is feature parity. However this implementation is happy path only, and edge cases will be handled in separate diffs

Reviewed By: jknoxville

Differential Revision: D19310265

fbshipit-source-id: 589716fe059952bdde98df84ed250c5c6feaa118
2020-01-16 05:06:22 -08:00
John Knox
ce0d038420 Regularly report currently starred plugins
Summary: Gives us visibility on how many / which plugins, people are starring.

Reviewed By: mweststrate

Differential Revision: D19408420

fbshipit-source-id: cb08e2a5f9d1b31ea03e6f7df8fa61db26611e91
2020-01-15 08:07:30 -08:00
greenkeeper[bot]
d1ec9797bf Greenkeeper/@types/react 16.9.17 (#745)
Summary:
Close https://github.com/facebook/flipper/issues/669
Pull Request resolved: https://github.com/facebook/flipper/pull/745

Reviewed By: mweststrate

Differential Revision: D19408457

Pulled By: passy

fbshipit-source-id: 2cf380b48d80e719a36c6f9ea8c10410185eebb1
2020-01-15 05:05:28 -08:00
Michel Weststrate
03c1bcad11 Log users out if tokens have expired, force FB users to login on startup
Summary:
Currently there are several issues caused by internal users not being logged in. E.g. the rating button doesn't work, flipper traces can't be uploaded etc.

However, the fact that the user is not logged in, is not reflected in the UI if the user has an API key, which is outdated.

See also the scuba query in the linked tasks; this happens for quite some users.

This diff fixes two things:
1. If auth tokens are invalid, this is properly reflected in the UI
2. If at startup the profile can't be loaded, a popup will be shown to log in.

Differential Revision: D19392735

fbshipit-source-id: 2be7c577ead671df16c626c0636e89245cebab14
2020-01-15 04:34:35 -08:00
John Knox
a96931c43f Enhance time-spent tracking
Summary:
Previously, at 1-minute intervals, if the flipper window was focused on, it would report the currently active plugin.
We'd sum all those "ping" events and that would approximate the number of full minutes spent in total across all users.
It's quite coarse grained, if you're focused on the window for 30 seconds, there's a 50% change your ping will get used.
While being reasonable across many users, it doesn't allow analysis like how many plugins do people typically use in a session, because we probably won't see all the plugins they use.

New approach, for every minute flipper is open, report the focused and unfocused time spent in each plugin, as well as the total across all plugins.
This should give us the previous data but with much more precision.

Should be especially helpful for plugins with low numbers of users, you typically interact with emulators while using a plugin, so it's not continually in focus, so you miss a lot of usage events.

enhance_bladerunner

Reviewed By: nikoant

Differential Revision: D19392796

fbshipit-source-id: af9244e993edff9b381144ca587c3a77fdf8c98a
2020-01-14 10:27:17 -08:00
Michel Weststrate
7513d36689 Make sure sidebar detects fresh plugins
Summary: New plugins are not detected because the available plugins are stored in the mutable Client class, so we have to subscribe to the event emitter

Reviewed By: passy

Differential Revision: D19347654

fbshipit-source-id: 68af63bf9bbe6319b2994dc8d07ca5eb27bb33b4
2020-01-14 09:17:24 -08:00
Pascal Hartig
16bd10fa15 Lock down deps (#743)
Summary:
Firefox client is no longer maintained. This is the last official version we can use.
Pull Request resolved: https://github.com/facebook/flipper/pull/743

Test Plan: Greenkeeper.

Reviewed By: mweststrate

Differential Revision: D19390048

Pulled By: passy

fbshipit-source-id: cf37e69bc650d932db102545ccbc41c28beed96a
2020-01-14 04:49:32 -08:00
Anton Nikolaev
b117a36f8a Flipper fails to load on Windows because of ifinite PluginContainer component update loop
Summary: Flipper fails to load on Windows because of inifinite update loop in PluginContainer component.

Reviewed By: mweststrate

Differential Revision: D19374611

fbshipit-source-id: f2039c055ffefe508c8cf5bcfcd16fffc97a10b8
2020-01-14 04:28:35 -08:00
Anton Nikolaev
5fd8db294a Add Windows to GitHub Actions CI matrix
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/741

Reviewed By: jknoxville

Differential Revision: D19371114

fbshipit-source-id: 07c6bd71e58011cc3fffa34354546eb773e3fc3d
2020-01-14 03:52:52 -08:00
Timur Valiev
11e134e87c Pick colors in mscreen from pallet
Summary:
{F226170897}
Color picker based on Lite's color table
We can't use standard color picker because of FB Lite's limitation: color set is predefined and sent from the server
'extra' field and 'color-lite' type are added to field description

Reviewed By: jknoxville

Differential Revision: D19330480

fbshipit-source-id: 695d288b4b8409e8b63a9e461a41914379d75a8c
2020-01-13 15:10:59 -08:00
Alexander Putilin
850bc3fe76 Obtain root on the device when initializing the plugin
Summary: This allows `adb b2g-info` command to get more detailed data and not just the amount of free memory

Reviewed By: jknoxville

Differential Revision: D19348298

fbshipit-source-id: ecb705c328c53f2d8c643496f0ed4204a31a745e
2020-01-13 10:48:52 -08:00
greenkeeper[bot]
5f3eb3c160 chore(package): update uglify-js to version 3.7.5 (#742)
Summary:
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/742

Reviewed By: jknoxville

Differential Revision: D19374015

Pulled By: passy

fbshipit-source-id: 3859006dc5efe0890625b5b5c32cb056a4bdbf24
2020-01-13 09:58:04 -08:00
Michel Weststrate
61821fbec7 Improved sidebar section styling
Summary:
Pritesh marked correctly that it was not entirely clear whether sections are collapsed or not. It seemed the arrows were off, checked the Android style guide, the arrows are correct, but difference is that the bottom border of sections is missing. Adding those clarifies the collapsed state properly I think.

https://pxl.cl/Wpnq

Reviewed By: passy

Differential Revision: D19372987

fbshipit-source-id: 2fb898301f63bd8edb2c3c9851f89edc801a524f
2020-01-13 09:47:24 -08:00
Pascal Hartig
b2c3125a1a Upgrade invariant types
Summary: The new type defs make use of TypeScript 3.7 assertion functions which means they actually have a semantic effect on the rest of the lexical unit, which is quite neat.

Reviewed By: mweststrate

Differential Revision: D19348035

fbshipit-source-id: 3c7a21b5bece091c32f8879fed12d8e46e205ea4
2020-01-13 07:45:12 -08:00
Anton Nikolaev
7da7df44ff Fixed tests
Summary: Fixed few tests which were failing on Windows

Reviewed By: mweststrate

Differential Revision: D19371105

fbshipit-source-id: 118a76783680a3efa0645321d8c88b4e6e754ce0
2020-01-13 06:22:18 -08:00
Alexander Putilin
294a400428 Properly wait 1 second between runs of adb b2g-info
Summary: This slows down the phone less. In the future, it'd be nice to get timestamp on X axis.

Reviewed By: passy

Differential Revision: D19097154

fbshipit-source-id: e145f1b911dec368a6bb7de32790d6280c696eda
2020-01-13 03:42:55 -08:00
Chaiwat Ekkaewnumchai
2f0f694cf5 Fix Unselected Enum Filters Showing up
Summary:
Filter type enum works differently than what I understood; its value is not inside the column.

Move the enum checking to before others because text matching relies on column value.

In addition, change the behavior when there is no column (from ignoring the search to causing all row to disappear due to mismatch ing)

Reviewed By: mweststrate

Differential Revision: D19345758

fbshipit-source-id: d49bc0e29d7a3d36f3aad20213791211c2c3065b
2020-01-10 08:50:01 -08:00
Michel Weststrate
40f9b385bb Fix refresh plugins not having any effect
Summary:
If a plugin was registered beyond the initial start command, this didn't show up in the Flipper UI. The reason for this is that the client map is updated, but since that object is mutable, components won't detect nor reflect the change.

This diff changes to make sure a new plugin map is created if it is changed.

Reviewed By: passy

Differential Revision: D19345464

fbshipit-source-id: 3aa343e1739caf124a015c88680a94973b87f701
2020-01-10 06:32:02 -08:00
Anton Nikolaev
2599dffe48 Healthcheck failures analytics
Summary:
Send per-healthcheck success/failure event to be able to analyze most common problems.
Send event when doctor warning bar shown.
Send event when doctor report is opened by user.
Send event when user set flag "Do not show warning again" in the doctor report.

Reviewed By: passy

Differential Revision: D19312127

fbshipit-source-id: 01b648d1154a3aeadc85980190cb9e5e221b572e
2020-01-10 06:18:32 -08:00
John Knox
451db57fa5 Tell user when xcode simulator mismatches with xcode-select
Summary:
When you run a simulator with a different version of the xcode version that is currently `xcode-select`ed, it won't work.
This causes problems in Flipper, and also RN and other tools.
Show a helpful warning in this case.

Need to dispatch it explicitly because console.errors only get surfaced in dev mode, not production.

Ideally this will be done in the doctor, but there's work to get it to report device/app specific problems first.

Reviewed By: passy

Differential Revision: D19345199

fbshipit-source-id: 45f95c6d33c81da2299d8d84c9179bebb5bfebe8
2020-01-10 05:20:53 -08:00
Pascal Hartig
afee624ad6 Logging for inspector sections
Summary:
This is what I wanted to have the functional component for. This makes it super easy to keep track of the sections we've loaded and then make a side-effecting logging call "on mount" to keep track of the impressions different sidebar extensions get.

This should also save some CPU cycles when calculating what to show in the sidebar. Not sure how meaningful that is, though.

Reviewed By: jknoxville

Differential Revision: D19331682

fbshipit-source-id: 44f83006634f50d8f7437286b8915b63f9c47d40
2020-01-10 05:18:26 -08:00
Pascal Hartig
f78851922e Make InspectorSidebar a functional component
Summary: Refactoring a bit to make a change easier.

Reviewed By: jknoxville

Differential Revision: D19330542

fbshipit-source-id: 5926b110d04d73e109ea287cacd4e120ea8c9986
2020-01-10 05:18:26 -08:00
John Knox
7bdde77b36 Check crash file exists before reading
Summary:
File watcher gives deletion events as well, so this is needed to avoid
attempting to read nonexistent files.

We're getting ENOENT errors from this code, and I suspect this is the reason.

Reviewed By: nikoant

Differential Revision: D19329894

fbshipit-source-id: 46734ea17874e1448d67cc086b363e0abdf07258
2020-01-09 08:23:27 -08:00
Anton Nikolaev
751c778069 Use unique keys to identify healthchecks
Summary: Added unique keys for each healthcheck and used them to save already seen failures. Later I will also use them for gathering doctor analytics.

Reviewed By: jknoxville

Differential Revision: D19301583

fbshipit-source-id: 0c0aa977ea73ce555e0d9fb8e8ead844624fb9cd
2020-01-08 08:12:06 -08:00
Michel Weststrate
7c80720c5d Fix doctor warning and animation
Summary: Two random tiny changes

Reviewed By: nikoant

Differential Revision: D19309447

fbshipit-source-id: 13a1a66d6b91285a00177ca7a3003fd83b4820f5
2020-01-08 04:45:03 -08:00
Anton Nikolaev
5c8ab0790b Add watchman installation check
Summary: Doctor to show warning if Watchman is not available

Reviewed By: mweststrate

Differential Revision: D19298730

fbshipit-source-id: 68f915c63c5f78aad91f549aabda8d4d972f4e39
2020-01-08 01:59:57 -08:00
Michel Weststrate
f8173ea8a4 Minor sidebar improvements
Summary:
~~Two~~ Four small improvements in the sidebar, that give a cleaner look:

1. expanding the plugin section is now a small button instead of text
2. Star / unstar buttons are only shown on hover of a plugin
3. Used all caps for application names, since we are F A C E B O O K now :-P.
4. Fixed styling of loading status of apps, so that it is consistent with a fully loaded app

Reviewed By: nikoant

Differential Revision: D19297880

fbshipit-source-id: 0fee44511965fc22351eff589d253365c1c6f774
2020-01-07 06:33:03 -08:00
Kugan Vivekanandarajah
075b0905d3 Don't show "Show more/less" menu option in the sidebar if no more plugins are available
Summary: When all the plugins are selected, "Show more/less" menu option in the sidebar should not be shown

Reviewed By: passy

Differential Revision: D19164369

fbshipit-source-id: 50bec130e80c14aea2b4565e7659409d879e585c
2020-01-07 04:14:05 -08:00
Chaiwat Ekkaewnumchai
bacb1958fc Back out "Back out Electron 7.1.1/7.1.2 upgrades"
Summary:
Original commit changeset: 05d13aca7145

Attempt to upgrade `electron` as it instacrashed; `electron-builder` version 22.1.0 didn't sign package correctly and caused the instacrash,

Reduced the version to 21.2.0 (latest).

Reviewed By: passy, nikoant

Differential Revision: D18954671

fbshipit-source-id: bc2dbd4fec9afb51d9a535974651b13d195407b4
2020-01-06 09:44:13 -08:00
Michel Weststrate
8cfe06d530 New multi app supporting sidebar navigation
Summary:
This diff changes the sidebar navigation, fixing a bunch of issues:
It will be possible to quickly switch again between the same plugins in multiple apps
No need to expand-and-check the app dropdown until the app is connected
No need for ugly fallback selections if some app connects faster than another one

Reviewed By: nikoant

Differential Revision: D19272701

fbshipit-source-id: 10f5fab42391014ef4a4a4c91c529d93f8bfb125
2020-01-06 08:51:08 -08:00
Michel Weststrate
8152085111 Duplicate sidebar and put behind GK to prepare for reworked navigation
Summary: Preparation diff to enable two different sidebars in the code base, so that we can fine tune improvements. For further context seen next diff

Reviewed By: nikoant

Differential Revision: D19272608

fbshipit-source-id: 272c691389d998ed8cf97bc75aad101d9dfd7def
2020-01-06 08:51:07 -08:00
Anton Nikolaev
901817040c Properly resolve path to icons.json in release build
Summary: Currently release build fails to launch, because path to icons.json is resolved incorrectly. This change should fix resolving so it will work for both dev and release build.

Reviewed By: jknoxville, mweststrate

Differential Revision: D19274410

fbshipit-source-id: 9c0a92e1f6808997d08366c8021cd57565c5ae2c
2020-01-03 10:57:13 -08:00