kdheepak / taskwarrior-tui

`taskwarrior-tui`: A terminal user interface for taskwarrior
https://kdheepak.com/taskwarrior-tui
MIT License
1.48k stars 68 forks source link

Setting keyconfig.edit causes "Duplicate Key Error" #579

Open BeCracked opened 4 months ago

BeCracked commented 4 months ago

Describe the bug

Having the option uda.taskwarrior-tui.keyconfig.edit=h set to anything causes the error [taskwarrior-tui error]: Duplicate keys found in key config. Having uda.taskwarrior-tui.keyconfig.edit= "works" however.

This only occurred after updating yesterday. I probably updated from version v0.25.4 to the lastest.

To Reproduce

Steps to reproduce the behavior:

.taskrc:

uda.taskwarrior-tui.keyconfig.edit=h

Environment:

taskwarrior-tui --version
taskwarrior-tui 0.26.3
task --version
3.0.2

Additional context and information

No stacktrace is generated as timewarrior-tui does not crash but error out cleanly, I suppose.

kdheepak commented 4 months ago

Do you have any additional key configurations?

It's annoying because I don't show which keyconfigs are duplicated: https://github.com/kdheepak/taskwarrior-tui/blob/aeefdeaaff2fe9e5fbb412521ed25e25a313caf8/src/keyconfig.rs#L227

I'll fix this in a upcoming release and leave this issue to track it.

BeCracked commented 4 months ago

I was using it with quite a number of other keybinds (IIRC I simply copied all available from here). I did not try every permutation, but it works when I comment the edit line. As described, I also used it with only that one line in the .taskrc and it still caused the error.

This is the Taskwarrior TUI part of my .taskrc.

# Taskwarrior-tui Keys config
uda.taskwarrior-tui.keyconfig.quit=q
uda.taskwarrior-tui.keyconfig.refresh=r
uda.taskwarrior-tui.keyconfig.go-to-bottom=G
uda.taskwarrior-tui.keyconfig.go-to-top=g
uda.taskwarrior-tui.keyconfig.down=e
uda.taskwarrior-tui.keyconfig.up=i
uda.taskwarrior-tui.keyconfig.page-down=E
uda.taskwarrior-tui.keyconfig.page-up=I
uda.taskwarrior-tui.keyconfig.delete=x
uda.taskwarrior-tui.keyconfig.done=d
uda.taskwarrior-tui.keyconfig.start-stop=s
uda.taskwarrior-tui.keyconfig.quick-tag=t
uda.taskwarrior-tui.keyconfig.undo=u
#uda.taskwarrior-tui.keyconfig.edit=h # Buggy? "Duplicate entry"
uda.taskwarrior-tui.keyconfig.modify=m
uda.taskwarrior-tui.keyconfig.shell=!
uda.taskwarrior-tui.keyconfig.log=l
uda.taskwarrior-tui.keyconfig.add=a
uda.taskwarrior-tui.keyconfig.annotate=A
uda.taskwarrior-tui.keyconfig.filter=/
uda.taskwarrior-tui.keyconfig.zoom=z
uda.taskwarrior-tui.keyconfig.context-menu=c
uda.taskwarrior-tui.keyconfig.next-tab=]
uda.taskwarrior-tui.keyconfig.previous-tab=[

taskwarrior works as normal btw.

BeCracked commented 4 months ago

I do not know much rust, but I would wager that this commit https://github.com/kdheepak/taskwarrior-tui/commit/5c543f74f9723f1c1ea07f493c93072b3f5c97dd might have caused the bug by adding this line. Which also would make this ever so slightly out of date, I guess :D

Btw, I accidentally already discovered the functionality introduced by that commit. Very handy!

Thanks for the quick reply either way! :)

RedEtherbloom commented 3 months ago

Issue should be solved by our PR