[PR #6698] Fix mobile Calendar crash from missing DisplayPayeeProvider #6680

Closed
opened 2026-02-28 21:31:25 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/6698

State: closed
Merged: Yes


Mobile browsers crash when accessing Transaction Calendar due to missing DisplayPayeeProvider context required by the useDisplayPayee hook.

Root Cause

The TransactionListMobile component contains TransactionListItem, which uses the useDisplayPayee hook. This hook requires a DisplayPayeeProvider context to be present, causing the error:

Error: useDisplayPayee must be used within a DisplayPayeeContextProvider.

Changes

Added DisplayPayeeProvider: Wrapped TransactionListMobile with DisplayPayeeProvider, passing allTransactions as the transactions prop to provide the required context.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Bug]: Accessing Transaction Calendar on Mobile generates Fatal Error</issue_title>
<issue_description>### Verified issue does not already exist?

  • I have searched and found no existing issue

What happened?

On mobile, using any browser, when I browse to the Reports, and tap on the Transaction Calendar report, it generates a fatal error.

Fatal Error
VQt@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:227:84931 At@https://address.of.my.actual.budget/static/js/TransactionList.BZNGq6qU.chunk.js:1:26246 C_@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:49010 V_@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:71993 LG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:118656 zAe@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:117682 hR@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:117509 NG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:114250 QG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:126270 R@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:2:103043

It can be accessed without issue on desktop browser.

How can we reproduce the issue?

Using any mobile browser, login to the actual budget instance.

Select Reports from the bottom.

Tap on Transaction Calendar.

Where are you hosting Actual?

Pikapods

What browsers are you seeing the problem on?

Chrome

Operating System

Mobile Device</issue_description>

Comments on the Issue (you are @copilot in this section)


Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 28 14.49 MB → 14.49 MB (+106 B) +0.00%
loot-core 1 5.83 MB 0%
api 1 4.37 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
28 14.49 MB → 14.49 MB (+106 B) +0.00%
Changeset
File Δ Size
src/components/reports/reports/Calendar.tsx 📈 +106 B (+0.36%) 28.71 kB → 28.81 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/ReportRouter.js 1.13 MB → 1.13 MB (+106 B) +0.01%

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/index.js 9.24 MB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 12.94 kB 0%
static/js/workbox-window.prod.es5.js 5.64 kB 0%
static/js/da.js 107.03 kB 0%
static/js/de.js 172.31 kB 0%
static/js/en-GB.js 7.24 kB 0%
static/js/en.js 159.21 kB 0%
static/js/es.js 173.04 kB 0%
static/js/fr.js 176.45 kB 0%
static/js/it.js 173.46 kB 0%
static/js/nb-NO.js 158.85 kB 0%
static/js/nl.js 103.57 kB 0%
static/js/pl.js 88.78 kB 0%
static/js/pt-BR.js 147.31 kB 0%
static/js/ru.js 108.05 kB 0%
static/js/sv.js 78.42 kB 0%
static/js/th.js 182.7 kB 0%
static/js/uk.js 217.6 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/BackgroundImage.js 120.54 kB 0%
static/js/narrow.js 639.7 kB 0%
static/js/TransactionList.js 101.58 kB 0%
static/js/wide.js 159.95 kB 0%
static/js/AppliedFilters.js 9.71 kB 0%
static/js/usePayeeRuleCounts.js 11.79 kB 0%
static/js/useTransactionBatchActions.js 13.23 kB 0%
static/js/FormulaEditor.js 1.04 MB 0%

loot-core

Total

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

api

Total

Files count Total bundle size % Changed
1 4.37 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
bundle.api.js 4.37 MB 0%
**Original Pull Request:** https://github.com/actualbudget/actual/pull/6698 **State:** closed **Merged:** Yes --- Mobile browsers crash when accessing Transaction Calendar due to missing `DisplayPayeeProvider` context required by the `useDisplayPayee` hook. ## Root Cause The `TransactionListMobile` component contains `TransactionListItem`, which uses the `useDisplayPayee` hook. This hook requires a `DisplayPayeeProvider` context to be present, causing the error: ``` Error: useDisplayPayee must be used within a DisplayPayeeContextProvider. ``` ## Changes **Added DisplayPayeeProvider**: Wrapped `TransactionListMobile` with `DisplayPayeeProvider`, passing `allTransactions` as the transactions prop to provide the required context. <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[Bug]: Accessing Transaction Calendar on Mobile generates Fatal Error</issue_title> > <issue_description>### Verified issue does not already exist? > > - [x] I have searched and found no existing issue > > ### What happened? > > On mobile, using any browser, when I browse to the Reports, and tap on the Transaction Calendar report, it generates a fatal error. > > **Fatal Error** > VQt@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:227:84931 At@https://address.of.my.actual.budget/static/js/TransactionList.BZNGq6qU.chunk.js:1:26246 C_@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:49010 V_@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:71993 LG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:118656 zAe@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:117682 hR@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:117509 NG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:114250 QG@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:9:126270 R@https://address.of.my.actual.budget/static/js/index.B5BQKKmE.js:2:103043 > > It can be accessed without issue on desktop browser. > > ### How can we reproduce the issue? > > Using any mobile browser, login to the actual budget instance. > > Select Reports from the bottom. > > Tap on Transaction Calendar. > > ### Where are you hosting Actual? > > Pikapods > > ### What browsers are you seeing the problem on? > > Chrome > > ### Operating System > > Mobile Device</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes actualbudget/actual#6650 <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/actualbudget/actual/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 28 | 14.49 MB → 14.49 MB (+106 B) | +0.00% loot-core | 1 | 5.83 MB | 0% api | 1 | 4.37 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 28 | 14.49 MB → 14.49 MB (+106 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/reports/reports/Calendar.tsx` | 📈 +106 B (+0.36%) | 28.71 kB → 28.81 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/ReportRouter.js | 1.13 MB → 1.13 MB (+106 B) | +0.01% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 9.24 MB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 12.94 kB | 0% static/js/workbox-window.prod.es5.js | 5.64 kB | 0% static/js/da.js | 107.03 kB | 0% static/js/de.js | 172.31 kB | 0% static/js/en-GB.js | 7.24 kB | 0% static/js/en.js | 159.21 kB | 0% static/js/es.js | 173.04 kB | 0% static/js/fr.js | 176.45 kB | 0% static/js/it.js | 173.46 kB | 0% static/js/nb-NO.js | 158.85 kB | 0% static/js/nl.js | 103.57 kB | 0% static/js/pl.js | 88.78 kB | 0% static/js/pt-BR.js | 147.31 kB | 0% static/js/ru.js | 108.05 kB | 0% static/js/sv.js | 78.42 kB | 0% static/js/th.js | 182.7 kB | 0% static/js/uk.js | 217.6 kB | 0% static/js/resize-observer.js | 18.37 kB | 0% static/js/BackgroundImage.js | 120.54 kB | 0% static/js/narrow.js | 639.7 kB | 0% static/js/TransactionList.js | 101.58 kB | 0% static/js/wide.js | 159.95 kB | 0% static/js/AppliedFilters.js | 9.71 kB | 0% static/js/usePayeeRuleCounts.js | 11.79 kB | 0% static/js/useTransactionBatchActions.js | 13.23 kB | 0% static/js/FormulaEditor.js | 1.04 MB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.83 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.BrDUZwR6.js | 5.83 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.37 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 ----- | --------- | --------- bundle.api.js | 4.37 MB | 0% </div> </details> </details> <!--- bundlestats-action-comment key:combined end --->
GiteaMirror added the pull-request label 2026-02-28 21:31:25 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6680