Bug 416963

Summary: After the migration to aq6 the change of views takes a long time
Product: [Applications] kmymoney Reporter: Ralf Habacker <ralf.habacker>
Component: onlinebankingAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 5.0.7   
Target Milestone: ---   
Platform: Other   
OS: All   
Latest Commit: Version Fixed In: 4.8.5,5.1.0
Sentry Crash Report:

Description Ralf Habacker 2020-01-30 20:57:43 UTC
After migrating from aq5, on an older laptop I get the following messages every time I change a view in kmymoney.

3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-47:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-48:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-49:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-50:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-51:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-51:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-51:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-51:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-51:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-52:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-52:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 
3:2020/01/30 12-38-52:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "A000001" 
3:2020/01/30 12-38-52:aqbanking(1603):banking_compat.c:   62: Invalid account id for alias "82096d96-867e-4c6c-a35e-9a5ded777668-A000001" 

STEPS TO REPRODUCE
1. start kmymoney with enabled online banking from command line
2. switch ledger

OBSERVED RESULT
The mentioned message are displayed on the command line and delays switching ledger

EXPECTED RESULT
There should not be delay on switching ledger

SOFTWARE/OS VERSIONS
Linux: OpenSUSE Leap 15.1
KDE Frameworks: 5.49.5
Qt 5.9.7

ADDITIONAL INFORMATION
1. This bug also occurs in the 4.8 branch
2. It was fixed with version 5.0.8 https://cgit.kde.org/kmymoney.git/commit/?id=f507330eee85ca54232daa5a495a8bfdbbde37d6 
3. See also https://www.aquamaniac.de/rdm/issues/187
Comment 1 Ralf Habacker 2020-01-30 21:52:15 UTC
Git commit 5a4edfa8c2602e2e25d2bcda4f579a72ee6aae03 by Ralf Habacker.
Committed on 30/01/2020 at 21:47.
Pushed by habacker into branch '4.8'.

Provide method to check for online mapping

Added a method to retrieve information if an account is mapped to an
online banking account and use it where appropriate

Cherry picked from commit 93aa0838e26ec4ae25f648e9fe49c80d8e774424

M  +6    -6    kmymoney/kmymoney.cpp
M  +5    -1    kmymoney/mymoney/mymoneyaccount.cpp
M  +5    -0    kmymoney/mymoney/mymoneyaccount.h

https://commits.kde.org/kmymoney/5a4edfa8c2602e2e25d2bcda4f579a72ee6aae03
Comment 2 Ralf Habacker 2020-01-30 21:52:15 UTC
Git commit 6606907b497bf88979db4f34627c7c96743864ff by Ralf Habacker.
Committed on 30/01/2020 at 21:51.
Pushed by habacker into branch '4.8'.

Fix 'After the migration to aq6 the change of views takes a long time '

This commit also avoids flooding console with AqBanking warnings

This problem does not occur until aq6, which indicates that the timing
of aliases has deteriorated there.

The loop over the accounts was moved to the outside to improve performance.
FIXED-IN:4.8.5,5.0.8

M  +19   -15   kmymoney/mymoney/onlinejobadministration.cpp

https://commits.kde.org/kmymoney/6606907b497bf88979db4f34627c7c96743864ff