chore(wallet-lib): upgrade webpack to v.5#10
Merged
Conversation
shumkov
pushed a commit
that referenced
this pull request
Nov 23, 2022
feat: added in protocol version
shumkov
pushed a commit
that referenced
this pull request
Nov 23, 2022
feat: add Abstract StateTransition
5 tasks
shumkov
added a commit
that referenced
this pull request
May 13, 2026
…erification
When a user reports a UI symptom in SwiftExampleApp, the fastest way to a
real diagnosis is reading the app's actual SwiftData state rather than
inferring from screenshots. The app's UI is a @Query-driven projection of
the SQLite database in default.store; reading the .store directly gives
ground truth in two `sqlite3` queries.
Documents the read-only toolkit available via the standard Xcode
command-line tools (xcrun simctl + sqlite3 + WebFetch against insight),
no extra installs:
- Screenshot via `xcrun simctl io booted screenshot`
- App data container lookup via `xcrun simctl get_app_container`
- SwiftData state read via sqlite3 on the .store file
- Pasteboard sync via `xcrun simctl pbcopy/pbpaste`
- Log capture via `xcrun simctl spawn booted log {stream,show}`
- Deep linking via `xcrun simctl openurl`
Includes a schema cheat sheet for the ZPERSISTENT* tables most relevant
to this app (AssetLock / Identity / Wallet / Account / Txo / Transaction
/ PublicKey / Document) and the AssetLockStatus discriminant mapping
(0=Built, 1=Broadcast, 2=InstantSendLocked, 3=ChainLocked).
Seven workflows are documented with the exact commands:
- A: verify a "stuck" asset lock (SwiftData state + interpretation table)
- B: cross-check against testnet chain via insight API
- C: walk Core Data foreign-key relationships
- D: capture a screenshot for visual confirmation
- E: stream logs while the user performs an action
- F: locate the booted UDID + app bundle id
- G: deep-link into a specific screen via URL scheme
Includes a worked example from this session: the iter 5 stuck-resume
diagnosis (slot #10 status=1, no proof, chain has txlock=true →
SPV catch-up gap). Two sqlite3 queries + one WebFetch was enough to
go from "the row says 'Waiting…' forever" to "Rust needs a refresh
helper on wallet load."
Explicitly NOT in scope: tap/swipe/type. Documented as a limitation;
the user drives the UI, the skill verifies it. idb is mentioned as
the install for full automation if needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
shumkov
added a commit
that referenced
this pull request
May 13, 2026
…(tap/swipe/type) Renames simulator-inspect to simulator-control to reflect the expanded scope: now covers full UI automation (tap, swipe, type, hardware buttons, accessibility tree dump) in addition to the existing inspection toolkit (screenshot, SwiftData read, log capture, chain cross-check). Adds idb (Facebook's iOS Development Bridge) as a required dependency: - brew install facebook/fb/idb-companion (Swift daemon, 1.1.8) - pipx install --python /opt/homebrew/bin/python3.12 fb-idb (Python CLI, 1.1.7) The Python 3.12 pin is load-bearing: fb-idb 1.1.7 uses asyncio.get_event_loop() which Python 3.14 dropped — installing under default Homebrew Python yields "RuntimeError: There is no current event loop". Documented as a pitfall. Killer feature documented: label-find-then-tap pattern. Instead of hardcoded pixel coordinates, dump the accessibility tree (`idb ui describe-all`), filter by AXLabel or AXUniqueId, and tap the frame center. Robust across iPhone models, orientations, and SwiftUI layout tweaks. Includes a `tap_label` shell function in the skill that handles exact + substring matching with focus + enabled filtering. Nine workflows documented end-to-end with verified commands: - A: stuck-asset-lock diagnostic (SwiftData + insight cross-check) - B: full UAT scenario (terminate / launch / tap-label sequence) - C: tap-by-substring (e.g. matching an outpoint prefix) - D: describe-point for hit-test debugging - E: TextField input + return key - F: hardware buttons (HOME, LOCK, SIRI, SIDE_BUTTON) - G: screenshot-diff for state-change verification - H: log capture during an action - I: poll-and-wait for a state transition Worked example: the iter 5 stuck-resume diagnosis from this session, where we used idb to navigate Back -> screenshot the full asset-lock list (revealing that slot #10 is the only one stuck on Broadcast, all 8 others reached InstantSendLocked) -> tap-by-substring to restore the user's screen. Five minutes of automated control instead of screenshot squinting. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 tasks
shumkov
added a commit
that referenced
this pull request
May 14, 2026
…letInfo `PlatformWalletInfo`'s `WalletInfoInterface` impl was relying on the trait's default `apply_chain_lock` (no-op returning empty per-account map) and `last_applied_chain_lock` (`None`). The chain-lock dispatch task spawned by `dash_spv::client::sync_coordinator::run` calls `wallet.write().await.apply_chain_lock(...)` on every validated `ChainLockReceived` event — so every CLSig was hitting the no-op default. Promotion of `InBlock` records to `InChainLockedBlock` never ran, `metadata.last_applied_chain_lock` stayed `None`, and the asset-lock resume flow couldn't observe finality through either the event cascade or the metadata-fallback path. This is the actual root cause behind "stuck asset lock #10": everything downstream (the `chain_lock_promotions` bridge, the metadata-based proof fallback) was correct in isolation but useless because the foundational delegation was missing. Delegate both methods to `self.core_wallet`, which holds the upstream `ManagedWalletInfo` whose impls do the real work. Added a `debug!` log on `apply_chain_lock` invocation so future regressions in the dispatch path are observable without a debugger. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Issue being fixed or feature implemented
Need to update webpack to version 5 before monorepository migration
What was done?
Webpack was updated to version 5
Webpack configs were updated
How Has This Been Tested?
With tests
Breaking Changes
No
Checklist:
For repository code-owners and collaborators only