I've noticed that archives are sometimes opened e.g. with zip:/ and sometimes with kracr:/ protocol. In case of zip we cannot write into that archive. Are you also facing this issue?
In krservices.cpp we are using KProtocolManager::protocolForArchiveMimetype(mimetype) method to get proper archive protocol. This method returns sometimes this and sometimes that, because by installing krarc protocol there is more then one protocol available for archive mimetypes available. I propose to extend KIO package and add KProtocolManager::protocolsForArchiveMimetype(mimetype) - note the "s" - which would return QList<QString> of protocols and we at Krusader would choose the right one (krarc if available).
I'll append both diffs (KIO and krservices.cpp).
Is there a better way to face this issue or do you think this is a way to go? Thanks!