wavebox / waveboxapp

Wavebox, the revolutionary and feature-rich Chromium browser that's built for productive working across Google Workspaces, Microsoft Teams, ClickUp, Monday, Atlassian, Asana, AirTable, Slack, and every other web app you use to get work done.
https://wavebox.io
1.3k stars 135 forks source link

Wavebox window and tray icon unresponsive #9

Closed mapkiwi closed 7 years ago

mapkiwi commented 7 years ago

I've been experiencing freezes where the app has become completely unresponsive (also sometimes happened in most recent Wmail prerelease). The tray icon is also unresponsive too; right clicking on it just brings up the taskbar option menu, so it can't be closed or restarted. The only way to restart the program is to kill each process in Task Manager separately.

Just tried out Wavebox today after using Wmail up to this point, premium looks interesting but not sure I can justify it if the software is buggy still. Hope you can fix!

Thomas101 commented 7 years ago

Hi, sorry to hear you've been having trouble. We'd love to find out what the underlying issue is and get a fix out. It would be really helpful to have a bit more info about your machine and how Wavebox is setup

Thanks!

Thomas101 commented 7 years ago

According to some electron issues there may be some logging info coming out from Wavebox. If you're feeling really brave you can get these from the command prompt.

You should get a new command prompt and Wavebox will log a few bits out. Would you be able to send a screenshot of that?

Thanks

mapkiwi commented 7 years ago

I've attached the log, hopefully that helps.

Thomas101 commented 7 years ago

Thanks for that & the log info. Nothing looks too obvious there. I'll dig a bit deeper and have a word with the team here to see if they can think of anything.

mapkiwi commented 7 years ago

I've tried removing the Slack and Trello accounts and in the few days since I haven't come across the issue. Looks like the issue could be related to them specifically, or maybe having more accounts added.

Thomas101 commented 7 years ago

Nice find! I've added some tools in to measure database performance. When I do the next release would you mind running these? I'm hoping it might give some clues as to what's going on

Thomas101 commented 7 years ago

Hi I've added some debugging tools for this in 3.1.3 which has just been released. Wavebox will autoupdate shortly or if you want to get it sooner you can either re-launch Wavebox to trigger an autoupdate or redownload from https://wavebox.io/download

Once you've updated would you be able to re-add your Trello and Slack accounts and wait for the freezing behaviour to reappear then give the following a try?

Thanks for your help!

Thomas101 commented 7 years ago

@weaversam8 I saw you mentioned you were having trouble in the other post. Would you be able to try the steps I mentioned in the above message? Do you only see this when you have a Slack and/or Trello account added?

weaversam8 commented 7 years ago

I'm not sure, the app still feels sluggish to me... designing this in Electron means that performance is going to be an uphill battle, but I'd love for this to be my software of choice.

Running the diagnostics before adding a slack account results in these results:

[TEST:MAILBOXES_DB] start
[TEST:MAILBOXES_DB] stats {
  "dataSize": 2614,
  "filesize": 2620,
  "keyLengths": {
    "59156c5d-47e5-4dbd-8452-b80741334143": 2380,
    "__index__": 40
  }
}
[TEST:MAILBOXES_DB] Wavebox may become unresponsive whilst the following test runs...
[TEST:MAILBOXES_DB] performance {
  "both": "First: 5ms. Avg: 5.1ms",
  "flush": "First: 21ms. Avg: 8ms",
  "serialize": "First: 0ms. Avg: 0.05ms"
}
[TEST:MAILBOXES_DB] finish

But adding a Slack account results in this:

[TEST:MAILBOXES_DB] start
[TEST:MAILBOXES_DB] stats {
  "dataSize": 68416,
  "filesize": 68422,
  "keyLengths": {
    "017ec48f-a939-439c-9ef0-eeb74076207a": 57163,
    "59156c5d-47e5-4dbd-8452-b80741334143": 2380,
    "__index__": 79
  }
}
[TEST:MAILBOXES_DB] Wavebox may become unresponsive whilst the following test runs...
mailboxes.js:61 [TEST:MAILBOXES_DB] performance {
  "both": "First: 8ms. Avg: 9.85ms",
  "flush": "First: 26ms. Avg: 12.4ms",
  "serialize": "First: 1ms. Avg: 0.65ms"
}
[TEST:MAILBOXES_DB] finish

I'm not sure what those numbers will tell you, but when I run Wavebox, the fan on my i7 Surface Book doesn't stop spinning.

Thomas101 commented 7 years ago

Thanks for that. I was worried that there was some kind of performance issue with the database, but those are kind of what I'm expecting so nothing going wrong there.

I did spot this in the slack app.... screen shot 2017-04-15 at 17 44 55 ...which suggest they're hammering localStorage quite heavily. I'll try to put something similar into wavebox to see if disabling it helps.

If you go to the settings for the slack account and toggle Sleep tab when not in use and then don't use the slack tab, do you see any lag? This would be a great indication whether there's some performance problem in the slack codebase or in the Wavebox sync code for slack. Thanks!

weaversam8 commented 7 years ago

That seems to help some, but there's still a ways to go... I don't know what apps like Visual Studio Code use to keep their UI so snappy, but I'm sure it's a lot of work to get the performance where it needs to be.

On Sat, Apr 15, 2017 at 12:48 PM Thomas Beverley notifications@github.com wrote:

Thanks for that. I was worried that there was some kind of performance issue with the database, but those are kind of what I'm expecting so nothing going wrong there.

I did spot this in the slack app.... [image: screen shot 2017-04-15 at 17 44 55] https://cloud.githubusercontent.com/assets/103586/25065213/487593fa-2203-11e7-8759-12e3066280d1.png ...which suggest they're hammering localStorage quite heavily. I'll try to put something similar into wavebox to see if disabling it helps.

If you go to the settings for the slack account and toggle Sleep tab when not in use and then don't use the slack tab, do you see any lag? This would be a great indication whether there's some performance problem in the slack codebase or in the Wavebox sync code for slack. Thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wavebox/waveboxapp/issues/9#issuecomment-294304680, or mute the thread https://github.com/notifications/unsubscribe-auth/ACbaK3ox2Kgop1jIbM6jOjuDBDdmXwOaks5rwPTBgaJpZM4M1D7_ .

-- Sam Weaver

The most important thing we can do is inspire young minds and to advance the kind of science, math and technology education that will help youngsters take us to the next phase of space travel.

http://www.samweaver.com OR http://www.thatcoolidea.com

Thomas101 commented 7 years ago

Thanks. That would suggest its something that's going on in the webview that Slack is hosted within. Interesting why it only seems to come up on Windows though. I'll do some profiling our end to see what happens. To help me reproduce it do you know how many channels are in you slack team? How busy is it? Do you have lots of users etc? Thanks again!

mapkiwi commented 7 years ago

Just thought I'd drop a note to say I haven't encountered the issue again, even after adding back the Trello and Slack services. I'm just glad performance is stable again! Thanks for looking into this.

daroczig commented 7 years ago

FTR I've seen similar problems (heavy CPU usage when running Wavebox even in the background) -- turned out due to animated gifs in a Slack channel. Once I changed to another room (without an animgif), the problem went away. Interestingly, if I changed to another app (eg gmail), but left Slack with the channel having the animgif, then the CPU usage remained high. So the resolution for me now (Linux/Wavebox 3.1.7) is to never leave the app in a Slack room with animated gifs -- I hope this finding will help others too.

Thomas101 commented 7 years ago

I wonder if there's anything I can do to pause/kill gifs when a tab is not active. Would probably save some cpu cycles.

Thomas101 commented 7 years ago

@daroczig I've added some fixes into 3.1.8 which disable gifs when the account isn't active.

Going to close this issue off for now as performance seems to be holding, but if there are any more issues just re-comment or open a new issue and I'll take another look. Thanks!

Wavebox should update automatically over the next few hours (or if you don't want to wait restart Wavebox and it will check immediately), or you can re-download from https://wavebox.io/download

Cybolic commented 5 years ago

I'm not sure whether this should be a separate issue report, but I seem to be getting the same thing on Arch Linux. The window will freeze and the tray icon occasionally also freezes but mostly stays "alive". My guess is also that it's Slack.

Log (with duplicate lines removed):

[10649:1128/200631.182479:WARNING:accelerator_util.cc(62)]  doesn't contain a valid key
[10649:1128/200700.769917:INFO:CONSOLE(1)] "Nov-28 20:07:00.769", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200702.317257:WARNING:accelerator_util.cc(62)]  doesn't contain a valid key
[10649:1128/200732.769801:INFO:CONSOLE(1)] "Nov-28 20:07:32.769", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200915.710074:INFO:CONSOLE(1)] "Nov-28 20:09:15.709 [MIN-VERSION] (T5DKUKABF) checking to see if we should reload", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200915.712917:INFO:CONSOLE(1)] "Nov-28 20:09:15.712 [API-Q] (T5DKUKABF) 6113f465-1543428555.711 rtm.shouldReload called with reason: no_reason_provided", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200915.713079:INFO:CONSOLE(1)] "Nov-28 20:09:15.712 [API-Q] (T5DKUKABF) 6113f465-1543428555.711 rtm.shouldReload is ENQUEUED", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200915.714390:INFO:CONSOLE(1)] "Nov-28 20:09:15.713 [API-Q] (T5DKUKABF) 6113f465-1543428555.711 rtm.shouldReload is ACTIVE", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200916.748962:INFO:CONSOLE(1)] "Nov-28 20:09:16.748 [API-Q] (T5DKUKABF) 6113f465-1543428555.711 rtm.shouldReload is RESOLVED", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200916.749785:INFO:CONSOLE(1)] "Nov-28 20:09:16.749 [MIN-VERSION] (T5DKUKABF) no need to reload", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/200939.738951:INFO:CONSOLE(1)] "Nov-28 20:09:39.738", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)

[10649:1128/213029.770338:INFO:CONSOLE(1)] "Nov-28 21:30:29.769 [MIN-VERSION] (T5DKUKABF) checking to see if we should reload", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213029.771926:INFO:CONSOLE(1)] "Nov-28 21:30:29.771 [API-Q] (T5DKUKABF) 6113f465-1543433429.770 rtm.shouldReload called with reason: no_reason_provided", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213029.772029:INFO:CONSOLE(1)] "Nov-28 21:30:29.771 [API-Q] (T5DKUKABF) 6113f465-1543433429.770 rtm.shouldReload is ENQUEUED", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213029.772798:INFO:CONSOLE(1)] "Nov-28 21:30:29.772 [API-Q] (T5DKUKABF) 6113f465-1543433429.770 rtm.shouldReload is ACTIVE", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213030.704921:INFO:CONSOLE(1)] "Nov-28 21:30:30.704 [API-Q] (T5DKUKABF) 6113f465-1543433429.770 rtm.shouldReload is RESOLVED", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213030.705154:INFO:CONSOLE(1)] "Nov-28 21:30:30.705 [MIN-VERSION] (T5DKUKABF) no need to reload", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/213038.770619:INFO:CONSOLE(1)] "Nov-28 21:30:38.770", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)
[10649:1128/214428.519223:WARNING:x11_util.cc(1353)] X error received: serial 26927, error_code 3 (BadWindow (invalid Window parameter)), request_code 25, minor_code 0 (X_SendEvent)

(wavebox:10649): Gtk-WARNING **: 21:49:19.704: Theme directory actions32@2x of theme breeze-dark has no size field

[10649:1128/214926.770386:INFO:CONSOLE(1)] "Nov-28 21:49:26.769", source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js (1)

The repeated lines were: WARNING:accelerator_util.cc(62)] doesn't contain a valid key and source: https://a.slack-edge.com/bv1-6/modern.vendor.186422168b403adeae9c.min.js

The issue happens about 5-6 times a day.

Thomas101 commented 5 years ago

@Cybolic which version of Wavebox & Arch Linux are you using?

Cybolic commented 5 years ago

Wavebox version 4.4.0, the latest packages of Arch as of today and I'm running i3 as my desktop environment.

Thomas101 commented 5 years ago

@Cybolic I wonder if this is down to some incompatibility between a version of a lib on your machine and that version of Wavebox. There's quite a bit of discussion around freezing in issue #823 and the beta channel of Wavebox seems to have resolved that for everyone involved. You could give that a try or if you're happy to wait we're aiming to make it stable next week sometime