Fiks Windows-oppstart: git-symlink og PowerShell-server
To uavhengige feil hindret oppstart på Windows:
1. app/notes var committet som en git-symlink (mode 120000). På
Windows uten symlink-støtte materialiseres den som en stray
tekstfil («../notes»), så appen ikke fant notatene. Start.bat
sin reparasjon brukte rmdir/mkdir som begge feiler når notes
er en fil.
→ Avregistrert symlinken fra git og gitignorert den. app/notes
opprettes nå per plattform av launcherne (symlink på unix,
kopi på Windows). Start.bat normaliserer robust: sletter en
stray fil, lager mappe og kopierer *.md. Start.sh håndterer
også fil-tilfellet.
2. server.ps1 krasjet umiddelbart pga. Add-Type System.Web (ikke
tilgjengelig i PowerShell 7), og cmd-vinduet forsvant uten pause.
→ Fjernet System.Web (bruker System.Uri::UnescapeDataString),
la til HttpListener-støttesjekk og tydelige feilmeldinger.
Start.bat pauser nå når serveren stopper, så feil kan leses.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
44
Start.bat
44
Start.bat
@@ -120,19 +120,24 @@ if not exist "%VENDOR_DIR%\marked.min.js" (
|
||||
echo [v] marked.js OK
|
||||
)
|
||||
|
||||
rem --- Verify notes/ exists in app/ ------------------------------------
|
||||
if not exist "%APP_DIR%\notes\uke17-eksamen.md" (
|
||||
echo [.] Notes mangler i app/ - kopierer ...
|
||||
if exist "%APP_DIR%\notes" rmdir /s /q "%APP_DIR%\notes" 2>nul
|
||||
mkdir "%APP_DIR%\notes" 2>nul
|
||||
xcopy /Y /Q "%SCRIPT_DIR%notes\*.md" "%APP_DIR%\notes\" >nul
|
||||
if exist "%APP_DIR%\notes\uke17-eksamen.md" (
|
||||
echo [v] Notes kopiert
|
||||
) else (
|
||||
echo [x] Klarte ikke kopiere notes/
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
rem --- Ensure app\notes is a real directory with current notes --------
|
||||
rem Git lagrer app/notes som en symlink. Pa Windows uten symlink-stotte
|
||||
rem materialiseres den som en STRAY TEKSTFIL (innhold: "../notes"), som
|
||||
rem bryter appen. Vi normaliserer alltid: fjern fil, lag mappe, kopier.
|
||||
rem ("if exist sti\" med etterfolgende backslash er sant kun for mapper.)
|
||||
if exist "%APP_DIR%\notes" if not exist "%APP_DIR%\notes\" (
|
||||
echo [.] Fjerner ugyldig notes-fil ^(git-symlink pa Windows^) ...
|
||||
del /f /q "%APP_DIR%\notes" >nul 2>&1
|
||||
)
|
||||
if not exist "%APP_DIR%\notes\" mkdir "%APP_DIR%\notes" >nul 2>&1
|
||||
xcopy /Y /Q "%SCRIPT_DIR%notes\*.md" "%APP_DIR%\notes\" >nul 2>&1
|
||||
if exist "%APP_DIR%\notes\fast-track.md" (
|
||||
echo [v] Notes OK
|
||||
) else (
|
||||
echo [x] Klarte ikke kopiere notes/ fra "%SCRIPT_DIR%notes"
|
||||
echo Sjekk at notes-mappen finnes i prosjektroten.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
rem --- Find a free port -----------------------------------------------
|
||||
@@ -168,5 +173,18 @@ start "" /min cmd /c "timeout /t 2 >nul & start http://localhost:%PORT%"
|
||||
rem --- Start server ----------------------------------------------------
|
||||
cd /d "%APP_DIR%"
|
||||
%SERVER_CMD%
|
||||
set "SERVER_EXIT=%errorlevel%"
|
||||
|
||||
rem --- Server stoppet: hold vinduet apent sa feil kan leses -----------
|
||||
echo.
|
||||
if not "%SERVER_EXIT%"=="0" (
|
||||
echo [x] Serveren avsluttet med feilkode %SERVER_EXIT%.
|
||||
echo Les meldingen over. Vanlige arsaker: porten var opptatt,
|
||||
echo eller runtime ^(%SERVER_NAME%^) mangler rettigheter.
|
||||
) else (
|
||||
echo Serveren ble stoppet.
|
||||
)
|
||||
echo Trykk en tast for a lukke vinduet ...
|
||||
pause >nul
|
||||
|
||||
endlocal
|
||||
|
||||
Reference in New Issue
Block a user