Bug 467803 - User preferences are no longer saved
Summary: User preferences are no longer saved
Status: RESOLVED FIXED
Alias: None
Product: KBibTeX
Classification: Applications
Component: General (other bugs)
Version First Reported In: 0.10
Platform: Arch Linux Other
: NOR normal
Target Milestone: ---
Assignee: Thomas Fischer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-26 06:35 UTC by Kishore Gopalakrishnan
Modified: 2023-07-29 19:49 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.10.1
Sentry Crash Report:


Attachments
video showing bug reproduction (1.48 MB, video/x-matroska)
2023-03-29 16:27 UTC, Kishore Gopalakrishnan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kishore Gopalakrishnan 2023-03-26 06:35:42 UTC
SUMMARY
Kbibtex 0.10.0 does not save user preferences (in Settings > Configure Kbibtex) or read existing saved user preferences

STEPS TO REPRODUCE
1. In Settings > Configure Kbibtex >  Saving and Exporting > Command for 'Copy reference', change to any of the non-default options
2. Click OK
3. Open the Settings window again and check the option that you changed

OBSERVED RESULT
The option has been reset to default

EXPECTED RESULT
User preferences should be saved.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.27.3
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.8-arch1-1 (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
downgrading to  0.9.3.2 fixes the issue.

Git bisect points to the following commit:
https://invent.kde.org/office/kbibtex/-/commit/19e5b7ec673032b6ab3ec2436c50316203644a6b
Comment 1 Thomas Fischer 2023-03-26 20:47:09 UTC
First I had problems reproducing the report, as I tested various settings which indeed get stored and later restored correctly.
The reported issue concerns "free-text" configuration options, for example the language to be used for Babel.
Comment 2 Thomas Fischer 2023-03-26 21:35:12 UTC
I think I fixed this bug. Please check branch 'bugs/kde467803' in my personal Git repository and confirm that it got indeed fixed:
https://invent.kde.org/thomasfischer/kbibtex/-/tree/bugs/kde467803
Comment 3 Kishore Gopalakrishnan 2023-03-27 13:12:19 UTC
(In reply to Thomas Fischer from comment #2)
> I think I fixed this bug. Please check branch 'bugs/kde467803' in my
> personal Git repository and confirm that it got indeed fixed:
> https://invent.kde.org/thomasfischer/kbibtex/-/tree/bugs/kde467803

I can still reproduce this bug with the 'Settings > Configure Kbibtex >  Saving and Exporting > Command for Copy reference' option. I think I correctly built kbibtex from the branch you mentioned (kbibtex --versions says `kbibtex 8261be23 (HEAD), near 0.10.0`).

Is there any debug output I can provide to help with this?
Comment 4 Thomas Fischer 2023-03-27 18:22:16 UTC
> I can still reproduce this bug with the 'Settings > Configure Kbibtex > 
> Saving and Exporting > Command for Copy reference' option. I think I
> correctly built kbibtex from the branch you mentioned (kbibtex --versions
> says `kbibtex 8261be23 (HEAD), near 0.10.0`).
> Is there any debug output I can provide to help with this?
KBibTeX is composed of a number of shared libraries and it may be possible that, despite you are running the kbibtex binary compiled from Git, the shared libraries installed from the ArchLinux package (with bug) are loaded.
Try to uninstall the KBibTeX package to remove the libraries.

Then, I have a special Bash script prepared that simplifies the task of fetching the code from Git, compiling it, and setting some environment variables for execution:
https://userbase.kde.org/KBibTeX/Development#Quick_Start_to_Run_KBibTeX_from_Git
The invocation would be:
  bash run-kbibtex.sh https://invent.kde.org/thomasfischer/kbibtex bugs/kde467803
Comment 5 Kishore Gopalakrishnan 2023-03-28 16:18:39 UTC
(In reply to Thomas Fischer from comment #4)
> > I can still reproduce this bug with the 'Settings > Configure Kbibtex > 
> > Saving and Exporting > Command for Copy reference' option. I think I
> > correctly built kbibtex from the branch you mentioned (kbibtex --versions
> > says `kbibtex 8261be23 (HEAD), near 0.10.0`).
> > Is there any debug output I can provide to help with this?
> KBibTeX is composed of a number of shared libraries and it may be possible
> that, despite you are running the kbibtex binary compiled from Git, the
> shared libraries installed from the ArchLinux package (with bug) are loaded.
> Try to uninstall the KBibTeX package to remove the libraries.
> 
> Then, I have a special Bash script prepared that simplifies the task of
> fetching the code from Git, compiling it, and setting some environment
> variables for execution:
> https://userbase.kde.org/KBibTeX/
> Development#Quick_Start_to_Run_KBibTeX_from_Git
> The invocation would be:
>   bash run-kbibtex.sh https://invent.kde.org/thomasfischer/kbibtex
> bugs/kde467803

I can still reproduce the bug after uninstalling kbibtex and building it using the command you mentioned.
Comment 6 Thomas Fischer 2023-03-28 20:13:12 UTC
(In reply to Kishore Gopalakrishnan from comment #5)
> I can still reproduce the bug after uninstalling kbibtex and building it
> using the command you mentioned.
You can test if you are actually running the bugfix version if you go to the Babel language combobox. Before, there was just English, Swedish, and German. Now there is a much longer list (taken from Babel's docs). Which list do you have?
Then, maybe I fixed a different bug. Can you please specify exactly for which setting you can reproduce the bug? In case of doubt, add a screenshot (in English, please).
Then, start KBibTeX from the command line and submit anything printed to this bug report.
Comment 7 Kishore Gopalakrishnan 2023-03-29 16:27:14 UTC
Created attachment 157695 [details]
video showing bug reproduction
Comment 8 Kishore Gopalakrishnan 2023-03-29 16:28:14 UTC
(In reply to Thomas Fischer from comment #6)
> (In reply to Kishore Gopalakrishnan from comment #5)
> > I can still reproduce the bug after uninstalling kbibtex and building it
> > using the command you mentioned.
> You can test if you are actually running the bugfix version if you go to the
> Babel language combobox. Before, there was just English, Swedish, and
> German. Now there is a much longer list (taken from Babel's docs). Which
> list do you have?

I have the longer list.

> Then, maybe I fixed a different bug. Can you please specify exactly for
> which setting you can reproduce the bug? In case of doubt, add a screenshot
> (in English, please).
> Then, start KBibTeX from the command line and submit anything printed to
> this bug report.

This is what I get on running
$LANG=C bash --norc run-kbibtex.sh https://invent.kde.org/thomasfischer/kbibtex bugs/kde467803
[cutting out some install/build output]

-- Installing: /tmp/kishore-kbibtex-usr/share/man/man1/kbibtex.1
kbuildsycoca5 running...
[warning] kbuildsycoca5 (unknown:0) - The desktop entry file "/usr/share/applications/org.freedesktop.Xwayland.desktop" has Type= "Application" but no Exec line
[warning] kbuildsycoca5 (unknown:0) - Invalid Service :  "/usr/share/applications/org.freedesktop.Xwayland.desktop"
[warning] kbuildsycoca5 (unknown:0) - The desktop entry file "/usr/share/applications/qemu.desktop" has Type= "Application" but no Exec line
[warning] kbuildsycoca5 (unknown:0) - Invalid Service :  "/usr/share/applications/qemu.desktop"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "BibTeX" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "BibLaTeX" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "No backups" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Local files only" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Both local and remote files" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "None" msgid_plural: "" msgctxt: "Comment Quoting"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "@comment{\xE2\x80\xA6}" msgid_plural: "" msgctxt: "Comment Quoting"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "% \xE2\x80\xA6" msgid_plural: "" msgctxt: "Comment Quoting"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "lowercase" msgid_plural: "" msgctxt: "Casing of strings"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Initial capital" msgid_plural: "" msgctxt: "Casing of strings"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "UpperCamelCase" msgid_plural: "" msgctxt: "Casing of strings"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "lowerCamelCase" msgid_plural: "" msgctxt: "Casing of strings"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "UPPERCASE" msgid_plural: "" msgctxt: "Casing of strings"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Open Editor" msgid_plural: "" msgctxt: "What to do if double-clicking on a file view item"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "View Document" msgid_plural: "" msgctxt: "What to do if double-clicking on a file view item"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Important" msgid_plural: "" msgctxt: "Color Labels"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Unread" msgid_plural: "" msgctxt: "Color Labels"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Read" msgid_plural: "" msgctxt: "Color Labels"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Watch" msgid_plural: "" msgctxt: "Color Labels"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "a|als|am|an|are|as|at|auf|aus|be|but|by|das|dass|de|der|des|dich|dir|du|er|es|for|from|had|have|he|her|his|how|ihr|ihre|ihres|im|in|is|ist|it|kein|la|le|les|mein|mich|mir|mit|of|on|sein|sie|that|the|this|to|un|une|von|was|wer|which|wie|wird|with|yousie|that|the|this|to|un|une|von|was|wer|which|wie|wird|with|you|und|and|ein|eine|einer|eines" msgid_plural: "" msgctxt: "Small words that can be removed from titles when generating id suggestions; separated by pipe symbol"
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Source (BibTeX)" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Source (RIS)" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Standard" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Fancy" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Wikipedia Citation" msgid_plural: "" msgctxt: ""
[warning]  (unknown:0) - KLocalizedString: Using an empty domain, fix the code. msgid: "Abstract-only" msgid_plural: "" msgctxt: ""
[info] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/program/program.cpp:63) - Starting KBibTeX version "934deaf0 (bugs/kde467803, 3418 commits in history), near 0.10.0"
[warning] kbibtex (unknown:0) - QCommandLineParser: option not defined: "author"
[warning] kbibtex (unknown:0) - QCommandLineParser: option not defined: "license"
[warning] kbibtex (unknown:0) - QCommandLineParser: option not defined: "desktopfile"
[debug] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/program/docklets/documentpreview.cpp:231) - WebEngine is available, using it instead of WebKit or HTML KPart (both neither considered nor tested for) for HTML/Web preview.
[warning] kbibtex (unknown:0) - Trying to convert empty KLocalizedString to QString.
[warning] kbibtex (unknown:0) - No language dictionaries for the language: "en_US"
[warning] kbibtex (unknown:0) - No language dictionaries for the language: "en_US"
[warning] kbibtex (unknown:0) - No language dictionaries for the language: "en_US"
[warning] kbibtex (unknown:0) - No language dictionaries for the language: "en_US"
[info] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/program/program.cpp:100) - Located KPart service: "kbibtexpart" with description "KParts component to view and edit bibliographic files" from library "kbibtexpart"
[warning] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/networking/onlinesearch/onlinesearchabstract.cpp:515) - Could not download icon from URL  "https://dx.doi.org/static/img/favicon.png" :  "Error transferring https://dx.doi.org/static/img/favicon.png - server replied: Not Found"
[warning] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/networking/onlinesearch/onlinesearchabstract.cpp:515) - Could not download icon from URL  "https://ui.adsabs.harvard.edu/styles/img/favicon.ico" :  "Error transferring https://ui.adsabs.harvard.edu/styles/img/favicon.ico - server replied: Not Found"
[info] kbibtex (/tmp/kishore-kbibtex-git-05aa3e500c7809c93d2c4d6bb2fe026d/src/io/encoder.cpp:2429) - Using ICU in Encoder class
[warning] kbibtex (unknown:0) - No language dictionaries for the language: "en_US"
Comment 9 Kishore Gopalakrishnan 2023-03-29 16:29:32 UTC
(In reply to Thomas Fischer from comment #6)
> Then, maybe I fixed a different bug. Can you please specify exactly for
> which setting you can reproduce the bug? In case of doubt, add a screenshot
> (in English, please).

It's the same setting I mentioned in the initial bug report ( Settings > Configure Kbibtex >  Saving and Exporting > Command for 'Copy reference'). I've added a video recording now.
Comment 10 Thomas Fischer 2023-03-30 18:46:49 UTC
Please check the new code. I force-pushed, so you may have to check out anew.
First, I missed to reproduce the bug as I only tried to switch between various commands, but never tried the "No command" option. Then, while testing the preferences code, I noticed that free-text fields like "babel language" and "bibliography style" did not work correctly and incorrect assumed that was the bug you reported.
Comment 11 Kishore Gopalakrishnan 2023-03-31 16:29:04 UTC
(In reply to Thomas Fischer from comment #10)
> Please check the new code. I force-pushed, so you may have to check out anew.
> First, I missed to reproduce the bug as I only tried to switch between
> various commands, but never tried the "No command" option. Then, while
> testing the preferences code, I noticed that free-text fields like "babel
> language" and "bibliography style" did not work correctly and incorrect
> assumed that was the bug you reported.

Thanks, it seems to be fixed now.
Comment 12 Thomas Fischer 2023-04-01 15:14:33 UTC
Git commit 4c8f24c20c8145f9843dd1d685dce14cc6c18971 by Thomas Fischer.
Committed on 01/04/2023 at 15:13.
Pushed by thomasfischer into branch 'kbibtex/0.10'.

Accepting empty string as valid copy reference command

When storing a new configuration setting for the 'copy reference' command,
accept an empty string (equivalent to 'No command' in the UI) as a valid
configuration string.

M  +5    -1    ChangeLog
M  +2    -2    src/config/preferences.cpp
M  +1    -0    src/config/preferences.json
M  +1    -1    src/gui/preferences/settingsfileexporterpdfpswidget.cpp

https://invent.kde.org/office/kbibtex/commit/4c8f24c20c8145f9843dd1d685dce14cc6c18971
Comment 13 Thomas Fischer 2023-07-29 19:49:36 UTC
Git commit b4c9036b5d9bb39dac6dc3abe4e3534ba27a2800 by Thomas Fischer.
Committed on 29/07/2023 at 21:39.
Pushed by thomasfischer into branch 'master'.

Accepting empty string as valid copy reference command

When storing a new configuration setting for the 'copy reference' command,
accept an empty string (equivalent to 'No command' in the UI) as a valid
configuration string.

Forward-port of commit 4c8f24c20c8145f9843dd from branch 'kbibtex/0.10'.

M  +6    -2    ChangeLog
M  +2    -2    src/config/preferences.cpp
M  +1    -0    src/config/preferences.json
M  +1    -1    src/gui/preferences/settingsfileexporterpdfpswidget.cpp

https://invent.kde.org/office/kbibtex/-/commit/b4c9036b5d9bb39dac6dc3abe4e3534ba27a2800