Skip to content

Add Activity Center#53

Open
Jim8y wants to merge 4 commits into
neoorder:masterfrom
Jim8y:codex/p6-activity-center
Open

Add Activity Center#53
Jim8y wants to merge 4 commits into
neoorder:masterfrom
Jim8y:codex/p6-activity-center

Conversation

@Jim8y

@Jim8y Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Scope

  • Add a focused Activity Center page under Settings.
  • Record local dApp activity for launches/connections, wallet authorization, message/transaction signing, submitted transactions, and OneGate Vault transactions.
  • Keep records in the existing Settings store as a capped local timeline, avoiding schema migration and unrelated page refactors.

Validation

  • git diff --check
  • Localized resource parity check across all Strings*.resx files: 310 keys each
  • iOS simulator build: net10.0-ios, iossimulator-arm64
  • Android emulator build: net10.0-android, android-arm64
  • iOS Simulator: opened Settings > Activity Center and verified the activity summary/timeline renders with OneGate Vault wording
  • Android Emulator: opened Settings > Activity Center and verified the activity summary/timeline renders with OneGate Vault wording; no OneGate crash entries in crash buffer

Screenshots

Review follow-up

  • ActivityLogService.GetRecentAsync() now catches corrupt/incompatible local Settings data and returns an empty list instead of crashing Settings/Activity Center.
  • Renamed the unclear VaultOperation activity type to OneGateVaultTransaction and updated visible copy to OneGate Vault transaction wording.
  • Added the new Activity Center resource keys to every supported locale.

Known limitations

  • The timeline is local to the device and does not backfill historical chain transactions.
  • Records are capped to the latest 50 entries to keep Settings storage small.
  • The PR intentionally does not change Home Dashboard, Global Search, or dApp detail pages.

@Jim8y

Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

iOS and Android simulator verification screenshots:

Verification:

  • git diff --check
  • Localized resource parity check across all Strings*.resx files: 310 keys each
  • iOS simulator build: net10.0-ios, iossimulator-arm64
  • Android emulator build: net10.0-android, android-arm64
  • iOS Simulator: opened Settings > Activity Center and verified the activity summary/timeline renders with OneGate Vault wording
  • Android Emulator: opened Settings > Activity Center and verified the activity summary/timeline renders with OneGate Vault wording; no OneGate crash entries in crash buffer

Review follow-up:

  • ActivityLogService.GetRecentAsync() now catches corrupt/incompatible local Settings data and returns an empty list.
  • Renamed the unclear VaultOperation activity type to OneGateVaultTransaction and updated visible copy to OneGate Vault transaction wording.
  • Added the new Activity Center resource keys to every supported locale.

@Jim8y Jim8y force-pushed the codex/p6-activity-center branch from d538bb3 to 3ca4483 Compare June 21, 2026 06:07
Copilot AI review requested due to automatic review settings June 21, 2026 08:01
@erikzhang

Copy link
Copy Markdown
Contributor

What is VaultOperation?

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Settings subpage (“Activity Center”) that records and displays recent on-device wallet/dApp actions (connections, authorizations, signatures, submitted transactions, and Vault operations) using the existing Settings key/value store.

Changes:

  • Introduces a local activity timeline model + persistence service (capped to the latest 50 records).
  • Adds a new Activity Center page (UI + summary counters) and wires it into Shell routing and Settings.
  • Hooks activity recording into dApp launch, wallet authorization, signing, and transaction relay flows.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
OneGateApp/Services/ActivityLogService.cs Persists and retrieves capped activity records from Settings storage.
OneGateApp/Models/ActivityRecord.cs Defines activity record model + kind enum.
OneGateApp/Pages/ActivityCenterPage.xaml.cs Loads recent records into view-model items for display and summary counts.
OneGateApp/Pages/ActivityCenterPage.xaml New Settings subpage UI for activity timeline + counters + empty state.
OneGateApp/Pages/SettingsPage.xaml.cs Adds Activity Center entry and summary text (“No recent activity” / “{n} records”).
OneGateApp/Pages/LaunchDAppPage.xaml.cs Records dApp connections when launching/opening a dApp.
OneGateApp/Pages/LaunchDAppPage.xaml.dAPI.cs Records wallet authorization, signing, and transaction submission events.
OneGateApp/MauiProgram.cs Registers ActivityLogService in DI.
OneGateApp/AppShell.xaml.cs Registers new route for home/settings/activity.
OneGateApp/Properties/Strings.resx Adds EN strings for Activity Center UI and activity record text.
OneGateApp/Properties/Strings.zh-Hans.resx Adds zh-Hans strings for Activity Center UI and activity record text.
OneGateApp/Properties/Strings.Designer.cs Regenerates strongly-typed accessors for new resource keys.
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.

Comment thread OneGateApp/Services/ActivityLogService.cs
@Jim8y

Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

@erikzhang addressed the naming: VaultOperation was too vague, so I renamed the activity kind to OneGateVaultTransaction and changed the visible copy to “OneGate Vault transaction” / “OneGate Vault”. The updated iOS and Android screenshots in the PR show the clearer wording.

@Jim8y

Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

Latest review follow-up after merging current master (bb40f15): the outdated Copilot concern is already addressed by 6c66a62, and the branch now includes merge commit c7b92c8.

Review handling:

  • ActivityLogService.GetRecentAsync() catches corrupt or incompatible local activity history and returns an empty list, so Settings and Activity Center do not crash on bad local data.
  • Activity logging remains diagnostic and does not block wallet operations.

Validation:

  • git diff --check origin/master...HEAD passed.
  • Conflict-marker scan passed.
  • iOS simulator build/install/Settings → Activity Center verified.
  • Android emulator build/install/Settings → Activity Center verified with empty crash log.

Refreshed screenshots:

Screenshots are GitHub release assets only and are not committed to the repository. Ready for re-review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants