Add dApp load failure and retry states#67
Conversation
|
Simulator validation completed for this PR. Validation run:
Screenshots: |
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.
| { | ||
| string appName = DApp?.NameLocalizer.Localize() ?? GetHostOrUrl(failedUrl); | ||
| DAppLoadErrorTitle = Strings.DAppLoadFailed; | ||
| DAppLoadErrorMessage = string.Format(Strings.DAppLoadFailedText, appName, result); |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
| <data name="DAppLoadFailed" xml:space="preserve"> | ||
| <value>DApp did not load</value> | ||
| </data> | ||
| <data name="DAppLoadFailedText" xml:space="preserve"> | ||
| <value>{0} could not be loaded. Check your connection and try again. Status: {1}</value> |
|
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 |








Summary
Validation
Notes