mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-06 07:01:45 -05:00
[Bug]: Overspending / Transfer Funds pop-up gets covered with second pop-up. #2099
Closed
opened 2026-02-28 20:03:23 -06:00 by GiteaMirror
·
5 comments
No Branch/Tag Specified
master
claude/hide-default-categories-1cwBZ
matiss/crdt-source-loading
youngcw/unlock-duplicates
matiss/crdt-protobuf
release/26.5.0
claude/update-issue-template-ykMNn
claude/fix-issue-7667-DPXi3
cursor/formula-feedback-improvements-4223
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
jfdoming/api-tokens-part-3
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-1
claude/speed-up-vrt-workflow-ZAyI5
claude/crdt-version-auto-publish-Ph1BH
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
worktree-mellow-strolling-dawn
matiss/browser-api
claude/api-consumer-verification-kfz1K
feature/enable-banking
cursor/transaction-table-rewrite-f077
pr-7454
claude/fix-issue-7410-LLLQ4
release/v100.0.0
revert-7350-trim-deps
revert-7220-sankey-report
revert-7242-fix/split-parent-update-corruption
revert-7281-generate-icons
claude/electron-to-tauri-migration-LjBN8
worktree-remotion
release/vv26.4.0-pre
claude/browser-compatible-api-QbhHh
claude/improve-cli-transactions-waTUY
claude/publish-react-native-ios-j8qoT
js-proxy
claude/fix-flaky-ci-job-5gDdz
react-query-rules
react-query-useSchedules
claude/nightly-theme-validation-scan-DzOGD
claude/debug-simplefin-error-ZuKzB
matiss/desktop-client-subpath-imports
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
add-claude-github-actions-1772738270730
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2099
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @gitchap on GitHub (May 5, 2025).
Verified issue does not already exist?
What happened?
When clicking on category balance to cover overspending / move money, the pop-up dialog gets covered by a second pop-up when there is a template / goal, and you stay hovered on the amount for a second or so.
This can be avoided by clicking and immediately moving the pointer off the total amount, or by waiting 1+ second to let the template / goal pop-up happen before you click. But this is not ideal.
If the transfer / overspending pop-up is already up, the template / goal pop-up should either not show, or show up behind the first.
How can we reproduce the issue?
Click on a category balance that has a template or a goal immediately after moving your pointer over it. Then pause for a second without moving the pointer and see the new pop-up cover the first.
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Chrome
Operating System
Windows 11
@gitchap commented on GitHub (May 5, 2025):
Thinking about it some more, I wouldn't mind if the information from both pop-ups were combined, and only showed on click.
@youngcw commented on GitHub (May 6, 2025):
Combining the popups would be a good way to do it since that is how it works on mobile already
@dangrous commented on GitHub (May 21, 2025):
I'm hoping to have time to take a stab at this one this weekend! Combining makes sense to me
@Johnn27 commented on GitHub (May 24, 2025):
I've taken a look, and the visual overlap between the tooltip and the popover menu does create a confusing experience.
I believe the most direct way to solve this for the desktop UI is to explicitly disable the tooltip when its related context menu (the Popover) is active. This could be done by:
tooltipDisabled, to theBalanceWithCarryovercomponent.ExpenseCategoryMonth, we would passtrueto thistooltipDisabledprop for theBalanceWithCarryoverinstance, effectively hiding the tooltip.This targeted approach directly fixes the "double popup" issue.
An alternative might be to refactor the content currently displayed in the tooltip (
GoalStatusDisplay) into a new, separate, reusable component. This new component could then be used by both theTooltipinBalanceWithCarryoverand potentially within theBalanceMovementMenuPopover. While this could promote reusability, it would involve more significant changes:* Extracting the
GoalStatusDisplaylogic and JSX into a new component file.* Modifying
BalanceWithCarryoverto use this new component.* Fetching the necessary data (balance, goal, budget values etc.) in
ExpenseCategoryMonthand passing it down toBalanceMovementMenu, which would then pass it to the new shared component.* Adjusting
BalanceMovementMenuto incorporate and display this new component.This refactoring would be a larger undertaking with more touchpoints across the codebase. Given that the primary issue here is the UI conflict and considering the mobile UI has different patterns (often using modals where this specific overlap isn't an issue), the simpler prop-based solution seems more pragmatic and proportionate for this specific bug.
I'll focus on implementing the
tooltipDisabledprop solution for the PR.@Johnn27 commented on GitHub (May 24, 2025):
@dangrous The above PR only hides the extra-pop up so if we want to combine the pop-ups that option is still good and you can keep having a stab at it. In fact it would work well with my change as we still need to hide the 2nd pop-up.