[Из песочницы] Viber для Windows и история сообщений
Работаю я обычным эникейщиком, и произошла как-то у меня тоже вполне обычная история — переезд человека на новый другой компьютер. Не буду особо вдаваться в подробности, просто скажу, что возникла необходимость переноса истории Viber, которая была этому человеку жизненно необходима.
У Viber есть одна интересная фича: синхронизация начинается с момента установки. То есть если вы установили Viber на PC в 10.00, то сообщения, отправленные и полученные в 9.58 в истории вы не увидите. Зато все последующие, вне зависимости от того, запущена была программа или нет, при запуске подхватятся автоматически.
Поэтому вариант с новой установкой у меня не проходил. Я обратился к официальному способу бэкапа сообщений. Сайт вайбера сообщал, что такая возможность присутствует. Но с одним интересным нюансом — эту историю нельзя восстановить. Не знаю, кто это придумал и чем он руководствовался при таком решении, но запасаться бокалом вина, устраиваться у камина и почитывать свои старые сообщения я не собирался.
Ну ладно, попробуем другой способ — полный перенос программы. Для тех, кто не знаком с Viber для Windows, расскажу, что сам себя и всю информацию он хранит в личной папке пользователя. Для Windows 7 это %USERPROFILE%\AppData\. В подпапке Local хранится сама программа, а в Roaming — то, что нас более всего интересует, волшебная папка с номером телефона. Ещё, конечно, не лишним будет упомянуть о папке ViberDownloads в Documents, которая является кладезью для любителей украсть провокационные фото. Что ж, условия были практически идеальные — на старом и новом компьютерах была установлена Win7×64, имя пользователя и доменное имя на обоих PC было одинаковым. Пробуем просто перенести и вуаля — получаем при запуске следующее сообщение:
Результат меня удивил — историю на фоне я таки увидел. При нажатии кнопки «Продолжить» проходит новый процесс регистрации, при котором, конечно же, всё стирается. Я решил копать в этом направлении дальше.
В Roaming в папке с номером телефона я нашёл 2 файла *.db и решил подсунуть только их. Результат тот же. А по отдельности?
Вуаля! С viber.db прокатило! Но, правда, пришлось предварительно пройти регистрацию.
Итак, для переноса истории сообщений требуется:
- Предварительно скопировать файл %USERPROFILE%\AppData\Roaming\ViberPC\%номер_телефона%\viber.db
- Пройти регистрацию на новом компьютере
- Перенести наш файл viber.db в %USERPROFILE%\AppData\Roaming\ViberPC\%номер_телефона%\ на новом PC
Но на этом я не остановился. А что, если попробовать забрать файл viber.db с другого номера? И…
Заработало. Выходит, я могу прочитать сообщения пользователя, имея доступ к его профилю. Отправлять от его имени не смогу, как и читать сообщения, пришедшие/отправленные уже после копирования файла другого пользователя. Радоваться мне от этого или грустить, я не решил. Но зато решил уведомить об этом службку поддержки Viber. Три тщетных попытки и месяц ожидания ответа — не то, что я ждал от довольно крупной компании.
Если на Хабре есть представители компании, я бы хотел, чтобы они ответили на вопрос: это баг или фича?
P.S.: Первый запрос в службу поддержки был отправлен 30 декабря прошедшего года. 24 января (!) мне, наконец, ответили и попросили расписать ситуацию подробнее. Справедливости ради, я смог это сделать только 1 февраля. Но с тех пор ни слуху, ни духу, поэтому с чистой совестью публикую этот материал.