diff --git a/module/build.gradle.kts b/module/build.gradle.kts
index 8b24757..6d23929 100644
--- a/module/build.gradle.kts
+++ b/module/build.gradle.kts
@@ -171,6 +171,7 @@ androidComponents.onVariants { variant ->
set.add(Pair(root.file("webroot/js/restoreError.js").asFile, null))
set.add(Pair(root.file("webroot/js/navbar.js").asFile, null))
set.add(Pair(root.file("webroot/js/daemon_actions.js").asFile, null))
+ set.add(Pair(root.file("webroot/js/errorCatcher.js").asFile, null))
set.add(Pair(root.file("webroot/js/translate/action.js").asFile, null))
set.add(Pair(root.file("webroot/js/translate/home.js").asFile, null))
diff --git a/module/src/customize.sh b/module/src/customize.sh
index ef6b797..748901d 100644
--- a/module/src/customize.sh
+++ b/module/src/customize.sh
@@ -122,6 +122,7 @@ extract "$ZIPFILE" 'webroot/js/language.js' "$MODPATH/webroot/js" true
extract "$ZIPFILE" 'webroot/js/navbar.js' "$MODPATH/webroot/js" true
extract "$ZIPFILE" 'webroot/js/restoreError.js' "$MODPATH/webroot/js" true
extract "$ZIPFILE" 'webroot/js/daemon_actions.js' "$MODPATH/webroot/js" true
+extract "$ZIPFILE" 'webroot/js/errorCatcher.js' "$MODPATH/webroot/js" true
extract "$ZIPFILE" 'webroot/js/translate/home.js' "$MODPATH/webroot/js/translate" true
extract "$ZIPFILE" 'webroot/js/translate/action.js' "$MODPATH/webroot/js/translate" true
diff --git a/webroot.zip b/webroot.zip
new file mode 100644
index 0000000..1f7de91
Binary files /dev/null and b/webroot.zip differ
diff --git a/webroot/index.html b/webroot/index.html
index eef4445..14966c0 100644
--- a/webroot/index.html
+++ b/webroot/index.html
@@ -6,6 +6,7 @@
+
@@ -22,7 +23,7 @@
diff --git a/webroot/js/errorCatcher.js b/webroot/js/errorCatcher.js
new file mode 100644
index 0000000..4612fd7
--- /dev/null
+++ b/webroot/js/errorCatcher.js
@@ -0,0 +1,16 @@
+function setError(place, issue) {
+ const fullErrorLog = setErrorData(`${place}: ${issue}`)
+ document.getElementById('errorh_panel').innerHTML = fullErrorLog
+}
+
+function setErrorData(errorLog) {
+ const getPrevious = localStorage.getItem('/system/error')
+ const finalLog = getPrevious && getPrevious.length !== 0 ? getPrevious + `\n` + errorLog : errorLog
+
+ localStorage.setItem('/system/error', finalLog)
+ return finalLog
+}
+
+if (window.onerror) window.onerror = (err) => {
+ setError('WebUI', err.stack ? err.stack : err.message)
+}
\ No newline at end of file
diff --git a/webroot/js/main.js b/webroot/js/main.js
index 2b37728..3d08cc3 100644
--- a/webroot/js/main.js
+++ b/webroot/js/main.js
@@ -21,8 +21,6 @@ function setErrorData(errorLog) {
return finalLog
}
-if (window.onerror) window.onerror = (err) => setError('WebUI', err.stack ? err.stack : err.message)
-
(async () => {
const EXPECTED = 1
const UNEXPECTED_FAIL = 2
diff --git a/webroot/js/modal/errorHistory.js b/webroot/js/modal/errorHistory.js
index 6892296..2a408fb 100644
--- a/webroot/js/modal/errorHistory.js
+++ b/webroot/js/modal/errorHistory.js
@@ -1,4 +1,5 @@
const button = document.getElementById('rezygisk_errorh')
+const backport = document.getElementById('backport_errorh')
const copy_button = document.getElementById('errorh_copy')
const target = document.getElementById('errorh_modal')
const close_button = document.getElementById('errorh_modal_close')
@@ -14,6 +15,18 @@ button.addEventListener('click', () => {
sys_module_mode = setData('opened')
})
+backport.addEventListener('click', () => {
+ if (sys_module_mode == 'opened') {
+ target.style.top = '100%'
+ sys_module_mode = setData('closed')
+ return
+ }
+
+ target.style.top = '0%'
+ sys_module_mode = setData('opened')
+})
+
+
close_button.addEventListener('click', () => {
target.style.top = '100%'