darktable 3.8 shortcuts lost on restart

Running 3.8 on Mint 20.2 Uma with Cinnamon desktop. I have upgraded from ver 3.61 and have a problem with recreating my shortcuts. I can create shortcuts with no problem and they work perfectly in the current session. As soon as I restart dt the shortcuts no longer exist.

I have spent quite a lot of time trying to diagnose the issue and it seems like the newly defined shortcuts are not being written to $HOME/.config/shortcutsrc, even though the timestamp on the file is changing. I have checked permissions on the file and I have read/write access.

There are additional files in the config directory called shortcutsrc.backup, shortcutsrc.defaults and shortcutsrc.edit. I am not sure how these files are used, but presumably shortcutsrc.defaults is used for restoring defaults and shortcutsrc.edit are edits for the current session.

I can work around the issue by exporting the shortcuts from a session to a file and importing from that file after a restart, but clearly something is amiss. I’m not sure if this is a local configuration issue affecting me only or a bug in 3.8.

How did you install darktable?

From the repository at deb

http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_20.04/

/

If you start it from the command line with darktable -d all does the output show anything?

I’m not really sure what to look for, but grepping the output for “warning” and “error” produced nothing.

Some further info. I just did a diff between my shortcutsrc file in the config directory and the one that I saved after adding shortcuts into the session and that confirms that the new shortcuts are not being written to $HOME/.config/darktable/shortcutsrc config file, or the file is being overwritten at dt startup.

From the Release Notes:
“” The Big Ones

The keyboard shortcut system has been entirely reworked and extended to allow you
to control darktable with other devices, for example, MIDI devices
and game controllers. Standard keyboard/mouse shortcuts can now make use
of mouse movements (horizontal, vertical, diagonal) as well as multiple
button/key presses and short or long presses/clicks.

Please note that any shortcuts you have previously created are not transferred
to the new functionality and will need to be redefined in darktable 3.8.

“”

Yes, aware of that. My problem is that my newly defined shortcuts only remain for the current session. Restarting darktable takes me back to the defaults only.

Seems likely you have found a ‘bug’.

Submitted bug report #10743

What if you direct DT to use a different config directory using --configdir parameter when you run DT…then try to add some and rerun from there?? Do they still go missing when using the alternate config location??

Yes, same result.

Ok, further testing has shown that the problem seems limited to shortcuts that refer to a preset. If I define a shortcut to a built in action (eg. preferences) it is retained between sessions. Defining shortcuts to three existing presets results in these errors when starting dt.
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/Flickr all’ not found
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/Unprocessed’ not found
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/WIP’ not found

I’ve updated the bug report with this info.

Confirmed bug #10743.

Have something similar, but not at restart. I added Shift+5 and Shift+6 as shortcuts for some styles. They work for some weeks but suddenly reset. Other shortcuts still work.
Ubuntu 20.04 and darktable installed from Opensuse.