auroq-os 2.4.11 → 2.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.auroq-core/core-config.yaml +1 -1
- package/CHANGELOG.md +17 -0
- package/bin/auroq-os.js +3 -1
- package/installer/install.ps1 +26 -4
- package/lib/auth.js +17 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.4.12] — 2026-09-03
|
|
4
|
+
|
|
5
|
+
### "Status: ativo" e logo em seguida "Sem acesso ativo" no Windows
|
|
6
|
+
Aluna com contrato em dia rodou o instalador no Windows, viu o acesso confirmado e o
|
|
7
|
+
instalador parou dizendo que nao havia acesso, com um "Assertion failed" no meio. Nao
|
|
8
|
+
era o acesso: e um defeito do proprio Node 24 no Windows (nodejs/node#56645) — o
|
|
9
|
+
programa morre ao encerrar logo depois de falar com a internet, e o codigo de saida
|
|
10
|
+
vira erro. O instalador so olha o codigo de saida.
|
|
11
|
+
|
|
12
|
+
- **O `check-access` encerra de forma segura.** No Windows ele deixa o processo
|
|
13
|
+
terminar sozinho (com folga de 300 ms pro socket fechar) em vez de forcar a saida.
|
|
14
|
+
- **O instalador do Windows baixa o Node 22 (LTS ate abril/2027)** em vez do 24, e
|
|
15
|
+
troca um motor de bolso 24+ que ja estiver instalado. Node que o aluno instalou por
|
|
16
|
+
conta propria nao e tocado. O Mac segue no 24: o defeito e so do Windows.
|
|
17
|
+
- **Pra quem ja travou nisso:** colar o mesmo endereco de novo resolve. Nada precisa
|
|
18
|
+
ser desinstalado.
|
|
19
|
+
|
|
3
20
|
## [2.4.11] — 2026-09-02
|
|
4
21
|
|
|
5
22
|
### Os comandos pararam de prometer "8 dias"
|
package/bin/auroq-os.js
CHANGED
|
@@ -1175,8 +1175,10 @@ if (command === 'init' || command === 'install') {
|
|
|
1175
1175
|
} else if (command === 'check-access') {
|
|
1176
1176
|
// Gate estrito (online) — usado pelo Ops antes de *update e pelo arcane-pack.
|
|
1177
1177
|
// Exit 0 = contrato ativo validado agora; exit 1 = bloqueado / sem conexao.
|
|
1178
|
+
// `auth.sair` em vez de process.exit: no Windows, sair na hora depois do fetch
|
|
1179
|
+
// derruba o Node 24+ com "Assertion failed" e o instalador le como sem acesso.
|
|
1178
1180
|
auth.requireActiveAccess()
|
|
1179
|
-
.then(() =>
|
|
1181
|
+
.then(() => auth.sair(0))
|
|
1180
1182
|
.catch(err => {
|
|
1181
1183
|
error(`Falha ao verificar acesso: ${err.message}`);
|
|
1182
1184
|
process.exit(1);
|
package/installer/install.ps1
CHANGED
|
@@ -43,6 +43,14 @@ $script:AuroqRodaDeArquivo = [bool]$PSCommandPath
|
|
|
43
43
|
|
|
44
44
|
$AuroqSuporte = '11 93621-4486'
|
|
45
45
|
$AuroqNodeMin = 20
|
|
46
|
+
# No Windows o Node 24+ morre ao encerrar logo depois de falar com a rede
|
|
47
|
+
# ("Assertion failed: !(handle->flags & UV_HANDLE_CLOSING)", nodejs/node#56645).
|
|
48
|
+
# O check-access imprimia "Status: ativo" e saia com erro, e o instalador lia
|
|
49
|
+
# "sem acesso ativo". Enquanto o Node nao corrige, o motor de bolso fica na 22
|
|
50
|
+
# (LTS ate abril/2027) e um motor de bolso 24+ ja instalado e trocado. Node que
|
|
51
|
+
# o proprio aluno instalou nao se mexe: o auroq-os tambem se protege ao sair.
|
|
52
|
+
$AuroqNodeEvitarDe = 24
|
|
53
|
+
$AuroqNodeSerie = 'v22.*'
|
|
46
54
|
$AuroqBuildMin = 17763 # Windows 10 1809
|
|
47
55
|
$AuroqDiscoMinMb = 2048
|
|
48
56
|
|
|
@@ -148,6 +156,15 @@ function Test-AuroqNode {
|
|
|
148
156
|
return ($numero -ge $AuroqNodeMin)
|
|
149
157
|
}
|
|
150
158
|
|
|
159
|
+
function Test-AuroqNodeTrocar {
|
|
160
|
+
param([string]$Versao = '')
|
|
161
|
+
if ([string]::IsNullOrWhiteSpace($Versao)) { return $false }
|
|
162
|
+
$maior = ($Versao.TrimStart('v') -split '\.')[0]
|
|
163
|
+
$numero = 0
|
|
164
|
+
if (-not [int]::TryParse($maior, [ref]$numero)) { return $false }
|
|
165
|
+
return ($numero -ge $AuroqNodeEvitarDe)
|
|
166
|
+
}
|
|
167
|
+
|
|
151
168
|
function Get-AuroqNodeZip {
|
|
152
169
|
param([string]$Versao = '', [string]$Arquitetura = 'AMD64')
|
|
153
170
|
$alvo = 'x64'
|
|
@@ -377,12 +394,18 @@ function Install-AuroqNode {
|
|
|
377
394
|
} catch {
|
|
378
395
|
$atual = ''
|
|
379
396
|
}
|
|
380
|
-
|
|
397
|
+
$nodeDir = Get-AuroqNodeDir
|
|
398
|
+
$deBolso = Test-Path (Join-Path $nodeDir 'node.exe')
|
|
399
|
+
$trocar = $deBolso -and (Test-AuroqNodeTrocar $atual)
|
|
400
|
+
if ((Test-AuroqNode $atual) -and -not $trocar) {
|
|
381
401
|
Write-AuroqOk "O motor ja estava instalado ($atual)"
|
|
382
402
|
Write-AuroqLog 'motor' "ja-existia versao=$atual"
|
|
383
403
|
return
|
|
384
404
|
}
|
|
385
|
-
if ($
|
|
405
|
+
if ($trocar) {
|
|
406
|
+
Write-AuroqAviso "O motor $atual tem um defeito conhecido no Windows; vou trocar pela versao estavel anterior."
|
|
407
|
+
Write-AuroqLog 'motor' "troca versao=$atual"
|
|
408
|
+
} elseif ($atual) {
|
|
386
409
|
Write-AuroqAviso "Voce ja tinha um motor antigo ($atual); vou instalar um novo do lado, sem mexer no seu."
|
|
387
410
|
}
|
|
388
411
|
Write-AuroqDiz ' (e um programa que fica numa pasta sua, nao pede senha e nao mexe em nada do seu Windows)'
|
|
@@ -395,7 +418,7 @@ function Install-AuroqNode {
|
|
|
395
418
|
} catch {
|
|
396
419
|
Write-AuroqErro 'Nao consegui baixar o motor do sistema.' 'Confira a internet (ou o antivirus, se houver) e rode o mesmo comando de novo.'
|
|
397
420
|
}
|
|
398
|
-
$escolhido = $indice | Where-Object { $_.version -like
|
|
421
|
+
$escolhido = $indice | Where-Object { $_.version -like $AuroqNodeSerie } | Select-Object -First 1
|
|
399
422
|
if (-not $escolhido) { $escolhido = $indice | Where-Object { $_.lts } | Select-Object -First 1 }
|
|
400
423
|
if (-not $escolhido) {
|
|
401
424
|
Write-AuroqErro 'Nao consegui descobrir qual motor baixar.' 'Rode o mesmo comando de novo em alguns minutos. Se insistir, chame o suporte.'
|
|
@@ -428,7 +451,6 @@ function Install-AuroqNode {
|
|
|
428
451
|
# mark-of-the-web: sem desbloquear, o Windows recusa abrir o que veio da internet
|
|
429
452
|
Unblock-File -Path $destino -ErrorAction SilentlyContinue
|
|
430
453
|
|
|
431
|
-
$nodeDir = Get-AuroqNodeDir
|
|
432
454
|
$pai = Split-Path $nodeDir
|
|
433
455
|
try {
|
|
434
456
|
if (-not (Test-Path $pai)) { New-Item -ItemType Directory -Path $pai -Force | Out-Null }
|
package/lib/auth.js
CHANGED
|
@@ -412,7 +412,24 @@ async function requireActiveAccess() {
|
|
|
412
412
|
return saved;
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
+
// Encerrar logo depois de falar com a rede derruba o Node 24+ no Windows com
|
|
416
|
+
// "Assertion failed: !(handle->flags & UV_HANDLE_CLOSING)" (nodejs/node#56645):
|
|
417
|
+
// o socket do fetch ainda esta fechando quando o process.exit desmonta o processo,
|
|
418
|
+
// e o codigo de saida vira 3 — o instalador lia isso como "sem acesso ativo" logo
|
|
419
|
+
// depois de imprimir "Status: ativo". Aqui o processo termina por conta propria;
|
|
420
|
+
// no Windows, se algo segurar o loop, forca a saida em 300 ms (tempo de sobra pro
|
|
421
|
+
// socket fechar). Fora do Windows nada muda.
|
|
422
|
+
function sair(codigo) {
|
|
423
|
+
process.exitCode = codigo;
|
|
424
|
+
if (process.platform !== 'win32') {
|
|
425
|
+
process.exit(codigo);
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
setTimeout(() => process.exit(codigo), 300).unref();
|
|
429
|
+
}
|
|
430
|
+
|
|
415
431
|
module.exports = {
|
|
432
|
+
sair,
|
|
416
433
|
interactiveLogin,
|
|
417
434
|
getValidSession,
|
|
418
435
|
requireActiveAccess,
|