[PR #2814] [MERGED] Recently used and favorite payees #4525

Closed
opened 2026-02-28 20:57:06 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/2814
Author: @qedi-r
Created: 5/31/2024
Status: Merged
Merged: 7/20/2024
Merged by: @youngcw

Base: masterHead: u/qedi-r/favorite-payees


📝 Commits (10+)

  • 32179a6 add idea of common payee, a top 10 frequently used payee
  • 86196e3 add button in payee to mark as favorite
  • c5b68a2 cleanup
  • 270b891 minor fixes
  • 3f3f2f9 add release notes and make favorite optional
  • 75f4e33 fix TransactionsTable test
  • 34154f3 lint and release notes
  • b5f8197 rename section, resort list to ensure both are sorted
  • 4216db9 don't show common, move bookmarked to menu
  • cc05f86 add a limit on adding common payees

📊 Changes

20 files changed (+249 additions, -22 deletions)

View changed files

📝 packages/api/methods.ts (+4 -0)
📝 packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx (+97 -16)
📝 packages/desktop-client/src/components/payees/ManagePayees.jsx (+17 -0)
📝 packages/desktop-client/src/components/payees/PayeeMenu.tsx (+13 -0)
📝 packages/desktop-client/src/components/payees/PayeeTableRow.tsx (+25 -3)
📝 packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx (+3 -2)
📝 packages/desktop-client/src/hooks/usePayees.ts (+16 -1)
packages/loot-core/migrations/1720664867241_add_payee_favorite.sql (+5 -0)
📝 packages/loot-core/src/client/actions/queries.ts (+11 -0)
📝 packages/loot-core/src/client/constants.ts (+1 -0)
📝 packages/loot-core/src/client/reducers/queries.ts (+8 -0)
📝 packages/loot-core/src/client/state-types/queries.d.ts (+8 -0)
📝 packages/loot-core/src/server/api.ts (+6 -0)
📝 packages/loot-core/src/server/aql/schema/index.ts (+1 -0)
📝 packages/loot-core/src/server/db/index.ts (+19 -0)
📝 packages/loot-core/src/server/main.ts (+4 -0)
📝 packages/loot-core/src/types/api-handlers.d.ts (+2 -0)
📝 packages/loot-core/src/types/models/payee.d.ts (+1 -0)
📝 packages/loot-core/src/types/server-handlers.d.ts (+2 -0)
upcoming-release-notes/2814.md (+6 -0)

📄 Description

I wanted to improve on the alphabetized payees I always saw by default when the payee dropdown showed up. It never looked helpful, just the numbered companies I've used once in the past. Instead, I got the list of the 10 most frequently used payees in the past 3 months, and used that first, then the rest of the payees, then the transfer section. Typing still works to find what you need.

image

Then I decided being able to mark some that might not be always frequently used but useful to show in the list would be good, so I also added a 'favorite' for payees. The screenshot shows the 10 most frequently used payees as stars, things marked as favorite with the favorite icon, and others as the empty favorite icon. You can click on them to mark them as favorite or un-favorite them.

image

"Recently used payees" shows both the top 10 most used (by number of transactions in the past 3 months) plus favorites.

One more note, I thought finding the recently used payees could end up being an expensive operation, based on the sql, so I didn't throw it in PayeeEntity by default, you must query for it specifically, to avoid it being calculated where it's not needed.

TODO:

  • release notes
  • fixing tests
  • ensuring additional test coverage exists

🔄 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/2814 **Author:** [@qedi-r](https://github.com/qedi-r) **Created:** 5/31/2024 **Status:** ✅ Merged **Merged:** 7/20/2024 **Merged by:** [@youngcw](https://github.com/youngcw) **Base:** `master` ← **Head:** `u/qedi-r/favorite-payees` --- ### 📝 Commits (10+) - [`32179a6`](https://github.com/actualbudget/actual/commit/32179a67d1b398b7e7e67570fde4f468383faef5) add idea of common payee, a top 10 frequently used payee - [`86196e3`](https://github.com/actualbudget/actual/commit/86196e3a60839edd4dee8dbd0b943fbe6e6105f1) add button in payee to mark as favorite - [`c5b68a2`](https://github.com/actualbudget/actual/commit/c5b68a2e8cc8496f6521ebbd2705a1fce4e5e19d) cleanup - [`270b891`](https://github.com/actualbudget/actual/commit/270b891478524bafefb3388b9e4cbddc25ceb382) minor fixes - [`3f3f2f9`](https://github.com/actualbudget/actual/commit/3f3f2f9899b14c86396cfe0b6371785c21156072) add release notes and make favorite optional - [`75f4e33`](https://github.com/actualbudget/actual/commit/75f4e33955f15c7b1bd2e289a34acbe29ef05fe1) fix TransactionsTable test - [`34154f3`](https://github.com/actualbudget/actual/commit/34154f3f97b6fd9c9e4ab83ae04c22f9f91afd73) lint and release notes - [`b5f8197`](https://github.com/actualbudget/actual/commit/b5f8197f2884d84dc30d6a5c482f96f8fbae7c51) rename section, resort list to ensure both are sorted - [`4216db9`](https://github.com/actualbudget/actual/commit/4216db98a934db91dba0df83a1fd975610937b1b) don't show common, move bookmarked to menu - [`cc05f86`](https://github.com/actualbudget/actual/commit/cc05f8669b7f8099722be3e8f1e2935b97b6911a) add a limit on adding common payees ### 📊 Changes **20 files changed** (+249 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `packages/api/methods.ts` (+4 -0) 📝 `packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx` (+97 -16) 📝 `packages/desktop-client/src/components/payees/ManagePayees.jsx` (+17 -0) 📝 `packages/desktop-client/src/components/payees/PayeeMenu.tsx` (+13 -0) 📝 `packages/desktop-client/src/components/payees/PayeeTableRow.tsx` (+25 -3) 📝 `packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx` (+3 -2) 📝 `packages/desktop-client/src/hooks/usePayees.ts` (+16 -1) ➕ `packages/loot-core/migrations/1720664867241_add_payee_favorite.sql` (+5 -0) 📝 `packages/loot-core/src/client/actions/queries.ts` (+11 -0) 📝 `packages/loot-core/src/client/constants.ts` (+1 -0) 📝 `packages/loot-core/src/client/reducers/queries.ts` (+8 -0) 📝 `packages/loot-core/src/client/state-types/queries.d.ts` (+8 -0) 📝 `packages/loot-core/src/server/api.ts` (+6 -0) 📝 `packages/loot-core/src/server/aql/schema/index.ts` (+1 -0) 📝 `packages/loot-core/src/server/db/index.ts` (+19 -0) 📝 `packages/loot-core/src/server/main.ts` (+4 -0) 📝 `packages/loot-core/src/types/api-handlers.d.ts` (+2 -0) 📝 `packages/loot-core/src/types/models/payee.d.ts` (+1 -0) 📝 `packages/loot-core/src/types/server-handlers.d.ts` (+2 -0) ➕ `upcoming-release-notes/2814.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 --> I wanted to improve on the alphabetized payees I always saw by default when the payee dropdown showed up. It never looked helpful, just the numbered companies I've used once in the past. Instead, I got the list of the 10 most frequently used payees in the past 3 months, and used that first, then the rest of the payees, then the transfer section. Typing still works to find what you need. ![image](https://github.com/actualbudget/actual/assets/1435081/f9ae8863-87fb-432b-86a8-6dcad59a8d65) Then I decided being able to mark some that might not be always frequently used but useful to show in the list would be good, so I also added a 'favorite' for payees. The screenshot shows the 10 most frequently used payees as stars, things marked as favorite with the favorite icon, and others as the empty favorite icon. You can click on them to mark them as favorite or un-favorite them. ![image](https://github.com/actualbudget/actual/assets/1435081/51a16b05-40de-4c97-8d0f-9cceccbaabc6) "Recently used payees" shows both the top 10 most used (by number of transactions in the past 3 months) plus favorites. One more note, I thought finding the recently used payees could end up being an expensive operation, based on the sql, so I didn't throw it in PayeeEntity by default, you must query for it specifically, to avoid it being calculated where it's not needed. TODO: - [x] release notes - [x] fixing tests - [x] ensuring additional test coverage exists --- <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-02-28 20:57:06 -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#4525