paolostivanin / OTPClient

Highly secure and easy to use OTP client written in C/GTK3 that supports both TOTP and HOTP
GNU General Public License v3.0
458 stars 47 forks source link

UI feedback #359

Closed dw closed 1 week ago

dw commented 3 months ago

Hey there,

I've been a heavy user of otpclient for years and mostly love it. There are a couple of issues with the UI I'd love to see corrected, and would be happy to volunteer a bit of time for each (or all!) of them if there was interest in accepting any of the contributions upstream:

Apologies for the unsolicited feedback. I still love the app, and suspect there may be some logic behind not hiding stuff in a context menu

paolostivanin commented 3 months ago

Hello, thanks a lot for taking the time to write such detailed feedback, really appreciated :smile: Let's go point by point:

paolostivanin commented 1 month ago

To-Do for v3.7.0:

paolostivanin commented 1 week ago

Everything I could do on v3 has been done. For the more juicy parts (search, reorder, etc), you've gotta wait for v4 :smile:

dw commented 1 week ago

Very exciting! Tried a source compile and things are looking good, though somehow triggered a SEGV on any Right Click -> Edit Row I tried. Maybe a library version issue? (This is debian 12)

Thread 1 "otpclient" received signal SIGSEGV, Segmentation fault.
0x000055555556d212 in edit_row_cb (simple=0x555555a036a0, parameter=0x5555556a2a70, user_data=0x1) at /home/dmw/src/OTPClient/src/gui/edit-row-cb.c:46
46      edit_data->db_data = app_data->db_data;
(gdb) p app_data
$1 = (AppData *) 0x1
(gdb) bt
#0  0x000055555556d212 in edit_row_cb (simple=0x555555a036a0, parameter=0x5555556a2a70, user_data=0x1) at /home/dmw/src/OTPClient/src/gui/edit-row-cb.c:46
#1  0x00007ffff7f2a3b0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2  0x00007ffff7f3d076 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff7f43bf5 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff7f43dbf in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff796c8a4 in gtk_widget_activate () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007ffff781f996 in gtk_menu_shell_activate_item () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#7  0x00007ffff781fcd1 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff7690cb4 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#9  0x00007ffff7f2a5a9 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff7f4305e in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff7f43dbf in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff7969844 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff780783e in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff78092f6 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff6e90815 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#16 0x00007ffff6eea7a2 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#17 0x00007ffff733c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff733ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff733cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff74fd65d in g_application_run () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#21 0x0000555555570833 in main (argc=1, argv=0x7fffffffe2b8) at /home/dmw/src/OTPClient/src/gui/main.c:25
(gdb) quit

edit: compiled with:

   56  cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_C_FLAGS_DEBUG="-g -O0"  . 

And manually source-installed cotp from your GitHub repo

paolostivanin commented 1 week ago

I still have to test the changes I made :smile: seems like no luck in getting everything working at the first try lol

paolostivanin commented 1 week ago

Now everything works fine, at least for me :smile: could you please try against latest master and let me know?

Thanks

dw commented 1 week ago

Thank you, Edit Row works in latest master for me :) Thanks so much