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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

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

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1 [?]
Тема по Miranda IM [?]

Miranda NG 0.96.6 (07.04.2025)
 
Домашняя страница | Форум | Скачать | История изменений | Wiki | Описание и FAQ | Статья на Хабре | RSS (зеркало в Twitter) | Багтрекер | GitHub
 
Miranda NG — это мультипротокольный клиент для Windows. Очень лёгкий и не требовательный к ресурсам компьютера. Быстрый.  


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

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


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


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

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

Всего записей: 39342 | Зарегистр. 26-02-2002 | Отправлено: 12:10 14-03-2019 | Исправлено: Dart Raiden, 22:27 07-04-2025
boss911



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

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



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

Всего записей: 6232 | Зарегистр. 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 настройки импортировались, единственное, в клисте нет графики, даже на стандартном скине.

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



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

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

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

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



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

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

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

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



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

Всего записей: 6232 | Зарегистр. 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 вроде как наконец-то смержилась, после долгих мучений). Полный список изменений я готов предоставлять по первому требованию.

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



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

Всего записей: 6232 | Зарегистр. 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 в сумме.

Всего записей: 345 | Зарегистр. 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

Silver 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 только список доступных ключей, без описания.

Всего записей: 2038 | Зарегистр. 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) от мусора?

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



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

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

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

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

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

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

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

Всего записей: 6232 | Зарегистр. 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?
 
А что делает пункт Сжать базу? Она будет всегда сжата и будет каждый раз распаковываться при старте и запаковываться при закрытии программы? Или в чём суть?

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



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

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

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

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

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

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



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

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



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

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

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

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

Silver 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. Вики это конечно хорошо, но всегда удобнее когда за документацией не нужно никуда лезть.

Всего записей: 2038 | Зарегистр. 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru