Commit Graph

2191 Commits

Author SHA1 Message Date
Pascal Hartig
bd0435f856 Update android versions
Summary:
Putting this diff up now so we don't forget to land this once
the artifacts are released.

Reviewed By: danielbuechele

Differential Revision: D17480535

fbshipit-source-id: fcf1d2cf34581849bf50e606afcfcebc01cf45a2
2019-09-23 07:22:57 -07:00
Pascal Hartig
79117e37dd Flipper Bump: v0.24.1-SNAPSHOT
Summary: Back to snapshots.

Reviewed By: danielbuechele

Differential Revision: D17480405

fbshipit-source-id: 458eba3fb49f020568e3421163084912e97c7399
2019-09-23 07:22:56 -07:00
Pascal Hartig
1b21657507 Flipper Release: v0.24.0
Summary:
# Highlights

- Android: Separate artifacts for the Litho, Fresco and Network plugins.

This does not yet include updates to the docs as the publishing process requires manual approval by Bintray first.

Reviewed By: danielbuechele

Differential Revision: D17480406

fbshipit-source-id: 92cd54e708bc1718e40e9ea95ca62f8c73b11fdc
2019-09-23 07:22:56 -07:00
John Knox
e871822a05 Use API for eligibility check
Summary: Change flipper from using the dodgy webview check that requires auth, to using the interngraph api for eligibility checking.

Reviewed By: passy

Differential Revision: D17498724

fbshipit-source-id: b81fd8b7b0bd36a7fcf73ba05d9885b61e420c61
2019-09-23 06:44:38 -07:00
Daniel Büchele
4e5ede6d37 Allow navigation to URI in Wilde via Flipper
Summary:
Here I add functionality to Wilde that allows navigation to internal deeplinks via Flipper. I beleive this was once a feature by allowing access to non whitelisted URL's but this has since been removed.

The Flipper plugin can now receive a navigate_to command which then emits a url over the navigateTo socket. This is picked up by the FBNavigationFlipperLogger plugin where it gets an instance of the NavigationCoordinator and opens the url.

Reviewed By: kolinkrewinkel

Differential Revision: D17282530

fbshipit-source-id: 0ba29aeac2a32d5464e8fa1dfa4e53af7cf94159
2019-09-23 06:41:32 -07:00
John Knox
976101449d Fix infinite spinner after cert exchange
Summary:
After the '(Outdated SDK)' addition to apps when they need to be updated, the uninitilaized clients weren't matching up with the fully initialized ones, so instead of being replaced by the full client in the side bar, they sit there forever looking like they are loading.

This applies the same name change to both fully and non-initialized clients so they always match up.

Reviewed By: passy

Differential Revision: D17501718

fbshipit-source-id: 6f2090b717a17c16c2cff37701e184363c82d36f
2019-09-23 06:22:01 -07:00
Pascal Hartig
741fb7d292 Update docs for new plugins
Summary: ilovedocs

Reviewed By: danielbuechele

Differential Revision: D17501537

fbshipit-source-id: 1f5d872928b5a644ee98db025ad60b038b7126a8
2019-09-23 06:18:14 -07:00
Pascal Hartig
96d5e3ceff Bump gradle version
Summary: Android Studio asked me to.

Reviewed By: danielbuechele

Differential Revision: D17501199

fbshipit-source-id: 4e57fad00c2b92ff04909d21474f3869d9adedc1
2019-09-23 06:18:14 -07:00
John Knox
9871a6d155 Devserver: Only listen on localhost
Summary:
In response to https://github.com/facebook/flipper/issues/553

This server is just serving the local assets to the electron instance, when you are running flipper from source (`yarn start`). It's not used in production releases.

I don't think there's a need to encrypt this traffic - it's analogous to running a local web server while you are developing it, however I don't see a reason not to restrict it to localhost.

Reviewed By: danielbuechele

Differential Revision: D17500039

fbshipit-source-id: 5b9df3937d71dc542cfa900da8c9e7f285a0e6ac
2019-09-23 03:43:09 -07:00
John Knox
1d29120715 Enable sandbox plugin (#554)
Summary:
Removes a gatekeeper that shouldn't be there.
Reported in https://github.com/facebook/flipper/issues/535
Pull Request resolved: https://github.com/facebook/flipper/pull/554

Reviewed By: danielbuechele

Differential Revision: D17502725

Pulled By: jknoxville

fbshipit-source-id: 1865db3f5c8cd81b0ec747687d0a7312e5f2332b
2019-09-23 03:36:05 -07:00
Pascal Hartig
85e0d8e965 Create nodejs workflow (#555)
Summary:
A very basic first workflow that we can extend to match what we currently have in Travis and hopefully remove that in the near future.
Pull Request resolved: https://github.com/facebook/flipper/pull/555

Test Plan: https://github.com/facebook/flipper/pull/555/checks?check_run_id=232330215

Reviewed By: danielbuechele

Differential Revision: D17525516

Pulled By: passy

fbshipit-source-id: c1ebc1af2260482cfa97faae99f3baa5d5b9046c
2019-09-23 03:29:30 -07:00
Pritesh Nandgaonkar
84c5067210 Create Support Requests from Flipper
Summary: This diff adds an initial support to prefill the app information and the revision information. This diff also copies the workplace url in the clipboard.

Reviewed By: passy

Differential Revision: D16990925

fbshipit-source-id: 4f354e52de5fea07c2ea36336761d6963c27ef66
2019-09-20 11:39:05 -07:00
Pascal Hartig
b041da6d61 Move litho plugin tests
Summary:
I missed these. :(

Open source CI is unhappy about this - for good reasons.

Reviewed By: jknoxville

Differential Revision: D17500071

fbshipit-source-id: 96106f660dee59985c51e2635321ab4ad00a795a
2019-09-20 10:24:38 -07:00
John Knox
3b94dfe9c4 Make certificate files world readable
Summary:
This is useful for system apps. The files are owned by root, but they need to be readable by the app. There's nothing secret in these files, so it's not a problem.

This doesn't address all issues with system apps, e.g. https://github.com/facebook/flipper/issues/536 but does go some way towards it.

I was able to get a system app to connect successfully, but there may be different states that they can be in, so I don't think it's a fix all.

Reviewed By: passy

Differential Revision: D17499438

fbshipit-source-id: ab82583b5d607f75ff4578ab9ac2baf9d74241f8
2019-09-20 06:50:52 -07:00
Pascal Hartig
1ab47f9ca8 Set up Maven distribution for new plugins
Summary:
Setting up the necessary metadata to publish the separate plugins
to Maven/Bintray.

Reviewed By: danielbuechele

Differential Revision: D17480263

fbshipit-source-id: 1772cee5b3744ce52fc6e2510a27cb7f500e72bf
2019-09-20 06:07:42 -07:00
Pascal Hartig
2baadf9867 Make litho/sections a separate plugin
Summary:
Breaking Litho/Sections off. Doesn't really make sense to have
two deps for this especially since they're pretty tightly coupled.

This makes our core already quite slim.

Reviewed By: jknoxville

Differential Revision: D17420118

fbshipit-source-id: 9a03911f4af6410745b9aefd0e6a75bdf106660f
2019-09-19 03:02:51 -07:00
Pascal Hartig
c4a9b603e2 Make network a separate plugin
Summary: Per title.

Reviewed By: jknoxville

Differential Revision: D17419678

fbshipit-source-id: aee00f077b7ed955c60884853dc1128d27366ee8
2019-09-19 03:02:51 -07:00
Pascal Hartig
7ac82bec4e Make fresco a stand-alone gradle project (#548)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/548

First project to pull out of the "fat distribution" we currently have.
Still needs setup for Maven and registration in Bintray.

Reviewed By: jknoxville

Differential Revision: D17395660

fbshipit-source-id: 6244495a2e25d705dd930ef87c7e5e1f038eb921
2019-09-19 03:02:51 -07:00
Daniel Büchele
a77faa5318 update PluginManager links
Summary: Adding Plugin Manager to menu bar and update wording in sidebar

Reviewed By: passy

Differential Revision: D17450840

fbshipit-source-id: 9426e6053f454a8e3776e9e0e061cd119f8dc7b5
2019-09-19 02:34:18 -07:00
Daniel Büchele
8c623867bd PluginManager
Summary: Adding the plugin installer to the plugin sheet as a second tab

Reviewed By: passy

Differential Revision: D17450842

fbshipit-source-id: 211c9f15ed2614a1dd46d974b86f50c825f81fb0
2019-09-19 02:34:18 -07:00
Daniel Büchele
039d1cca99 publish example plugin
Summary:
Prepare package.json to publish to NPM.
This should set an example on how plugins can be shared via NPM.

Reviewed By: passy

Differential Revision: D17450841

fbshipit-source-id: 95bfe7331e5a95d4a8d201e5fea148cbdec6859f
2019-09-19 02:34:18 -07:00
Daniel Büchele
735aee7682 Add Tabs container
Summary: Adding an additional style for tabs on top of a container, similar to the ones used in macOS

Reviewed By: passy

Differential Revision: D17450843

fbshipit-source-id: 6b58c2aa290e0221d917e60bb3ac0751f77ea1ce
2019-09-19 02:34:17 -07:00
Pascal Hartig
2a6462641b Limit concurrency during plugin compilation
Summary:
My MBP just crashed again during startup. I would like to
understand why every plugin compilation appears to start
up a new electron process, but until that's understood
and hopefully fixed, it's probably best to limit the number
of processes we spawn by setting an upper bound here.

N.B. My Linux box doesn't mind this at all.

Reviewed By: jknoxville, danielbuechele

Differential Revision: D17419289

fbshipit-source-id: a11562a21a984059dc35e826eb20d869df218546
2019-09-17 12:21:15 -07:00
Daniel Büchele
ada2327520 refactor sidebar styles
Summary: Using styled components rather than class names to follow Flipper's guidelines

Reviewed By: jknoxville

Differential Revision: D17419665

fbshipit-source-id: 17e0a3bd9292327a4b34eb4e87e5271af8fa22c7
2019-09-17 10:18:26 -07:00
Daniel Büchele
108c49f572 Bookmark from TitleBar
Summary: Add action to bookmark current location

Reviewed By: passy

Differential Revision: D17419666

fbshipit-source-id: 69e845e802260c150ae2f17649cea05bea1ae4ec
2019-09-17 10:18:26 -07:00
Daniel Büchele
bd1fc342c8 Keyboard navigation
Summary: Adding keyboard navigation for bookmarks

Reviewed By: jknoxville

Differential Revision: D17419667

fbshipit-source-id: 851f93d662b6071c3478dca5c9d20b9814e15c1b
2019-09-17 10:18:26 -07:00
Daniel Büchele
1666cf5ee5 Background events
Summary:
`this.client.subscribe` was used to listen for navigation events. This means, navigation events are not collected while the plugin is in background.
In this diff, this is changed to a persistedStateReducer, so the events are collected with the plugin not active.

Reviewed By: jknoxville

Differential Revision: D17419668

fbshipit-source-id: 88d9476cb7461ff6774d42a992d32b4c8948ac86
2019-09-17 10:18:26 -07:00
John Knox
1d6fc9e3ac Don't make simultaneous ios device queries
Summary:
Fixes this:
https://fb.workplace.com/groups/967178219989117/permalink/3178405185533065/

Reviewed By: passy

Differential Revision: D17421166

fbshipit-source-id: 6ee14a05d157063d7646076175b6cdaf918a7caa
2019-09-17 09:02:31 -07:00
John Knox
199658aeef Fix ios device certificate exchange
Summary: `idb file pull` no longer accepts a directory name as a destination to pull a file to. This passes the destination file name instead.

Reviewed By: passy

Differential Revision: D17420100

fbshipit-source-id: 9e2f5bfda3733832fc71944f1dbbdb7ac0f08acb
2019-09-17 08:59:21 -07:00
Pritesh Nandgaonkar
84dcecb271 Override the serialize and deserialize function for Network Plugin
Summary: This diff overrides the serializer and deserializer methods for the plugins.

Reviewed By: danielbuechele

Differential Revision: D17402442

fbshipit-source-id: 245990b6060a84995c6637c2d8e5d6a814d546e1
2019-09-17 07:35:16 -07:00
Pritesh Nandgaonkar
4c7227d35e Refactor Map to Javascript object
Summary: This diff refactors Map to Javascript Object so that we can avoid custom serializer.

Reviewed By: danielbuechele

Differential Revision: D17402444

fbshipit-source-id: afd1919b0bea7925fcd26b54cc58f588a116bbcb
2019-09-17 07:35:15 -07:00
Daniel Büchele
a72eac27a7 add flipper-plugin keyword to package.json
Summary: For plugins to be discoverable through NPM, they need to have `flipper-plugin` as a keyword. This adds this keyword to all existing plugins (although they are currently not distributed via NPM) and the webside/docs.

Reviewed By: passy

Differential Revision: D17395079

fbshipit-source-id: e42dd31ca39c3754cf729052ee783687748bafe8
2019-09-17 06:21:29 -07:00
Daniel Büchele
97b814d70e installed plugins
Summary: Checking `~/.flipper/thirdparty` for already installed plugins and displaying them on top of the table

Reviewed By: jknoxville

Differential Revision: D17394821

fbshipit-source-id: 65f392c8beaf72d9effcae9f47a60bcbb9194025
2019-09-17 06:21:29 -07:00
Daniel Büchele
f3326f8874 install/remove
Summary: Installing/removing plugins in/from `~/.flipper/thirdparty`.

Reviewed By: jknoxville

Differential Revision: D17394822

fbshipit-source-id: b62f62fa2415403e4377fba445e77534be87350d
2019-09-17 06:21:29 -07:00
Daniel Büchele
3b46eb82d8 NPM search
Summary: Using yarn's algolia index to search NPM packages with the tag `flipper-plugin`.

Reviewed By: jknoxville

Differential Revision: D17394823

fbshipit-source-id: d7c88ddf5d4ce017f2672755436ef3ae7ed4e7f0
2019-09-17 06:21:28 -07:00
Daniel Büchele
109e871a76 UI
Summary: Setting up a sheet to list plugins that can be installed from NPM

Reviewed By: jknoxville

Differential Revision: D17394824

fbshipit-source-id: 26c6ffea9de9cf3fe8488ea1a757eae7b7aaa7ef
2019-09-17 06:21:28 -07:00
Pritesh Nandgaonkar
98bc01618f Override the default serializer for the Layout Plugin
Summary: Overrides the default serializer and deserializer for the Layout Plugin. This diff uses `JSON.stringify` and `JSON.parse` to serialize and deserialize the object respectively. It turns out the our custom serializer is slower than the `JSON.stringify` and the export is way quicker.

Reviewed By: danielbuechele

Differential Revision: D17402443

fbshipit-source-id: 0d36783858ec1972130bdbc57ba7d3cdc5a73774
2019-09-17 04:12:04 -07:00
Pritesh Nandgaonkar
e1e8760f12 Show the status message of uploading Flipper trace
Summary: This diff shows the status message of "Uploading Flipper Trace..." when we upload it.

Reviewed By: danielbuechele

Differential Revision: D17402445

fbshipit-source-id: ab2927de34ab5d7e49e7c7ea005d40816a0365bd
2019-09-17 04:12:04 -07:00
Pascal Hartig
6b58e813e5 Add GA
Summary: Add Google Analytics code.

Reviewed By: danielbuechele

Differential Revision: D17398649

fbshipit-source-id: 79acd7a9d3ac19a25deea3f84989860308f2787e
2019-09-17 03:12:18 -07:00
John Knox
ea4b62c458 Fix unhandled promise rejections at startup
Summary: I like the idea, but these reject by default promises cause the global rejection handler to fire at startup, looking like things are broken.

Reviewed By: danielbuechele

Differential Revision: D17397614

fbshipit-source-id: 88601d6c65cb79d61efc27c34a4b7f2dd8716d39
2019-09-16 09:49:06 -07:00
Pascal Hartig
2fcd0cbcac Convert logs plugin to TypeScript
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D17184173

fbshipit-source-id: c7a055544ee4d9e07e5685fa84669d68fd68bf31
2019-09-16 09:14:09 -07:00
John Knox
25de8ee90a If sdk_version is missing, consider it old in server.tsx
Summary: Just noticed this. There are probably not many version 0's around, but if there are they should be treated as old.

Reviewed By: passy

Differential Revision: D17397155

fbshipit-source-id: fab6f8b2557ecb983441b282ceb29b5b744ae900
2019-09-16 09:03:41 -07:00
Pascal Hartig
fd8d28ca11 Remove fbjni from release script
Summary:
for_shame

Failing here: https://circleci.com/gh/facebook/flipper/1529

Reviewed By: danielbuechele

Differential Revision: D17375600

fbshipit-source-id: 9765b476f70f96a33e9ef6f4557fd062bedcfe61
2019-09-16 08:20:37 -07:00
Pascal Hartig
a884f1a4ac Bump Android SDK to 29 (#547)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/547

Only affecting the Gradle/Open Source build.

Reviewed By: danielbuechele

Differential Revision: D17394866

fbshipit-source-id: 0bb77847173018a27b7552407b1d5dce10f52d0d
2019-09-16 08:13:54 -07:00
Chaiwat Ekkaewnumchai
22351311ae Change Key of LRU Plugins to Only Name
Summary:
Plugin keys which are used to record the least recently used plugins to show on sidebar on android emulators depend on the port (connected order), so it can cause unexpected order (swapping between two devices).

This will ensure that for the same app it will have the same order regardless of device it is running

Reviewed By: jknoxville

Differential Revision: D17395033

fbshipit-source-id: 94ef4ef51bd5545f2ef7ce47bf8bc931d0140dbd
2019-09-16 05:33:19 -07:00
Chaiwat Ekkaewnumchai
d297b7bae2 Indicate Outdated SDK Version after App Name
Summary:
Per title

Earlier SDK version and this version (3) of Flipper determine a device for an app differently, so there is a case that both versions of the same app can refer to the same device which uses mutual name.

To resolve this problem, we change the name of previous SDK version of an app, so that
1) Both versions will be shown on the sidebar
2) Users know and hopefully update their apps to resolve the connection issue

Reviewed By: jknoxville

Differential Revision: D17376199

fbshipit-source-id: 3dc7c9b0bf99ff06c11c83eff0c72b6ce12f1a5a
2019-09-16 05:33:19 -07:00
Chaiwat Ekkaewnumchai
2239ca65a5 Fix Android Connection Swap Issue (Server Side)
Summary:
- Take device id retrieved by matching CSR to the given CSR destination
  - Otherwise, use the previous way

Note:
- Backward compatibility will be fixed next diff

Reviewed By: jknoxville

Differential Revision: D17346422

fbshipit-source-id: 59b2fb9849373db1ba930dde702194c5fb201678
2019-09-16 05:33:19 -07:00
Chaiwat Ekkaewnumchai
88197a7076 Fix Android Connection Swap Issue (Client Side)
Summary:
- Add CSR and CSR destination to request body
- (unrelated) Rearrange the list of include files

Reviewed By: jknoxville

Differential Revision: D17346429

fbshipit-source-id: ce775998884b73e82a931f4dd8986c659a892b51
2019-09-16 05:33:19 -07:00
Pascal Hartig
3b33abf035 Flipper Bump: v0.23.8-SNAPSHOT
Summary: Back to snapshots.

Reviewed By: danielbuechele, priteshrnandgaonkar

Differential Revision: D17368397

fbshipit-source-id: 92159fd86c87402516d253aa5f601bd60a551090
2019-09-13 10:37:30 -07:00
Pascal Hartig
29c9379ae6 Flipper Release: v0.23.7
Summary:
**Highlights**

- Changed to the upstream `adbkit` instead of the Facebook-specific fork of it.
- Migrate the rest of Flipper core from Flow to (strict) TypeScript.
- UI docs use the TypeScript code as basis.

Reviewed By: danielbuechele

Differential Revision: D17368399

fbshipit-source-id: 5ba92c4f0d4ca627ffac58052ef6e4d9fd07bd95
2019-09-13 10:37:30 -07:00