Skip to main content
transaction scan progress

Fixed browser transaction scan progress

xpenser fixed browser image scan progress by replacing the unsupported proxy WebSocket path with same-origin HTTP polling.

Published June 24, 2026
xpenser transactions table with filters and editing workflow

Browser transaction scanning now reports progress through a same-origin status endpoint instead of relying on a WebSocket path the proxy did not support.

This release came from PR #53 and is now part of the xpenser release archive. It gives people evaluating an open-source expense tracker a clearer view of how the product has improved over time.

What changed

  • Added a public scan job status endpoint.
  • Added a web route that forwards browser polling requests to the API.
  • Kept the WebSocket subscription available for direct API clients and Telegram.

Why it matters

The scan job could be created successfully, but the browser lost progress events. Polling keeps the user informed and avoids false connection errors.

Where it fits

This makes the receipt and image scanning workflow more reliable inside the xpenser web app.

For a broader product overview, start with the xpenser home page. Developers can also explore the personal finance API and MCP tools, while self-hosters can review the self-hosted personal finance tracker page.

Start hosted, then self-host when ready

Create a hosted xpenser account for the public instance, or review the MIT licensed source and run your own deployment from Docker Compose.