feat: add script to download and extract Obsidian mobile APK assets a… - #14
Closed
boldfernando wants to merge 2 commits into
Closed
feat: add script to download and extract Obsidian mobile APK assets a…#14boldfernando wants to merge 2 commits into
boldfernando wants to merge 2 commits into
Conversation
…nd implement Capacitor compatibility shim
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
boldfernando
pushed a commit
to boldfernando/obsidian-web
that referenced
this pull request
Aug 6, 2026
…n against the clean bundle Manual verification per brief §5 (DoD#3-MusiCode1#8, MusiCode1#10-MusiCode1#14), against the clean bundle produced by Commit 2 (this is the first honest point to verify — the previous, still-patched bundle would false-green even a broken bridge, per §4's warning). No source changes were needed — the bridge worked correctly on the first real-browser pass. Adds one artifact: src/client-mobile/test/platform-bridge-queue.selftest.html — same-turn candidate-queue ordering (DoD#12's "המקרה שבגללו התור קיים") and the §3.0/DoD#13 missing-__owPlatformOverrides fallback. Both are impossible to reproduce against the real app.js from outside (its own module-level code fires the real defineProperty('Platform', ...) call, so nothing can be injected ahead of it in the same turn) — matches the opfs-store.selftest.html pattern already used in this repo for DOM-only checks. 7/7 pass, run via Playwright/Chrome against the Node server. Environment: Node server + Chrome (Playwright) both run inside the linux-gui container against http://127.0.0.1:4000 — a real secure context (OPFS-safe, brief §6 top testing risk), server vault at user-data/demo-vault opened via POST /api/vaults/open. Verified live (Chrome, real app.js, real webpack Platform export): DoD#3 window.app, vault.getName(), workspaceUp, getFiles().length: 4 DoD#4 desktop layout: no is-mobile on body. mobile layout: is-mobile + is-phone present (screenshots: commit3-desktop-layout.png, commit3-mobile-layout.png) DoD#5 canSplit/canStackTabs/canDisplayRibbon/canPinSidebar consistent with isMobile in both layouts DoD#6 resizing across 600/900px dynamically updates isPhone/isTablet and their derived getters — confirms §3.2's "never lock these" DoD#7 Object.defineProperty and Element.prototype.addClass both native after full load, in every scenario below DoD#8 layout-mode desktop/mobile/auto all correct across reload, vault stays functional (4 files) through every switch DoD#11 EmulateMobile overrides an explicit layout-mode=desktop (§3.5 precedence); is-mobile present, isMobileApp stays true, NO "emulate-mobile" body class (guard stays closed exactly as brief §3.5 predicts), no half-state; emulateMobile(false) reverts cleanly (screenshot: commit3-emulate-mobile.png) DoD#12 re-arm case (brief §5 DoD#12 first bullet) verified against the live app: a fake Platform candidate injected immediately after the bridge installs (before the real webpack export runs) is rejected, and the real Platform is still captured correctly — app loads fully afterward. Same-turn case → see the new selftest. DoD#13 exercised in the new selftest (missing overrides in a live app can't be produced — boot.js always sets them) DoD#14 window.__owPlatform exposed; obsidian-web-layout (main.js:65) correctly detects it and its ribbon/menu work end-to-end (screenshot: commit3-layout-switcher-menu.png) DoD#9 (regression, src/client-mobile): 71/71 green, unchanged by this commit (no source touched). DoD#15 (visual disable of the layout switcher during emulation) is deliberately NOT covered here — that code doesn't exist yet; it's the next commit. Aside (out of scope, noted for awareness, not fixed here): the Node server's fast-boot cache (api/bootstrap.js) doesn't apply system-plugins.js' community-plugins.json merge the way api/fs.js's /read route does, so a freshly-opened server vault needs one manual enablePluginAndSave() call before obsidian-web-layout auto-loads on a cold reload. Unrelated to Platform capture; a pre-existing gap in the bootstrap cache, not introduced by this slice.
boldfernando
pushed a commit
to boldfernando/obsidian-web
that referenced
this pull request
Aug 6, 2026
DoD#0/MusiCode1#1/MusiCode1#3/MusiCode1#4/MusiCode1#7/MusiCode1#8/MusiCode1#9/MusiCode1#11/MusiCode1#12/MusiCode1#13/MusiCode1#14 אומתו לייב (Chromium, Node runtime-server, secure context). DoD#5 נדחה במכוון לאחרי Commit 7 (חטיפת-קליק עדיין קיימת). fileCount=0 ב-DoD#2 — מקומי בלבד (example-vault.json רק ב-CF build), לא רגרסיה. "A network error occurred"×8 — נמדד גם במובייל, רעש קיים-מראש של סביבת-הבדיקה, לא קשור לסלייס. אין שינויי קוד — אימות בלבד. docs/plans/desktop-layout-now.md §6 Commit 6 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
boldfernando
pushed a commit
to boldfernando/obsidian-web
that referenced
this pull request
Aug 6, 2026
scripts/guard-deploy-target.sh <main|demo> [artifact-dir]: בודק index.html
מול העוגן "demoVault":{"enabled":true (עם שם המפתח — אביגיל ממצא 4, בלעדיו
"enabled":true לבדו false-positive על הארטיפקט הראשי דרך plugins.
obsidian-web-layout). mismatch = exit 1 + הודעה מפורשת.
package.json: build:demo (הסניפט מהבריף) + predeploy/predeploy:demo
(build+guard, npm pre-hook אוטומטי) + deploy/deploy:demo מצומצמים ל-
wrangler deploy בלבד — כדי שהשומר תמיד יבדוק ארטיפקט טרי, לא שאריות.
5 טסטים חדשים לשומר (bun test 39/39). README: טבלת שני הפרופילים + תיעוד
השומר + הבהרה שטופולוגיית היעד (wrangler.toml) לא נקבעה כאן.
בדיקות: npm run predeploy + predeploy:demo רצו בפועל (build+guard בלבד,
לא wrangler deploy האמיתי — לפי הבריף). npm test 96/96. DoD#2/MusiCode1#9/MusiCode1#12/MusiCode1#14
אומתו ידנית.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…nd implement Capacitor compatibility shim