Commit Graph

2615 Commits

Author SHA1 Message Date
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
Flipper Bot
939f69b4fc Flipper Release: v0.152.0
Summary: Releasing version 0.152.0

Reviewed By: mweststrate

Differential Revision: D37515159

fbshipit-source-id: 559c8961da1156fd61c299eec5d3bc9a8e84fa9e
2022-06-29 08:56:59 -07:00
Andrey Goncharov
13535e9753 Map / route to correct HTML file
Summary: CHANGELOG: Open Flipper Server at /

Reviewed By: lawrencelomax

Differential Revision: D37517406

fbshipit-source-id: 71043c3df75d9436020da477c937795671fa15a9
2022-06-29 07:46:03 -07:00
Andrey Goncharov
47956087ee Add a menu item to export Flipper logs to a file
Summary:
CHANGELOG: Add Flipper logs export to file

Allows users to export their Flipper logs with a single click. The export always includes all log levels but debug.

Reviewed By: antonk52

Differential Revision: D37485571

fbshipit-source-id: 82b02132794da30b255e6178db4a17c1ba8091ee
2022-06-28 06:27:43 -07:00
Andrey Goncharov
dcbc7c40bb Stream server logs to browser
Summary: Makes Flipper Logs tab functional for Flipper Browser

Reviewed By: lblasa

Differential Revision: D37459924

fbshipit-source-id: 4ebf3d47fbbf90bb367e01986b12dec782b03c34
2022-06-28 06:27:43 -07:00
Pascal Hartig
8333268654 Expose environment info
Summary: The part I'm most interested in is the `appVersion`. For non-debug builds this will allow us to check if a flipper-server version is compatible with flipperd/arc_uiqr or any other tool that builds on top of it.

Reviewed By: lblasa

Differential Revision: D37456699

fbshipit-source-id: 50eeb6da0f55e3a3552d43fa7c9ea34608090f97
2022-06-27 12:10:44 -07:00
Flipper Bot
f7048b470e Flipper Release: v0.151.1
Summary: Releasing version 0.151.1

Reviewed By: aigoncharov

Differential Revision: D37458556

fbshipit-source-id: a14704cce3358c5fd3dbd4b7ebf9c32a59183d49
2022-06-27 10:22:47 -07:00
Andrey Goncharov
692b861ee4 Increase verbosity of flipper server companion logging
Summary: Log Flipper server companion requests and replies

Reviewed By: passy

Differential Revision: D37456027

fbshipit-source-id: 59ce3219b1f278237f1285e032272facdcf930e8
2022-06-27 08:13:01 -07:00
Andrey Goncharov
572678c4aa Fix loading plugins from disk/marketplace
Summary: Good ol' dynamic this

Reviewed By: nikoant

Differential Revision: D37456434

fbshipit-source-id: 7a90f1b8e6492f41eb4096f7c976e17f6a98810e
2022-06-27 08:05:31 -07:00
Andrey Goncharov
e4d33483d0 Fix starting Flipper electron in dev mode without default plugins
Summary: yarn start --no-default-plugins currently fails

Reviewed By: nikoant

Differential Revision: D37456367

fbshipit-source-id: 3700055b3b780af4575dd67d50532050d12119df
2022-06-27 08:05:31 -07:00
Andrey Goncharov
c88e8e07d0 Support externally started IDB companion
Reviewed By: lblasa

Differential Revision: D37453361

fbshipit-source-id: 2acd53ae40c8a3f8971ee47cb5161c371be6d3a9
2022-06-27 05:03:09 -07:00
Pascal Hartig
9a72169819 Expose is-logged-in endpoint
Summary: Make it possible to ask whether a user is logged in. This won't tackle token expiration but it's consistent with the internal API we have through the `isLoggedIn` atom.

Reviewed By: lblasa

Differential Revision: D37422274

fbshipit-source-id: 2d3a5e27f5dbbe866d5392403e690faf2f1156b2
2022-06-27 04:42:11 -07:00
Pascal Hartig
afc51c00a9 Mark server app bundles as background apps
Summary:
This avoids from having a constantly bouncing icon in a dock
and will just move it to the background.

Changelog: Flipper Server Mac App no longer bounces in Dock

Reviewed By: lblasa

Differential Revision: D37417459

fbshipit-source-id: e87b0b7191fe7e93a9b1a27bdc82a84e92248dc7
2022-06-27 04:42:11 -07:00
Andrey Goncharov
b13bd2c092 Log supported plugins
Summary: We frequently get support requests asking why a certain plugin is not enabled for an app. This diff makes it easy to reason which plugins are enabled on the device

Differential Revision: D37381316

fbshipit-source-id: 148d6d8b6f51cb161eb625cabe0fa629b8a00cf5
2022-06-27 03:49:04 -07:00
Lorenzo Blasa
ce9feae44f Attach handlers for process errors
Summary:
^
This is an effort to capture and log these errors as to gain visibility when failures occur.

Reviewed By: passy

Differential Revision: D37412861

fbshipit-source-id: 09687a31797aac4c377aa98944ab0701bdf45466
2022-06-24 07:56:42 -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
Lorenzo Blasa
d1561075bb Shutdown flipper-server, if necessary
Summary:
There are some cases in which we may want to shutdown flipper-server:

- If launching Flipper Desktop and not in GK
- If launching Flipper Desktop and flipper-server usage is disabled via settings

Reviewed By: passy

Differential Revision: D37377059

fbshipit-source-id: 86c11f2726abe47df4aeaca2fd2a9285b112a565
2022-06-24 05:41:46 -07:00
Flipper Bot
25cfd062bf Flipper Release: v0.151.0
Summary: Releasing version 0.151.0

Reviewed By: nikoant

Differential Revision: D37340692

fbshipit-source-id: 0b058ffbf3de3ec17232953d94bfd5eba92348c0
2022-06-23 08:18:15 -07:00
Aaron Coplan
e45573f9ac Add isLoggedIn check
Summary:
This diff adds a check to ensure the user is logged in.

If they are not, we show an error message until the user logs in.

This will resolve the many posts we get about this such as https://fb.workplace.com/groups/208584557077075/posts/724180735517452/

Reviewed By: nscoding

Differential Revision: D37329064

fbshipit-source-id: efd416f07a0aae73c5e6c47f231419637b3df323
2022-06-22 13:03:15 -07:00
Dawid Cieslak
8e784f2579 convert plugin 'sandbox's UI to use ant.design
Summary:
Bootcamp task:
I’m removing the remaining UI components imported from ‘flipper’ and replacing with new ones from ‘antd’.
I’m also attempting to polish 🇵🇱 the UI and UX of the plugin:

UI:
- Selecting one of the listed sandboxes and custom URL lead to the same action -> align all components together

UX:
- Sometimes loading sandboxes takes time, and it’s not clear for the user what’s happening -> add a loading indicator
- At first the input field was a bit confusing to me -> add more labels to explain the purpose of visible components
- It’s not always clear what happened after requesting a sandbox change -> the result of all actions is now confirmed with the small 'popup' notification.

I don't have any experience with web frontend, so if something is terribly wrong below - don't be afraid to point it out :)

Before/After:

{F745958473}

Reviewed By: mweststrate

Differential Revision: D37343946

fbshipit-source-id: 3dbdd213ffd5540dc7a418c1590eb956ef4c6715
2022-06-22 11:35:10 -07:00
Lorenzo Blasa
335dec1a08 Adds some settings to check flipper-server state
Summary:
There's one setting: to enable or disable flipper-server.

However, I've added some current running state to it. If there's a better way of doing this, please do let me know.

Reviewed By: aigoncharov

Differential Revision: D37276670

fbshipit-source-id: f6c941cf0cfe55c267b9bcb9f799934fba1e28ef
2022-06-22 05:26:11 -07:00
Lorenzo Blasa
8c67b049ab Attach connection handler earlier
Summary:
This change attaches our event handlers as soon as the ws is created.

As a consequence, we need to wait until the server has created any necessary instances required to process incoming requests.

To achieve this, I created a type called `Lazy`.

This type wraps around a value and a promise to that value. Callers can check if the value is set. If not, callers can wait for it.

Ultimately, the value can be set outside of the promise itself.

Reviewed By: passy

Differential Revision: D37284939

fbshipit-source-id: 17dec548d7155a3d65440c9584cec07cbb826c37
2022-06-21 12:48:43 -07:00
Lorenzo Blasa
2e9ab310bd Shutdown command
Summary:
Introduce a 'shutdown' command which effectively kills the process.

Killing the process, for flipper-server, will close down the server and active ws connections.

Reviewed By: passy

Differential Revision: D37209193

fbshipit-source-id: 83303e8209530a41ba870009603cfb383915b7a6
2022-06-21 04:46:42 -07:00
Andrey Goncharov
3e72831699 Move most of plugin tests to flipper-frontend-core
Summary: See D37139129

Reviewed By: passy

Differential Revision: D37241829

fbshipit-source-id: d6bef24416e2b999d529fb6e275c64384c775c21
2022-06-20 12:18:40 -07:00
Andrey Goncharov
f4fc07ffd2 Move BaseDevice tests from flipper-ui-core to flipper-frontend-core
Summary: See D37139129

Reviewed By: passy

Differential Revision: D37241244

fbshipit-source-id: 3dca03e7a22c218b95702b77bb93efc983528142
2022-06-20 12:18:40 -07:00
Andrey Goncharov
115a4b7997 Use AbstractPluginInitializer from flipper-frontend-core in flipper-ui-core
Summary: See D37139129

Reviewed By: passy

Differential Revision: D37238571

fbshipit-source-id: 39d6bb87d6beacc793ef5acd71097fcc4e82969d
2022-06-20 12:18:40 -07:00
Andrey Goncharov
8768405e80 Use constants from flipper-frontend-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37238570

fbshipit-source-id: 5dbf6f179fc8957e074bad1e8f74e400644be049
2022-06-20 12:18:40 -07:00
Andrey Goncharov
68e2bc73c9 Use setGlobalObject from flipper-frontned-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37236905

fbshipit-source-id: aeb4c02cfc0e57d262fa59c045fa542819ee988c
2022-06-20 12:18:40 -07:00
Andrey Goncharov
851270589f Use flipper lib implementation from flipper-frontend-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37236771

fbshipit-source-id: 7f93140f72e89cb4a7907f07cceec1fed50cb66b
2022-06-20 12:18:40 -07:00
Andrey Goncharov
17ab7a86ef Use getRenderHost from flipper-frontned-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37236435

fbshipit-source-id: 927e9f741bfedb65165f5d24f0acfb775925cdc7
2022-06-20 12:18:40 -07:00
Andrey Goncharov
fab8849c73 Use TestDevice from flipper-frontend-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37235567

fbshipit-source-id: a0596ba71fcb8722088e51361774389a7daaebb8
2022-06-20 12:18:40 -07:00
Andrey Goncharov
a648861273 Use ArchivedDevice from flipper-frontend-core in flipper-ui-core
Summary: See D37139129

Reviewed By: lblasa

Differential Revision: D37235514

fbshipit-source-id: 54124f2b9768b068ae667b27171eaa05a693b398
2022-06-20 12:18:40 -07:00
Andrey Goncharov
fd380a4c1e Use BaseDevice from flipper-frontend-core in flipper-ui-core
Summary: Use BasDevice definition from flipper-frontend-core in flipper-ui-core and remove the redundant definition from flipper-ui-core

Reviewed By: lblasa

Differential Revision: D37234785

fbshipit-source-id: 6e768090a197c1d2c49cb1cd573acea12fb65d24
2022-06-20 12:18:40 -07:00
Andrey Goncharov
ef5fa275a3 Use AbstractClient from flipper-frontend-core in fliper-ui-core
Summary: This stack attempts to start using flipper-frontend-core from flipper-ui-core. Currently, flipper-frontend-core contains lots of copy-pasted code from flipper-ui-core.

Reviewed By: lblasa

Differential Revision: D37139198

fbshipit-source-id: 042db7492c550e10ea72c32fd15001c141bf53f9
2022-06-20 12:18:40 -07:00
Andrey Goncharov
c2e3c4eb50 Add TestDeivce to flipper-frontend-core
Summary: This stack attempts to start using flipper-frontend-core from flipper-ui-core. Currently, flipper-frontend-core contains lots of copy-pasted code from flipper-ui-core.

Reviewed By: passy

Differential Revision: D37139129

fbshipit-source-id: 53ba08920735d1b40e1351fddf41a97a6352b2b6
2022-06-20 12:18:40 -07:00
Pascal Hartig
7da46dc2c2 Forward arguments to mac app
Summary: This allows using `--no-open`, etc. in a server context.

Reviewed By: lblasa

Differential Revision: D37246490

fbshipit-source-id: 4af75ed049d5523d83277a670cab2aaa3dfbc8c3
2022-06-20 04:22:25 -07:00
Lorenzo Blasa
b6bf7c6ee7 Close servers on exit
Summary: On exit, close the servers explicitly.

Reviewed By: lawrencelomax

Differential Revision: D37206986

fbshipit-source-id: 7f4313cce1db18e1fb1320993a58c440af2cc7e0
2022-06-20 03:27:19 -07:00
Flipper Bot
06ddb08406 Flipper Release: v0.150.0
Summary: Releasing version 0.150.0

Reviewed By: lblasa

Differential Revision: D37236953

fbshipit-source-id: 36cd4fd8842b898f7cba1f03ab2c72d20e2b42ce
2022-06-17 11:37:49 -07:00
Lorenzo Blasa
747b91da5f Add file:// as possible origin
Summary:
For Flipper Desktop, Electron based, the origin maybe file:// as shown in tests:

```
Refused socket connection from cross domain request, origin: file://, host: localhost:52342.

Expected origins: http://localhost:52342 or http://[::1]:52342 or http://::1:52342 or http://localhost:3000.
Expected hosts: localhost:52342 or [::1]:52342 or ::1:52342 or localhost:3000
```

This change effectively adds `file://` as a valid origin.

Reviewed By: passy

Differential Revision: D37212809

fbshipit-source-id: 311a93bb8872587d15c6be4329238af6b0f6988d
2022-06-16 10:45:08 -07:00
Lorenzo Blasa
8a1e484d0c Handle ws operations in a safe manner
Summary:
After doing some tests, any error thrown during ws events can result in flipper-server shutting down.

To avoid this, effectively, errors throughout should be properly handled.

The problem is that there's no guarantees this is or will be the case.

Instead, wrap the event handlers in a safe function execution wrapper. Any errors will be caught and logged.

Reviewed By: aigoncharov

Differential Revision: D37206923

fbshipit-source-id: 6f7cadc297ac39768030962c6eaadde55048fd21
2022-06-16 10:35:17 -07:00
Anton Kastritskiy
f5992d3489 setup engines to stop people from using npm
Summary:
Following the discussion from D37080670 (ea7ff7eb8a)

Unfortunately at some people npm changed the order in which things happen when running `npm install` and now dependency resolution happens before validating engines 🤷‍♂️

But this will work regardless

https://www.internalfb.com/intern/px/p/261cr

Reviewed By: aigoncharov

Differential Revision: D37142960

fbshipit-source-id: 306f1a4e7444dc099c1a11c4c9e22dafceacdbaa
2022-06-15 07:37:54 -07:00
Zeh Fernando
3a60f8c5be Add new icon
Summary: Add new icon for internal plugin

Reviewed By: aigoncharov

Differential Revision: D36641872

fbshipit-source-id: ff45810b9cbaf207dd392f251fcf42a8df5fd509
2022-06-15 06:38:38 -07:00
Pascal Hartig
b25a212890 Remove SupportRequestFormV2
Summary: This is now replaced by the support entry point and we need to delete the calling sites before we can clean up the everstore type.

Reviewed By: lawrencelomax

Differential Revision: D37090901

fbshipit-source-id: 597684bb149783d75e46ba61113e73878bf271a8
2022-06-13 07:16:47 -07:00
Pascal Hartig
ea7ff7eb8a Remove duplicate lock introduced in D36985721
Summary: Bad practice to have both.

Reviewed By: mweststrate

Differential Revision: D37080670

fbshipit-source-id: b239bb5216fd39ba5dae61f4a5e4388fa96bfdaf
2022-06-13 04:18:15 -07:00
Andrey Goncharov
d987e36c62 Add a single place to initialize Flipper utilitary folders
Summary: We have several folders Flipper uses that sometimes we forget to create before Flipper starts. With this diff we have a single place to initialise the necessary folder structure.

Reviewed By: lblasa

Differential Revision: D37036601

fbshipit-source-id: f945f2bfdfc6be24ba87bd4b13c7fcef3fd74451
2022-06-10 06:38:50 -07:00
Lorenzo Blasa
4b396e1ef3 Use flipper-server if running, otherwise initiate one
Summary:
Provided that GK passes:

- If a flipper-server instance is running, use and connect.

- If not, start flipper-server and connect.

Reviewed By: passy

Differential Revision: D37034960

fbshipit-source-id: ff79e56e80e74415373f84b78305b4fc3e31f7d0
2022-06-09 14:26:17 -07:00
Flipper Bot
ad19b51069 Flipper Release: v0.149.0
Summary: Releasing version 0.149.0

Reviewed By: passy

Differential Revision: D36999205

fbshipit-source-id: 9bf6df029e3d359c166f21bd12f158a2d19b6516
2022-06-09 10:32:12 -07:00
Andrey Goncharov
fec2650afb Remove redundant GK definition from flipper-common
Summary: Developers should use `getRenderHostInstance().GK(...)` instead

Reviewed By: lblasa

Differential Revision: D37034322

fbshipit-source-id: 41017f53a5256449252917a48fcd3a49a9b984c8
2022-06-09 03:34:04 -07:00
Hannah Kim
9b0535b0ff (2/n) Created JS Flipper plugin
Summary: Added JS side of plugin to be displayed in the local Flipper Desktop app

Differential Revision: D36985721

fbshipit-source-id: f9d3cc28e418e95283c572fed4d40dbecfd2f236
2022-06-08 09:25:05 -07:00