Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can connect with URL links, but not via config (Windows 11, Halloy v2024.14) #678

Closed
Alcatraz077 opened this issue Dec 17, 2024 · 38 comments · Fixed by #776
Closed

Can connect with URL links, but not via config (Windows 11, Halloy v2024.14) #678

Alcatraz077 opened this issue Dec 17, 2024 · 38 comments · Fixed by #776

Comments

@Alcatraz077
Copy link

Hello,

I just downloaded Halloy and attempted to use it. Clicking an IRC URL (ex. irc://irc.snoonet.org/reddit) will connect me. I'm unable to connect to Librachat's #halloy channel, as it doesn't seem to exist if I search for it via Librachat's own site. Hence, I'm making an issue here. I've changed the channel in my config to #linux, due to this, but I'm still unable to make a connection. If I use the default config that comes with Halloy, with the only change being my username; it will not connect. It simply shows connecting to server... over and over. As a note, the config is as follows:

# Halloy config.
#
# For a complete list of available options,
# please visit https://halloy.squidowl.org/configuration/index.html

[servers.liberachat]
nickname = "Alcatraz"
server = "irc.libera.chat"
channels = ["#halloy"]

Logs:

01:00 INFO  RouteRecived: "ircs://irc.libera.chat/#halloy"
01:00 DEBUG loaded metadata for server on libera
01:00 DEBUG loaded history for server on libera: 0 messages
01:00 DEBUG flushed history for server on libera
01:01 INFO  dashboard saved
01:01 INFO  RouteRecived: "ircs://irc.libera.chat/"
01:01 DEBUG closed history for server on libera
01:01 DEBUG loaded history for server on libera: 1 messages
01:01 INFO  dashboard saved

This is on Windows 11, using version Halloy 2024.14 that was installed via the winget method as noted in the documentation. I thought perhaps it was just a Windows firewall issue, so I've gone ahead and made explicit rules to allow Halloy to connect. No dice.

It's possible that this is user error, however, considering I'm using the default configuration I don't think that's the case. I also don't think it's a Windows or ISP issue, since clicking IRC URLs works without issue. Please let me know what other information I can provide to help resolve this, as it seems odd to me that I'm running into this issue.

@casperstorm
Copy link
Member

@KaiKorla Do you have any idea about this?

@KaiKorla
Copy link
Contributor

KaiKorla commented Jan 7, 2025

Sounds like a network issue. @Alcatraz077: Could you provide how you are connecting to the Internet? Direct connect or any use of a proxy? Try to ping the server from the command line "ping irc.libera.chat" and provide the output. tyvm.

@edassis
Copy link

edassis commented Jan 9, 2025

Hi,

I'm having the same reported problem. I'm able to connect using another IRC client. Direct connection to ISP.

image

@KaiKorla
Copy link
Contributor

KaiKorla commented Jan 10, 2025

I cannot reproducing it for now. I installed via winget on a fresh windows 11 and it's just connecting and working. Make sure not using any proxy, TOR connection or anything like this. Could you try another server:port (see https://libera.chat/guides/connect). tyvm.

@edassis
Copy link

edassis commented Jan 11, 2025

I think maybe some another app or lib installed can be causing incompatibility with halloy. Just now, I tried using others server:port combinations in halloy without success.

Hexchat connects to libera.chat without problem:
image

@KaiKorla
Copy link
Contributor

Hello @edassis, tyvm for reporting back. I'll try to help you further and find a solution. I need some more information:

  • Did you install Halloy by the Windows Installer or by WINGET?
  • Could you provide which Windows Build you're using? (If you don't know how to achieve this, just press the "Start" button and type "winver" and press return. Then a window with the Windows version information pops up.)
  • Which anti-virus and/or firewall solution is installed and active?
  • Post the output of "netsh winhttp show proxy". It will show if any proxy is active.

regards
Kai

@Alcatraz077
Copy link
Author

Alcatraz077 commented Jan 11, 2025

Sounds like a network issue. @Alcatraz077: Could you provide how you are connecting to the Internet? Direct connect or any use of a proxy? Try to ping the server from the command line "ping irc.libera.chat" and provide the output. tyvm.

Apologies for the delay. Just connected straight to my ISP. Ping results:

Pinging irc.libera.chat [82.96.96.60] with 32 bytes of data:
Reply from 82.96.96.60: bytes=32 time=287ms TTL=53
Reply from 82.96.96.60: bytes=32 time=293ms TTL=53
Reply from 82.96.96.60: bytes=32 time=310ms TTL=53
Reply from 82.96.96.60: bytes=32 time=291ms TTL=53

Ping statistics for 82.96.96.60:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 287ms, Maximum = 310ms, Average = 295ms

Since you asked edassis, I'll answer those same for me.

  • Winget
  • Windows version 23H2 (OS Build 22631.4602)
  • Default Windows Defender
  • Output of the netsh winhttp show proxy command:
Current WinHTTP proxy settings:

Direct access (no proxy server).

@KaiKorla
Copy link
Contributor

@Alcatraz077 Please do the following:

  • close Halloy
  • delete the halloy.log file from the configuration directory (C:\Users[USERNAME]\AppData\Roaming\halloy\halloy.log)
  • start Halloy
  • wait 60s
  • close Halloy
  • attach halloy.log

tyvm

@Alcatraz077
Copy link
Author

Sure, attached.

halloy.log

@KaiKorla
Copy link
Contributor

KaiKorla commented Jan 11, 2025

If you haven't done it yet, please add the port configuration field (https://halloy.squidowl.org/configuration/servers/index.html#port) in the Halloy configuration file and try on different ports then the default (which is 6697). Libera provides the following usable ports:

Plain-text | 6665-6667, 8000-8002
TLS | 6697, 7000, 7070

I suggesting to try a plain-text (for testing purpose) first and then the alternate TLS ports (7000, 7070).

Looking forward to your results.

regards Kai

@Alcatraz077
Copy link
Author

Kai,

Did so, and between each port change I restarted Halloy and no dice.

@edassis
Copy link

edassis commented Jan 11, 2025

Hello @edassis, tyvm for reporting back. I'll try to help you further and find a solution. I need some more information:

* Did you install Halloy by the Windows Installer or by WINGET?

* Could you provide which Windows Build you're using? (If you don't know how to achieve this, just press the "Start" button and type "winver" and press return. Then a window with the Windows version information pops up.)

* Which anti-virus and/or firewall solution is installed and active?

* Post the output of "netsh winhttp show proxy". It will show if any proxy is active.

regards Kai

  • Re-installed now using Winget just to make sure
  • Windows 11 version 23H2 (OS Build 22631.4602)
  • Default Windows Defender
  • Output of the netsh winhttp show proxy command:
Current WinHTTP proxy settings:

Direct access (no proxy server).

halloy.log

@KaiKorla
Copy link
Contributor

I have no further ideas, as id dont know whats happen at connection level. :-(

@casperstorm: Is there a way to get more DEBUG/TRACE output from Halloy? Would be good to know whats happen at connection level (TcpStream/TlStream).

@casperstorm
Copy link
Member

To me it sounds like a issue on your ISP end 🤔
Are you able to test using a different ISP, eg with your mobile phone as hotspot?

@edassis
Copy link

edassis commented Jan 12, 2025

Tried connecting using my mobile internet, Hexchat connected, Halloy not (same symptom). Tried in another Windows 11 PC around here, same version than mine, same network, different user and apps, Halloy installed via winget, didn't work.

I have a Windows 10 boot, will give it a try later and update the post.

@Alcatraz077
Copy link
Author

Alcatraz077 commented Jan 12, 2025 via email

@KaiKorla
Copy link
Contributor

KaiKorla commented Jan 12, 2025

Another hint: Please make sure that there is no config.toml in the directory where Halloy.exe is in.

@casperstorm
Copy link
Member

Thanks for these updates. Will investigate. I'm on Windows 11 with Halloy as my daily driver without any issues so it's a bit strange. Sorry for the troubles.

@edassis
Copy link

edassis commented Jan 14, 2025

Thanks for these updates. Will investigate. I'm on Windows 11 with Halloy as my daily driver without any issues so it's a bit strange. Sorry for the troubles.

Ok. No problem :).

I booted on Windows 10 (22H2 1945.5247) today, did a fresh (and first) of the halloy using winget:

PS C:\Users\eduardo> winget install halloy
Encontrado Halloy [squidowl.halloy] Versão 2024.14.0
Este aplicativo é licenciado para você pelo proprietário.
A Microsoft não é responsável por, nem concede licenças a pacotes de terceiros.
Este pacote requer as seguintes dependências:
  - Pacotes
      Microsoft.VCRedist.2015+.x64
Baixando https://github.com/squidowl/halloy/releases/download/2024.14/halloy-installer.msi
  ██████████████████████████████  13.9 MB / 13.9 MB
Hash do instalador verificado com êxito
Iniciando a instalação do pacote...
Instalado com êxito

And it worked xD.

config.toml (same of win11):

[servers.liberachat]
nickname = "usertest-win10-678"
server = "irc.libera.chat"
port = 6697
use_tls = true
channels = ["#halloy"]

Halloy - libera.chat connection:
image

One thing that came to my mind was this dependency installed on windows 10: Microsoft.VCRedist.2015+.x64. I will check if I have it on Windows 11.

@KaiKorla
Copy link
Contributor

KaiKorla commented Jan 14, 2025

Microsoft.VCRedist.2015+.x64 should be installed via WINGET automatically. Halloy will not start if this package is not installed anyway. This looks like this:

Screenshot 2025-01-14 193831

We are not bundling this with the Halloy installer.

@Alcatraz077 & @edassis please try the following:

  • open a administrative windows cli (right click on Terminal application and start as admin)
  • execute
    netsh advfirewall firewall add rule name="Halloy" dir=out action=allow program="%ProgramFiles%\Halloy\halloy.exe" enable=yes
  • restart Halloy and try to connect

regards
Kai

@edassis
Copy link

edassis commented Jan 14, 2025

Did netsh advfirewall firewall add rule name="Halloy" dir=out action=allow program="%ProgramFiles%\Halloy\halloy.exe" enable=yes. Restarted the PC (just to make sure).

netsh advfirewall firewall show rule name="Halloy"

Nome da Regra:                        Halloy
----------------------------------------------------------------------
Habilitado:                           Sim
Direção:                              Saída
Perfis:                               Domínio,Particular,Público
Agrupamento:
LocalIP:                              Qualquer
RemoteIP:                             Qualquer
Protocolo:                            Qualquer
Travessia da borda:                   Não
Ação:                                 Permitir
Ok.

No luck. No connection through Halloy.

@Alcatraz077
Copy link
Author

After running the netsh advfirewall firewall add rule name="Halloy" dir=out action=allow program="%ProgramFiles%\Halloy\halloy.exe" enable=yes command, I restarted Halloy and my computer. No change.

@KaiKorla
Copy link
Contributor

KaiKorla commented Feb 4, 2025

@Alcatraz077 + @edassis: Could you retry with the current release, please. Make sure that prerequisites are installed:

winget install Microsoft.VCRedist.2015+.x64

tyvm.

@edassis
Copy link

edassis commented Feb 4, 2025

Installed the new version (2025.1) from the .msi file available here on GitHub. No luck, same symptom.

Tried a clean install. Assured the dependency was installed too. Also tried to install it in a folder different from Program Files to see if it was something related with folder privileges.

halloy.log

@casperstorm
Copy link
Member

@edassis Does it crash at launch? It seems so from the halloy.log. Have you seen what is in the Event Viewer application? Could you post that to this thread?

See: https://community.microcenter.com/kb/articles/733-how-to-use-event-viewer-in-windows-11

@edassis
Copy link

edassis commented Feb 4, 2025

Does it crash at launch?

No. Stays this way:
Image

From the Administrative Events:

Error - System restore - 12:58:40 04/02/2025
Falha ao criar ponto de restauração (Processo = C:\Windows\system32\msiexec.exe /V; Descrição = Installed Halloy; Erro = 0x80070422).

Warning - Kernel-EventTracing - 12:58:38 04/02/2025
Como o arquivo de backup da sessão em tempo real "PCA file tracing session" atingiu o tamanho máximo, os eventos novos não serão registrados nessa sessão até que haja espaço disponível. Esse erro costuma ocorrer quando uma sessão de rastreamento é iniciada no modo de tempo real sem nenhum consumidor em tempo real.

Around this time (12:58) was when I installed the new version of halloy I did the test from earlier.

Image

These logs are the only ones that seems related with halloy.

If you want me to send some specific log event let me know.

@casperstorm
Copy link
Member

I think it is Windows blocking the connection for some reason then.
You could, temporary, try to disable the Windows Guard and see if it does anything.

Perhaps we need to ask for firewall or network permissions when connecting the first time on Windows to get some elevated permissions for Halloy 🤔

@casperstorm
Copy link
Member

@KaiKorla I just investigated this some more, and currently i think the issue is we dont request elevated permissions for any Inbound Rules for Windows Defender Firewall. I noticed other clients request it either on installation or when you connect the first time.

Eg. take a look at Win + R -> wf.msc -> Inbound Rules.

Below is AdiIRC:
Image

It requests Inbound rules for both TCP and UDP for all ports.
I wonder if you know a way we could perhaps bake this into the .msi installer with wix or we need to add a way to do the popup through Halloy?

@casperstorm
Copy link
Member

@edassis, if you have time - could you test below Windows installer and see if it let's you connect with the following config:

[servers.liberachat-test]
nickname = "edassis"
server = "irc.libera.chat"
channels = ["#halloy"]

halloy-installer-firewall.zip

@KaiKorla
Copy link
Contributor

KaiKorla commented Feb 9, 2025

@KaiKorla I just investigated this some more, and currently i think the issue is we dont request elevated permissions for any Inbound Rules for Windows Defender Firewall. I noticed other clients request it either on installation or when you connect the first time.

Eg. take a look at Win + R -> wf.msc -> Inbound Rules.

Below is AdiIRC:
Image

It requests Inbound rules for both TCP and UDP for all ports.
I wonder if you know a way we could perhaps bake this into the .msi installer with wix or we need to add a way to do the popup through Halloy?

Dont know why open all ports for both UDP and TCP. Maybe for DCC? I wouldnt recommend this.

@edassis
Copy link

edassis commented Feb 9, 2025

could you test below Windows installer and see if it let's you connect with the following config:

Hi, of course. Did the tests. Desinstalled my previous halloy installation and did a new one using the provided zip. No difference. Halloy doesnt connect.

Details

Image

Image

Image

Image

I think it is Windows blocking the connection for some reason then.
You could, temporary, try to disable the Windows Guard and see if it does anything.

Tried it. Disabled antivirus realtime protection and the windows firewall for testing. No difference.

Maybe it isn't related to the Windows network (firewall rules, antivirus) and be some other thing? I don't know, but it seems that what we could test related to network configs we did. A clean install on Windows 10 using 2024.14.0 worked without any intervention from my part. This leads me to believe that has something conflicting/broke with Halloy when running specifically on Windows 11.

@casperstorm
Copy link
Member

casperstorm commented Feb 9, 2025

Maybe it isn't related to the Windows network (firewall rules, antivirus) and be some other thing? I don't know, but it seems that what we could test related to network configs we did. A clean install on Windows 10 using 2024.14.0 worked without any intervention from my part. This leads me to believe that has something conflicting/broke with Halloy when running specifically on Windows 11.

I run Windows 11, without any issues.
Is it only libera? Have you tried quakenet, efnet or dalnet?

@edassis
Copy link

edassis commented Feb 10, 2025

I run Windows 11, without any issues.

Yeah, what leads me to believe that this is probably something related to my Windows installation. But what? And, when I start to think of this way, I have the counterargument that: in another Windows 11 install, managed by another user but in the same LAN, the Halloy also didn't work. Can be the case that both of us have the same problematic agent on both systems (something like a program that both of us uses?). A hard case to analyze, I would say. I don't know what else I can try.

I was giving a look in tracing/sys tools to help me diagnose the halloy execution and try to understand better what is happening. But I'm pretty novice on these themes and don't figure way to do it yet.

Is it only libera? Have you tried quakenet, efnet or dalnet?

Connections to EFnet and QuakeNet returned me some errors:

Details

Image

@casperstorm
Copy link
Member

Connections to EFnet and QuakeNet returned me some errors:

Details
Image

Can you try with the following server config:

[servers.quakenet-test]
nickname = "foobar5123"
server = "underworld2.no.quakenet.org"
port = 6667
use_tls = false

@casperstorm
Copy link
Member

@edassis Let me know the result once you have tested the above quakenet server :)

@edassis
Copy link

edassis commented Feb 12, 2025

Thanks for pinging me.

Without TLS the connection succeeds:

Details

Image

Worked on EFnet too.

@casperstorm
Copy link
Member

I believe we have fixed this now. I have merged a fix to main, which will be released in next version (2025.2).
Currently awaiting a build to finish, then ill also make a .msi installer which ill add here.

@edassis
Copy link

edassis commented Feb 17, 2025

Image

Worked! Thank you all for sorting this out!

I would like to make a suggestion, maybe this motivates a future PR: During the tests, we saw the need to setup the Windows' firewall to permit inbound connections. As discussed here:

I just investigated this some more, and currently i think the issue is we dont request elevated permissions for any Inbound Rules for Windows Defender Firewall. I noticed other clients request it either on installation or when you connect the first time.

I noticed that the programs who needs to create inbound rules do it when trying to access the internet. I reseted my firewall rules during the tests for this issue and, when I opened Intellij per example, the UAC prompted asking if I want to permit said app to make connections on my network (public, private). This check happens every time I open the app, so if I clean the rule for it in the firewall and open it again, I will receive a UAC prompt again asking what to do. Like this one:

Image

Maybe it's feasible to implement something similar here.

Congrats per the project :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants