diff --git a/.github/workflows/electron.yml b/.github/workflows/electron.yml index 5a6f61db..efd7c777 100644 --- a/.github/workflows/electron.yml +++ b/.github/workflows/electron.yml @@ -190,6 +190,10 @@ jobs: if [ -f "termix-${VERSION}-armv7l.tar.gz" ]; then mv "termix-${VERSION}-armv7l.tar.gz" "termix_linux_armv7l_portable.tar.gz" fi + # Rename Debian amd64 to x64 for consistency + if [ -f "termix_linux_amd64_deb.deb" ]; then + mv "termix_linux_amd64_deb.deb" "termix_linux_x64_deb.deb" + fi cd .. @@ -213,6 +217,14 @@ jobs: path: release/termix_linux_arm64_appimage.AppImage retention-days: 30 + - name: Upload Linux armv7l AppImage + uses: actions/upload-artifact@v4 + if: hashFiles('release/termix_linux_armv7l_appimage.AppImage') != '' && github.event.inputs.artifact_destination != 'none' + with: + name: termix_linux_armv7l_appimage + path: release/termix_linux_armv7l_appimage.AppImage + retention-days: 30 + - name: Upload Linux x64 DEB uses: actions/upload-artifact@v4 if: hashFiles('release/termix_linux_x64_deb.deb') != '' && github.event.inputs.artifact_destination != 'none' @@ -413,7 +425,7 @@ jobs: if: steps.check_certs.outputs.has_certs == 'true' && hashFiles('release/termix_macos_universal_mas.pkg') != '' && (github.event.inputs.artifact_destination == 'file' || github.event.inputs.artifact_destination == 'release' || github.event.inputs.artifact_destination == 'submit') uses: actions/upload-artifact@v4 with: - name: termix_macos_mas + name: termix_macos_universal_mas path: release/termix_macos_universal_mas.pkg retention-days: 30 if-no-files-found: warn diff --git a/docker/nginx-https.conf b/docker/nginx-https.conf index 984e7973..e27032b0 100644 --- a/docker/nginx-https.conf +++ b/docker/nginx-https.conf @@ -106,6 +106,15 @@ http { proxy_read_timeout 300s; } + location ~ ^/snippets(/.*)?$ { + proxy_pass http://127.0.0.1:30001; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location ~ ^/database(/.*)?$ { client_max_body_size 5G; client_body_timeout 300s; diff --git a/docker/nginx.conf b/docker/nginx.conf index 384e64d9..cf078022 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -103,6 +103,15 @@ http { proxy_read_timeout 300s; } + location ~ ^/snippets(/.*)?$ { + proxy_pass http://127.0.0.1:30001; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location ~ ^/database(/.*)?$ { client_max_body_size 5G; client_body_timeout 300s; diff --git a/electron-builder.json b/electron-builder.json index fc7d05dd..de8b41fd 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -53,7 +53,7 @@ "target": [ { "target": "AppImage", - "arch": ["x64", "arm64"] + "arch": ["x64", "arm64", "armv7l"] }, { "target": "deb", diff --git a/src/ui/desktop/apps/dashboard/Dashboard.tsx b/src/ui/desktop/apps/dashboard/Dashboard.tsx index 6d4c9320..39742b77 100644 --- a/src/ui/desktop/apps/dashboard/Dashboard.tsx +++ b/src/ui/desktop/apps/dashboard/Dashboard.tsx @@ -194,7 +194,7 @@ export function Dashboard({ setServerStatsLoading(true); const serversWithStats = await Promise.all( - hosts.slice(0, 5).map(async (host: { id: number; name: string }) => { + hosts.slice(0, 50).map(async (host: { id: number; name: string }) => { try { const metrics = await getServerMetricsById(host.id); return { @@ -213,7 +213,10 @@ export function Dashboard({ } }), ); - setServerStats(serversWithStats); + const validServerStats = serversWithStats.filter( + (server) => server.cpu !== null && server.ram !== null, + ); + setServerStats(validServerStats); setServerStatsLoading(false); } catch (error) { console.error("Failed to fetch dashboard data:", error); diff --git a/src/ui/desktop/authentication/Auth.tsx b/src/ui/desktop/authentication/Auth.tsx index 5ee3da8c..dde027dd 100644 --- a/src/ui/desktop/authentication/Auth.tsx +++ b/src/ui/desktop/authentication/Auth.tsx @@ -651,7 +651,12 @@ export function Auth({ ); } - if (isElectron() && currentServerUrl && authLoading) { + if ( + isElectron() && + currentServerUrl && + authLoading && + !isInElectronWebView() + ) { return (