AgregoreWeb / agregore-browser

A minimal browser for the distributed web (Desktop version)
https://www.youtube.com/watch?v=TnYKvOQB0ts&list=PL7sG5SCUNyeYx8wnfMOUpsh7rM_g0w_cu&index=14
GNU Affero General Public License v3.0
752 stars 66 forks source link

Gemini links with a port seem to fail #80

Open Alch-Emi opened 4 years ago

Alch-Emi commented 4 years ago

I haven't done much investigating on this one, so apologies if I'm missing anything obvious, and please let me know if you're having trouble recreating this bug, but it seems like gemini links with a port always redirect to port 1965 (the default gemini port)

In particular, I noticed this when trying to click a link on my website (gemini://emii.gay/en/) to gemini://emii.gay:1965. Instead of taking me to that page, I was brought to gemini://emii.gay/. This also seems to be the case when directly typing it into the browser.

Again, I haven't done much experimenting to pin this down, but it's 2:30am in the morning so please forgive me if I've missed something.

RangerMauve commented 4 years ago

Interesting! Thank you for reporting this bug. I'm not sure what's causing it.

Would you feel comfortable debugging this a little? If you clone agregore and try to run it from the command line, you should be seeing the requests coming in due to this console log statenebts

Is the correct port present there when the request happens?

RangerMauve commented 4 years ago

Also thank you for your patience! I hadn't gone through my notifications in a few days. 😅

Alch-Emi commented 3 years ago

Thanks for the response! Unfortunately I just reworked my site not to use an alternate port, but the bug still seems to be present. Here's the relevant snippet of the log:

<- 3 searchHistory ( [ 'gemini://alchemi.dev:1995', 1606889303532 ] )
<- 3 setBounds ( [ { x: 0, y: 36, width: 1366, height: 732 } ] )
<- 3 setBounds ( [ { x: 0, y: 75, width: 1366, height: 693 } ] )
<- 3 getURL ( [] )
<- 3 loadURL ( [ 'gemini://alchemi.dev:1995' ] )
<- 3 focus ( [] )
<- 3 setBounds ( [ { x: 0, y: 36, width: 1366, height: 732 } ] )
Navigating gemini://alchemi.dev/
-> 3 navigating ( [ 'gemini://alchemi.dev/' ] )
-> 3 history-buttons-change ( [ { canGoBack: true, canGoForward: false } ] )
{
  method: 'GET',
  url: 'gemini://alchemi.dev/',
  referrer: '',
  headers: {
    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.9'
  }
}
RangerMauve commented 3 years ago

Well shoot. It's a bug in Electron.

It's swallowing the port section for custom protocols. :(

You can verify this by pasting new URL('gemini://alchemi.dev:1995/') in your JS console if you hit ctrl+shift+i

We'll need to open an issue on the Electron repo and see if they know what to do about it.

RangerMauve commented 3 years ago

Related to this: https://github.com/electron/electron/issues/24725

RangerMauve commented 3 years ago

Hey, I've submitted a pull request to Electron to fix this. Hopefully we'll be able to get it merged sooner than later and then get it merged into agregore. Sadly it looks like we'll be stuck using the default port in the meantime.

https://github.com/electron/electron/pull/26803