Author Topic: Profile pains  (Read 12972 times)

0 Members and 2 Guests are viewing this topic.

Offline riki

Profile pains
« on: 04 09 2018, 17:05:14 »
Hello, once again I'm in trouble with Miranda  ???

I've made no Miranda use for 2-3 weeks. Now, after updating to miranda-ng-v0.95.8.1 (by auto-updater), Miranda can't open my profile. I have several backups in place, but apparently none of them opens.

I've tried reinstalling Miranda from scratch, both the stable and development version, but my old profile doesn't appear in the list of profiles on startup. I am not given a choice between database drivers, only MDBX is proposed. But I think my profile is now in MMAP format.

What should I do? Maybe reverting to an older Miranda? I'm not sure which version I was using. I usually update as soon as the updater suggests it, but I might have skipped some of the recent updates (up to maybe 4-6 weeks ago), because I was afraid exactly of this.

NOTE: I've read some similar messages on this forum, so I point out it's not a 32/64 bit issue, because I never used these profiles on 64 bit.
« Last Edit: 04 09 2018, 17:12:40 by riki »
 

Offline Vulpix

Re: Profile pains
« Reply #1 on: 04 09 2018, 21:57:53 »
Yeah...

How big is your profile? 32bit miranda limit is ~430MB (when using mdbx). Your profile should be in mdbx format. If it is not, miranda will offer an option to convert it. Old miranda won't be able to open mdbx profile at all.

It's also possible that all your old backups are unreadable because the miranda from some time ago was not creating autobackups correctly. If you created your backups by turning off miranda and copying the profile elsewhere, it should work.

If none of this works, you can try to put your profile somewhere, create a blank profile, start miranda and then import your old profile. For some reason this generally works (you might lose some settings but generally histories, contacts and everything else should be intact).

If you are able to run the old miranda with your old profile, you can fix this by exporting all of your settings, then doing the import on new miranda, then starting miranda in service mode, deleting all settings and importing the previously exported settings. (settings only, not contacts).

I've gone through most of these pains and I'm sure we can do something to get your miranda going, but we'll need more info
 
The following users thanked this post: riki

Offline riki

Re: Profile pains
« Reply #2 on: 05 09 2018, 09:03:13 »
Thanks for your reply, Vulpix. I'll try to address all your points.

How big is your profile? 32bit miranda limit is ~430MB (when using mdbx).
My backup coverage is a bit sparse unfortunately. My profile backups are between 180 and 250 MB. In late April, a couple of backups strangely reached 500MB without Miranda crashing. Following backups have OK sizes: I think I used Database -> Compact.

Your profile should be in mdbx format.
They all are, from mid-April on. Driver names: I mixed up - mdbx is the new one, got it.

Old miranda won't be able to open mdbx profile at all.
When I said "old Miranda", I was thinking of the one right before the update that broke things for me, just a few days ago. That is, post mdbx switch already.

With this "old" Miranda, I managed to open a backup from April 24, 2018, that looks fine and is 189 MB long. I exported all the settings via Miranda menu -> Dbeditor++.

Apparently, following backup .dat files won't open or import from ("Error loading source file, exiting").

Do I have any other options? What really hurts are the conversations, some of which precious, the contacts, the several annotations I made in the info field.

EDIT: I managed to sync until mid-June. Found a working backup. Searching for working ones is really a pain. It seems like the notes (User details -> Notes) are gone. Can you suggest a way to restore them explicitly? They are important for me.
« Last Edit: 05 09 2018, 10:53:54 by riki »
 

Offline Vulpix

Re: Profile pains
« Reply #3 on: 05 09 2018, 14:14:52 »
Those are stored with the contacts themselves.

If you have a working backup with such notes present, you should be able to export the config using dbeditor++ and then import them either manually or by copypasting.

Notes are stored in the database in Contacts->Contact->UserInfo->MyNotes (you can navigate there using db editor). Worst case scenario you can just export all settings for contacts and copypaste those into the new profile, or you can just copypaste from the old miranda profile by navigating there via dbeditor++ and double clicking on the MyNotes to display its value in a window.

To be honest these notes should be imported when migrating or importing a profile, so it's strange they were not.
 

Offline cys

  • Newbie
  • *
  • Posts: 3
Re: Profile pains
« Reply #4 on: 05 09 2018, 19:13:13 »
Hey,

I just returned from my vacation and run into the same problem. I allowed updated to autoupdate and then none of my profiles loaded. In accounts option I have seen them actually but they were disabled.
Investigating further I noticed that in options/plugins i had all my plugins responsible for the protocols missing. Gone.
Long story short I found the solution:
0. close miranda (obviously hehe, but added just in case this point)
1. To to miranda download homepage (https://www.miranda-ng.org/en/downloads/) and downloaded the appropriate 7-zip archive set. For me it was: Stable version (0.95.9) / 64bit
2. unzip the content of "Plugins" folder from the zipped installation pack into your miranda folder
3. start your miranda. All the setup will magically click into place.

At least this is what I have done to fix mine after some struggling.

Hope it helps!
 

Offline riki

Re: Profile pains
« Reply #5 on: 06 09 2018, 19:26:33 »
@Vulpix, thanks again.

Those are stored with the contacts themselves.

[...]

To be honest these notes should be imported when migrating or importing a profile, so it's strange they were not.
For some reason, they were gone from that backup, but I found some (possibly all?) in an older one :)

Since you're so helpful, and know quite a few things about Miranda, I have a few more questions for you.

- Importing contacts and conversations from my past backups skipped some contacts I used to have on a now defunct app/protocol. Since that plugin isn't available anymore, the import plugin doesn't create a local account for me. So contacts and conversations can't be recovered. Is there any workaround?

- Is it possible to import a conversation from a text file (saved by Miranda itself)? If so, how?


@cix

I don't have a problem with missing plugins. It's a database corruption issue. Glad your method worked for you!

 

Offline Vulpix

Re: Profile pains
« Reply #6 on: 06 09 2018, 22:01:46 »
1) for importing from a backup that uses a now-deprecated protocol, you could ask Ghazan to include it in the import.dll like he did for various other protos. Alternatively you can "upgrade" the protocol to Dummy - Dummy will be imported. See more details here - "how to 'upgrade' a protocol to Dummy": https://wiki.miranda-ng.org/index.php?title=Plugin:Dummy

2) yes it is, miranda (the latest one) supports json import via import.dll itself (right click on user -> import-> select a "json" filetype and then select the json to import). The plugin that creates such jsons from ongoing conversations is called MsgExport. You can install it and export your conversations to see what it looks like, in case you want to somehow import such conversations into miranda by converting them from some other text source.

2b) Old miranda has a different plugin called ImportTXT (it was recently killed off). It only works on 32bit version of miranda but it can import various text formats as well as binary formats such as for example mContacts .dat export or history++ export. It works somewhat okay on old miranda but I strongly suggest you take backups before you do any of these shenanigans. A virtual machine snapshot is perfect for this.
« Last Edit: 06 09 2018, 22:05:00 by Vulpix »
 
The following users thanked this post: riki

Offline riki

Re: Profile pains
« Reply #7 on: 10 09 2018, 12:01:45 »
Hello Vulpix, your replies are always useful and informative!

1) for importing from a backup that uses a now-deprecated protocol, you could ask Ghazan to include it in the import.dll
(snip)
 Alternatively you can "upgrade" the protocol to Dummy
(snip)
 https://wiki.miranda-ng.org/index.php?title=Plugin:Dummy
I will try upgrading before bothering Ghazan. Thanks.

Quote
2) yes it is, miranda (the latest one) supports json import via import.dll itself (right click on user -> import-> select a "json" filetype and then select the json to import). The plugin that creates such jsons from ongoing conversations is called MsgExport. You can install it and export your conversations to see what it looks like, in case you want to somehow import such conversations into miranda by converting them from some other text source.
I've been using MsgExport for a very long time - probably since it was introduced. However, I never noticed JSON export. Maybe it's a new feature. I have hundreds of .txt files with the exported conversations in human-readable form (not json). I would like to reimport some of them! I've suffered data loss already a few times, and I had autoexport, so I've got (almost) all conversations sprinkled here and there. But I'm afraid only JSON format is importable, right?

At the moment I'm wary of updating Miranda and plugins. My last update destroyed my profile.dat. How to know when it is safe to resume regular updating?

Quote
2b) Old miranda has a different plugin called ImportTXT
I will try this as a last resort, but I'm afraid I've got to find some old backup of the whole Miranda executable folder...

I have a terrible week now and I don't think I will be able to do any work fixing my Miranda. I'll update with a new post as soon as I put myself to it. Thanks again!
 

Offline Vulpix

Re: Profile pains
« Reply #8 on: 10 09 2018, 16:41:22 »
Hello!

Yes, JSON export/import is a new feature. The reason behind this is that the ImportTXT plugin which can import MsgExport'd txt uses some library called pcre3.dll which does not exist in 64bit version anywhere. So you are stuck in a loop. You can only import these old text exports using ImportTXT. For this, you not only need older miranda (think about 2weeks back is when ImportTXT got killed) but you also need 32bit miranda, which means you likely can't use your db as it may be over the size limit.

So what you could do is install one of the mirandas that is of older version, create dummy contacts and import your text into them, then update this miranda to latest version and use MsgExport's JSON export to export them into JSON. You can then import these exported JSONs into your current 64bit miranda.

I too have been using MsgExport since forever and had tons of these txt files, and I did exactly this :)
 

Offline AnrDaemon

Re: Profile pains
« Reply #9 on: 10 09 2018, 17:54:06 »
What I would very much like is mContacts format import.
 

Offline Vulpix

Re: Profile pains
« Reply #10 on: 10 09 2018, 21:15:26 »
I used to heavily rely on mContacts, but unfortunately due to how it's implemented, it can happen that all of your old mcontacts become un-importable; all because the format is binary. This has happened several times in the past and then you're stuck with a binary format that you cannot open anywhere. In the case of json, at least it's still sorta human readable so in super worst case scenario at least you have a text file.

But yeah, this whole profile and import/export thing is quite painful...

That being said, jsonimport is good now. It's got all the good stuff like mcontacts - it's fast and it imports events too (like avatar changes or other state events), so I strongly recommend you give it a go. the speed and event import was the main reason why txt export/import was not good and why this json import is.
 

Offline AnrDaemon

Re: Profile pains
« Reply #11 on: 11 09 2018, 10:34:13 »
Format is binary, but is it stable? Or it uses current database format for export?
 

Offline Vulpix

Re: Profile pains
« Reply #12 on: 11 09 2018, 16:54:49 »
Stable or not, it doesn't matter if one day you find you need to import your old .dat files and none of them will let you.

https://github.com/miranda-ng/miranda-ng/issues/786 example of this happening.

https://github.com/miranda-ng/miranda-ng/commit/d3cd7864c1d7250003072239482dcd1fb3388466

as you can see structure changed inbetween miranda commits and mcontacts export/import was not able to cope with it... which is why I gave up on binary history format.

 

Offline AnrDaemon

Re: Profile pains
« Reply #13 on: 11 09 2018, 19:48:53 »
Why would anyone use ImportTXT to import binary dump created by an entirely different addon? >.<
 

Offline Vulpix

Re: Profile pains
« Reply #14 on: 11 09 2018, 22:45:41 »
What were you using previously? ImportTXT was the only addon that could import mContacts for "one contact" until import.dll received support for "just one" contact in some of the recent commits.

ImportTXT was fully capable of importing mContacts data format. History++ cannot import, it can only export.

And there is/was no other plugin that exports history (partial, entire, etc) into mContacts that I know of.

What are you using?