I prefer it the way it is now.
A lot of speculations below, but some are actual real world scenarios.
For me, there are several major concerns:
- The plugin is not released yet, as such nobody can guarantee it won't corrupt my miranda profile
- If my profile is corrupted by this, how do you then "remove" the corrupted tox from it, in case there is an issue?
Or another scenario, consider you have a backup of your 64bit miranda and you have it on a 32bit machine just for backup reasons. Then your 64bit machine dies and then you want to just start your tox to make a call (because miranda itself does not have audio/video capability) and you cannot, because you need your profile for it, but you can't get your profile because it's somewhere inside your miranda DB, but you can't get miranda started to export it because you are on a 32bit machine and your miranda is 64bit.. you'd need to download 32bit miranda and then see about all of the plugins etc to get to even export it, and even then that c ould bring many issues and it could corrupt your own miranda profile too.
- I definitely think that having it in roaming is potentially dangerous. Imagine you start utox and then make some changes to the profile WHILST miranda is running. What would even be the state of that file afterwads? Not to mention using the same profile file from 2 applications / locations causes some really weird behavior. Or for example there is an API change to libtox and someone launches uTox which changes the structure of the tox profile and miranda is then unable to read it because it's different and somehow corrupts the file afterwards.
I think that if you wish to store the tox profile in the db then:
a) it must be safe, no way of causing damage to miranda DB. The tox profile is small enough (with 40 contacts it's still only several hundred kB), so that's fine
b) it has to be backwards compatible, i.e. if the tox file/profile is not in the miranda db, it should still be able to load it from the .tox file next to miranda DB (as it is now)
c) it has to store any changes made to the .tox file next to miranda db in case you want to use only the tox profile with a different client. Export function is nice but it implies you are able to start your miranda. For example, saving it on every miranda exit or on every profile change sounds like a good idea. You don't have to read the file, just flush the new info into it.
Some of these concerns would dissipate if miranda supported A/V calls but I believe this is planned for the next few releases so not for quite some time.