Skip to content

Release: develop -> main#3581

Merged
TaprootFreak merged 1 commit intomainfrom
develop
Apr 20, 2026
Merged

Release: develop -> main#3581
TaprootFreak merged 1 commit intomainfrom
develop

Conversation

@github-actions
Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

* fix: support endpoint performance and null outputAsset crash

Replace findOne+relations with explicit QueryBuilder joins in three
support endpoints to avoid transitive eager-load fan-out through
BuyCrypto.transaction / BuyFiat.transaction / BankTxReturn.transaction
(all declared eager: true), which ballooned the query plan to 2-3s
even for entities with no related rows.

Also add optional chaining on targetEntity.outputAsset.name/blockchain
in the support-issue transaction mapper to prevent a 500 when the
referenced BuyCrypto has no outputAsset yet.

Measured against DEV DB:
- GET /v1/support/issue/:id/data: 2.3-4.0s -> 70-90ms
- GET /v1/support/:id (user with 75 txns/19 issues): ~900ms -> ~700ms
- GET /v1/support/:id/transaction-pdf: 650ms -> 200ms

Response payloads verified byte-identical (after timezone
normalization) across 5 users and 15 issues.

* refactor: use loadEagerRelations:false instead of QueryBuilder

Simpler alternative to the prior QueryBuilder rewrite for stopping
transitive eager-load fan-out on support endpoints. Same query plan,
~10 lines less code, keeps idiomatic find() API.
@github-actions
Copy link
Copy Markdown
Author

❌ Security: 3 critical vulnerabilities

@TaprootFreak TaprootFreak merged commit b33c7cc into main Apr 20, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants