diff --git a/app/stage/auth.html b/app/stage/auth.html
index ab1e5fb95..1b857171d 100644
--- a/app/stage/auth.html
+++ b/app/stage/auth.html
@@ -460,13 +460,31 @@
}
}
+ const showMessage = (msg)=> {
+ document.querySelector('#message').classList.add('b3-snackbar--show')
+ document.querySelector('#message').firstElementChild.innerHTML = msg
+ setTimeout(() => {
+ document.querySelector('#message').classList.remove('b3-snackbar--show')
+ document.querySelector('#message').firstElementChild.textContent = ''
+ }, 6000)
+ }
+
const submitAuth = () => {
const inputElement = document.getElementById('authCode')
const captchaElement = document.getElementById('captcha')
+ let code = inputElement.value.trim();
+ if ("" === code) {
+ showMessage({{.l9}})
+ inputElement.value = ''
+ captchaElement.value = ''
+ inputElement.focus()
+ return
+ }
+
fetch('/api/system/loginAuth', {
method: 'POST',
body: JSON.stringify({
- authCode: inputElement.value,
+ authCode: code,
captcha: captchaElement.value,
}),
}).then((response) => {
@@ -486,15 +504,10 @@
captchaElement.previousElementSibling.src = ''
}
- document.querySelector('#message').classList.add('b3-snackbar--show')
- document.querySelector('#message').firstElementChild.textContent = response.msg
+ showMessage(response.msg)
inputElement.value = ''
captchaElement.value = ''
inputElement.focus()
- setTimeout(() => {
- document.querySelector('#message').classList.remove('b3-snackbar--show')
- document.querySelector('#message').firstElementChild.textContent = ''
- }, 6000)
})
}
diff --git a/kernel/api/system.go b/kernel/api/system.go
index 446197fae..04cdef53d 100644
--- a/kernel/api/system.go
+++ b/kernel/api/system.go
@@ -564,6 +564,9 @@ func setAccessAuthCode(c *gin.Context) {
aac = model.Conf.AccessAuthCode
}
+ aac = strings.TrimSpace(aac)
+ aac = util.RemoveInvalid(aac)
+
model.Conf.AccessAuthCode = aac
model.Conf.Save()
diff --git a/kernel/model/session.go b/kernel/model/session.go
index d0b4c546f..e2011d77c 100644
--- a/kernel/model/session.go
+++ b/kernel/model/session.go
@@ -96,6 +96,9 @@ func LoginAuth(c *gin.Context) {
}
authCode := arg["authCode"].(string)
+ authCode = strings.TrimSpace(authCode)
+ authCode = util.RemoveInvalid(authCode)
+
if Conf.AccessAuthCode != authCode {
ret.Code = -1
ret.Msg = Conf.Language(83)
@@ -437,7 +440,6 @@ func ControlConcurrency(c *gin.Context) {
strings.HasPrefix(reqPath, "/appearance/") ||
strings.HasPrefix(reqPath, "/export/") ||
strings.HasPrefix(reqPath, "/history/") ||
-
strings.HasPrefix(reqPath, "/api/query/") ||
strings.HasPrefix(reqPath, "/api/search/") ||
strings.HasPrefix(reqPath, "/api/network/") ||
diff --git a/kernel/model/sync.go b/kernel/model/sync.go
index 8aedef982..bccd35537 100644
--- a/kernel/model/sync.go
+++ b/kernel/model/sync.go
@@ -648,7 +648,7 @@ func formatRepoErrorMsg(err error) string {
msgLowerCase := strings.ToLower(msg)
if strings.Contains(msgLowerCase, "permission denied") || strings.Contains(msg, "access is denied") {
msg = Conf.Language(33)
- } else if strings.Contains(msgLowerCase, "region was not a valid DNS name") {
+ } else if strings.Contains(msgLowerCase, "region was not a valid") {
msg = Conf.language(254)
} else if strings.Contains(msgLowerCase, "device or resource busy") || strings.Contains(msg, "is being used by another") {
msg = fmt.Sprintf(Conf.Language(85), err)
diff --git a/kernel/server/serve.go b/kernel/server/serve.go
index fae52d3c1..2df02a117 100644
--- a/kernel/server/serve.go
+++ b/kernel/server/serve.go
@@ -451,6 +451,7 @@ func serveAuthPage(c *gin.Context) {
"l6": model.Conf.Language(178),
"l7": template.HTML(model.Conf.Language(184)),
"l8": model.Conf.Language(95),
+ "l9": model.Conf.Language(83),
"appearanceMode": model.Conf.Appearance.Mode,
"appearanceModeOS": model.Conf.Appearance.ModeOS,
"workspace": util.WorkspaceName,