Bug 454262

Summary: konversation does change order of identities in config file
Product: [Applications] konversation Reporter: Till Schäfer <till2.schaefer>
Component: generalAssignee: Konversation Developers <konversation-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.9.22041   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Till Schäfer 2022-05-23 09:55:40 UTC
Konversation 1.9.22041 does change the config files ordering (.konversationrc) every open/close cycle when having two Identities. This contradicts the goal to have a stable configuration, e.g. for dotfile storage. See also Bug 441575 (separate state config). 

The problem here seems to be, that the ordering of the identities is not fixed. I have two identities configured. Every time I open/close konversation, the ordering is reversed, i.e, Identity 0 become Identity 1 and vice versa (see config snipped below). Thus, after two cycles, the configuration is again the original one. It might be relevant, that both Identities have the same Ident and the same Nichnames configured. 

Here is the config 
[Identity 0]
AuthType=nickserv
AutomaticAway=true
AutomaticUnaway=true
AwayInactivity=10
AwayMessage=/me is away: %s
AwayNick=
AwayReason=
Bot=NickServ
Codec=UTF-8
Ident=till
InsertRememberLineOnAway=true
KickReason=User terminated!
Name=Standardidentität
Nicknames=NICK
NickservCommand=identify
PartReason=Konversation terminated!
Password=XXX
PemClientCertFile=
PreShellCommand=
QuitReason=Konversation terminated!
Realname=NAME A
ReturnMessage=/me is back.
SaslAccount=
ShowAwayMessage=false

[Identity 1]
AuthType=saslplain
AutomaticAway=false
AutomaticUnaway=false
AwayInactivity=10
AwayMessage=
AwayNick=
AwayReason=Gone away for now 
Bot=nickserv
Codec=UTF-8
Ident=till
InsertRememberLineOnAway=false
KickReason=User terminated!
Name=SOMENAME B
Nicknames=NICK
NickservCommand=identify
PartReason=Konversation terminated!
Password=XXX
PemClientCertFile=
PreShellCommand=
QuitReason=Konversation terminated!
Realname=NAME B
ReturnMessage=
SaslAccount=NICK
ShowAwayMessage=false

Operating System: Gentoo Linux
KDE Plasma Version: 5.24.5
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.3
Kernel Version: 5.15.32-gentoo-r1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-3770 CPU @ 3.40GHz
Memory: 30.8 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4000
Comment 1 argonel 2024-09-06 20:21:26 UTC
Git commit d12d9887046e6d15471fca20085cecd0618e94a3 by Eli MacKenzie.
Committed on 06/09/2024 at 20:19.
Pushed by argonel into branch 'master'.

Stabilize the identity group keys in the RC

QList::filter appears to return the keys in random order, which causes
the group numbers to change. The group keys are now sorted in numerical
order on load, which matches the order in which they are written.

M  +14   -3    src/application.cpp

https://invent.kde.org/network/konversation/-/commit/d12d9887046e6d15471fca20085cecd0618e94a3