The 3.3.25 diagnostics captured the live upload page: doodstream moved the upload server from a `srv_url` JS variable into the multipart form's action, e.g. action="https://xxx.cloudatacdn.com/upload/01?SESSID", with a per-page session token in the query that matches the page's hidden sess_id input. The old parser found neither and fell through to the stale hardcoded node, which returns an empty filecode. - Parse the upload server from the form action (matched via the /upload/ path), un-escaping & in the query string. - Refresh this.sessId from the SAME page (only on action match) so the multipart sess_id field matches the node URL's token; login-time and node tokens otherwise diverge. Keep the existing sessId if the input is absent. - Keep the legacy ?op=upload_server JSON and srv_url paths as fallbacks; the fail-fast throw from 3.3.25 stays as the last resort. - Tests: form-action parse, sess_id refresh, & un-escape (9 total). Whether this fully resolves the uploads is for the next server logs to confirm; both the node and sess_id fixes are individually correct. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backup-crypto.test.js | ||
| coalesced-set.test.js | ||
| config-store.test.js | ||
| doodstream-upload.test.js | ||
| hosters.test.js | ||
| log-policy.test.js | ||
| log-rotation.test.js | ||
| queue-prune.test.js | ||
| remote-config.test.js | ||
| remote-server.test.js | ||
| semaphore.test.js | ||
| throttle.test.js | ||
| throttled-cache.test.js | ||
| ui-smoke.js | ||
| upload-manager.test.js | ||