feat(libra): show voided transactions in standalone #92

Merged
padreug merged 2 commits from feat/libra-show-voided into dev 2026-06-06 20:31:58 +00:00
Owner

Summary

  • Libra standalone transactions history surfaces voided entries inline (grey XCircle icon, strike-through title/amount, red-tinted "Voided" badge), so users like Nancy can see their rejected entries instead of having them silently disappear.
  • Balance page Pending section explicitly excludes tags.includes('voided') so the count/sum/list don't pick up voided entries (which keep flag=! per the libra reject convention) once the backend stops filtering them.

Context

Per libra reject semantics, voided entries keep the ! flag and append a voided tag inline. Detection in the UI is tag-based — getStatusInfo now takes the whole transaction and returns the Voided variant when the tag is present, regardless of flag.

Backend companion

aiolabs/libra PR feat/show-voided-user-entries removes the backend filter that was silently dropping voided entries from /libra/api/v1/entries/user. Merge order doesn't matter, but the UX only feels right with both in place.

Test plan

  • Backend PR merged + regtest LNbits restarted
  • As Nancy in the libra standalone (/libra.html): voided transactions appear in the history with strike-through styling and a grey Voided icon
  • Balance page Pending count/sum reflects only genuinely pending (non-voided) transactions
  • Income/Expense type filters still work; voided expenses remain under "Expense" and voided income under "Income"
## Summary - Libra standalone transactions history surfaces voided entries inline (grey XCircle icon, strike-through title/amount, red-tinted "Voided" badge), so users like Nancy can see their rejected entries instead of having them silently disappear. - Balance page Pending section explicitly excludes `tags.includes('voided')` so the count/sum/list don't pick up voided entries (which keep flag=`!` per the libra reject convention) once the backend stops filtering them. ## Context Per libra reject semantics, voided entries keep the `!` flag and append a `voided` tag inline. Detection in the UI is tag-based — `getStatusInfo` now takes the whole transaction and returns the Voided variant when the tag is present, regardless of flag. ## Backend companion `aiolabs/libra` PR `feat/show-voided-user-entries` removes the backend filter that was silently dropping voided entries from `/libra/api/v1/entries/user`. Merge order doesn't matter, but the UX only feels right with both in place. ## Test plan - [ ] Backend PR merged + regtest LNbits restarted - [ ] As Nancy in the libra standalone (`/libra.html`): voided transactions appear in the history with strike-through styling and a grey Voided icon - [ ] Balance page Pending count/sum reflects only genuinely pending (non-voided) transactions - [ ] Income/Expense type filters still work; voided expenses remain under "Expense" and voided income under "Income"
Voided entries keep their '!' flag and gain a 'voided' tag per the libra
reject convention, so detecting them needs a tag check rather than a new
flag char. Render them inline with the existing 'x'-flag voided styling
(grey XCircle icon, strike-through title/amount, red-tinted Voided badge)
so users like Nancy can see their rejected entries instead of having them
silently disappear from the list.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
BalancePage filtered tx.flag === '!' to compute pending count/sum/list.
After the libra backend stops hiding voided transactions, those will
arrive with flag='!' plus a 'voided' tag and would otherwise leak into
the Pending section. Add the tag-aware exclusion to keep Pending
showing only genuinely pending entries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
padreug deleted branch feat/libra-show-voided 2026-06-06 20:31:59 +00:00
Sign in to join this conversation.
No description provided.