[PR #7340] Convert add-attribute to TypeScript and refactor filter operator switching #14149

Open
opened 2026-04-10 22:14:28 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7340
Author: @rboadu
Created: 3/31/2026
Status: 🔄 Open

Base: masterHead: issue-1483


📝 Commits (10+)

  • b1dafd3 Fix filter operator switching behavior
  • dd1d3c1 updated to allow conversion from multi-ID to text if only one array value and to handle no-value operators for account filter
  • a355224 Fixes Type Migration: Issue 1483
  • 5245d05 Converted Add Attribute File to Typescript
  • 6a30f1a Created release notes for modifications
  • dcbc3c3 Removed file commit history
  • 42cf037 Reverted file to original state and restored from previous commit
  • 814e2fd Merge branch 'master' into issue-1483
  • 2fbfd63 [autofix.ci] apply automated fixes
  • 272a319 fix: Added Release Notes and modfied add-attribute

📊 Changes

5 files changed (+348 additions, -90 deletions)

View changed files

packages/component-library/src/icons/add-attribute.js (+0 -87)
packages/component-library/src/icons/add-attribute.ts (+153 -0)
📝 packages/desktop-client/src/components/filters/FiltersMenu.tsx (+183 -3)
upcoming-release-notes/7305.md (+6 -0)
upcoming-release-notes/7340.md (+6 -0)

📄 Description

Description

This PR contributes to the ongoing TypeScript migration by converting a JavaScript file to a TypeScript/TSX-compatible format and improving type safety within the affected component. The update aligns the file with the project’s goal of reaching full TypeScript coverage and helps reduce reliance on loosely typed patterns.

This change improves maintainability and reliability by ensuring stronger type checking, making the code easier to understand and less prone to runtime errors.

Fixes Issue 1483

Testing

You can run the following commands in your terminal:

  • yarn typecheck
  • yarn lint
  • yarn test
  • yarn start

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 27 12.4 MB → 12.41 MB (+3.96 kB) +0.03%
loot-core 1 4.84 MB 0%
api 1 3.83 MB 0%
cli 1 7.89 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
27 12.4 MB → 12.41 MB (+3.96 kB) +0.03%
Changeset
File Δ Size
src/components/filters/FiltersMenu.tsx 📈 +3.96 kB (+23.05%) 17.17 kB → 21.13 kB
src/components/CommandBar.tsx 📉 -2 B (-0.02%) 10.16 kB → 10.16 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/index.js 3.31 MB → 3.32 MB (+3.96 kB) +0.12%

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 852.77 kB 0%
static/js/ReportRouter.js 1.17 MB 0%
static/js/TransactionList.js 82.49 kB 0%
static/js/ca.js 190.11 kB 0%
static/js/da.js 104.66 kB 0%
static/js/de.js 174.79 kB 0%
static/js/en-GB.js 7.16 kB 0%
static/js/en.js 173.2 kB 0%
static/js/es.js 182.18 kB 0%
static/js/fr.js 177.47 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 166.25 kB 0%
static/js/narrow.js 363.02 kB 0%
static/js/nb-NO.js 152.2 kB 0%
static/js/nl.js 108.93 kB 0%
static/js/pl.js 88.34 kB 0%
static/js/pt-BR.js 177.84 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 179.94 kB 0%
static/js/theme.js 30.79 kB 0%
static/js/uk.js 213.14 kB 0%
static/js/useTransactionBatchActions.js 4.33 MB 0%
static/js/wide.js 295 B 0%
static/js/workbox-window.prod.es5.js 7.33 kB 0%
static/js/zh-Hans.js 94.19 kB 0%

loot-core

Total

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

api

Total

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

cli

Total

Files count Total bundle size % Changed
1 7.89 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.89 MB 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/7340 **Author:** [@rboadu](https://github.com/rboadu) **Created:** 3/31/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `issue-1483` --- ### 📝 Commits (10+) - [`b1dafd3`](https://github.com/actualbudget/actual/commit/b1dafd318ba9b4ef13a0cea863fae8d2ba24814b) Fix filter operator switching behavior - [`dd1d3c1`](https://github.com/actualbudget/actual/commit/dd1d3c15f7070f68ac58f2576b87e497fa52c17a) updated to allow conversion from multi-ID to text if only one array value and to handle no-value operators for account filter - [`a355224`](https://github.com/actualbudget/actual/commit/a3552242b24f1285b6262471f4c743bab90f130c) Fixes Type Migration: Issue 1483 - [`5245d05`](https://github.com/actualbudget/actual/commit/5245d05b6bda112a081f70a6bca1806b77667176) Converted Add Attribute File to Typescript - [`6a30f1a`](https://github.com/actualbudget/actual/commit/6a30f1a859f365930e64f2a9aa743894e6fcd7d2) Created release notes for modifications - [`dcbc3c3`](https://github.com/actualbudget/actual/commit/dcbc3c35cc31ff8b1684c098f11c3bfcaf001d7b) Removed file commit history - [`42cf037`](https://github.com/actualbudget/actual/commit/42cf037e901c614c51b8d831e156185f01971a03) Reverted file to original state and restored from previous commit - [`814e2fd`](https://github.com/actualbudget/actual/commit/814e2fd6a601888182438d84f9b516a7251bd1a8) Merge branch 'master' into issue-1483 - [`2fbfd63`](https://github.com/actualbudget/actual/commit/2fbfd6357f164fd6ca78ccb7e6ad03975a62d807) [autofix.ci] apply automated fixes - [`272a319`](https://github.com/actualbudget/actual/commit/272a31969e9fd407b6c630b4f21b1e865ba3333c) fix: Added Release Notes and modfied add-attribute ### 📊 Changes **5 files changed** (+348 additions, -90 deletions) <details> <summary>View changed files</summary> ➖ `packages/component-library/src/icons/add-attribute.js` (+0 -87) ➕ `packages/component-library/src/icons/add-attribute.ts` (+153 -0) 📝 `packages/desktop-client/src/components/filters/FiltersMenu.tsx` (+183 -3) ➕ `upcoming-release-notes/7305.md` (+6 -0) ➕ `upcoming-release-notes/7340.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://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> ## Description This PR contributes to the ongoing TypeScript migration by converting a JavaScript file to a TypeScript/TSX-compatible format and improving type safety within the affected component. The update aligns the file with the project’s goal of reaching full TypeScript coverage and helps reduce reliance on loosely typed patterns. This change improves maintainability and reliability by ensuring stronger type checking, making the code easier to understand and less prone to runtime errors. ## Related issue(s) Fixes Issue 1483 ## Testing You can run the following commands in your terminal: * yarn typecheck * yarn lint * yarn test * yarn start ## 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 ---> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 27 | 12.4 MB → 12.41 MB (+3.96 kB) | +0.03% loot-core | 1 | 4.84 MB | 0% api | 1 | 3.83 MB | 0% cli | 1 | 7.89 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 27 | 12.4 MB → 12.41 MB (+3.96 kB) | +0.03% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/filters/FiltersMenu.tsx` | 📈 +3.96 kB (+23.05%) | 17.17 kB → 21.13 kB `src/components/CommandBar.tsx` | 📉 -2 B (-0.02%) | 10.16 kB → 10.16 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 | 3.31 MB → 3.32 MB (+3.96 kB) | +0.12% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 852.77 kB | 0% static/js/ReportRouter.js | 1.17 MB | 0% static/js/TransactionList.js | 82.49 kB | 0% static/js/ca.js | 190.11 kB | 0% static/js/da.js | 104.66 kB | 0% static/js/de.js | 174.79 kB | 0% static/js/en-GB.js | 7.16 kB | 0% static/js/en.js | 173.2 kB | 0% static/js/es.js | 182.18 kB | 0% static/js/fr.js | 177.47 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 166.25 kB | 0% static/js/narrow.js | 363.02 kB | 0% static/js/nb-NO.js | 152.2 kB | 0% static/js/nl.js | 108.93 kB | 0% static/js/pl.js | 88.34 kB | 0% static/js/pt-BR.js | 177.84 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 179.94 kB | 0% static/js/theme.js | 30.79 kB | 0% static/js/uk.js | 213.14 kB | 0% static/js/useTransactionBatchActions.js | 4.33 MB | 0% static/js/wide.js | 295 B | 0% static/js/workbox-window.prod.es5.js | 7.33 kB | 0% static/js/zh-Hans.js | 94.19 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.84 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.BkkdkSI8.js | 4.84 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 3.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 ----- | --------- | --------- index.js | 3.83 MB | 0% </div> </details> --- #### cli **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 7.89 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.89 MB | 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-04-10 22:14:28 -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#14149