halloy
halloy copied to clipboard
Timeouts when Off-Screen
When off-screen for a while (particularly, when working in a different workspace and periodically returning to the workspace with Halloy), I am getting frequently getting connection timeouts. This is largely not an issue when using a bouncer, but I have found instances where I am missing messages as a result (i.e. the bouncer believes it sent the message, but Halloy never adds it to the channel history for reasons unknown).
Turning on trace
logging, I was able to record this instance of the issue occuring. Here I am connected to three testnets as listed by ircv3.net; I am connected to all three testnets directly (no bouncer involved). For some reason pinging of InspIRCd Testnet stops, while it continues for the other two testnets (...
is a long span I cut out where there are no InspIRCd Testnet pings).
06:44:13.814:TRACE -- [InspIRCd Testnet] ping sent: 1714311853814896741
06:44:13.992:TRACE -- [InspIRCd Testnet] pong received: 1714311853814896741
06:46:13.122:TRACE -- [Ergo Testnet] ping sent: 1714311973122169014
06:46:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714311973255728963
06:46:13.274:TRACE -- [Ergo Testnet] pong received: 1714311973122169014
06:46:13.342:TRACE -- [UnrealIRCd Support] pong received: 1714311973255728963
06:46:13.814:TRACE -- [InspIRCd Testnet] ping sent: 1714311973814561828
06:46:13.991:TRACE -- [InspIRCd Testnet] pong received: 1714311973814561828
06:48:13.122:TRACE -- [Ergo Testnet] ping sent: 1714312093122853516
06:48:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714312093255447216
06:48:13.274:TRACE -- [Ergo Testnet] pong received: 1714312093122853516
06:48:13.341:TRACE -- [UnrealIRCd Support] pong received: 1714312093255447216
06:50:13.122:TRACE -- [Ergo Testnet] ping sent: 1714312213122520477
06:50:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714312213255262303
06:50:13.278:TRACE -- [Ergo Testnet] pong received: 1714312213122520477
06:50:13.340:TRACE -- [UnrealIRCd Support] pong received: 1714312213255262303
06:52:13.122:TRACE -- [Ergo Testnet] ping sent: 1714312333122928671
06:52:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714312333255588466
06:52:13.284:TRACE -- [Ergo Testnet] pong received: 1714312333122928671
06:52:13.341:TRACE -- [UnrealIRCd Support] pong received: 1714312333255588466
06:54:13.122:TRACE -- [Ergo Testnet] ping sent: 1714312453122974990
06:54:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714312453255578660
06:54:13.279:TRACE -- [Ergo Testnet] pong received: 1714312453122974990
06:54:13.341:TRACE -- [UnrealIRCd Support] pong received: 1714312453255578660
...
11:32:13.122:TRACE -- [Ergo Testnet] ping sent: 1714329133122840978
11:32:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714329133255467699
11:32:13.281:TRACE -- [Ergo Testnet] pong received: 1714329133122840978
11:32:13.345:TRACE -- [UnrealIRCd Support] pong received: 1714329133255467699
11:34:13.122:TRACE -- [Ergo Testnet] ping sent: 1714329253122487025
11:34:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714329253255080454
11:34:13.278:TRACE -- [Ergo Testnet] pong received: 1714329253122487025
11:34:13.346:TRACE -- [UnrealIRCd Support] pong received: 1714329253255080454
11:36:13.122:TRACE -- [Ergo Testnet] ping sent: 1714329373122106113
11:36:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714329373255571875
11:36:13.283:TRACE -- [Ergo Testnet] pong received: 1714329373122106113
11:36:13.344:TRACE -- [UnrealIRCd Support] pong received: 1714329373255571875
11:38:13.122:TRACE -- [Ergo Testnet] ping sent: 1714329493122130951
11:38:13.255:TRACE -- [UnrealIRCd Support] ping sent: 1714329493255568379
11:38:13.272:TRACE -- [Ergo Testnet] pong received: 1714329493122130951
11:38:13.370:TRACE -- [UnrealIRCd Support] pong received: 1714329493255568379
11:38:26.951:TRACE -- [InspIRCd Testnet] ping sent: 1714329506951924654
11:38:26.952:WARN -- [InspIRCd Testnet] disconnected: Closing link: ([email protected]) [Ping timeout: 300 seconds]
It seems that something odd is happening to the loop
in run
in stream.rs
. In order to try and get a better idea of the source of the stall, I added logging before and after various await
s in that loop
. Later, when using my normal config (connected to Libera and OFTC via ZNC) I found:
02:42:55.708:DEBUG -- [Libera] match state
02:42:55.708:DEBUG -- [Libera] select.next.await
02:43:23.988:DEBUG -- [OFTC] select.next.awaited
02:43:23.988:DEBUG -- [OFTC] PONG await
02:43:23.988:DEBUG -- [OFTC] PONG awaited
02:43:23.988:DEBUG -- [OFTC] match state
02:43:23.988:DEBUG -- [OFTC] select.next.await
02:43:24.535:DEBUG -- [OFTC] select.next.awaited
02:43:24.535:TRACE -- [OFTC] ping sent: 1714383804535861529
02:43:24.535:DEBUG -- [OFTC] PING await
02:43:24.535:DEBUG -- [OFTC] PING awaited
02:43:24.535:DEBUG -- [OFTC] match state
02:43:24.535:DEBUG -- [OFTC] select.next.await
02:43:24.621:DEBUG -- [OFTC] select.next.awaited
02:43:24.621:TRACE -- [OFTC] pong received: 1714383804535861529
02:43:24.621:DEBUG -- [OFTC] match state
02:43:24.621:DEBUG -- [OFTC] select.next.await
02:43:54.077:DEBUG -- [OFTC] select.next.awaited
02:43:54.079:DEBUG -- [OFTC] PONG await
02:43:54.079:DEBUG -- [OFTC] PONG awaited
02:43:54.079:DEBUG -- [OFTC] match state
02:43:54.079:DEBUG -- [OFTC] select.next.await
02:44:24.226:DEBUG -- [OFTC] select.next.awaited
02:44:24.226:DEBUG -- [OFTC] PONG await
02:44:24.226:DEBUG -- [OFTC] PONG awaited
02:44:24.226:DEBUG -- [OFTC] match state
02:44:24.226:DEBUG -- [OFTC] select.next.await
02:44:54.366:DEBUG -- [OFTC] select.next.awaited
02:44:54.366:DEBUG -- [OFTC] PONG await
02:44:54.366:DEBUG -- [OFTC] PONG awaited
02:44:54.366:DEBUG -- [OFTC] match state
02:44:54.366:DEBUG -- [OFTC] select.next.await
02:45:24.508:DEBUG -- [OFTC] select.next.awaited
02:45:24.508:DEBUG -- [OFTC] PONG await
02:45:24.508:DEBUG -- [OFTC] PONG awaited
02:45:24.508:DEBUG -- [OFTC] match state
02:45:24.508:DEBUG -- [OFTC] select.next.await
02:45:24.535:DEBUG -- [OFTC] select.next.awaited
02:45:24.535:TRACE -- [OFTC] ping sent: 1714383924535898570
02:45:24.535:DEBUG -- [OFTC] PING await
02:45:24.535:DEBUG -- [OFTC] PING awaited
02:45:24.536:DEBUG -- [OFTC] match state
02:45:24.536:DEBUG -- [OFTC] select.next.await
02:45:24.607:DEBUG -- [OFTC] select.next.awaited
02:45:24.607:TRACE -- [OFTC] pong received: ZNC
02:45:24.607:DEBUG -- [OFTC] match state
02:45:24.607:DEBUG -- [OFTC] select.next.await
02:45:54.588:DEBUG -- [OFTC] select.next.awaited
02:45:54.588:DEBUG -- [OFTC] PONG await
02:45:54.588:DEBUG -- [OFTC] PONG awaited
02:45:54.588:DEBUG -- [OFTC] match state
02:45:54.588:DEBUG -- [OFTC] select.next.await
02:46:24.614:DEBUG -- [OFTC] select.next.awaited
02:46:24.614:DEBUG -- [OFTC] PONG await
02:46:24.614:DEBUG -- [OFTC] PONG awaited
02:46:24.614:DEBUG -- [OFTC] match state
02:46:24.614:DEBUG -- [OFTC] select.next.await
02:46:54.615:DEBUG -- [OFTC] select.next.awaited
02:46:54.615:DEBUG -- [OFTC] PONG await
02:46:54.615:DEBUG -- [OFTC] PONG awaited
02:46:54.615:DEBUG -- [OFTC] match state
02:46:54.615:DEBUG -- [OFTC] select.next.await
02:47:24.535:DEBUG -- [OFTC] select.next.awaited
02:47:24.535:TRACE -- [OFTC] ping sent: 1714384044535861903
02:47:24.535:DEBUG -- [OFTC] PING await
02:47:24.536:DEBUG -- [OFTC] PING awaited
02:47:24.536:DEBUG -- [OFTC] match state
02:47:24.536:DEBUG -- [OFTC] select.next.await
02:47:24.625:DEBUG -- [OFTC] select.next.awaited
02:47:24.625:TRACE -- [OFTC] pong received: 1714384044535861903
02:47:24.625:DEBUG -- [OFTC] match state
02:47:24.625:DEBUG -- [OFTC] select.next.await
02:47:54.724:DEBUG -- [OFTC] select.next.awaited
02:47:54.724:DEBUG -- [OFTC] PONG await
02:47:54.724:DEBUG -- [OFTC] PONG awaited
02:47:54.724:DEBUG -- [OFTC] match state
02:47:54.725:DEBUG -- [OFTC] select.next.await
02:48:16.577:DEBUG -- [OFTC] select.next.awaited
02:48:16.577:DEBUG -- [OFTC] match state
02:48:16.577:DEBUG -- [OFTC] select.next.await
02:48:16.577:DEBUG -- [OFTC] select.next.awaited
02:48:16.577:DEBUG -- [OFTC] Batch await
02:48:16.577:DEBUG -- [OFTC] Batch awaited
02:48:16.577:DEBUG -- [OFTC] match state
02:48:16.577:DEBUG -- [OFTC] select.next.await
02:49:55.705:TRACE -- Message received => ...
02:49:55.711:TRACE -- Message received => ...
02:49:55.716:TRACE -- Message received => ...
02:49:55.722:TRACE -- Message received => ...
02:49:55.727:TRACE -- Message received => ...
02:49:55.732:TRACE -- Message received => ...
02:49:55.737:TRACE -- Message received => ...
02:49:55.743:TRACE -- Message received => ...
02:49:55.748:TRACE -- Message received => ...
02:49:55.753:TRACE -- Message received => ...
02:49:55.758:TRACE -- Message received => ...
02:49:55.763:TRACE -- Message received => ...
02:49:55.768:TRACE -- Message received => ...
02:49:55.774:TRACE -- Message received => ...
02:49:55.883:DEBUG -- [OFTC] select.next.awaited
02:49:55.883:DEBUG -- [OFTC] PONG await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] PONG await
02:49:55.883:DEBUG -- [OFTC] PONG awaited
02:49:55.883:DEBUG -- [OFTC] match state
02:49:55.883:DEBUG -- [OFTC] select.next.await
02:49:55.883:DEBUG -- [OFTC] select.next.awaited
02:49:55.883:DEBUG -- [OFTC] PONG await
02:49:55.883:DEBUG -- [OFTC] PONG awaited
02:49:55.883:DEBUG -- [OFTC] match state
02:49:55.883:DEBUG -- [Libera] PONG awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [OFTC] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [OFTC] select.next.awaited
02:49:55.883:DEBUG -- [OFTC] PONG await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [OFTC] PONG awaited
02:49:55.883:DEBUG -- [OFTC] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [OFTC] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [OFTC] select.next.awaited
02:49:55.883:DEBUG -- [Libera] PONG await
02:49:55.883:DEBUG -- [OFTC] PONG await
02:49:55.883:DEBUG -- [Libera] PONG awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [OFTC] PONG awaited
02:49:55.883:DEBUG -- [OFTC] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [OFTC] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [OFTC] select.next.awaited
02:49:55.883:TRACE -- [OFTC] ping sent: 1714384195883876805
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [OFTC] PING await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [OFTC] PING awaited
02:49:55.883:DEBUG -- [OFTC] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [OFTC] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] PONG await
02:49:55.883:DEBUG -- [Libera] PONG awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] PONG await
02:49:55.883:DEBUG -- [Libera] PONG awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.883:DEBUG -- [Libera] match state
02:49:55.883:DEBUG -- [Libera] select.next.await
02:49:55.883:DEBUG -- [Libera] select.next.awaited
02:49:55.884:DEBUG -- [Libera] match state
02:49:55.884:DEBUG -- [Libera] select.next.await
02:49:55.884:DEBUG -- [Libera] select.next.awaited
02:49:55.884:DEBUG -- [Libera] PONG await
02:49:55.884:DEBUG -- [Libera] PONG awaited
02:49:55.884:DEBUG -- [Libera] match state
02:49:55.884:DEBUG -- [Libera] select.next.await
02:49:55.884:DEBUG -- [Libera] select.next.awaited
02:49:55.884:DEBUG -- [Libera] PONG await
02:49:55.884:DEBUG -- [Libera] PONG awaited
02:49:55.884:DEBUG -- [Libera] match state
02:49:55.884:DEBUG -- [Libera] select.next.await
02:49:55.884:DEBUG -- [Libera] select.next.awaited
02:49:55.884:WARN -- [Libera] disconnected: Closing link: Timeout
02:49:55.884:DEBUG -- [Libera] match state
I've cut out the message contents to try to keep the log from being too noisy, but from context I can tell they are Libera messages not OFTC (e.g. one is a QUIT
message from user halloy151). As far as I can tell Libera was waiting on select.next().await.expect("stream input")
, and as a result missed pinging the bouncer and timed out.
I suspect this is the ultimate source behind the weirdness in issue #226, only now it's happening more often. I suspect it's happening more often because away-notify
is enabled, but I have observed it happening when away-notify
was not enabled.
Edit: For context, this is on Fedora Asahi Remix 39 under GNOME.
Short update to say this is sometimes happening while in the same workspace as Halloy, but with the window hidden behind other windows. Have not (yet) seen it happen while the Halloy window is visible.
Thanks for digging into this, @andymandias. It is not something i've noticed on macOS and Windows 🤔
@andymandias thanks for the report. I'm hesitant to put too much investment into any issues related to Asahi if I'm being honest. As you know, it'll have some unique set of driver issues and what not. But we should definitely try to reproduce this on a standard Linux distro / compatible hardware.
Totally reasonable @tarkah! If a path forward is not self-evident then let me keep digging into the particulars. I'll try to reproduce on my plain x86_64 Ubuntu machine, and I also plan to see if it reproduces in other DEs when time allows. (My initial plan was to ignore it, but the potential for dropped messages forces me to look into it unfortunately.)
I don't think it's related to Asahi, I'm seeing the same issue on x86_64 on Archlinux
@anarsoul are you running under X11 or Wayland? I have a hunch it's Wayland related, but haven't been able to test yet.
@anarsoul are you running under X11 or Wayland? I have a hunch it's Wayland related, but haven't been able to test yet.
Wayland
I have the same issue. Also using wayland. I have tried Konversation instead of Halloy and there it doesn't happen. So from that it seems to me like this is a problem typical to Halloy, and also that it should be somehow fixable.
Another +1 here. I'm running Manjaro 24.0 GNOME 46.1, using Wayland.
I'm not sure it's the same issue but on MacOS I've got lot of time out (os error 60).
Most of the time it happens when I lock my screen.
I thought it was because the Macbook would entered some kind of sleeping mode when the screen is locked but I've disabled this option in the system settings.
Hey all, can you test the fix here? https://github.com/squidowl/halloy/pull/412
I'm fairly certain this will fix it but would love to get confirmation before we merge.
Fix #412 is a definite improvement for me, and possibly a complete fix. No timeouts from Libera or OFTC anymore (connected to both via soju
), but I'm still getting timeouts from Ergo (connected directly). At the moment I'm not sure whether that's an Ergo thing or a Halloy thing. Will test direct connections to other servers when I get the chance.
Still getting timeouts with direct connections (Ergo, Libera, & OFTC), but much less frequent. And haven't noticed any timeouts with soju
still.
Added a bunch of debug prints around the various await
s in the stream run loop, and it doesn't look like it's getting stalled (as expected). But it seems like the server ping might not be making it through? The log looks like
18:30:22.141:DEBUG -- stream.connection.send(command!("PING", token)).awaiting
18:30:22.141:DEBUG -- stream.connection.send(command!("PING", token)).awaited
18:30:22.141:DEBUG -- select.next().awaiting
18:30:22.223:DEBUG -- select.next().awaited
18:30:22.223:TRACE -- [OFTC] pong received: 1720920622141874139
18:30:22.223:DEBUG -- select.next().awaiting
18:30:22.298:DEBUG -- select.next().awaited
18:30:22.298:TRACE -- [Libera] pong received: 1720920622129489549
...
18:30:34.311:DEBUG -- select.next().awaiting
18:30:34.311:DEBUG -- select.next().awaited
18:30:34.311:DEBUG -- select.next().awaiting
18:30:44.945:DEBUG -- select.next().awaited
18:30:44.945:DEBUG -- select.next().awaiting
18:30:44.945:DEBUG -- select.next().awaited
18:30:44.945:DEBUG -- select.next().awaiting
18:32:09.597:DEBUG -- select.next().awaited
18:32:08.064:DEBUG -- select.next().awaited
18:33:02.634:DEBUG -- select.next().awaiting
18:33:25.475:DEBUG -- select.next().awaiting
18:34:13.970:DEBUG -- select.next().awaited
18:34:12.098:DEBUG -- select.next().awaited
...
18:39:06.761:DEBUG -- select.next().awaiting
18:39:06.761:DEBUG -- select.next().awaited
18:39:06.761:DEBUG -- stream.connection.send(command!("PONG", token)).awaiting
18:39:06.761:DEBUG -- stream.connection.send(command!("PONG", token)).awaited
...
18:39:06.766:WARN -- [OFTC] disconnected: Closing Link: 2603:8001:433d:bd84::1551 (Ping timeout: 480 seconds)
where ...
are me cutting out a bunch of select.next().await*
lines for brevity.
Hmm interesting. Was there a previous instance of us sending a pong in the logs within 480 seconds of 18:39:06
?
We're clearly responding to pings via pongs. I'm curious what the interval of time is between OFTC sending pings to us and if it's very close to 480 seconds so even a slight delay on our end puts it over
Hmm interesting. Was there a previous instance of us sending a pong in the logs within 480 seconds of 18:39:06
?
We're clearly responding to pings via pongs. I'm curious what the interval of time is between OTC sending pings to us and if it's very close to 480 seconds so even a slight delay on our end puts it over
Looks like that is the first pong in the log. Attached the log most recently quoted from, in case I'm missing something. timeout.log
I'm experiencing this problem on halloy 2024.10 (4ff56fd)
on Linux under Walyand.
It seems this bug is still causing some trouble for some Linux users, so i've reopened the issue.
I'm getting a bunch of re-connections that look like this:
21:07 ∙ connection to server lost (Closing Link: *my-ipv6* (Ping timeout: 265 seconds))
21:07 ∙ connection to server restored
Is it the same bug? They happen when Halloy is not visible — when the screen is locked or when I'm working on another workspace. This happens to Libera Chat and OFTC.
- Sway 1.9 (Wayland)
- Halloy 2024.10 (Flatpak)
- Void Linux (glibc, amd64)
Hey all, We have a branch with a potential fix to the timeouts: https://github.com/squidowl/halloy/pull/556
Let me know if any has some available time to test it.
Hey all, We have a branch with a potential fix to the timeouts: #556
Let me know if any has some available time to test it.
I'm gonna give it a try.
@o-alquimista just did a small change to the branch, make sure you have the newest. And HUGE thanks for testing 🙏🏻
@casperstorm getting the following panic when running on Wayland/Hyprland. Not happening on main
branch:
thread 'main' panicked at data/src/stream.rs:79:31:
there is no reactor running, must be called from the context of a Tokio 1.x runtime
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
@casperstorm getting the following panic when running on Wayland/Hyprland. Not happening on
main
branch:thread 'main' panicked at data/src/stream.rs:79:31: there is no reactor running, must be called from the context of a Tokio 1.x runtime note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Thanks for the report, let me fix that real quick
@AlvaroParker I've fixed the panic, please pull and try again
@tarkah Looks like the bug is gone! I left it on a different workspace for a while (1.5 hours) and the connection was persistent. Thanks!
Btw the files data/src/client.rs
and src/buffer/channel.rs
are not formatted (I executed cargo fmt
and it modified those two files)
Works for me, too. 2 hours of uninterrupted connection, focused on another workspace and with the screen locked.
Awesome thank you both for confirming! I'm glad we're getting this one fixed.