moneymanagerex / moneymanagerex

Money Manager Ex is an easy to use, money management application built with wxWidgets
http://moneymanagerex.org
GNU General Public License v2.0
1.8k stars 279 forks source link

After upgrading to 1.5.17 and 1.5.18 it does not keep the last category for a given payee. #4886

Closed whalley closed 2 years ago

whalley commented 2 years ago

After upgrading to 1.5.17 and 1.5.18 it does not keep the last category for a given payee. Instead it selects another category never used before, so you have to select it manuall once and again for the same payee. It worked fine until 1.5.17

Originally posted by @nungon in https://github.com/moneymanagerex/moneymanagerex/issues/4838#issuecomment-1198976405

whalley commented 2 years ago

See.. https://github.com/moneymanagerex/moneymanagerex/issues/4879. I can't seem to reproduce.

whalley commented 2 years ago

Can you please share your build details CleanShot 2022-07-29 at 08 48 23

aramacciotti commented 2 years ago

I have the same issue and it started with also the previous version. I hopened that was solved with the latest but it doesn't

image

nungon commented 2 years ago

181711314-7b492b3f-060d-41e2-87f0-282379c83feb

whalley commented 2 years ago

Hmmm.. OK it seems those using non-English setups are reporting the issue......

@vomikan Can you see the issue also?

aramacciotti commented 2 years ago

Hmmm.. OK it seems those using non-English setups are reporting the issue......

@vomikan Can you see the issue also?

Yes. I'm using the portable one since a long time both on 32 and 64bit versions. Let me also add that at the same time I started to see the category list anymore as a tree but as a flat one reporting any item with both the father and child category names

nungon commented 2 years ago

I have just noticed that it happens when payee is selected with keyboard autocomplete. It works fine if it's selected with mouse.

whalley commented 2 years ago

I have just noticed that it happens when payee is selected with keyboard autocomplete. It works fine if you selected with your mouse.

Thank you. Yes, it works OK on keyboard autocomplete on MacOS but not Windows.

vomikan commented 2 years ago

This does not work when typing from the keyboard then Tab or Enter button pressed. image

https://user-images.githubusercontent.com/6836805/181714746-068683b8-4dd7-420d-b91c-3e66f96839a6.mp4

whalley commented 2 years ago

@vomikan As this seems Windows related (it works fine on MacOS) I'm not going to be able to debug this for a few days as I need to re-build my Windows development box. If you get chance before then feel free to have look :-)

vomikan commented 2 years ago

@whalley I suggest this option. The category will be assigned when the focus changes and only if the category field is empty. It does not work to bind to the events of the wxComboBox itself, it behaves strangely. If this option is acceptable, then you can apply it to other dialogs.

whalley commented 2 years ago

It does not work to bind to the events of the wxComboBox itself, it behaves strangely.

This is worrying if we cannot trust the wxWidgets event processing perhaps we should raise an issue with the wxWidgets team.

If this option is acceptable, then you can apply it to other dialogs.

The amended new transaction dialog does not work for me, the payee cannot be changed and the category does not change. CleanShot 2022-08-04 at 00 45 09

whalley commented 2 years ago

For reference this is how it currently works on MacOS, which looks correct...

https://user-images.githubusercontent.com/487345/182793562-bc98ca39-687f-4b27-b479-274209c78ab3.mp4

nungon commented 2 years ago

Note that in Windows the behaviour is the same.

The problem comes when you type and tab, forget the mouse click

El jue, 4 ago 2022 a las 9:51, Mark Whalley @.***>) escribió:

For reference this is how it currently works on MacOS, which looks correct...

https://user-images.githubusercontent.com/487345/182793562-bc98ca39-687f-4b27-b479-274209c78ab3.mp4

— Reply to this email directly, view it on GitHub https://github.com/moneymanagerex/moneymanagerex/issues/4886#issuecomment-1204894841, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXNYRFGLTPQ4CMUI2ARIH3VXNY7JANCNFSM5472NKTQ . You are receiving this because you were mentioned.Message ID: @.***>

vomikan commented 2 years ago

How it working on Windows with https://github.com/vomikan/moneymanagerex/commit/e4f9ec466ebf4e6c9bd7b5345b6e6d31024bc291 changes.

https://user-images.githubusercontent.com/6836805/182798233-19fe6af0-5794-4031-875a-402abad25221.mp4

whalley commented 2 years ago

Issue is when Payee is set to "Last Used". I would prefer to keep the OnPayeeChanged as it works well when the dropdown is used and changes the category without having to change focus - this seems more natural.

vomikan commented 2 years ago

This is an example of how it currently works on Windows.

https://user-images.githubusercontent.com/6836805/182808705-108091d5-178c-474f-bfc8-3782895796ff.mp4

vomikan commented 2 years ago

@whalley Could you, please, investigate the fix above?

nungon commented 2 years ago

In my case it happens when using the keyboard. It takes as category the first result as the payee is typed, even if it's not If I click on the payee, it takes the right category

https://user-images.githubusercontent.com/36625476/182814804-65d36957-389b-4a98-b9e9-9d35f42dd8c9.mp4

When starting type "A" it suggests "Abana"; "Ingresos:Salarios" as last category used for payee Abana Then you type C so it is "Ac" and it suggest "Academia"; "Ingresos:Salarios" (wrong) It should have changed to "Academia"; "Educación:Cursos" which is the last used for that payee

That's how it worked until 1.5.17

vomikan commented 2 years ago

In my case it happens when using the keyboard. It takes as category the first result as the payee is typed, even if it's not If I click on the payee, it takes the right category

Yes. This is the bug I'm trying to fix on Windows. But at the same time keeping the same code with the MAC.

tactilis commented 2 years ago

This is the bug I'm trying to fix on Windows.

Will it also need fixing on the Recurring Transactions dialog? Or is this common code?

vomikan commented 2 years ago

Will it also need fixing on the Recurring Transactions dialog? Or is this common code?

This is only part of the code to check.

whalley commented 2 years ago

@whalley Could you, please, investigate the fix above?

It works find when there is no default payee. But if I have a default payee then the dialog fills the payee but when I change the payee and tab out to next field it reverts to old payee.

https://user-images.githubusercontent.com/487345/182831563-7f94a3d2-3400-4bf8-927c-57b6a8ac0dd3.mp4

whalley commented 2 years ago

No change, still reverts Payee field when changing focus.

vomikan commented 2 years ago

And if we accept these changes and make an extra fix for MAC? I'm out of ideas.

whalley commented 2 years ago

OK, push these changes and I'll see how I can fix for Mac without breaking Win! We have of course now moved from working on Mac but not Windows to working on Windows but not Mac! :-)

whalley commented 2 years ago

@vomikan This works OK on MacOS, is it fine on Windows?

vomikan commented 2 years ago

It's working at the moment, but not perfect. Without a bug statement on the wxComboBox side, this cannot be solved.

In this video. Created payee with similar names. image

We start typing. From the list that appears, we select not the first element with the mouse. Next, press Tab. And only when the focus changes, the category changes. There is no instant replacement of the category, because the wxComboBox events do not work correctly.

https://user-images.githubusercontent.com/6836805/183064218-64917151-0e03-4add-b20c-3f7d2b599d3a.mp4

whalley commented 2 years ago

Yes, the events seem fine on MacOS

https://user-images.githubusercontent.com/487345/183073784-dc982781-3d0f-415e-ab80-8577f720bd42.mp4

@vomikan Have you checked if you can catch the EVT_COMBOBOX_CLOSEUP event that happens when the payee is selected?

vomikan commented 2 years ago

Have you checked if you can catch the EVT_COMBOBOX_CLOSEUP event that happens when the payee is selected?

I've researched all the events. When the mouse selects something from the list, not a single event works.

Here is an example. image image

The log image

Judging by the log, only EVT_TEXT is triggered when entering characters.

https://user-images.githubusercontent.com/6836805/183079032-f964129d-48a3-4d9f-8f96-c4bd09256fab.mp4

vomikan commented 2 years ago

That's interesting.

image

https://docs.wxwidgets.org/3.0/classwx_combo_ctrl.html#comboctrl_custompopup

oldpbflyer commented 2 years ago

I have this problem. Wrong category for new entry of a payee. It worked in 1.5.15. Broke in .16, .17, and .18. I keep reinstalling 1.5.15 because so annoying to correct category when entering 15 different new transactions.

tactilis commented 2 years ago

I have this problem. Wrong category for new entry of a payee. It worked in 1.5.15. Broke in .16, .17, and .18. I keep reinstalling 1.5.15 because so annoying to correct category when entering 15 different new transactions.

@oldpbflyer The bug is fixed in the 1.5.19 Beta builds. What platform are you on: Windows, MacOS, Linux?

PMaff commented 2 years ago

I am also missing the usage of last used category for "Zahlungsempfänger/Zahler" == Payee for some past versions now and this is also a problem here in stable 1.5.18 on Ubuntu 18.04 Linux.

Tested for German and English (US) as well as (UK). Just compiling the latest unstable to check.

Edit: -- Version : 1.5.19-Beta.2 -- Commit : d9530924f (2022-08-16) it works different than -as I remember- 1.5.16 .

In the Options-> Others I have None None Default Deposit/Withdrawal Category: Use default for payee None Unreconciled No

Also with Default Deposit/Withdrawal Category: Last used for payee it only inserts the last category when I click on "Category". In 1.5.16 as far as I remember it was not necessary to click on Category. Edit2: rechecked with 1.5.16 : there the category is inserted without an additional click. Also if you change the payee, the category switches immediately to the corresponding category whereas in 1.5.19-Beta.2 the category of the previous payee stays in the field category.

vomikan commented 2 years ago

@whalley could you, please, investigate the issue?

As for me, this issue has been resolved. Probably need to open a new case for Linux.

whalley commented 2 years ago

Tested on Ubuntu 20.04.04 LTS (Focal)... and behaviour looks as expected (same as Windows).

https://user-images.githubusercontent.com/487345/185458691-a1155597-b993-423a-9e53-6e9fa66cc7e1.mp4

PMaff commented 2 years ago

I will open a new ticket to explain the difference. Edit: See : https://github.com/moneymanagerex/moneymanagerex/issues/4954

nungon commented 2 years ago

In my case it happens when using the keyboard. It takes as category the first result as the payee is typed, even if it's not

https://recordit.co/fNRKz1X82x

If I click on the payee, it takes the right category

El jue, 4 ago 2022 a las 11:12, Nikolay @.***>) escribió:

@whalley https://github.com/whalley Could you, please, investigate the fix above?

— Reply to this email directly, view it on GitHub https://github.com/moneymanagerex/moneymanagerex/issues/4886#issuecomment-1204983243, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXNYRBORV5JY32LLSTCA6LVXOCQBANCNFSM5472NKTQ . You are receiving this because you were mentioned.Message ID: @.***>

whalley commented 2 years ago

In my case it happens when using the keyboard. It takes as category the first result as the payee is typed, even if it's not https://recordit.co/fNRKz1X82x If I click on the payee, it takes the right category El jue, 4 ago 2022 a las 11:12, Nikolay @.>) escribió: @whalley https://github.com/whalley Could you, please, investigate the fix above? — Reply to this email directly, view it on GitHub <#4886 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXNYRBORV5JY32LLSTCA6LVXOCQBANCNFSM5472NKTQ . You are receiving this because you were mentioned.Message ID: @.>

Can you confirm the OS and MMEX version you are using and please raise another issue (referencing this by all means) as this was resolved in v1.5.19.