Compare commits

...

3 Commits

Author SHA1 Message Date
Aveline 89ca15e15b
Merge 0baf6be8b5 into 4b6e796a0e 2025-10-29 02:54:13 +01:00
Adam Shiervani 4b6e796a0e
fix: ensure proper redirection and page reload (#909) 2025-10-29 02:04:58 +01:00
Siyuan Miao 0baf6be8b5 chore: generate release automatically 2025-09-25 16:55:04 +00:00
2 changed files with 25 additions and 1 deletions

View File

@ -69,3 +69,23 @@ jobs:
path: | path: |
bin/jetkvm_app bin/jetkvm_app
device-tests.tar.gz device-tests.tar.gz
release:
runs-on: ubuntu-latest
name: Release
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Draft release
uses: softprops/action-gh-release@v2
with:
# need review before making a real release
draft: true
files: bin/jetkvm_app
fail_on_unmatched_files: true
tag_name: ${{ github.ref }}
name: ${{ github.ref }}
generate_release_notes: true

View File

@ -13,6 +13,7 @@ import { useRTCStore, PostRebootAction } from "@/hooks/stores";
import LogoBlue from "@/assets/logo-blue.svg"; import LogoBlue from "@/assets/logo-blue.svg";
import LogoWhite from "@/assets/logo-white.svg"; import LogoWhite from "@/assets/logo-white.svg";
import { isOnDevice } from "@/main"; import { isOnDevice } from "@/main";
import { sleep } from "@/utils";
interface OverlayContentProps { interface OverlayContentProps {
@ -481,8 +482,11 @@ export function RebootingOverlay({ show, postRebootAction }: RebootingOverlayPro
// - Protocol-relative URLs: resolved with current protocol // - Protocol-relative URLs: resolved with current protocol
// - Fully qualified URLs: used as-is // - Fully qualified URLs: used as-is
const targetUrl = new URL(postRebootAction.redirectTo, window.location.origin); const targetUrl = new URL(postRebootAction.redirectTo, window.location.origin);
clearInterval(intervalId); // Stop polling before redirect
window.location.href = targetUrl.href; window.location.href = targetUrl.href;
// Add 1s delay between setting location.href and calling reload() to prevent reload from interrupting the navigation.
await sleep(1000);
window.location.reload(); window.location.reload();
} }
} catch (err) { } catch (err) {