Spaces:
Running on Zero
Running on Zero
Clarify GPU quota rejection in hosted training UI
Browse files- FRONTEND_SOURCE.json +1 -1
- RELEASE_MANIFEST.json +2 -2
- client.js +5 -2
FRONTEND_SOURCE.json
CHANGED
|
@@ -5,6 +5,6 @@
|
|
| 5 |
"scope": "Frontend only; no engine, private data, track assets, API calls or storage copied",
|
| 6 |
"status": "Hosted single-engine UI audited; star evaluation remains unconnected",
|
| 7 |
"track_atlas_sha256": "d97c8900e3e5fb17734b5bd61d1f4f4b196d9be30af9848e2e273ae7e4079ae4",
|
| 8 |
-
"client_sha256": "
|
| 9 |
"track_map_sha256": "ab5374aa49c7ccec90a787ee8c56cd71beb56b903bf2bbc322783e6f43c009f0"
|
| 10 |
}
|
|
|
|
| 5 |
"scope": "Frontend only; no engine, private data, track assets, API calls or storage copied",
|
| 6 |
"status": "Hosted single-engine UI audited; star evaluation remains unconnected",
|
| 7 |
"track_atlas_sha256": "d97c8900e3e5fb17734b5bd61d1f4f4b196d9be30af9848e2e273ae7e4079ae4",
|
| 8 |
+
"client_sha256": "ee070dcb67d62c9ee7905ecdd744192a7b35f0925c17f7235c7b50fe5ca463ca",
|
| 9 |
"track_map_sha256": "ab5374aa49c7ccec90a787ee8c56cd71beb56b903bf2bbc322783e6f43c009f0"
|
| 10 |
}
|
RELEASE_MANIFEST.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
"BETA_TESTING.md": "4868acab039a805b659c3830ebf96bc9427c6d3b5d2a911ff00e22762483ea22",
|
| 6 |
"BINARY_PROVENANCE.json": "1116e1757afc6c8629cb2d957e3d77380fe4f7e3186c3832d16a5a08abce6aa8",
|
| 7 |
"DATA_POLICY.md": "0daf1b835bf829c0974e6b566cb5a605c6f52dba4517cfd54bed044e8eaf4264",
|
| 8 |
-
"FRONTEND_SOURCE.json": "
|
| 9 |
"GODOT_LICENSE": "fb2b3bb82c60f1e76841ba2122eb902f8e39c151476fe21ce10c9a05d1045304",
|
| 10 |
"IMPORTER_BUILD_RECEIPT.json": "4ba5c533cc617105478e4d85c83f456a7dfa68b1388049624619871ba9e42e9d",
|
| 11 |
"LICENSE": "53d5851b6440feeae36f72a5f57fcab37858c48b7084765ece4b0c54b9a28ed8",
|
|
@@ -50,7 +50,7 @@
|
|
| 50 |
"builtin_tracks/tracks/Replica R08 Demolition Derby.track": "6f11a9ffbcb477c9d19964566b1b612d2a94675605246e93e21f27bbbdb357ef",
|
| 51 |
"builtin_tracks/tracks/Replica R09 Eau Noir.track": "3ec0a78478cca1a4f0d2d98ac81f40783928adf271b70f0c32d295a6da2cdaa9",
|
| 52 |
"builtin_tracks/tracks/Replica The Champions Trial.track": "a3bfb76422affc774b44c739b0636d08acb901fa7615b9adcb52c069f79834e1",
|
| 53 |
-
"client.js": "
|
| 54 |
"delivery.py": "07453999c3831a16e8b1fcc2b4ae5fb28beb7d3952a3fae8de65d16eb6f11e5b",
|
| 55 |
"gpu_tickets.py": "b81aadb5ed42cec9212d44da7e7bbb7b413c5bd517383cac0b49ec9b4d659c92",
|
| 56 |
"hf-auth.js": "b59691ce2c517f193a5d5141538ebe61c961bb163cefa1fcf09b414c388984c1",
|
|
|
|
| 5 |
"BETA_TESTING.md": "4868acab039a805b659c3830ebf96bc9427c6d3b5d2a911ff00e22762483ea22",
|
| 6 |
"BINARY_PROVENANCE.json": "1116e1757afc6c8629cb2d957e3d77380fe4f7e3186c3832d16a5a08abce6aa8",
|
| 7 |
"DATA_POLICY.md": "0daf1b835bf829c0974e6b566cb5a605c6f52dba4517cfd54bed044e8eaf4264",
|
| 8 |
+
"FRONTEND_SOURCE.json": "4c82ae314b7fafe7cca76f4f0f0c2d80a4a5d46d6b761bd2c908c512de1a178e",
|
| 9 |
"GODOT_LICENSE": "fb2b3bb82c60f1e76841ba2122eb902f8e39c151476fe21ce10c9a05d1045304",
|
| 10 |
"IMPORTER_BUILD_RECEIPT.json": "4ba5c533cc617105478e4d85c83f456a7dfa68b1388049624619871ba9e42e9d",
|
| 11 |
"LICENSE": "53d5851b6440feeae36f72a5f57fcab37858c48b7084765ece4b0c54b9a28ed8",
|
|
|
|
| 50 |
"builtin_tracks/tracks/Replica R08 Demolition Derby.track": "6f11a9ffbcb477c9d19964566b1b612d2a94675605246e93e21f27bbbdb357ef",
|
| 51 |
"builtin_tracks/tracks/Replica R09 Eau Noir.track": "3ec0a78478cca1a4f0d2d98ac81f40783928adf271b70f0c32d295a6da2cdaa9",
|
| 52 |
"builtin_tracks/tracks/Replica The Champions Trial.track": "a3bfb76422affc774b44c739b0636d08acb901fa7615b9adcb52c069f79834e1",
|
| 53 |
+
"client.js": "ee070dcb67d62c9ee7905ecdd744192a7b35f0925c17f7235c7b50fe5ca463ca",
|
| 54 |
"delivery.py": "07453999c3831a16e8b1fcc2b4ae5fb28beb7d3952a3fae8de65d16eb6f11e5b",
|
| 55 |
"gpu_tickets.py": "b81aadb5ed42cec9212d44da7e7bbb7b413c5bd517383cac0b49ec9b4d659c92",
|
| 56 |
"hf-auth.js": "b59691ce2c517f193a5d5141538ebe61c961bb163cefa1fcf09b414c388984c1",
|
client.js
CHANGED
|
@@ -87,7 +87,7 @@ async function submit(body){
|
|
| 87 |
const response=await request('/api/gpu/prepare/'+encodeURIComponent(prepared.ticket),{method:'DELETE'});
|
| 88 |
cleanup=(await response.json()).deleted===true
|
| 89 |
? 'Staged inputs were deleted.'
|
| 90 |
-
: '
|
| 91 |
} catch {}
|
| 92 |
throw Error(displayError(error)+' '+cleanup);
|
| 93 |
}
|
|
@@ -171,7 +171,10 @@ $('run').onclick = async () => {
|
|
| 171 |
clearInterval(progress);
|
| 172 |
$('runState').textContent='ERROR — no successful result confirmed';
|
| 173 |
$('runState').style.color='#ffb5a2';
|
| 174 |
-
|
|
|
|
|
|
|
|
|
|
| 175 |
say(displayError(error));
|
| 176 |
}
|
| 177 |
finally {clearInterval(progress);busy=false;$('keepServer').checked=false;buttons();}
|
|
|
|
| 87 |
const response=await request('/api/gpu/prepare/'+encodeURIComponent(prepared.ticket),{method:'DELETE'});
|
| 88 |
cleanup=(await response.json()).deleted===true
|
| 89 |
? 'Staged inputs were deleted.'
|
| 90 |
+
: 'No pending upload remains for this request.';
|
| 91 |
} catch {}
|
| 92 |
throw Error(displayError(error)+' '+cleanup);
|
| 93 |
}
|
|
|
|
| 171 |
clearInterval(progress);
|
| 172 |
$('runState').textContent='ERROR — no successful result confirmed';
|
| 173 |
$('runState').style.color='#ffb5a2';
|
| 174 |
+
const quotaRejected=isGpuQuotaError(error)||String(error?.message??'').startsWith('GPU allowance is exhausted for this request.');
|
| 175 |
+
$('runSummary').textContent='Elapsed: '+((performance.now()-started)/1000).toFixed(1)+' s\n'+(quotaRejected
|
| 176 |
+
? 'HF rejected this GPU request before a result was published.'
|
| 177 |
+
: 'No downloadable result was received. A connection error does not prove the server stopped.');
|
| 178 |
say(displayError(error));
|
| 179 |
}
|
| 180 |
finally {clearInterval(progress);busy=false;$('keepServer').checked=false;buttons();}
|