VisualSVN Server

For support with specific websites

Moderator: trava90

Forum rules
Please always mention the name/domain of the website in question in your topic title.
Please one website per topic thread (to help keep things organized). While behavior on different sites might at first glance seem similar, they are not necessarily caused by the same.

Please try to include any relevant output from the Toolkit Error Console or the Developer Tools Web Console using the following procedure:
  1. Clear any current output
  2. Navigate or refresh the page in question
  3. Copy and paste Errors or seemingly relevant Warnings into a single [ code ] block.
User avatar
UCyborg
Astronaut
Astronaut
Posts: 641
Joined: 2019-01-10, 09:37
Location: Slovenia

VisualSVN Server

Post by UCyborg » 2025-09-18, 16:56

This one in the latest version 5.4.4 doesn't work with Pale Moon, it doesn't show login prompt and outputs HTML with web browser not supported message and to use supported web browser (the usual ChromeZilla + Safari). Just one warning in the console with unreachable code after return statement.

It's available for download at https://www.visualsvn.com/server/download/.

User avatar
UCyborg
Astronaut
Astronaut
Posts: 641
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: VisualSVN Server

Post by UCyborg » 2025-09-20, 22:07

Slight correction, login does work. It has browsercheck.js, which looks like this:

Code: Select all

/* Copyright (c) 2024 VisualSVN Software Ltd. All rights reserved. */
var BrowserCheck;
(function (BrowserCheck) {
    function checkCapabilities() {
        return self !== undefined &&
            self.document.addEventListener !== undefined &&
            self.Date !== undefined &&
            self.Date.parse !== undefined &&
            !isNaN(self.Date.parse("2000-01-01T00:00:00.1230Z")) &&
            self.Worker !== undefined &&
            self.document.documentElement !== undefined &&
            self.document.documentElement.dataset !== undefined &&
            self.document.documentElement.style !== undefined &&
            self.document.documentElement.style.flexWrap !== undefined &&
            self.Set !== undefined &&
            self.Map !== undefined &&
            self.RegExp !== undefined &&
            self.RegExp.prototype !== undefined &&
            "unicode" in self.RegExp.prototype &&
            self.String !== undefined &&
            self.String.prototype !== undefined &&
            self.String.prototype.startsWith !== undefined &&
            self.String.prototype.endsWith !== undefined &&
            self.String.prototype.repeat !== undefined &&
            self.String.prototype.normalize !== undefined &&
            self.KeyboardEvent !== undefined &&
            self.KeyboardEvent.prototype !== undefined &&
            "code" in self.KeyboardEvent.prototype &&
            self.Element !== undefined &&
            self.Element.prototype !== undefined &&
            self.Element.prototype.remove !== undefined &&
            self.fetch !== undefined &&
            self.ReadableStream !== undefined &&
            self.AbortController !== undefined &&
            self.IntersectionObserver !== undefined &&
            self.CSS !== undefined &&
            self.CSS.escape !== undefined &&
            self.CSS.supports !== undefined &&
            self.CSS.supports("inset-inline: 0") &&
            self.CSS.supports("margin-inline: 0") &&
            self.CSS.supports("padding-inline: 0") &&
            self.Promise !== undefined &&
            self.Promise.prototype !== undefined &&
            "finally" in self.Promise.prototype &&
            self.Promise.allSettled !== undefined &&
            self.TextDecoder !== undefined &&
            self.TextEncoder !== undefined;
    }
    function onLoad() {
        document.open();
        document.write("<!DOCTYPE html PUBLIC '-//IETF//DTD HTML 2.0//EN'>" +
            "<html>" +
            "<head><title>VisualSVN Server</title></head>" +
            "<body>" +
            "<h1>This web browser is not supported</h1>" +
            "<p>Please use a <a href='https://www.visualsvn.com/go/2322'>supported browser</a> to open the VisualSVN Server web interface.</p>" +
            "</body>" +
            "</html>");
        document.close();
    }
    BrowserCheck.passed = checkCapabilities();
    if (!BrowserCheck.passed) {
        if (window.addEventListener) {
            window.addEventListener("load", onLoad);
        }
        else if (window.attachEvent) {
            window.attachEvent("load", onLoad);
        }
    }
})(BrowserCheck || (BrowserCheck = {}));
But I'm not sure how accurate it is relative to the features it uses. First thing I encountered after bypassing feature checks, File.prototype is missing the function arrayBuffer(). This isn't among the feature checks. If I'm not mistaken, this is inherited from Blob.

https://developer.mozilla.org/en-US/docs/Web/API/Blob/arrayBuffer

Edit: The only thing failing in above check is CSS support for inset-inline, but this property isn't used anywhere. Lack of arrayBuffer function strikes me as an oversight. Shouldn't it be supported if ArrayBuffer is supported?

Edit 2: Oh, I found opened issue.