TiGa-RCE commited on
Commit
ab1f483
·
verified ·
1 Parent(s): 24cc077

Clarify GPU quota cleanup status

Browse files

Distinguish a ticket explicitly deleted before dispatch from one already consumed by dispatch. Keep CPU and GPU frontend copy aligned.

Files changed (4) hide show
  1. BETA_TESTING.md +3 -2
  2. DATA_POLICY.md +2 -1
  3. RELEASE_MANIFEST.json +3 -3
  4. client.js +5 -3
BETA_TESTING.md CHANGED
@@ -38,8 +38,9 @@ Before remote testers receive the expanded interface:
38
  - Use CPU first; it does not acquire a GPU lease. GPU is explicit and has no
39
  automatic CPU fallback. A failed/quota-limited GPU call is not a successful run.
40
  - When HF rejects a staged GPU run for exhausted allowance, confirm the page
41
- gives CPU/account guidance without a personal-token prompt, confirms pending
42
- input deletion, and allows another visitor to prepare a request immediately.
 
43
  - Check that a loaded recipe changes the echoed effective settings and generation
44
  results, not just the form. Reload and load again to check browser persistence.
45
  - Export/import a recipe backup. Imported data must not contain tracks, networks,
 
38
  - Use CPU first; it does not acquire a GPU lease. GPU is explicit and has no
39
  automatic CPU fallback. A failed/quota-limited GPU call is not a successful run.
40
  - When HF rejects a staged GPU run for exhausted allowance, confirm the page
41
+ gives CPU/account guidance without a personal-token prompt, reports that the
42
+ ticket was deleted or is no longer pending, and allows another visitor to
43
+ prepare a request immediately.
44
  - Check that a loaded recipe changes the echoed effective settings and generation
45
  results, not just the form. Reload and load again to check browser persistence.
46
  - Export/import a recipe backup. Imported data must not contain tracks, networks,
DATA_POLICY.md CHANGED
@@ -22,7 +22,8 @@ queue receives a random one-use ticket, not the uploaded track or network bytes.
22
  Inputs are released from the pending store on dispatch, expiry or shutdown. When
23
  HF explicitly rejects a request for exhausted GPU allowance, the browser asks
24
  the app to discard that pending ticket immediately and reports whether deletion
25
- was confirmed. If that request fails, the fixed 120-second expiry still applies.
 
26
  The framework may retain ticket and result metadata in its transient queue/session
27
  buffers; result metadata includes the temporary job access key. Framework file
28
  uploads and run history are disabled. These restrictions are not secure RAM erasure.
 
22
  Inputs are released from the pending store on dispatch, expiry or shutdown. When
23
  HF explicitly rejects a request for exhausted GPU allowance, the browser asks
24
  the app to discard that pending ticket immediately and reports whether deletion
25
+ was confirmed or the ticket was already consumed. If that request fails, the
26
+ fixed 120-second expiry still applies to any ticket that remains pending.
27
  The framework may retain ticket and result metadata in its transient queue/session
28
  buffers; result metadata includes the temporary job access key. Framework file
29
  uploads and run history are disabled. These restrictions are not secure RAM erasure.
RELEASE_MANIFEST.json CHANGED
@@ -2,9 +2,9 @@
2
  "backend": "cpu+zerogpu",
3
  "files": {
4
  ".gitattributes": "c2ad16718fc51c888d32efc88c8f6e23ebe5fcf6f48e2954f896ba9770f24d72",
5
- "BETA_TESTING.md": "0b948552c6eb7594f51dcf6b96489cf18ec43edf88e386f544f41635f6d120b2",
6
  "BINARY_PROVENANCE.json": "1116e1757afc6c8629cb2d957e3d77380fe4f7e3186c3832d16a5a08abce6aa8",
7
- "DATA_POLICY.md": "28e4c392d2c98e4b9069f97aa483d17d54265672d7bdd2a962be34bc517d2ca8",
8
  "FRONTEND_SOURCE.json": "0b9d9983a6feb93ae56ea95c037d7f744ade111824617785a0cd9f7e2f61308e",
9
  "GODOT_LICENSE": "fb2b3bb82c60f1e76841ba2122eb902f8e39c151476fe21ce10c9a05d1045304",
10
  "IMPORTER_BUILD_RECEIPT.json": "4ba5c533cc617105478e4d85c83f456a7dfa68b1388049624619871ba9e42e9d",
@@ -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": "decc744db4d1241b5f37bb4b76e6b505454230721f4b2117e5fe4d32cb2a560a",
54
  "delivery.py": "07453999c3831a16e8b1fcc2b4ae5fb28beb7d3952a3fae8de65d16eb6f11e5b",
55
  "gpu_tickets.py": "b81aadb5ed42cec9212d44da7e7bbb7b413c5bd517383cac0b49ec9b4d659c92",
56
  "hf-auth.js": "b59691ce2c517f193a5d5141538ebe61c961bb163cefa1fcf09b414c388984c1",
 
2
  "backend": "cpu+zerogpu",
3
  "files": {
4
  ".gitattributes": "c2ad16718fc51c888d32efc88c8f6e23ebe5fcf6f48e2954f896ba9770f24d72",
5
+ "BETA_TESTING.md": "4868acab039a805b659c3830ebf96bc9427c6d3b5d2a911ff00e22762483ea22",
6
  "BINARY_PROVENANCE.json": "1116e1757afc6c8629cb2d957e3d77380fe4f7e3186c3832d16a5a08abce6aa8",
7
+ "DATA_POLICY.md": "0daf1b835bf829c0974e6b566cb5a605c6f52dba4517cfd54bed044e8eaf4264",
8
  "FRONTEND_SOURCE.json": "0b9d9983a6feb93ae56ea95c037d7f744ade111824617785a0cd9f7e2f61308e",
9
  "GODOT_LICENSE": "fb2b3bb82c60f1e76841ba2122eb902f8e39c151476fe21ce10c9a05d1045304",
10
  "IMPORTER_BUILD_RECEIPT.json": "4ba5c533cc617105478e4d85c83f456a7dfa68b1388049624619871ba9e42e9d",
 
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": "8d67f50574f7a97355c812730051ec8719c828fa7f4aa71b685473e648d7dbc6",
54
  "delivery.py": "07453999c3831a16e8b1fcc2b4ae5fb28beb7d3952a3fae8de65d16eb6f11e5b",
55
  "gpu_tickets.py": "b81aadb5ed42cec9212d44da7e7bbb7b413c5bd517383cac0b49ec9b4d659c92",
56
  "hf-auth.js": "b59691ce2c517f193a5d5141538ebe61c961bb163cefa1fcf09b414c388984c1",
client.js CHANGED
@@ -82,12 +82,14 @@ async function submit(body){
82
  return result.data[0];
83
  } catch(error) {
84
  if(isGpuQuotaError(error)){
85
- let removed=false;
86
  try {
87
  const response=await request('/api/gpu/prepare/'+encodeURIComponent(prepared.ticket),{method:'DELETE'});
88
- removed=(await response.json()).deleted===true;
 
 
89
  } catch {}
90
- throw Error(displayError(error)+(removed?' Pending inputs were deleted.':' Pending inputs expire within two minutes if dispatch did not start.'));
91
  }
92
  throw error;
93
  }
 
82
  return result.data[0];
83
  } catch(error) {
84
  if(isGpuQuotaError(error)){
85
+ let cleanup='If dispatch did not start, staged inputs expire within two minutes.';
86
  try {
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
+ : 'The staging ticket is no longer pending.';
91
  } catch {}
92
+ throw Error(displayError(error)+' '+cleanup);
93
  }
94
  throw error;
95
  }