| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| api | ||
| escales | ||
| manifeste | ||
| semaphore | ||
| tasks | ||
| tide-table | ||
| ui | ||
| .gitignore | ||
| DESIGN.md | ||
| PRODUCT.md | ||
| README.md | ||
| ardour_faders.json | ||
| serve.py | ||
| setlist_opal2026.txt |
Two probes for the SoundCloud upload flow. `probe_upload_dom.py` is the one that settled it: rather than hypothesise about why /upload showed no file input, it dumps overlays and z-indexes, enumerates every frame, walks shadow roots, prints the main region's text, and tries clicking whatever looks like a drop zone. The answer arrived in one run — 0 file inputs in the top document, 1 in a nested same-origin iframe at /n/upload. `probe_upload_ui.py` now attaches in that frame and listens on the CONTEXT rather than the page, because a frame's fetches never surface on the parent's request event — the same blind spot in a second guise. It reached the real form: inputs named title / trackPermalink / artist, plus an Upload button. It captured zero finalize requests, and that is correct: it deliberately stops short of clicking Upload, and the finalize call only fires on that click. Which raises the better question — with a real form and a real Upload button in front of us, reconstructing `POST /tracks` may be work we never have to do.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| api | Loading commit data... | |
| escales | Loading commit data... | |
| manifeste | Loading commit data... | |
| semaphore | Loading commit data... | |
| tasks | Loading commit data... | |
| tide-table | Loading commit data... | |
| ui | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| ardour_faders.json | Loading commit data... | |
| serve.py | Loading commit data... | |
| setlist_opal2026.txt | Loading commit data... |