Commit Graph

3202 Commits

Author SHA1 Message Date
Lorenzo Blasa
165a989cc6 Use setProcessState
Summary:
`setProcessState` does some adjusting to PATH. This was only ever done for Electron.

This change moves that functionality to FlipperServerImpl which is the one what orchestrates. By doing this, flipper server also benefits from getting these adjustments.

Reviewed By: antonk52

Differential Revision: D46836659

fbshipit-source-id: f98291d320cf9b7f3808223af8745c068b1318ce
2023-06-19 04:05:07 -07:00
generatedunixname89002005306973
6b17bcbaf3 Flipper Release: v0.199.0
Summary: Releasing version 0.199.0

Reviewed By: aigoncharov

Differential Revision: D46835486

fbshipit-source-id: 7e882d55fff5945af1fd0c9d0a0f7e603daba823
2023-06-19 03:53:02 -07:00
Andrey Goncharov
1c532095ab Expose suggestNewPlugin as a shared util
Reviewed By: antonk52, ivanmisuno

Differential Revision: D46798839

fbshipit-source-id: f2b942a138a998f167b60c04c32c634545bbfe96
2023-06-16 08:29:54 -07:00
Lorenzo Blasa
7fcaf52c71 Show error in box if one is available
Summary: Add a check to prevent the odd error when the box is no longer available to display an error.

Reviewed By: antonk52

Differential Revision: D46763634

fbshipit-source-id: 6ac2c404c842ff989b037c991b5f085baacd2f9a
2023-06-15 08:53:16 -07:00
generatedunixname89002005306973
401d14227d Flipper Release: v0.198.0
Summary: Releasing version 0.198.0

Reviewed By: lblasa

Differential Revision: D46729896

fbshipit-source-id: 9f125925f5796dd3ba2062878da388d78951ec94
2023-06-14 11:10:57 -07:00
Lorenzo Blasa
8f70cf14a4 Kill server after 30 seconds
Summary: Bring timeout from 15min to 30seconds.

Reviewed By: passy

Differential Revision: D46726959

fbshipit-source-id: cae1fdd4668fc5237ad0f187385f3a63a51c4797
2023-06-14 09:59:21 -07:00
generatedunixname89002005306973
a60f5aa049 Flipper Release: v0.197.0
Summary: Releasing version 0.197.0

Reviewed By: lblasa

Differential Revision: D46722287

fbshipit-source-id: 365052d289415dd3cc47326753c124427c6c7e67
2023-06-14 07:31:01 -07:00
Lorenzo Blasa
c431969dde Improved offline page
Summary:
This change improves our offline page. Mainly:

- Remove Oops! wording as it may imply some error took place.
- Remove the reload button. Automatic reload takes place at 2.5s intervals so this is unnecessary.

Changelog: Improved offline page (reload button removal)

Reviewed By: antonk52

Differential Revision: D46720650

fbshipit-source-id: 522f86d1a4d3d4b091672077cba1a26f898d19e8
2023-06-14 04:44:51 -07:00
generatedunixname89002005306973
9da5e62023 Flipper Release: v0.196.0
Summary: Releasing version 0.196.0

Reviewed By: lblasa

Differential Revision: D46718282

fbshipit-source-id: c4084217c5d89b1f83beeff2dd7fede7516ae064
2023-06-14 04:01:10 -07:00
Luke De Feo
13c589724b Dont show layout tab for android
Summary: Feedback from michel, It is always empty for android  so dont show it

Reviewed By: elboman

Differential Revision: D46152985

fbshipit-source-id: 6c4f1d499ddb8916fdae6015cd57e158a0c1f182
2023-06-14 03:27:23 -07:00
Andrey Goncharov
84e481e7e9 Expose dark mode flag to plugin authors
Summary:
Should be available now with
```
getFlipperLib().settings().isDarkMode
```

Differential Revision: D46685851

fbshipit-source-id: 0777437b7ca06051cc3fd4dc1b794242f453f2b5
2023-06-13 08:18:14 -07:00
Pascal Hartig
bf2f1283d3 Unbreak error logging
Summary:
*Potentially.

A big thanks to lblasa and aigoncharov for helping with debugging. Looking at
`ptail -f errorlog_flipper_javascript` reveals that messages now include a spurious amount of unescaped newlines. E.g. P768993195

From memory, these were not there when I wrote the categorizer when I was able to copy-paste from ptail to the unit tests.

D44729490 added prettifying to the results inadvertently.

Reviewed By: lblasa

Differential Revision: D46685543

fbshipit-source-id: 98da5eff92900042fc5306ca5d5652d8940ff2e1
2023-06-13 08:17:03 -07:00
Lorenzo Blasa
411695484e Open in Chrome instead of default browser
Summary: To avoid the cases whereas Flipper opens up in engineer's default browser which may be different than Chrome.

Reviewed By: aigoncharov

Differential Revision: D46682220

fbshipit-source-id: 38d0ddefbc67989c5ec97a66e4a419318a66bc95
2023-06-13 05:36:23 -07:00
Lukas Kurucz
279a9e6b52 fix: prefixed plugin package name (#4811)
Summary:
When distributing plugin over Marketplace. Currently there is an issue with downloading a plugin to `tmp` folder if the plugin `packageName` starts with `company-prefix/flipper-plugin-name`. It would throw `ENONET` error while trying to stream the response data into `tmp` folder.

## Changelog

- add support for prefixed plugin package names (`shopify/flipper-plugin-name`,...)

Pull Request resolved: https://github.com/facebook/flipper/pull/4811

Test Plan: - Try install a plugin from Marketplace which has `/` in the plugin `package.json` `name`.

Reviewed By: lblasa

Differential Revision: D46679195

Pulled By: passy

fbshipit-source-id: f330896dae9da7cbe101b1c6d7ed07667fb7ae0a
2023-06-13 03:53:18 -07:00
Lorenzo Blasa
0db4e99aff Track bootstrap diagnostics
Summary:
^

In addition to logging to the console bootstrap performance metrics, track these events to scuba as well.

Reviewed By: aigoncharov

Differential Revision: D46648876

fbshipit-source-id: 191704c13158884bb8cfbca614a23f2a64f1fd93
2023-06-13 02:45:57 -07:00
generatedunixname89002005306973
cbadce41db Flipper Release: v0.195.0
Summary: Releasing version 0.195.0

Reviewed By: lblasa

Differential Revision: D46643992

fbshipit-source-id: 1c50201061ec0335f80d49d46eddfe1b534f39a6
2023-06-12 09:50:21 -07:00
Pascal Hartig
4ed40506bf Make PWA menu bar the Flipper color
Summary:
{F1026310422}

I think it's quite nice having a matching title bar and buttons?

Changelog: The Flipper PWA now uses the Flipper purple as theme color

Reviewed By: lblasa

Differential Revision: D46646266

fbshipit-source-id: 1bc6573c3cd863678ceed5b9358a78d19606ee8a
2023-06-12 09:22:54 -07:00
Andrey Goncharov
16b4d58ac3 Support filtering by exact match
Summary: Project: https://docs.google.com/document/d/1SbFrpvfIShX5npANNa1AkgHliR1M-VMLW5Q9RhREt94/edit

Reviewed By: antonk52

Differential Revision: D46642517

fbshipit-source-id: e23eead18189adb9aaacb7eab3244cfce289203e
2023-06-12 07:29:55 -07:00
Lorenzo Blasa
b34d3e0a74 Bootstrap logging and performance improvement
Summary:
Add a few console logs as to highlight how long does it take for our server to start.

Additionally, do not wait until we are ready for client connections before attempting to launch. There's nothing else we do at this point. Instead, launch and wait until we are ready.

Reviewed By: passy

Differential Revision: D46639482

fbshipit-source-id: c098d229edc3cd52e5c876c509a7c81532635afa
2023-06-12 04:51:24 -07:00
Michel Weststrate
56694b441e Use assets_DO_NOT_HARDCODE in public as well
Summary: Since ~couple of days to last week we cannot download image assets anymore from facebook.com during build, which is worked around in previous diff. This diff fixes it also in the development environment (`yarn start`)

Reviewed By: lblasa

Differential Revision: D46556075

fbshipit-source-id: ee5d912fb06d1632c41ff6d536b64a55608f5848
2023-06-09 04:01:17 -07:00
Lorenzo Blasa
146a5cf666 Move server started analytics
Summary: This is a better place as it takes place once the server starts listening.

Reviewed By: passy

Differential Revision: D46558350

fbshipit-source-id: f586defecc8e16d8f0b285615803662d8b6b75fb
2023-06-08 11:03:44 -07:00
Lorenzo Blasa
b29ced9d52 Refactor open functionality into function
Summary: ^

Reviewed By: passy

Differential Revision: D46557867

fbshipit-source-id: b741288d38c96288b41d201ac9c229176b9eb197
2023-06-08 11:03:44 -07:00
generatedunixname89002005306973
3afe8175d3 Flipper Release: v0.194.0
Summary: Releasing version 0.194.0

Reviewed By: lblasa

Differential Revision: D46560117

fbshipit-source-id: 13413931f46397082c83449845025af646982c2c
2023-06-08 09:46:54 -07:00
Michel Weststrate
50f50fa46c fall back to larger images if requested size is not available
Summary: This diff follows up on the previous one, by trying a larger icon size if the original requested icon size was missing.

Reviewed By: lblasa

Differential Revision: D46556076

fbshipit-source-id: 4a078088aa27390f247e39afeda4b1df261d8b30
2023-06-08 07:31:34 -07:00
Michel Weststrate
a6dac1d8d9 make icon download more robust, and use assets_DO_NOT_HARDCODE urls instead of asset urls.
Summary:
Since ~yesterday all our builds started failing due to being unable to download static assets. Although those assets load correctly in the browser, and by using the browsers's generated `curl` command, which looks like:

```
curl 'https://facebook.com/assets/?name=face-unhappy&variant=outline&size=24&set=facebook_icons&density=1x' \
  -H 'authority: facebook.com' \
  -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  -H 'accept-language: nl,en-GB;q=0.9,en;q=0.8,nl-NL;q=0.7,en-US;q=0.6' \
  -H 'cache-control: no-cache' \
  -H 'cookie: OMITTED' \
  -H 'pragma: no-cache' \
  -H 'sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: document' \
  -H 'sec-fetch-mode: navigate' \
  -H 'sec-fetch-site: none' \
  -H 'sec-fetch-user: ?1' \
  -H 'upgrade-insecure-requests: 1' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' \
  --compressed
```

Download fails as soon as the cookie header is dropped.

Changes the base url to `https://facebook.com/images/assets_DO_NOT_HARDCODE/facebook_icons/` fixes that problem, unless the resolution doesn't exist (addressed in next diff).

This also seems to remove the flakiness we were experiencing before, so dropped the retry mechanism for now.

Also made failing to download an icon a warning instead of a build failure.

Reviewed By: lblasa

Differential Revision: D46552986

fbshipit-source-id: f1382d6a8fc6669691f0c8da6b77834d24a373c5
2023-06-08 07:31:34 -07:00
Lorenzo Blasa
bd809853e7 Fixes an issue with client queries and rsocket
Summary: This is necessary as we map from the protocol medium to our internal medium representation.

Reviewed By: mweststrate

Differential Revision: D46557431

fbshipit-source-id: 617307cd860e1c7e230be2441c06417c44af580e
2023-06-08 07:24:32 -07:00
Lorenzo Blasa
c347fae7c1 Use getAuthToken utility function instead
Summary: ^

Reviewed By: mweststrate

Differential Revision: D46557801

fbshipit-source-id: 2a83613afd9482ff4ed0abe5aaaf9675ef73bc49
2023-06-08 07:17:12 -07:00
Lorenzo Blasa
85f5c6f893 Close server if no clients are connected
Summary: If after 15min there are no connected clients, close flipper server.

Reviewed By: antonk52

Differential Revision: D46519563

fbshipit-source-id: c3396ed8987be8ca7075c644734793e4ebceba18
2023-06-07 10:46:15 -07:00
Lorenzo Blasa
132a20d5a7 Token read from invalid path
Summary:
^

Token is no longer in the static directory. Also, we can now use a shared utility.

Reviewed By: aigoncharov

Differential Revision: D46516296

fbshipit-source-id: c38d024061653ac8b3fb587c8e3ad83dba0b151d
2023-06-07 07:39:56 -07:00
Lorenzo Blasa
7dc978c3d3 Remove processDevices logs
Summary: These are no longer that useful and can be quite verbose, remove.

Reviewed By: antonk52

Differential Revision: D46516093

fbshipit-source-id: e6c3a546d379ca20ff8757fdc3feaa11bf0788a0
2023-06-07 06:59:31 -07:00
Luke De Feo
74ecbec9e6 Clean up tooltip on long hover for visualiser
Summary:
Previously every single visualisation node would have jsx for a tooltip and would control its own tooltop. now we have the overlay we can have just one. this improves perf a bit and simplifies the code.

i also increased the delay slightly

Reviewed By: lblasa

Differential Revision: D46274098

fbshipit-source-id: cb8afbc4804c549da9abf33d69aaf190397f74c7
2023-06-07 06:20:13 -07:00
Luke De Feo
c13180a929 Draw selected and hovered node borders in overlay layer
Summary:
The previous approach of setting some of the borders to be thicker and different colours was flakey, sometimes parts of the border would be cut off by a parent

With this approach we figure out the offset relative to the root of the visualiser, and draw a box that is definatley on top. It works much more reliably

Also fixed a couple of other niggles:
1. Can unselect when clicking again
2. Going into focus mode clears selection since your selection may not be in the focused area and there is a phantom box

Reviewed By: lblasa

Differential Revision: D46224034

fbshipit-source-id: 24bed8db38cddab796f786e7e0a4acfe7c6a9089
2023-06-07 06:20:13 -07:00
Lorenzo Blasa
2815ba0fb8 Copy/Paste implementation
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D46515194

fbshipit-source-id: 0ee6931569d5248d5643b391683e230e0c095e41
2023-06-07 06:04:46 -07:00
Andrey Goncharov
b9322247e6 Make assert stable ref error more explicit
Reviewed By: ivanmisuno

Differential Revision: D46359534

fbshipit-source-id: 002e4e8ae9168cf2cf3b652fc853416de825861f
2023-06-06 03:44:48 -07:00
generatedunixname89002005306973
1f296ba6fc Flipper Release: v0.193.0
Summary: Releasing version 0.193.0

Reviewed By: aigoncharov

Differential Revision: D46442118

fbshipit-source-id: 8e50914b36a4fde8ca710014f5c98f17780396b1
2023-06-05 08:50:24 -07:00
Lorenzo Blasa
98f376ec69 Use auth token when connecting to existing server from Electron
Summary:
All clients need to provide an authentication token before connecting. Electron app is no different.

This change adds the authentication token whether we are connecting over UDS or TCP.

Before this change, if Flipper server was already running, launching the Electron app would look similar to this:

{F1016961594}

Reviewed By: antonk52

Differential Revision: D46418758

fbshipit-source-id: f00ffe675df78403d5921250e3e9ed9331a55bde
2023-06-05 05:26:10 -07:00
Lorenzo Blasa
90240f4186 Move auth token to the default directory for crypto related files
Summary:
Used to be stored in the static directory as it was meant to be used by connecting clients.

This is still the case, except that there may be different clients with different static directories all trying to connect to the same server.

Instead, store the authentication token with the other crypto files, in the user's home directory.

By doing this, all clients, as long as they have access to the local filesystem, can use it.

Reviewed By: mweststrate

Differential Revision: D46418639

fbshipit-source-id: 181e98346d86ad7b3fc1d0005aca3350deb6df32
2023-06-05 05:26:10 -07:00
Lorenzo Blasa
353e51e2ea Better error message format
Summary:
The existing error message was not in the centre and didn't give any possible remediation steps.

{F1015240268}

Reviewed By: passy

Differential Revision: D46394149

fbshipit-source-id: 09d450bef9df83c5b3af3ba49c7e0fafb81bfdce
2023-06-02 09:35:32 -07:00
Lorenzo Blasa
80c201b10f Add localhost as a valid host
Summary: ^

Reviewed By: passy

Differential Revision: D46393661

fbshipit-source-id: eeaa0971a747d6435a10c3eb27969bb452cd73a7
2023-06-02 09:35:32 -07:00
Andrey Goncharov
e8e1a32e48 Back out "Update adbkit and logcat to maintained librarys"
Summary:
Original commit changeset: 2a23c0eaa12f

Original Phabricator Diff: D45569652

The new lib causes weird log parsing https://fb.workplace.com/groups/flippersupport/permalink/1629943924152926/

Reviewed By: LukeDefeo, passy

Differential Revision: D46390961

fbshipit-source-id: 7c9d0ca7fff2d9cb1ac1a309710f2348233a3471
2023-06-02 08:10:47 -07:00
Lorenzo Blasa
bb9793019c Expand PATH with /usr/local/bin
Summary:
^

There is an issue whereas when Flipper Server is launched NOT from the terminal, it doesn't inherit the user's terminal `$PATH` variable.

This causes a few different issues.

This change tries to address that.

Reviewed By: passy

Differential Revision: D46392435

fbshipit-source-id: 6201a1749134db8c50eca8751af149737dce57d7
2023-06-02 08:01:51 -07:00
Lorenzo Blasa
828d56f617 Kill PortForwardingApp on exit
Summary:
I noticed we were not killing the PortForwardingApp on exit.

This is not ideal.

So, use an exit hook to kill the app.

Reviewed By: passy

Differential Revision: D46392855

fbshipit-source-id: e2b75f76c9dfab0ff46df3ad2c94a1a523154b2a
2023-06-02 07:55:56 -07:00
Anton Kastritskiy
c01b6b9f16 expose isHeadlessBuild to flipper plugins
Reviewed By: passy

Differential Revision: D46364476

fbshipit-source-id: bad584e3892cc0fb0fdaba0e8b3c79952596d34d
2023-06-02 06:49:49 -07:00
Lorenzo Blasa
2f9e633fad Medium refactoring
Summary:
Simplifies medium usage. Clients report this value as an integer. Internally, we transform this integer as type (a set of valid strings).

Instead of transform this value in different places, do it once when the client query is received.

Reviewed By: antonk52

Differential Revision: D46358024

fbshipit-source-id: ecd2b6c6ccbe7c38787a89d4e2f81930c7b91864
2023-06-02 03:59:15 -07:00
Carlos Moreno
b3850c75c7 Update setup.mdx (#4789)
Summary:
Adding missing semicolon.

Added a missing semicolon in java code.

## Changelog
Update documentation.

Pull Request resolved: https://github.com/facebook/flipper/pull/4789

Test Plan: Does not require a test plan.

Reviewed By: antonk52

Differential Revision: D46355062

Pulled By: passy

fbshipit-source-id: 20c398018b1d2deffb9b1a755d2c5a1543e48c21
2023-06-01 07:05:55 -07:00
Anton Kastritskiy
12734d6b7e allow column filter to be loose
Summary:
Until now when we filter by a column value we only get the items that match this value exactly.

Release: we can add loose filters that match value or `undefined`

Reviewed By: lblasa, ivanmisuno

Differential Revision: D46318631

fbshipit-source-id: 94ecb3f074674d4b0ce3a480f4f3b9ddc058ceef
2023-06-01 06:51:41 -07:00
Olivier Chalouhi
f44b168013 Add settings icon to flipper
Summary: Added a new icon to flipper

Differential Revision: D46243405

fbshipit-source-id: a6cde805a0ef2b006eb88ec5e4e79b6c4925facd
2023-05-31 15:49:24 -07:00
Lorenzo Blasa
6430403da0 Jest update v26.6.3 -> v29.5.1
Summary:
^

Basically, update Jest and fix any raised issues. Mainly:
- Update necessary dependencies
- Update snapshots
- `useFakeTimers` caused a few issues which meant that the way we hook into the performance object had to be tweaked. The main code change is: `//fbsource/xplat/sonar/desktop/scripts/jest-setup-after.tsx`
- `mocked` -> `jest.mocked`

Changelog: Update Jest to v29.5.1

Reviewed By: antonk52

Differential Revision: D46319818

fbshipit-source-id: d218ca8f7e43abac6b00844953ddeb7f4e1010a2
2023-05-31 14:19:29 -07:00
Andrey Goncharov
94cb8935b2 Fix adb connection
Summary: On my mac localhost resolves to an IP6 address by the new adb lib. This should fix it.

Reviewed By: LukeDefeo

Differential Revision: D46314612

fbshipit-source-id: 3771efd2c6b79fe9ae9851ce4aac35bcede28847
2023-05-31 09:25:55 -07:00
generatedunixname89002005306973
abcfbd822c Flipper Release: v0.192.0
Summary: Releasing version 0.192.0

Reviewed By: lblasa

Differential Revision: D46309559

fbshipit-source-id: 94bb3a17dde4554ce903cb8c8d01b0c241ad2976
2023-05-31 03:54:24 -07:00