Found while wiring hardware-wallet tag backup on Android (synonymdev/bitkit-android#1163, follow-up to #113). Verified against v0.5.5.
Problem
get_all_activities_tags() takes no wallet id, and the only scoped getter is get_tags(wallet_id, activity_id) for a single activity. There is no way to ask for "tags for wallet X", so apps fetch everything and filter in app code:
coreService.activity.getAllActivitiesTags()
.filter { it.walletId == WalletScope.default }
That single line is the app's entire backup-scoping policy. It has already been added and removed once in Android, each time silently changing which wallet scopes leave the device — which matters, because these records go to a remote backup server.
Requested change
Expose get_activities_tags(wallet_id: Option<String>), where None returns every scope, so scoping becomes an explicit argument visible in review rather than an app-side filter. The same argument applies to get_all_pre_activity_metadata().
Acceptance criteria
- Tags can be read for a single wallet scope and for all scopes, without app-side filtering.
- The existing unscoped behaviour remains available.
- Tests cover scoped and unscoped reads, including a hardware
trezor:{hash} scope.
Found while wiring hardware-wallet tag backup on Android (synonymdev/bitkit-android#1163, follow-up to #113). Verified against
v0.5.5.Problem
get_all_activities_tags()takes no wallet id, and the only scoped getter isget_tags(wallet_id, activity_id)for a single activity. There is no way to ask for "tags for wallet X", so apps fetch everything and filter in app code:coreService.activity.getAllActivitiesTags() .filter { it.walletId == WalletScope.default }That single line is the app's entire backup-scoping policy. It has already been added and removed once in Android, each time silently changing which wallet scopes leave the device — which matters, because these records go to a remote backup server.
Requested change
Expose
get_activities_tags(wallet_id: Option<String>), whereNonereturns every scope, so scoping becomes an explicit argument visible in review rather than an app-side filter. The same argument applies toget_all_pre_activity_metadata().Acceptance criteria
trezor:{hash}scope.