Commit Graph

2926 Commits

Author SHA1 Message Date
Flipper Bot
6b4c1db5fa Flipper Release: v0.153.0
Summary: Releasing version 0.153.0

Reviewed By: cekkaewnumchai

Differential Revision: D37643063

fbshipit-source-id: df67aee39ca41887e4c8358a618b4c37338c501b
2022-07-06 04:06:55 -07:00
James Wysynski
0016b72b37 Add hasOwnProperty checks for child fields in Tabs
Summary:
Add hasOwnProperty checks for child props in Tabs. This prevents warning output when a prop doesn't exist.

{F748481722}

Reviewed By: mweststrate

Differential Revision: D37520888

fbshipit-source-id: 3b0c9fb1e94e76ecb4eb52e97d2f3aa010cb60ce
2022-07-04 09:24:57 -07:00
Michel Weststrate
d162bcc2a4 Fix sorting order of selection during exports
Summary:
See https://fb.workplace.com/100051336486185/videos/469885544533059/

I couldn't reproduce it myself, but it is reported that when copying logs, the order of the selection is not preserve. Diving into the example there is a block of rows (around the 1.09 timestamp) that appear 'too early' in the output.

In flipper we sort the selection before copying the data by row index. This is to make sure if the user has multiple selections, they appear in the order of the logs (including any applied sorting), rather than in the order of which the user selected them.

However, when sorting numbers, JavaScript by coerces them to strings first (wtf JS), so the issue can be prevented by explicitly providing a sort function. Proof: {F749329864}

Reviewed By: lblasa

Differential Revision: D37596975

fbshipit-source-id: 820e03350034e7af8148200a58a8c858b358acd8
2022-07-04 04:13:04 -07:00
Luke De Feo
1353e0630b Fix free text search
Summary:
In diff D36663929 (e07d5c5bfe) the behaviour of data table was changed so that it only searched fields that were columns in the table. Due to user request we are restoring the functionality where you can search and it will look in all top level fields in the underlying object for the row

changelog: Fixed 'free text search' for data table. E.g network plugin

Reviewed By: mweststrate

Differential Revision: D37552492

fbshipit-source-id: 00ec942b2a2336c19a7d067d85cc6c81b8a175e1
2022-07-04 00:49:36 -07:00
Lorenzo Blasa
583fdd9648 Explicitly close ws in cases of a process exit
Summary:
^

There may be cases whereas the process exits but leaks the socket descriptors.

There's already a hook to close flipper-server.

Reviewed By: passy

Differential Revision: D37550940

fbshipit-source-id: 35004969834bb92bb7cf0f56bda8d7b43c11d6bf
2022-07-01 03:45:44 -07:00
Andrey Goncharov
ae90ce5878 Fix electron reloading
Reviewed By: antonk52

Differential Revision: D37556134

fbshipit-source-id: 7ff301bd6d06f570559b38647462515c35c899f3
2022-07-01 03:42:11 -07:00
Andrey Goncharov
8c2ef5738e Remove Tail
Summary: We no longer need to Tail the logs as we stream the logs over WebSockets (see D37459924 (dcbc7c40bb))

Reviewed By: lblasa

Differential Revision: D37550482

fbshipit-source-id: 92a87f2ba1ecec140bbbb9e71df107341765ad46
2022-06-30 07:50:06 -07:00
Andrey Goncharov
f8763f95fa Call onSelect when a DataSource item changes
Summary:
Currently, we call onSelect in DataTable only when user changes their selection. At that moment, we pass the row data to the `onSelect` callback. However, if later the data changes, but the selection stays the same, we do not call `onSelect` again. As result, any listener to onSelect does not receive the latest data.
In this diff, we start calling `onSelect` when the selection does not change, but the underlying data does.

Reviewed By: mweststrate

Differential Revision: D37520346

fbshipit-source-id: a88d34654e9ad0721caf5918dde49b86ba20fc1f
2022-06-30 07:01:54 -07:00
Andrey Goncharov
1052384154 Add log rotating to flipper-server
Summary:
CHANGELOG: Rotate flipper-server logs

Otherwise, they re going to eat up all space eventually in a one monstrous file

Reviewed By: passy

Differential Revision: D37516868

fbshipit-source-id: 478a61c56ec007e4a3d695f7e6df2a61cb33c33a
2022-06-30 07:01:40 -07:00
Lorenzo Blasa
646b9d5a5d UDS/TCP options
Summary:
Provide an option to enable/disable TCP connections on flipper-server.

The only change at this stage is that Flipper Desktop will use UDS to connect to flipper-server.

Reviewed By: passy

Differential Revision: D37519656

fbshipit-source-id: 3d02084666fde532ec76134edf8cf6a231060a48
2022-06-29 15:01:05 -07:00
Feiyu Wong
f46cf2b0ce Added color options for highlighting search terms
Summary:
This diff builds on the previous ones by enabling other colors to be used as highlights for the search terms. Current color options are: yellow(default), red, blue, green. Possible extensions to this feature could include allow the user to enter a custom hex-color string and use that as the highlight color.

Changelog: DataTable will now have option to have its search terms highlighted in the search results by toggling and customizing the highlight colors in the menu bar

Reviewed By: mweststrate

Differential Revision: D37383163

fbshipit-source-id: c81e383c0570ef5efbf3171b92b81a8fb2e55ea7
2022-06-29 10:36:52 -07:00
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