Jelajahi Sumber

Improved context menu logic on desktop

tobychui 3 tahun lalu
induk
melakukan
3bc5287bea

TEMPAT SAMPAH
documents/production bug reports/2021-11-26/image-20211126102954382.png


TEMPAT SAMPAH
documents/production bug reports/2021-11-26/image-20211126103222004.png


TEMPAT SAMPAH
documents/production bug reports/2021-11-26/logo dark.png


+ 58 - 0
documents/production bug reports/2021-11-26/prodbug-0001.md

@@ -0,0 +1,58 @@
+## Production Bug Report 25-Nov-2021
+
+**WARNING! Confidential**
+
+This bug report is only for internal use and shall only disclose to involved developer and clients. Disclosure can only be made after all the production systems has been patched or updated.
+
+### Summary
+
+This bug was observed on Amazon LightSail VM environment with ArozOS v1.113 installation. User report that they cannot login to the ArozOS system.
+
+### Environment
+
+- Debian 10
+- 512MB RAM + 1vCPU + 20G SSD 
+- LightSail
+
+### Panic Output
+
+![image-20211126102954382](image-20211126102954382.png)
+
+
+
+### Cause of Panic
+
+![image-20211126103222004](image-20211126103222004.png)
+
+The main router returned an panic error caused by line 79 of the routing logic. After investigation, the following logic was the root cause of the above system panic.
+
+```go
+modileInfo := moduleHandler.GetModuleInfoByID(interfaceModule[0])
+http.Redirect(w, r, modileInfo.StartDir, 307)
+```
+
+where the modileInfo returned nil for the interface module which caused the panic.
+
+This can happens when the interface module is based on a subservice and the subservice has been shut down due to human error or the subservice is constantly crashing and killed by the core system. When the user with that subservice and interface module log-in to system, the panic occurs and freeze the whole system as the main router is stuck. 
+
+### Issue Resolve
+
+The issue has been resolved in the latest internal build of ArozOS by creating an additional handling logic for interface module not found.
+
+```go
+modileInfo := moduleHandler.GetModuleInfoByID(interfaceModule[0])
+if modileInfo == nil {
+    //The module is not found or not enabled
+    http.Redirect(w, r, "./SystemAO/boot/interface_disabled.html", 307)
+    return
+}
+http.Redirect(w, r, modileInfo.StartDir, 307)
+```
+
+### Patched Version
+
+ArozOS v1.118 (Nightly)
+
+26 Nov 2021
+
+<img src="logo%20dark.png" alt="logo dark" style="width: 100px" align="left" />

TEMPAT SAMPAH
documents/production bug reports/2021-11-26/prodbug-0001.pdf


TEMPAT SAMPAH
documents/production bug reports/logo dark.png


TEMPAT SAMPAH
documents/production bug reports/logo white.png


+ 2 - 0
web/desktop.system

@@ -4070,6 +4070,8 @@
                 }
                 
             }
+
+            hideAllContextMenus();
         
             //Clicked on a launch icon.
             var alreadyHighlighted = $(object).find(".launchIconWrapper").hasClass("selected");