fix: Fixed console width
Server Deploy / deploy (push) Successful in 1m17s

This commit is contained in:
2026-07-17 13:46:12 +01:00
parent 763eafa4f8
commit 1989d6cd98
2 changed files with 21 additions and 4 deletions
+14 -3
View File
@@ -4,6 +4,7 @@ import (
"net"
"net/http"
"os"
"strconv"
"time"
"github.com/gin-gonic/gin"
@@ -69,6 +70,16 @@ func consoleConnect(c *gin.Context) {
})
}
// queryIntDefault reads a positive integer query param, falling back to def
// when absent, unparseable, or non-positive.
func queryIntDefault(r *http.Request, key string, def int) int {
v, err := strconv.Atoi(r.URL.Query().Get(key))
if err != nil || v <= 0 {
return def
}
return v
}
// GET /api/console/tunnel?token=... (WebSocket upgrade)
func consoleTunnel(c *gin.Context) {
token := c.Query("token")
@@ -139,9 +150,9 @@ func consoleTunnel(c *gin.Context) {
for k, v := range gp.Params {
config.Parameters[k] = v
}
config.OptimalScreenWidth = 1024
config.OptimalScreenHeight = 768
config.OptimalResolution = 96
config.OptimalScreenWidth = queryIntDefault(r, "width", 1024)
config.OptimalScreenHeight = queryIntDefault(r, "height", 768)
config.OptimalResolution = queryIntDefault(r, "dpi", 96)
addr, err := net.ResolveTCPAddr("tcp", guacdAddr)
if err != nil {
+7 -1
View File
@@ -86,9 +86,15 @@ export default function ServerConsolePage() {
const wsProto = location.protocol === "https:" ? "wss" : "ws";
const wsUrl = `${wsProto}://${location.host}${ws_path}`;
const connectData = `token=${encodeURIComponent(token)}`;
if (containerRef.current) {
const rect = containerRef.current.getBoundingClientRect();
const dpi = Math.round(96 * (window.devicePixelRatio || 1));
const connectData =
`token=${encodeURIComponent(token)}` +
`&width=${Math.floor(rect.width)}` +
`&height=${Math.floor(rect.height)}` +
`&dpi=${dpi}`;
const conn = openConsole(containerRef.current, wsUrl, connectData);
connectionRef.current = conn;
setConnected(true);