Skip to content

01a0672f - feat(history): label plain REALU transfers as received/sent - #965

Closed
Blume1977 wants to merge 8 commits into
RealUnitCH:stagingfrom
Blume1977:feat/history-transfer-labels
Closed

01a0672f - feat(history): label plain REALU transfers as received/sent#965
Blume1977 wants to merge 8 commits into
RealUnitCH:stagingfrom
Blume1977:feat/history-transfer-labels

Conversation

@Blume1977

@Blume1977 Blume1977 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

EN:
Labels inbound REALU from an external wallet as Empfangen instead of Kauf, using the API category. The history screenshot diffs against the baseline from #967.

DE:
Beschriftet eingehende REALU von einer fremden Wallet als Empfangen statt Kauf, anhand der API-Kategorie. Der History-Screenshot diffed gegen die Baseline aus #967.

Details

Same four rows as #967. The shared golden transaction_history_transfer_labels changes +10 from Kauf to Empfangen and −10 from Verkauf to Gesendet. Brokerbot rows stay Kauf/Verkauf.

Blume1977 and others added 2 commits September 2, 2026 11:00
Incoming token transfers from a foreign wallet showed up as 'Kauf' in the
transaction list, because the row widgets label purely by direction
(customer report via RealUnit, 02.09.2026). Brokerbot purchases carry no
DFX transaction, so the app cannot tell them apart on its own.

The API now classifies every history transfer (backend#5353): purchase and
sale for Brokerbot counterparties, transferIn/transferOut for plain token
movements. The app stores that category (new transactions.category column,
schema v3) and resolves the row title through a shared helper: DFX-backed
transactions keep the direction-based buy/sell labels, categorized plain
transfers render as received/sent, and rows without a category (legacy
data, older API) keep the previous direction labels, so backend and app
can roll out independently.

Already-synced entries pick up their category on the next sync via the
existing update path.
Widget tests now assert the concrete received/sent/buy/sell strings
from the localization delegate instead of relative inequality.
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Title tests now pin the i18n keys, and the description no longer names internal identifiers.

DE:
Die Titel-Tests pinnen jetzt die i18n-Keys, und die Beschreibung nennt keine internen Kennungen mehr.

Row titles now follow the theme instead of a hardcoded TextStyle, and
the language files end with a newline.
A non-string category on the wire no longer throws in fromJson, so one
bad event cannot abort the whole history sync.
Match the DTO majority convention. Drop the extra is-String guard and its type-mismatch test.
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 4, 2026 23:24
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 4, 2026 23:37
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 4, 2026 23:46
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Ready after 4 review passes.
Plain on-chain REALU transfers are labeled received or sent from the API category instead of buy/sell.

DE:
Bereit nach 4 Review-Durchläufen.
Reine On-Chain-REALU-Transfers werden anhand der API-Kategorie als empfangen oder gesendet beschriftet, nicht als Kauf oder Verkauf.

Details

Review passes: (1) i18n-pinned titles; (2) Theme textStyle; (3) optional category parsed with as String?; (4) self-hosted golden baselines for dashboard and history rows after the title style change.

Open comments: none unresolved (one earlier summary comment from this work, no review threads).
Mergeable: MERGEABLE at 8ba7f24.
Checks at that head: Analyze & Test, Coverage Floor Gate, Visual Regression, BitBox quirks audit, Handbook Build Check — success. Maestro handbook flows skipped (opt-in label, not set).

@TaprootFreak TaprootFreak added the tier3:full Opt-in: run Tier 3 Maestro handbook flows on this PR label Sep 5, 2026
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 6, 2026 15:08
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 6, 2026 15:11
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 6, 2026 19:34
TaprootFreakAI and others added 2 commits September 6, 2026 21:37
Pin the legacy inbound-as-Kauf fallback and the API-category titles
(purchase, received, sent, sale) as visual regression screens.
@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 6, 2026 19:52
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 6, 2026 20:09
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Parking this fix PR so a baseline-only PR can land first. After that merge, this branch will be rebased so the history screenshot diffs Kauf → Empfangen.

DE:
Dieser Fix-PR wird geparkt, damit zuerst ein reiner Baseline-PR landen kann. Danach wird dieser Branch rebased, damit der Screenshot-Diff Kauf → Empfangen sichtbar ist.

Details

Branch feat/history-transfer-labels stays on the fork at bbd5546. Not discarded.

@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

Closed in favour of a baseline-only PR first (inbound still labelled Kauf). Reopen/rebase this fix after that merge.

TaprootFreak pushed a commit that referenced this pull request Sep 7, 2026
EN:
Pins the current history titles: inbound REALU from an external wallet
is labelled Kauf. A follow-up PR will change the same screenshot to
Empfangen.

DE:
Hält die heutigen History-Titel fest: eingehende REALU von einer fremden
Wallet heissen Kauf. Ein Folge-PR ändert denselben Screenshot zu
Empfangen.

<details>
<summary>Details</summary>

No production-code change. One golden
(`transaction_history_transfer_labels`) with four rows (100 in, 10 in,
10 out, 20 out). PNGs come from `golden-regenerate.yaml` on the
self-hosted runner — not generated locally.

The parked fix is #965 / `feat/history-transfer-labels`.
After this merge it will be rebased so GitHub shows the pixel
before/after on this file.

</details>

---------

Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@TaprootFreakAI TaprootFreakAI reopened this Sep 7, 2026
@TaprootFreakAI TaprootFreakAI changed the title feat(history): label plain REALU transfers as received/sent 01a0672f - feat(history): label plain REALU transfers as received/sent Sep 7, 2026
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

Head is still the fork SHA; the rebased fix is on origin/feat/history-transfer-labels and continues in a new PR.

TaprootFreak pushed a commit that referenced this pull request Sep 7, 2026
#969)

EN:
Labels inbound REALU from an external wallet as Empfangen instead of
Kauf, using the API category. The history screenshot diffs against the
baseline from #967.

DE:
Beschriftet eingehende REALU von einer fremden Wallet als Empfangen
statt Kauf, anhand der API-Kategorie. Der History-Screenshot diffed
gegen die Baseline aus #967.

<details>
<summary>Details</summary>

Same four rows as #967. The shared golden
`transaction_history_transfer_labels` changes +10 from Kauf to Empfangen
and −10 from Verkauf to Gesendet. Brokerbot rows stay Kauf/Verkauf.

Follows closed #965 (fork head could not be force-pushed after the
rebase).

</details>

---------

Co-authored-by: Blume1977 <jana.ruettimann@dfx.swiss>
Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tier3:full Opt-in: run Tier 3 Maestro handbook flows on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants