Add dApp load failure and retry states - #67
Conversation
There was a problem hiding this comment.
Pull request overview
Adds explicit loading and load-failure UI states to the dApp runtime WebView so users can retry without leaving the page, and introduces new localized string resources to support the new error/retry copy.
Changes:
- Add loading overlay, load-failure overlay, and retry button to
LaunchDAppPagearound the dApp WebView lifecycle. - Track dApp load state and errors in
LaunchDAppPage.xaml.csand surface them via bindings. - Add new resource keys (
DAppLoadFailed,DAppLoadFailedText,Retry) across localization files and update the generatedStrings.Designer.cs.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| OneGateApp/Pages/LaunchDAppPage.xaml.cs | Adds loading/error/retry state management for WebView navigation and formats error copy. |
| OneGateApp/Pages/LaunchDAppPage.xaml | Wraps WebView with loading and error overlays and wires up retry UX. |
| OneGateApp/Properties/Strings.resx | Adds base (English) strings for dApp load failure and retry. |
| OneGateApp/Properties/Strings.Designer.cs | Adds generated strongly-typed accessors for the new string keys. |
| OneGateApp/Properties/Strings.de.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.es.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.fr.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.id.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.it.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.ja.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.ko.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.nl.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.pt-BR.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.ru.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.tr.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.vi.resx | Adds localized keys for new dApp load failure UI (currently English values). |
| OneGateApp/Properties/Strings.zh-Hans.resx | Adds Simplified Chinese strings for dApp load failure and retry. |
| OneGateApp/Properties/Strings.zh-Hant.resx | Adds Traditional Chinese strings for dApp load failure and retry. |
Files not reviewed (1)
- OneGateApp/Properties/Strings.Designer.cs: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Review feedback fixes pushed in Validation after the update:
Screenshots: |
|
Game-load follow-up pushed in What changed:
Validation:
Screenshots: Note: Pixudi still logs an upstream |
|
Addressed Erik's review request in Changes:
Validation:
No screenshots were committed to the repository. |
|
Addressed Erik's review feedback in Change:
Validation:
Existing SQLitePCLRaw |
|
Current head already addresses the open dApp load-state feedback. Checked in this pass:
No additional commit was needed in this pass. |
|
Additional check for the Commands.cs review thread:
|
# Conflicts: # OneGateApp/Properties/Strings.Designer.cs
|
The Android document-window startup blocker is isolated in #93. That PR preserves the required app-link/new-document architecture and verifies two independent dApp windows without ANRs. This PR will remain draft until #93 is merged into master and the full Android retry-success path is revalidated against it. |
|
Updated the branch to current master in
Simulator validation:
|
# Conflicts: # OneGateApp/Pages/LaunchDAppPage.xaml.cs
|
Synced this branch with current The Validation:
@erikzhang Please re-review when convenient. |

















Summary
Validation
Current blocker
Android retry reaches the current master
DocumentLinkActivity, but that second window can hit an ANR before its first draw. This is outside this PR's load-state implementation, so the PR remains draft until that master behavior is fixed and the retry success path is revalidated on Android.Scope
This PR does not change wallet signing, permissions, dAPI, the dApp catalog, or app-link navigation semantics.