[PR #8196] [AI] Mobile transaction updates field-level merging #136443

Open
opened 2026-06-17 21:13:47 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/8196
Author: @mannkind
Created: 6/12/2026
Status: 🔄 Open

Base: masterHead: amount-nearby-race


📝 Commits (1)

  • fad07a9 Attempt to fix entered amount being lost sometimes when tapping the Nearby payee chip before field loses focus

📊 Changes

2 files changed (+27 additions, -6 deletions)

View changed files

📝 packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx (+21 -6)
upcoming-release-notes/8196.md (+6 -0)

📄 Description

Description

I haven't been able to reproduce the issue reported in https://github.com/actualbudget/actual/issues/6706#issuecomment-4297480933. I thought maybe there might be some kind of race condition on updating the transaction that I didn't quite grok.

Claude (Fable 5) concurs that is likely two concurrent updates (e.g. the blur committing the typed amount, and the Nearby tap setting the payee) each replacing the entire transaction from a stale copy, so whichever landed last erased the other's field.

Claude Code (Fable 5) helped work through the potential issue and the fix.

Issue reported on https://github.com/actualbudget/actual/issues/6706#issuecomment-4297480933

Testing

Reproducing the issue has not been possible for me, but I've manually tested this locally and don't see it adding additional issues. 😅

Checklist

  • Release notes added (see link above)
  • No obvious regressions in affected areas
  • Self-review has been performed - I have read every line of this diff and can explain what each change does and why it is needed

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 37 13.23 MB → 13.23 MB (+383 B) +0.00%
loot-core 1 4.86 MB 0%
api 2 3.87 MB 0%
cli 1 7.97 MB 0%
crdt 1 11.12 kB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
37 13.23 MB → 13.23 MB (+383 B) +0.00%
Changeset
File Δ Size
src/components/mobile/transactions/TransactionEdit.tsx 📈 +383 B (+0.52%) 71.47 kB → 71.85 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/TransactionEdit.js 90.63 kB → 91 kB (+383 B) +0.41%

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/index.js 1.58 MB 0%
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 814.39 kB 0%
static/js/ManageRules.js 46.47 kB 0%
static/js/PayeeRuleCountLabel.js 7.1 kB 0%
static/js/ReportRouter.js 1.25 MB 0%
static/js/ScheduleEditForm.js 146.51 kB 0%
static/js/SchedulesTable.js 203.52 kB 0%
static/js/TransactionList.js 82.8 kB 0%
static/js/Value.js 4.49 MB 0%
static/js/_baseIsEqual.js 76.76 kB 0%
static/js/ca.js 185.63 kB 0%
static/js/client.js 450.92 kB 0%
static/js/da.js 100.19 kB 0%
static/js/de.js 182.38 kB 0%
static/js/en-GB.js 9.25 kB 0%
static/js/en.js 201.71 kB 0%
static/js/es.js 177.58 kB 0%
static/js/extends.js 473.99 kB 0%
static/js/fr.js 177.35 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 163.93 kB 0%
static/js/narrow.js 364.55 kB 0%
static/js/nb-NO.js 147.07 kB 0%
static/js/nl.js 119.71 kB 0%
static/js/pt-BR.js 187.34 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 173.33 kB 0%
static/js/theme.js 31.01 kB 0%
static/js/toString.js 638.83 kB 0%
static/js/uk.js 216.7 kB 0%
static/js/useFormatList.js 2.52 kB 0%
static/js/useTransactionBatchActions.js 9.71 kB 0%
static/js/wide.js 298.23 kB 0%
static/js/workbox-window.prod.es5.js 7.33 kB 0%
static/js/zh-Hans.js 116.44 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 4.86 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
kcab.worker.Z0IVOHEd.js 4.86 MB 0%

api

Total

Files count Total bundle size % Changed
2 3.87 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
index.js 3.87 MB 0%
models.js 0 B 0%

cli

Total

Files count Total bundle size % Changed
1 7.97 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
cli.js 7.97 MB 0%

crdt

Total

Files count Total bundle size % Changed
1 11.12 kB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
index.js 11.12 kB 0%

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/8196 **Author:** [@mannkind](https://github.com/mannkind) **Created:** 6/12/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `amount-nearby-race` --- ### 📝 Commits (1) - [`fad07a9`](https://github.com/actualbudget/actual/commit/fad07a91f28b1c57e96c56fff45187e11a74859f) Attempt to fix entered amount being lost sometimes when tapping the Nearby payee chip before field loses focus ### 📊 Changes **2 files changed** (+27 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx` (+21 -6) ➕ `upcoming-release-notes/8196.md` (+6 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://actualbudget.org/docs/contributing/#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> ## Description <!-- What does this PR do? Why is it needed? Please give context on the "why?": why do we need this change? What problem is it solving for you?--> I haven't been able to reproduce the issue reported in https://github.com/actualbudget/actual/issues/6706#issuecomment-4297480933. I thought maybe there might be some kind of race condition on updating the transaction that I didn't quite grok. Claude (Fable 5) concurs that is likely two concurrent updates (e.g. the blur committing the typed amount, and the Nearby tap setting the payee) each replacing the entire transaction from a stale copy, so whichever landed last erased the other's field. <!-- If AI tools wrote a significant part of this change, please disclose it here and name the tool you used. See https://actualbudget.org/docs/contributing/ai-usage-policy --> Claude Code (Fable 5) helped work through the potential issue and the fix. ## Related issue(s) Issue reported on https://github.com/actualbudget/actual/issues/6706#issuecomment-4297480933 ## Testing <!-- What did you test? How can we reproduce the issue you are fixing or how can we test the feature you built? --> Reproducing the issue has not been possible for me, but I've manually tested this locally and don't see it adding _additional_ issues. 😅 ## Checklist - [x] Release notes added (see link above) - [x] No obvious regressions in affected areas - [x] Self-review has been performed - I have read every line of this diff and can explain what each change does and why it is needed <!--- actual-bot-sections ---> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 37 | 13.23 MB → 13.23 MB (+383 B) | +0.00% loot-core | 1 | 4.86 MB | 0% api | 2 | 3.87 MB | 0% cli | 1 | 7.97 MB | 0% crdt | 1 | 11.12 kB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 37 | 13.23 MB → 13.23 MB (+383 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/mobile/transactions/TransactionEdit.tsx` | 📈 +383 B (+0.52%) | 71.47 kB → 71.85 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** Asset | File Size | % Changed ----- | --------- | --------- static/js/TransactionEdit.js | 90.63 kB → 91 kB (+383 B) | +0.41% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 1.58 MB | 0% static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 814.39 kB | 0% static/js/ManageRules.js | 46.47 kB | 0% static/js/PayeeRuleCountLabel.js | 7.1 kB | 0% static/js/ReportRouter.js | 1.25 MB | 0% static/js/ScheduleEditForm.js | 146.51 kB | 0% static/js/SchedulesTable.js | 203.52 kB | 0% static/js/TransactionList.js | 82.8 kB | 0% static/js/Value.js | 4.49 MB | 0% static/js/_baseIsEqual.js | 76.76 kB | 0% static/js/ca.js | 185.63 kB | 0% static/js/client.js | 450.92 kB | 0% static/js/da.js | 100.19 kB | 0% static/js/de.js | 182.38 kB | 0% static/js/en-GB.js | 9.25 kB | 0% static/js/en.js | 201.71 kB | 0% static/js/es.js | 177.58 kB | 0% static/js/extends.js | 473.99 kB | 0% static/js/fr.js | 177.35 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 163.93 kB | 0% static/js/narrow.js | 364.55 kB | 0% static/js/nb-NO.js | 147.07 kB | 0% static/js/nl.js | 119.71 kB | 0% static/js/pt-BR.js | 187.34 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 173.33 kB | 0% static/js/theme.js | 31.01 kB | 0% static/js/toString.js | 638.83 kB | 0% static/js/uk.js | 216.7 kB | 0% static/js/useFormatList.js | 2.52 kB | 0% static/js/useTransactionBatchActions.js | 9.71 kB | 0% static/js/wide.js | 298.23 kB | 0% static/js/workbox-window.prod.es5.js | 7.33 kB | 0% static/js/zh-Hans.js | 116.44 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.86 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.Z0IVOHEd.js | 4.86 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 2 | 3.87 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- index.js | 3.87 MB | 0% models.js | 0 B | 0% </div> </details> --- #### cli **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 7.97 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- cli.js | 7.97 MB | 0% </div> </details> --- #### crdt **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 11.12 kB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- index.js | 11.12 kB | 0% </div> </details> </details> <!--- bundlestats-action-comment key:combined end ---> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-17 21:13:47 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#136443