[PR #7765] [CLOSED] [WIP] [AI] fix: wrap desktop TransactionList with DisplayPayeeProvider in Calendar #97271

Closed
opened 2026-05-26 14:08:25 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7765
Author: @xxiaoxiong
Created: 5/8/2026
Status: Closed

Base: masterHead: fix/calendar-mobile-crash


📝 Commits (3)

  • 752ef30 [AI] feat: add persistent SharedArrayBuffer warning indicator
  • ce468ca [AI] fix: wrap desktop TransactionList with DisplayPayeeProvider in Calendar
  • bed0c09 [autofix.ci] apply automated fixes

📊 Changes

2 files changed (+91 additions, -51 deletions)

View changed files

📝 packages/desktop-client/src/components/Titlebar.tsx (+38 -0)
📝 packages/desktop-client/src/components/reports/reports/Calendar.tsx (+53 -51)

📄 Description

Summary

Fixes a crash on mobile devices when clicking on the Transaction Calendar widget. The error was:

Error: useDisplayPayee must be used within a DisplayPayeeContextProvider.

Root Cause

The Calendar component had an inconsistency:

  • Mobile version (line 753-761): TransactionListMobile was properly wrapped with DisplayPayeeProvider
  • Desktop version (line 648-700): TransactionList was missing the DisplayPayeeProvider wrapper

Since TransactionList uses useDisplayPayee hook internally to display payee information, it requires the DisplayPayeeProvider context. Without it, the hook throws an error.

Changes

  • Wrapped the desktop TransactionList component with DisplayPayeeProvider (same pattern as mobile version)
  • Both desktop and mobile now have consistent context provider structure
  • No functional changes, just adding the missing context provider

Testing

  • The fix follows the exact same pattern already used for the mobile version
  • DisplayPayeeProvider was already imported (line 55) but only used for mobile
  • The allTransactions prop is passed to the provider, matching the mobile implementation

Impact

  • Fixes crash on mobile devices (Brave browser on Android reported in issue)
  • Likely also fixes the same issue on desktop if it occurred
  • No breaking changes or API modifications

Fixes #7108


Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 34 13.93 MB → 13.93 MB (+1.56 kB) +0.01%
loot-core 1 5.27 MB 0%
api 2 3.9 MB 0%
cli 1 7.97 MB 0%
crdt 1 43.41 kB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
34 13.93 MB → 13.93 MB (+1.56 kB) +0.01%
Changeset
File Δ Size
src/components/Titlebar.tsx 📈 +1.38 kB (+11.55%) 11.93 kB → 13.31 kB
src/components/reports/reports/Calendar.tsx 📈 +182 B (+0.64%) 27.58 kB → 27.76 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/index.js 1.93 MB → 1.93 MB (+1.38 kB) +0.07%
static/js/ReportRouter.js 1.22 MB → 1.22 MB (+182 B) +0.01%

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 962.55 kB 0%
static/js/ScheduleEditForm.js 145.76 kB 0%
static/js/TransactionEdit.js 189.54 kB 0%
static/js/TransactionList.js 85.81 kB 0%
static/js/Value.js 4.94 MB 0%
static/js/alerts.js 800.08 kB 0%
static/js/bankSyncUtils.js 54.1 kB 0%
static/js/ca.js 187.91 kB 0%
static/js/client.js 451.37 kB 0%
static/js/da.js 101.38 kB 0%
static/js/de.js 170.55 kB 0%
static/js/en-GB.js 8.2 kB 0%
static/js/en.js 185.11 kB 0%
static/js/es.js 179 kB 0%
static/js/extends.js 520.14 kB 0%
static/js/fr.js 178.9 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 165.01 kB 0%
static/js/narrow.js 364.41 kB 0%
static/js/nb-NO.js 148.31 kB 0%
static/js/nl.js 106.47 kB 0%
static/js/pl.js 86.52 kB 0%
static/js/pt-BR.js 189.58 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 174.76 kB 0%
static/js/theme.js 31.67 kB 0%
static/js/uk.js 207.75 kB 0%
static/js/useFormatList.js 4.96 kB 0%
static/js/wide.js 453 B 0%
static/js/workbox-window.prod.es5.js 7.33 kB 0%
static/js/zh-Hans.js 117.91 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 5.27 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.hJfPtoKI.js 5.27 MB 0%

api

Total

Files count Total bundle size % Changed
2 3.9 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.9 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 43.41 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 43.41 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/7765 **Author:** [@xxiaoxiong](https://github.com/xxiaoxiong) **Created:** 5/8/2026 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix/calendar-mobile-crash` --- ### 📝 Commits (3) - [`752ef30`](https://github.com/actualbudget/actual/commit/752ef302cd64e1d0c604f199c5547404d20e6e58) [AI] feat: add persistent SharedArrayBuffer warning indicator - [`ce468ca`](https://github.com/actualbudget/actual/commit/ce468caf9a753678eb6fe6a7adf184c729e2c805) [AI] fix: wrap desktop TransactionList with DisplayPayeeProvider in Calendar - [`bed0c09`](https://github.com/actualbudget/actual/commit/bed0c09e46e0fe08a86894570c998a4bfe6e3a72) [autofix.ci] apply automated fixes ### 📊 Changes **2 files changed** (+91 additions, -51 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/Titlebar.tsx` (+38 -0) 📝 `packages/desktop-client/src/components/reports/reports/Calendar.tsx` (+53 -51) </details> ### 📄 Description ## Summary Fixes a crash on mobile devices when clicking on the Transaction Calendar widget. The error was: ``` Error: useDisplayPayee must be used within a DisplayPayeeContextProvider. ``` ## Root Cause The Calendar component had an inconsistency: - **Mobile version** (line 753-761): `TransactionListMobile` was properly wrapped with `DisplayPayeeProvider` - **Desktop version** (line 648-700): `TransactionList` was **missing** the `DisplayPayeeProvider` wrapper Since `TransactionList` uses `useDisplayPayee` hook internally to display payee information, it requires the `DisplayPayeeProvider` context. Without it, the hook throws an error. ## Changes - Wrapped the desktop `TransactionList` component with `DisplayPayeeProvider` (same pattern as mobile version) - Both desktop and mobile now have consistent context provider structure - No functional changes, just adding the missing context provider ## Testing - The fix follows the exact same pattern already used for the mobile version - `DisplayPayeeProvider` was already imported (line 55) but only used for mobile - The `allTransactions` prop is passed to the provider, matching the mobile implementation ## Impact - Fixes crash on mobile devices (Brave browser on Android reported in issue) - Likely also fixes the same issue on desktop if it occurred - No breaking changes or API modifications Fixes #7108 <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 34 | 13.93 MB → 13.93 MB (+1.56 kB) | +0.01% loot-core | 1 | 5.27 MB | 0% api | 2 | 3.9 MB | 0% cli | 1 | 7.97 MB | 0% crdt | 1 | 43.41 kB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 34 | 13.93 MB → 13.93 MB (+1.56 kB) | +0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/Titlebar.tsx` | 📈 +1.38 kB (+11.55%) | 11.93 kB → 13.31 kB `src/components/reports/reports/Calendar.tsx` | 📈 +182 B (+0.64%) | 27.58 kB → 27.76 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/index.js | 1.93 MB → 1.93 MB (+1.38 kB) | +0.07% static/js/ReportRouter.js | 1.22 MB → 1.22 MB (+182 B) | +0.01% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 962.55 kB | 0% static/js/ScheduleEditForm.js | 145.76 kB | 0% static/js/TransactionEdit.js | 189.54 kB | 0% static/js/TransactionList.js | 85.81 kB | 0% static/js/Value.js | 4.94 MB | 0% static/js/alerts.js | 800.08 kB | 0% static/js/bankSyncUtils.js | 54.1 kB | 0% static/js/ca.js | 187.91 kB | 0% static/js/client.js | 451.37 kB | 0% static/js/da.js | 101.38 kB | 0% static/js/de.js | 170.55 kB | 0% static/js/en-GB.js | 8.2 kB | 0% static/js/en.js | 185.11 kB | 0% static/js/es.js | 179 kB | 0% static/js/extends.js | 520.14 kB | 0% static/js/fr.js | 178.9 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 165.01 kB | 0% static/js/narrow.js | 364.41 kB | 0% static/js/nb-NO.js | 148.31 kB | 0% static/js/nl.js | 106.47 kB | 0% static/js/pl.js | 86.52 kB | 0% static/js/pt-BR.js | 189.58 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 174.76 kB | 0% static/js/theme.js | 31.67 kB | 0% static/js/uk.js | 207.75 kB | 0% static/js/useFormatList.js | 4.96 kB | 0% static/js/wide.js | 453 B | 0% static/js/workbox-window.prod.es5.js | 7.33 kB | 0% static/js/zh-Hans.js | 117.91 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.27 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.hJfPtoKI.js | 5.27 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 2 | 3.9 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.9 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 | 43.41 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 | 43.41 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-05-26 14:08:25 -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#97271