Navigation after sign-in (navPlan + navigate): App Store Connect Apps > + > New App (EN/TR), App Privacy by /apps/<appId>/distribution/privacy or the app list, Play app list by package name > Policy and programs > App content > Start / Manage. Every navigation click goes through navClick: the click gate stays absolute, only a link named exactly Start / Manage / Başla / Yönet passes. Each step is logged; a step not found in time or two matching apps -> the printed steps and wait (no crash). The TR gate now refuses "uygula" (apply) but not "uygulama" (app). Browser (cli/console/session.ts): attach to a Chrome with remote debugging (--cdp or DevToolsActivePort), else on macOS a temporary profile with only Local State and the profile's Cookies filtered to the console hosts, opened in real Chrome and deleted at the end, else storebound's own profile (--fresh-profile). Cookies are never printed. Desktop: fresh_profile option, the dialog says it uses the Chrome sign-in. Tests: navigation fixtures (ASC EN/TR, Play list, App content, missing step, duplicates, deny-listed decoys), session file selection, host filter, cleanup, and a real-Chrome copy-mode test on a throwaway profile and a local site.
16 lines
959 B
HTML
16 lines
959 B
HTML
<!doctype html>
|
|
<!-- MODELED, not recorded: an app's dashboard in Play Console with the collapsed "Policy and programs" menu that holds
|
|
App content. Decoys (Send changes for review, Publish, Start rollout) must never be clicked. Placeholder data only. -->
|
|
<html lang="en"><head><meta charset="utf-8"><title>Dashboard - Play Console</title><script src="/_common.js"></script></head>
|
|
<body>
|
|
<h1>Example Game</h1>
|
|
<nav aria-label="App menu">
|
|
<button type="button" id="pol" aria-expanded="false">Policy and programs</button>
|
|
<div id="sub" hidden><a href="/play-app-content.html">App content</a></div>
|
|
</nav>
|
|
<button type="button">Send 2 changes for review</button> <button type="button">Publish</button>
|
|
<a href="#">Start rollout to Production</a>
|
|
<script>
|
|
document.getElementById('pol').addEventListener('click', e => { document.getElementById('sub').hidden = false; e.currentTarget.setAttribute('aria-expanded', 'true'); });
|
|
</script>
|
|
</body></html>
|