feat(probe): five probes that found what four guesses could not
Every SoundCloud blocker this week fell to looking at the page instead of
reasoning about it, so the probes are kept rather than thrown away — each one
encodes a question worth re-asking when SoundCloud changes its uploader again.
* `probe_upload_form.py` — enumerate every input/select/textarea/button in the
upload frame with its label. This produced the whole selector table the
uploader is written against: #title, #trackPermalink, #artist, #primaryGenre,
#tags, textarea#description, input#fileInput, and the Upload button.
* `probe_upload_privacy.py` — read the radio groups properly. Answer: they are
geo (worldwide/exclusiveRegions/blockedRegions) and licensing
(all-rights-reserved/commons). NOT privacy.
* `probe_upload_legacy.py` — does an older, non-v2 uploader still exist with a
Public/Private choice? Written when I wrongly believed the v2 form had none.
* `probe_upload_watch.py` — open the real form and poll for state changes, so
PLN can click a control and have the script report exactly which element it
is. Built after concluding, twice, that a control was absent.
* `probe_upload_sharing.py` — drive the MUI Select and VERIFY the trigger
changed. Confirms Public -> Private end to end.
The lesson the set exists to encode: I reported "the v2 uploader is public-only"
after sweeping every input, select and radio in the frame and finding nothing.
The control was a MUI Select, whose options are portal-rendered only once the
trigger is clicked — so an unmounted menu and an absent feature are
indistinguishable to a DOM sweep. PLN pasted the real markup
(`li[role=option][data-value="Private"]`) and it drove fine first try. A
component library's Select is not `<select>`, and "I searched and found nothing"
is a statement about the search.
Showing
armada/tide-table/probe_upload_form.py
0 → 100644
armada/tide-table/probe_upload_legacy.py
0 → 100644
armada/tide-table/probe_upload_privacy.py
0 → 100644
armada/tide-table/probe_upload_sharing.py
0 → 100644
armada/tide-table/probe_upload_watch.py
0 → 100644
Please
register
or
sign in
to comment