Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Miranda NG (Часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1 Тема по Miranda IM
Miranda NG  0.95.13.1 (от 03.05.2021)
 
Домашняя страница | Форум | Скачать | История изменений | Wiki | Описание и FAQ | Статья на Хабре | RSS (зеркало в Twitter) | Багтрекер | GitHub
 
Miranda NG — это мультипротокольный клиент для Windows. Очень лёгкий и не требовательный к ресурсам компьютера. Быстрый.  


Стабильная сборка: x32 | x64 | Русский языковой пакет  

Тестовая сборка: x32 | x64 | Русский языковой пакет  


Список доступных для закачки плагинов и прочее...


Внимание!
К сообщениям об ошибках прикладывайте пожалуйста краш-репорт!
(Как правильно делать краш-репорты...)
 
Как отключить уведомления о входе контакта в сеть
Большой FAQ по поддержке ICQ в Miranda NG
Ошибка «Miranda NG не может открыть <имя_профиля>, профиль в неизвестном формате» после обновления
Как собрать Миранду самостоятельно
 
Различные сборки Miranda

Топик в с обсуждением шапки - все кардинальные изменения обсуждаем и сначала выкладываем там!

Всего записей: 37516 | Зарегистр. 26-02-2002 | Отправлено: 12:10 14-03-2019 | Исправлено: Dart Raiden, 20:48 03-05-2021
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
После вчерашних проблем обновился до v0.95.11.22354, все стало нормально, сегодня обновился до билда 22355 и полная попа. После перезапуска, получил голую Миранду, профиль подхватило, но как будто он пустой, ничего не настроено, по сшибало все: скины, иконки, настройки плагинов, меню, профили, протоколы, акаунты и прочее. Такое впечатление, что поменялся формат настроек в базе. Раньше база была 1024Кб, сейчас стала ровно в два раза больше, явно что-то поменялось. XP SP3.
 
Снова откатил все *.mir файлы от v0.95.11.22354, работает, только пришлось еще и базу откатить, так как она была убита билдом 22355.

----------
Мама не горюй

Всего записей: 3586 | Зарегистр. 29-01-2005 | Отправлено: 16:04 12-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> После перезапуска, получил голую Миранду, профиль подхватило, но как будто он пустой
 
Об этом написано комментарием выше.
 
> так как она была убита билдом 22355.
 
Это не так. Билдом 22354. База, единожды открытая билдом 22354, не может использоваться в дальнейших билдах.

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 16:20 12-12-2019 | Исправлено: Dart Raiden, 16:23 12-12-2019
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dart Raiden

Цитата:
Те, кто получил сборку 22354, после обновления до 22355 и выше столкнутся с тем, что база выглядит пустой. Таким пользователям остаётся лишь отыскать резервную копию базы, созданную до прихода 22354 и использовать её со сборкой 22355 и выше.

Обновился до 22355, положил базу, которая была еще от 0.95.11.22076, проблема на месте, база голая. XP SP3.
 
Добавлено:
Поступил иначе. Создал пустую базу, а все настройки из старой базы импортировал в AutoExec_*.ini. При запуске билда 22355 настройки импортировались, единственное, в клисте нет графики, даже на стандартном скине.

----------
Мама не горюй

Всего записей: 3586 | Зарегистр. 29-01-2005 | Отправлено: 16:33 12-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
проблема на месте

Проблема оказалась исключительно в 32-разрядной версии. Пробуйте билд 22356 (с базой, которая не использовалась с проблемным билдом)

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 17:10 12-12-2019 | Исправлено: Dart Raiden, 20:22 12-12-2019
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dart Raiden

Цитата:
Пробуйте билд 22356 (с базой, которая не использовалась с проблемным билдом)

Работает, спасибо.
 
mdbx_chk.exe для чего? Из сборки можно удалять, для работы программы не нужен?

----------
Мама не горюй

Всего записей: 3586 | Зарегистр. 29-01-2005 | Отправлено: 19:22 12-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чекер базы. Пользователи долго упрашивали - вынь да положь им замену dbchecker...

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 20:21 12-12-2019
erthink

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Камрады, я еще раз очень вас прошу, либо переименовать "вашу версию mdbx" (и явно указать о том, что у вас собственная модифицированная версия), либо привести исходники в соответствие с master-веткой первоисточника.
 
При затруднении в получении amalgamated sources (требуется linux) их можно взять из состава [libfpta](https://github.com/PositiveTechnologies/libfpta/tree/master/externals/libmdbx).

Всего записей: 24 | Зарегистр. 02-09-2019 | Отправлено: 20:43 12-12-2019
ghazan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
erthink
1. нам надо предоставлять разные версии libmdbx для стабильной и девелоперской версии, поэтому слинковать стаблю с мастером точно не получится, там сидит порядка 4 миллионов пользователей на том конце провода.
 
2. нам надо предоставлять совместимость с Windows XP, поэтому использовать мастер напрямую тоже не получится (пользователи под XP тупо отсосут).
 
3. мерж мастера в Миранду осуществляется вручную и, так как это занимает кучу дефицитного времени, производится не чаще раза в месяц. Это максимальная задержка, которую мы можем гарантировать (версия 0.4 вроде как наконец-то смержилась, после долгих мучений). Полный список изменений я готов предоставлять по первому требованию.

Всего записей: 337 | Зарегистр. 18-10-2005 | Отправлено: 20:58 12-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я со своей стороны (максмум, что я могу) добавил в вики специальное упоминание о том, что это кастомная версия с нашими изменениями, заточенными под специфику и нужды именно Миранды (это так культурно обзваны костыли для работы в XP и прочие чрезжопные патчи, без которых Миранде хреново).

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 21:25 12-12-2019 | Исправлено: Dart Raiden, 21:26 12-12-2019
erthink

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Политика релизов и переходов между stable/devel - это конечно ваше внутреннее дело.
 
2.0. В libmdbx давно внесены правки для совместимости с XP, причем прежде всего это делалось для миранды (ибо других запросов на совместимость с XP нет).
 
2.1. Сейчас совместимость с XP должна быть "из коробки" при сборке с соответствующим SDK/WINVER.
Для решения всех проблем с TLS-деструкторами достаточно собрать libmdbx в виде dll, либо вызывать mdbx_dll_handler().
Причём в mdbx.h всё документировано, включая define-опции сборки.
Если есть какие-либо проблемы или нестыковки, то просьба заполнять issues на github.
 
3.0. Проблема как-раз в том, что у вас неверно организована сборка из-за чего требуется merge.
Сейчас libmdbx предполагает подключение в виде git submodule, либо в виде amalgamated sources (как SQLite).
Не должно быть никакого merge, и вообще какой-либо модификации исходников.
 
3.1. В вашем случае (для "ручной" сборки на windows без cmake) подходит только amalgamated sources.  
Соответственно, всё что требуется - один раз сделать MSVC-проект для сборки dll и добавить в него два файла (mdbx.c и mdbx.h).
При желании можно создать по проекту для каждой из утилит (mdbx_chk, mdbx_copy и т..д.).
После этого весь "merge" будет заключаться в копировании файлов.
 
3.2. Список изменений нужен только в контексте устранения каких-либо проблем и/или исправления ошибок.
Т.е. сначала нужно понять что какие-то проблемы действительно есть, обсудить пути исправления и т.д.
Поэтому идеальный путь вливания изменений = сначала issue, потом pull-request.
 
3.3. Дополню. Версия libmdbx v0.4 - это технические pre-release на период стабилизации для выпуска v1.0 (не позднее 2020-01-07).
После этого, по текущим планам libmdbx будет замораживаться (только исправление ошибок).

Всего записей: 24 | Зарегистр. 02-09-2019 | Отправлено: 21:48 12-12-2019 | Исправлено: erthink, 21:51 12-12-2019
ghazan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
erthink
2.1 ну я соотв костыль на RegGetValueW сваял только вчера, он еще дымится, как оно будет работать или нет - это отдельная песня (учитывая, что два DWORD под XP просто отсутствуют, а из строк есть только серийный номер)
 
3.0 не должно, согласен, но есть, иначе вообще жизни не будет.
 
3.1 если делать амальгамацию исходников, оно не будет собираться с нашими шаблонами проектов, в частности, утилиты не смогут забрать libmdbx.mir из подкаталога Libs. Не линковать же это статически?..
 
3.2 я не уверен, что патч про манипуляции с SAFE64_INVALID_THRESHOLD надо обсуждать для вливания, просто я как-то пропустил момент его возникновения, а юзать 0.4 с оригинальным кодом нереально = первый сбой, наличие в профиле незакоммиченной транзакции, и профиль можно выкидывать (и mdbx_chk не спасет). Можем обсудить это в почте
 
остальные 4 патча тривиальны, и я могу из них сделать pull request, там строк на 10 в сумме.

Всего записей: 337 | Зарегистр. 18-10-2005 | Отправлено: 22:16 12-12-2019
erthink

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2.1. Проверять доступность API на WinXP мне достаточно сложно. В отношении RegGetValueW() я ориентировался на https://docs.microsoft.com/. Если есть исправления для совместимости с XP, то пожалуйста сделайте pull-request.
 
3.1. Использование амальгамированных исходников означает что в вашем source tree будет только два файла (mdbx.h и mdbx.c), которые вы можете разместить в любом под-каталоге и собирать из них что угодно (в том числе dll с расширением mir). Собственно так обеспечивается произвольность сборки.
 
3.2. SAFE64_INVALID_THRESHOLD нужен для 32-битных платформ без атомарного обновления 64-битных значений, т.е. для изменения 64-битного txnid по-частям. К откату не-записанных на диск транзакций и обработке сбоев это отношения не имеет. Но обсуждать это видимо лучше в issue на github. Тут мы всех утомим.

Всего записей: 24 | Зарегистр. 02-09-2019 | Отправлено: 22:59 12-12-2019
Taciturn

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dart Raiden, ghazan
А вот ещё насчёт libmdbx — не могли бы вы обновить mdbx_dump и mdbx_load? В тех версиях, что в https://github.com/leo-yuriev/libmdbx/tree/master/src/tools при запуске выводится нормальная справка, а в вашей версии, что в https://github.com/miranda-ng/miranda-ng/tree/master/tools только список доступных ключей, без описания.

Всего записей: 1763 | Зарегистр. 26-07-2003 | Отправлено: 00:09 14-12-2019 | Исправлено: Taciturn, 00:11 14-12-2019
C1eriC



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня был контакт в ICQ, который пропал из Миранды. Я его восстановил (добавил по UIN) и экспортировал туда историю (благо был бекап, база данных выросла с 45 Мб до 53 Мб, там было 32 тыс сообщений). Но он снова пропал! Возможно это потому, что он был помечен как [deleted] (а база данных не «похудела»). Как мне можно его добавить так, что бы он не удалялся? Как очистить базу данных (.dat) от мусора?

Всего записей: 778 | Зарегистр. 15-06-2013 | Отправлено: 14:53 14-12-2019 | Исправлено: C1eriC, 14:56 14-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Возможно это потому, что он был помечен как [deleted]

Да, именно поэтому. Эта учётная запись была удалена сервисом ICQ навсегда из-за неактивности свыше года. Сервер стирает этот контакт у себя, а Миранда, видя, что его нет на сервере, тоже его стирает. Добавлять его бессмысленно, поскольку сервер всё равно сотрёт и "наша песня хороша, начинай сначала" . Важно понимать, что этот контакт уже мёртв навсегда, его владелец никогда не сможет залогиниться и что-то вам написать, поскольку его учётка (UIN) удалена из системы. Mail.ru удаляет мёртвые души.
 

Цитата:
 Как мне можно его добавить так, что бы он не удалялся?

Пока так (самый простой вариант - 3). В будущем, когда у разработчиков будет время, такие контакты перестанут стираться из Миранды, чтобы не профукать историю.
 

Цитата:
 Как очистить базу данных (.dat) от мусора?

База не нуждается в очистке. Можете её сжать через соответствующий пункт меню (База > Сжать). Перед этим рекомендуется сделать резервную копию.

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 15:08 14-12-2019 | Исправлено: Dart Raiden, 15:20 14-12-2019
C1eriC



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dart Raiden
Спасибо, понятно. А можно вместо запуска Миранды с параметром командной строки /svc:dbeditor просто в Миранде открыть базу плагином Database Editor++ и в секции Protocol ключ p поменять его значение на Dummy_1?
 
А что делает пункт Сжать базу? Она будет всегда сжата и будет каждый раз распаковываться при старте и запаковываться при закрытии программы? Или в чём суть?

Всего записей: 778 | Зарегистр. 15-06-2013 | Отправлено: 16:53 14-12-2019 | Исправлено: C1eriC, 16:55 14-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
просто в Миранде открыть базу

Нет, лучше такие деликатные операции делать в сервисном режиме. Тем более, что сделать ярлык и дописать туда в строку запуска нужный ключ - дело 10 секунд.
 

Цитата:
Или в чём суть?

Суть как раз в том, чего и хотели - это операция Compact, т.е. оптимизация базы.

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 21:38 14-12-2019 | Исправлено: Dart Raiden, 21:39 14-12-2019
C1eriC



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dart Raiden
Спасибо, всё получилось.
Вопрос по пункту Переименуйте контакты из (Неизвестный контакт) в их настоящие имена.
В истории переписки сообщения отправленные мной действительно отображаются как '(Неизвестный контакт)'. Сообщения от пользователя мне — нормально, под его ником.
Но у меня несколько тысяч сообщений, неужто вручную переименовывать?

Всего записей: 778 | Зарегистр. 15-06-2013 | Отправлено: 08:39 15-12-2019
Dart Raiden



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
C1eriC

Цитата:
Вопрос по пункту Переименуйте контакты из (Неизвестный контакт) в их настоящие имена.

Это относится к имени контакта в списке контактов, а не к вашему.
 
Чтобы изменить ваше имя, действуйте так.
 
Либо ждите, когда дойдут руки отключить удаление [deleted]-контактов.
 
Добавлено:
Taciturn
Там какие-то чисто технические трудности с линковкой, поэтому не выйдет. Любой желающий может добавить необходимую информацию в вики - регистрация открыта, после регистрации достаточно пнуть меня в личку, чтобы получить права на редактирование.

Всего записей: 4796 | Зарегистр. 20-10-2006 | Отправлено: 18:38 15-12-2019 | Исправлено: Dart Raiden, 18:48 15-12-2019
Taciturn

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dart Raiden
Ok, взять целиком сложно. А применить немного копипасты и заменить

Код:
static void usage(void) {
      fprintf(stderr,
              "usage: %s [-V] [-a] [-f input] [-n] [-s name] [-N] [-T] dbpath\n",
              prog);
      exit(EXIT_FAILURE);
    }

на

Код:
static void usage(void) {
      fprintf(stderr,
              "usage: %s [-V] [-a] [-f input] [-n] [-s name] [-N] [-T] dbpath\n"
              "  -V\t\tprint version and exit\n"
              "  -a\t\tappend records in input order\n"
              "  -f file\tread from file instead of stdin\n"
              "  -s name\tload into named subDB\n"
              "  -N\t\tuse NOOVERWRITE on puts\n"
              "  -T\t\tread plaintext\n"
              "  -n\t\tNOSUBDIR mode for open\n",
              prog);
      exit(EXIT_FAILURE);
    }

И аналогично для mdbx_dump. Вики это конечно хорошо, но всегда удобнее когда за документацией не нужно никуда лезть.

Всего записей: 1763 | Зарегистр. 26-07-2003 | Отправлено: 02:11 16-12-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

Компьютерный форум Ru.Board » Компьютеры » Программы » Miranda NG (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru