JustArchiNET / ASF-ui

The official web interface for ASF
Apache License 2.0
257 stars 36 forks source link

ASF-ui doesn't (always) respect PathBase (or url-prefix) #1635

Open gkurmaev opened 1 year ago

gkurmaev commented 1 year ago

Checklist

ASF version

Latest stable release

ASF-ui version

34e52e3

Bug description

I'm running asf on debian with a reverse-proxy in the background and am using PathBase configuration attribute for IPC.

IPC config:

{
        "Kestrel": {
                "Endpoints": {
                        "asf": {
                                "Url": "http://127.0.0.1:1242"
                        }
                },
                "KnownNetworks": [
                        "192.168.0.0/16",
                        "10.6.0.0/16",
                        "2001:16b8:424f:a300::0/64"
                ],
                "PathBase": "/asf"
        }
}

lighttpd reverse-proxy config:

server.modules += ("mod_proxy")

$HTTP["url"] =~ "^/asf" {
    proxy.server = ("" => (( "host" => "127.0.0.1", "port" => "1242")))
    proxy.header = ("upgrade" => "enable")
}

Occasionally (there is no pattern), instead of getting the page, I get just a white screen with 404s in the network console showing that the page was trying to load script bundles from the root without respecting the prefix: image At the same time head-tag looks like that: image

On a successful load though, it first still tries to load the script bundle from the root, but then also tries the prefixed version: image which is then also reflected in the head-tag: image

This issue existed for a while now (likely over a year, so I didn't try downgrading), I just wasn't too bothered to report it because it's usually gone the next page refresh.

Expected behavior

Prefixed deployments are recognised 100% of the time during front-end generation/load

Actual behavior

The page only tries to load the script bundle from the /scripts/, and not from the /prefix/scripts

Steps to reproduce

No response

Possible reason/solution

My assumption is that there's a bug in index.html somewhere, cause during times when I get white screen, it does't even stop on the breakpoint in createErrorHandler which is supposed to handle this case.

Can you help us with this bug report?

Somehow, I can test and offer feedback, but can't code

Global ASF.json config file

No response

BotName.json config of all affected bot instances

No response

Additional info

No response

Aareksio commented 1 year ago

It is technically possible for the script to load (from cache) before <script> tags in index.html are processed. I think the problem is caused by server responding with 304 making the browser load the external script quicker than inlined Githubissues.

  • Githubissues is a development platform for aggregating issues.