[PR #7849] [MERGED] [AI] Fix balance forecast all future range #85117

Closed
opened 2026-05-19 10:28:52 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7849
Author: @samaluk
Created: 5/15/2026
Status: Merged
Merged: 5/17/2026
Merged by: @youngcw

Base: masterHead: fix/forecast-all-future-range


📝 Commits (2)

  • a1ca09d [AI] Fix forecast all future range
  • 1eb6d96 [AI] Add release note for balance forecast range fix

📊 Changes

4 files changed (+34 additions, -8 deletions)

View changed files

📝 packages/desktop-client/src/components/reports/reportRanges.test.ts (+25 -0)
📝 packages/desktop-client/src/components/reports/reportRanges.ts (+2 -5)
📝 packages/desktop-client/src/components/reports/reports/BalanceForecast.tsx (+1 -3)
upcoming-release-notes/7849.md (+6 -0)

📄 Description

Description

Fixes the Balance Forecast report's All future range behavior. The range helper was treating a month value as a date and normalizing it back to the start month, so the All future option could appear to do nothing even when future months were available.

This keeps the available future month value intact and uses it directly when it is after the current month.

Relates to #7669

Testing

  • Added unit coverage for getFullFutureRange using a future month and the default fallback horizon.

Checklist

  • Release notes added (see link above)
  • No obvious regressions in affected areas
  • Self-review has been performed - I understand what each change in the code does and why it is needed

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 33 13.99 MB → 13.99 MB (+1.86 kB) +0.01%
loot-core 1 5.34 MB 0%
api 2 3.96 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
33 13.99 MB → 13.99 MB (+1.86 kB) +0.01%
Changeset
File Δ Size
locale/en.json 📈 +2.02 kB (+1.05%) 193.42 kB → 195.44 kB
src/components/reports/reports/BalanceForecast.tsx 📉 -78 B (-0.58%) 13.22 kB → 13.14 kB
src/components/reports/reportRanges.ts 📉 -92 B (-1.80%) 4.99 kB → 4.9 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/en.js 193.42 kB → 195.44 kB (+2.02 kB) +1.05%

Smaller

Asset File Size % Changed
static/js/ReportRouter.js 1.25 MB → 1.25 MB (-170 B) -0.01%

Unchanged

Asset File Size % Changed
static/js/index.js 2.01 MB 0%
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 962.55 kB 0%
static/js/ScheduleEditForm.js 146.45 kB 0%
static/js/TransactionEdit.js 190.43 kB 0%
static/js/TransactionList.js 85.81 kB 0%
static/js/Value.js 4.96 MB 0%
static/js/bankSyncUtils.js 54.15 kB 0%
static/js/ca.js 187.72 kB 0%
static/js/chart-theme.js 800.08 kB 0%
static/js/client.js 451.37 kB 0%
static/js/da.js 101.28 kB 0%
static/js/de.js 170.38 kB 0%
static/js/en-GB.js 10.01 kB 0%
static/js/es.js 178.83 kB 0%
static/js/extends.js 519.29 kB 0%
static/js/fr.js 178.71 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 165.13 kB 0%
static/js/narrow.js 364.2 kB 0%
static/js/nb-NO.js 148.19 kB 0%
static/js/nl.js 106.34 kB 0%
static/js/pt-BR.js 189.39 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 174.62 kB 0%
static/js/theme.js 31.67 kB 0%
static/js/uk.js 207.56 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.75 kB 0%

loot-core

Total

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

api

Total

Files count Total bundle size % Changed
2 3.96 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.96 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/7849 **Author:** [@samaluk](https://github.com/samaluk) **Created:** 5/15/2026 **Status:** ✅ Merged **Merged:** 5/17/2026 **Merged by:** [@youngcw](https://github.com/youngcw) **Base:** `master` ← **Head:** `fix/forecast-all-future-range` --- ### 📝 Commits (2) - [`a1ca09d`](https://github.com/actualbudget/actual/commit/a1ca09db32a3881abeae8667f46f7b571058adee) [AI] Fix forecast all future range - [`1eb6d96`](https://github.com/actualbudget/actual/commit/1eb6d964f137f505fdb8fb24d040cd2b1990f89e) [AI] Add release note for balance forecast range fix ### 📊 Changes **4 files changed** (+34 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/reports/reportRanges.test.ts` (+25 -0) 📝 `packages/desktop-client/src/components/reports/reportRanges.ts` (+2 -5) 📝 `packages/desktop-client/src/components/reports/reports/BalanceForecast.tsx` (+1 -3) ➕ `upcoming-release-notes/7849.md` (+6 -0) </details> ### 📄 Description ## Description Fixes the Balance Forecast report's **All future** range behavior. The range helper was treating a month value as a date and normalizing it back to the start month, so the All future option could appear to do nothing even when future months were available. This keeps the available future month value intact and uses it directly when it is after the current month. ## Related issue(s) Relates to #7669 ## Testing - Added unit coverage for `getFullFutureRange` using a future month and the default fallback horizon. ## Checklist - [x] Release notes added (see link above) - [x] No obvious regressions in affected areas - [x] Self-review has been performed - I understand what each change in the code does and why it is needed <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 33 | 13.99 MB → 13.99 MB (+1.86 kB) | +0.01% loot-core | 1 | 5.34 MB | 0% api | 2 | 3.96 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 ----------- | ----------------- | --------- 33 | 13.99 MB → 13.99 MB (+1.86 kB) | +0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `locale/en.json` | 📈 +2.02 kB (+1.05%) | 193.42 kB → 195.44 kB `src/components/reports/reports/BalanceForecast.tsx` | 📉 -78 B (-0.58%) | 13.22 kB → 13.14 kB `src/components/reports/reportRanges.ts` | 📉 -92 B (-1.80%) | 4.99 kB → 4.9 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/en.js | 193.42 kB → 195.44 kB (+2.02 kB) | +1.05% **Smaller** Asset | File Size | % Changed ----- | --------- | --------- static/js/ReportRouter.js | 1.25 MB → 1.25 MB (-170 B) | -0.01% **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 2.01 MB | 0% static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 962.55 kB | 0% static/js/ScheduleEditForm.js | 146.45 kB | 0% static/js/TransactionEdit.js | 190.43 kB | 0% static/js/TransactionList.js | 85.81 kB | 0% static/js/Value.js | 4.96 MB | 0% static/js/bankSyncUtils.js | 54.15 kB | 0% static/js/ca.js | 187.72 kB | 0% static/js/chart-theme.js | 800.08 kB | 0% static/js/client.js | 451.37 kB | 0% static/js/da.js | 101.28 kB | 0% static/js/de.js | 170.38 kB | 0% static/js/en-GB.js | 10.01 kB | 0% static/js/es.js | 178.83 kB | 0% static/js/extends.js | 519.29 kB | 0% static/js/fr.js | 178.71 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 165.13 kB | 0% static/js/narrow.js | 364.2 kB | 0% static/js/nb-NO.js | 148.19 kB | 0% static/js/nl.js | 106.34 kB | 0% static/js/pt-BR.js | 189.39 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 174.62 kB | 0% static/js/theme.js | 31.67 kB | 0% static/js/uk.js | 207.56 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.75 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.34 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.C0Ijh3nP.js | 5.34 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 2 | 3.96 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.96 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-05-19 10:28:52 -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#85117