AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 22 Bitcoin

feat(wallets): add transaction search and date filters. (#7133)

Public commit record

What the developer wrote

Authored by Sup3rlativ3

100/100 · Strong
feat(wallets): add transaction search and date filters. (#7133)

* feat(wallets): add transaction search and date filters

* chore(i18n): mark wallet date label

* test(wallets): cover transaction search filters

* fix(wallets): use nolabel filter

* test(wallets): update nolabel filter assertion

* test(wallets): relax export url assertion

* fix(wallets): preserve filters on custom range

* fix(wallet): align transaction filters with invoice pattern

* fix(wallet): resolve export menu merge conflict

* fix(wallet): handle custom date bounds and case-insensitive direction filters

* fix(wallet): add all-time date reset and end-date label

* chore(ci): rerun pipeline after transient apt mirror failure

* fix(wallet): repair transaction direction filter and tests

* fix(wallet): make transactions toolbar responsive

* fix(wallet): restore direct user id lookup

* chore(ci): retrigger pipeline

* test(wallet): preserve fractional timestamp precision

* fix(wallet): align transaction export actions

* fix(wallet): guard transaction nullability paths

* fix(wallet): align date filters with invoice timezone flow

* test(wallet): cover clear all filter reset

* test(wallet): cover label filter search text preservation

* fix(wallet): submit transaction search on enter

* test(wallet): cover date preset search text preservation

* test(wallet): cover no-label transaction filter

* test(wallet): cover combined direction and label filters

* test(wallet): cover export link filter state

* test(wallet): cover transaction filter term parsing

* refactor(wallet): drop redundant antiforgery attribute

* fix(wallet): preserve timezone in preset date filters

* fix(wallet): label transaction search input

* fix(wallet): ignore unsupported search filter tokens

* perf(wallet): defer transaction metadata hydration

* test(wallet): remove reflection from filter fast test
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit adds new search and filter features to the wallet transaction list in BTCPay Server. Users can now filter transactions by text, direction (incoming/outgoing), labels, and date ranges, and export results matching those filters. The change is a feature addition with a large amount of new code, but the diff itself does not show an obvious security vulnerability. There are a few minor hardening touches, such as adding a missing null check for an unknown cryptocurrency code and removing a redundant anti-forgery attribute.

Recommended action

Treat this as a normal feature commit, not a security fix. Reviewers should verify that user-supplied SearchTerm/SearchText values are properly sanitized/encoded in URLs and that in-memory filtering cannot be used to leak transactions across store or wallet boundaries. The export endpoint's new parameters should be checked for authorization enforcement. No immediate patching is indicated by the diff alone.

Security signals we found

01

New user-controlled search/filter parsing added to controller

02

SearchString tokens now include label, nolabel, and direction

03

In-memory filtering of transaction metadata after DB fetch

04

Export endpoint now accepts searchTerm, searchText, timezoneOffset parameters

05

Added null check for unknown network in pending transaction action

06

Removed redundant antiforgery attribute

Risk score

Why this scored 22/100

Our methodology →
Potential impact 2/30
Exploitability 3/25
Stealth signal 2/15
Affected reach 4/15
Confidence 7/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.