Skip to content

chore(wallet-lib): upgrade webpack to v.5#10

Merged
antouhou merged 1 commit into
masterfrom
wallet-lib-webpack-5
Nov 4, 2021
Merged

chore(wallet-lib): upgrade webpack to v.5#10
antouhou merged 1 commit into
masterfrom
wallet-lib-webpack-5

Conversation

@shuplenkov
Copy link
Copy Markdown

@shuplenkov shuplenkov commented Nov 4, 2021

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:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

@shuplenkov shuplenkov changed the title chore(wallet-lib): update webpack to v.5 chore(wallet-lib): upgrade webpack to v.5 Nov 4, 2021
@shuplenkov shuplenkov added this to the v0.22.0 milestone Nov 4, 2021
@antouhou antouhou merged commit 6205acf into master Nov 4, 2021
@antouhou antouhou deleted the wallet-lib-webpack-5 branch November 4, 2021 10:28
shumkov pushed a commit that referenced this pull request Nov 23, 2022
shumkov pushed a commit that referenced this pull request Nov 23, 2022
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>
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants