Skip to content

Releases: rollecode/dough

v3.15.2

Choose a tag to compare

@github-actions github-actions released this 19 Jul 12:32
  • Fix the budget claiming more money to allocate than the accounts actually hold once a transaction was excluded: exclusion pulled the cost out of both the category and Ready to Assign, so money that had really left the account was absorbed nowhere. budget_excluded now only hides a transaction from spending reports (cash flow, trends, heatmap, burn rate, today's spent, month expenses); the category it is filed under still absorbs the cost and Ready to Assign stays untouched, so the accounts and the budget reconcile again

v3.15.1

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:27
  • Keep the daily budget on real cash balances for excluded transactions instead of adding the excluded amount back: excluding a transaction still drops it from spending, category and cash-flow reporting and holds Ready to Assign steady, but no longer inflates the spendable pool (which double-counted money that moved in from an excluded account)

v3.15.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:12
  • Add a per-transaction "exclude from budget" toggle in the transaction editor: an excluded row drops out of every budget figure (daily budget, category activity and available, Ready to Assign, cash flow, income, spending trends) but keeps affecting the real account balance and staying in the ledger, and shows an "Ei budjetissa" badge
  • Net excluded transactions out of the budgetable balance so Ready to Assign and the daily budget stay consistent while the real account balance still reflects the money that moved

v3.14.2

Choose a tag to compare

@github-actions github-actions released this 11 Jul 13:43
  • Fix every transfer opening with an empty Vastatili ("Ei toista tiliä"): the edit dialog always reset the counterpart to blank, so a paired transfer looked counterpart-less and saving it stripped the counterpart off; the dialog now pre-selects the real counterpart account parsed from the transfer's "Transfer : " leg
  • Make internal-transfer counterpart maintenance idempotent: re-saving an already-paired transfer reuses its existing opposite leg instead of fabricating a duplicate; shared by the edit and create paths via reconcileCounterpartLeg

v3.14.1

Choose a tag to compare

@github-actions github-actions released this 11 Jul 13:35
  • Fix "Tavoitteet täyteen" (fund to targets) computing 0 while many categories are underfunded: the auto-assign underfunded plan read only manual category_targets and ignored every target that comes from a budget link (subscription, bill, debt, investment, savings goal), so a budget built entirely on links funded nothing; the budget row and auto-assign now resolve targets through one shared makeTargetResolver, and fund-to-targets tops each category up to the target the row shows
  • Make the transaction list item meta line semibold
  • Fix a horizontal scrollbar on the debts tab by letting the grid cells and edit row shrink within their column (min-width: 0)

v3.14.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:57
  • Make savings-goal budget links real and visible: picking a category in the goal modal now actually ties the goal's progress to the budget (previously only the budget inspector's link drove derivation while the modal wrote a dead field), clearing the picker unlinks the goal back to a manually tracked savings monitor, the modal shows which budget group/category the goal is linked to, and deleting a goal clears its category links
  • Disable the saved-amount field on a linked goal (the value is derived from the linked category's available balance, so typing into it never showed up): it now greys out at half opacity with a note saying it is derived, and the stored manual value survives for a later unlink

v3.13.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 14:25
  • Add a write-scoped v1 endpoint for creating a transaction (POST /api/v1/transactions/create), so an authorized API client can add a row Synci has not imported yet - most importantly a pending card hold (varaus) - and dough matches the bank's available balance to the cent; amount is the absolute value with inflow for direction, cleared can be uncleared for a pending hold, and marking it an internal transfer with a counterpart account maintains the opposite leg, local mode only
  • Extend lib/local-transactions.ts with createLocalTransaction, mirroring the update path's insert and signed balance-delta mechanics including the internal-transfer counterpart leg

v3.12.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 16:53
  • Add write-scoped v1 endpoints for editing and deleting transactions (POST /api/v1/transactions/update, POST /api/v1/transactions/delete), so an authorized API client can fix a misrouted transfer or remove a bad row; updates are partial (only provided fields change) and marking a row an internal transfer with a counterpart account maintains the opposite leg, local mode only
  • Extract the local-mode transaction update and delete logic into lib/local-transactions.ts, shared by the session-authenticated route and the v1 API

v3.11.2

Choose a tag to compare

@github-actions github-actions released this 05 Jul 14:35
  • Fix the cover/fund/move/activity popovers being buried under a dark overlay on phones: the calculator sheet's dimmed backdrop style hit the backdrop class those popovers share, so it now applies only to the calculator's own backdrop
  • Make covering overspending one click: when there is not enough unbudgeted money to cover from, the Kata button jumps straight to the overspent list instead of opening a menu whose only option was Erikseen

v3.11.1

Choose a tag to compare

@github-actions github-actions released this 05 Jul 11:56
  • Fix the phone budget layout collapsing rows onto extra lines: the compact four-column grid and the calculator bottom sheet were declared in a media block earlier in the stylesheet than the base rules of the same selectors, so the base rules won and the fourth cell wrapped; the compact grid is now the mobile-first base and phone overrides live after every rule they override
  • Never mark a transaction as an internal transfer without its counterpart account: the category-only fallback created transfers reading "no second account (external)"; an unpaired row now stays as is until the opposite leg arrives or the counterpart is learned
  • Relabel both legs when a late-arriving leg attaches to an existing transfer, and self-heal any transfer leg still showing the original payee once its opposite leg exists, so the counterpart account is always visible
  • Stop suggesting and prefilling the literal Synci import marker as a transaction description