Author Topic: PluginUpdater и мультипрофильность - фичреквест [Решено]  (Read 15043 times)

0 Members and 1 Guest are viewing this topic.

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
Представьте себе:
У меня есть профиль [Дом]. Я создаю профиль [Работа].
В профиле [Дом] я поставил обновление до альфа-версии. А теперь следим за пальцами:

Загружаем [Работа]. Миранда делает вот так: :o - и "обновляется" до старой версии (по умолчанию у плагин апдейтера настройка на стабильную версию).
После рестарта у нас получается стабильная миранда и 2 нераспознаваемых профиля.

Только что создал новый профиль - миранда тут же попыталась "обновить" пачку плагинов (я на альфе), так что мои рассуждения всё ещё актуальны.
В принципе, конечно, тут я сам себе злобный Буратино и надо быть внимательнее, но, КМК, настройки PluginUpdater должны быть не profile-specific, а едиными для всех профилей программы. Может быть, вытряхнуть их в ini какой-нибудь?
Ну, или хотя бы предупреждать, что мы "апгрейдимся" со знаком минус... А то в окне плагин апдейтера не видно ж даже версии нового файла (я уж не говорю про текущую).
« Last Edit: 19 07 2014, 12:35:33 by Белая рысь »
 

Offline Apollo2k4

Честно сказать не очень понял вашу проблему. Если у вас два профиля зачем тогда вам нужно одна миранда? Сделайте на работе – рабочею, дома – домашнею.

Может быть, вытряхнуть их в ini какой-нибудь?
И что с ним потом делать?

А то в окне плагин апдейтера не видно ж даже версии нового файла (я уж не говорю про текущую).
В 99 случаях из 100, номер версии вам ничего не скажет т.к. версия плагинов не меняется вместе с ядром, это делается на усмотрение автора.
«Все глупости совершаются с серьёзным выражением лица» © Кён «Меланхолия Сузумии Харухи»

Правильно заданный вопрос – 50% решения.
Правила постинга
 

Offline Black Sniper

Вариант,  не использовать профиль от стабильной ветки с профилем от нестабильной ветки.
Еслиб плагины от нестабильной имели другое название..  Но это бред.
Бью метко, но редко...
 

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
Если у вас два профиля зачем тогда вам нужно одна миранда?
Ок, давайте уберём из Миранды поддержку многопрофильности, коли уж эта функция всё равно не нужна... =)) Давайте, всё-таки, не пытаться выяснить, зачем я стираю кота.
Spoiler
ela: ну что, удалось тебе разобраться со своим багом?
ses: не-а, на форум обратился
ela: реально помогут?
ses: обычно ты спрашиваешь у людей - как постирать кота правильно?
ses: а тебе начинают - а зачем стирать кота? Может лучше его побрить?
Может лучше постирать собаку?
ses: а ты говоришь - нет, мне нужно постирать кота, а тебя начинают убеждать что котов стирают только ламеры, так делали в прошлом веке и т.п.
ses: примерно такая переписка у меня спйчас там идет
ela: как у вас там все весело на форумах у программеров
ela: и если докажешь то есть реально вероятность нужной подсказки?
ses: да если на форум случайно зайдет только что постиранный кот.
[close]
Я просто тестирую имеющуюся функциональность. Причин может быть море, например, протестировать что-нибудь на чистом профиле.

И что с ним потом делать?
Скурить. Использовать настройки не из подгруженного профиля, а из этого ini-файла. Т. е. сделать настройки общими для всех профилей. Тогда ситуация вида "я создал новый профиль - и у меня Миранда  альфы откатилась на стэйбл" не возникнет в принципе.


В 99 случаях из 100, номер версии вам ничего не скажет т.к. версия плагинов не меняется вместе с ядром, это делается на усмотрение автора.
В 100 случаях из 100, если я вижу, что новый билд меньше текущего, я понимаю, что планируется не АП-, а ДАУНгрейд системы. А абсолютное значение номера билда, как Вы правильно заметили, значения не имеет.

Вариант,  не использовать профиль от стабильной ветки с профилем от нестабильной ветки.
Осталось только объяснить это миранде, когда она даунгрейдит бинарники, но не даунгрейдит профиль. =))
 

Offline Black Sniper

Осталось только объяснить это миранде, когда она даунгрейдит бинарники, но не даунгрейдит профиль. =))
Видимо привязка именно к плагинам. В качестве бреда, единственное что приходит в голову, так это чтоб реализовали нормальную поддержку многопрофильности.
И/или плагины (спорные) можно было хранить в папке с профилем как сейчас там хранятся логи, краши, аватарки... только не нативно, а через файлик mirandaboot.ini прописывалось всё это, или в самом профиле.

А так, да миранда ведёт себя нормально, попробуй винде подсунуть не те файлы...

Post Merge: 19 07 2014, 06:51:34
Я просто тестирую имеющуюся функциональность. Причин может быть море, например, протестировать что-нибудь на чистом профиле.
Рядом создаётся папка и закидывается всё что хочешь тестировать :)
« Last Edit: 19 07 2014, 06:51:34 by Black Sniper »
Бью метко, но редко...
 

Offline watcher

На данный момент это то, что есть - в INI настроек не булет, с многопрофильностью будет некоторое неудобство на этот раз при конвертировании профилей (которое случилось первый раз за два года и несколько месяцев), по-умолчанию настройки в базе будут ориентированы на стабильную ветку,  "глобальных настроек" в миранде нет, ini можно редактировать только руками. Я понимаю, что есть неудобства, но они временные, а про то, что "включил профиль - он хочет откатить на стейбл" - иначе не будет. Настраивайте.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
На данный момент это то, что есть - в INI настроек не булет, с многопрофильностью будет некоторое неудобство на этот раз при конвертировании профилей (которое случилось первый раз за два года и несколько месяцев), по-умолчанию настройки в базе будут ориентированы на стабильную ветку,  "глобальных настроек" в миранде нет, ini можно редактировать только руками. Я понимаю, что есть неудобства, но они временные, а про то, что "включил профиль - он хочет откатить на стейбл" - иначе не будет. Настраивайте.
Ну, может быть, можно хотя бы сделать так, чтобы, когда миранда создаёт новый профиль, в нём по умолчанию выставлялись параметры апдейтера для текущей ветки миранды?
Ну, т. е. когда альфа создаёт профиль - в этом профиле были бы сразу прописаны настройки апдейтера на альфу?..
 

Offline watcher

Это невозможно, так как один профиль не знает, что творится в другом, опять-таки  - такое можно было бы сделать опцией в mirandaboot.ini, но для кого? Кто знает что таковая опция существует, тому легче заменить ее в настройках нового профиля, чем лезть править текстовые конфиги, а тот кто не в курсе, тому и это не поможет.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
Это невозможно, так как один профиль не знает, что творится в другом, опять-таки  - такое можно было бы сделать опцией в mirandaboot.ini, но для кого? Кто знает что таковая опция существует, тому легче заменить ее в настройках нового профиля, чем лезть править текстовые конфиги, а тот кто не в курсе, тому и это не поможет.
Так. А сама миранда ДО загрузки профиля знает, альфа она, стэйбл или как?
 

Offline ghazan

только драйвер базы знает, что за базу/профиль ему подсунули - текущую версию, старую версию или неподдерживаемую версию.
соотв это рождает три разные реакции

ядро про базу не знает ничего, ему от драйвера нужно только исполнение стандартных операций
 

Offline watcher

Белая рысь, не знает, кроме того, что у нее в версии прописано слово alpha, а так ей абсолютно всё равно кто она там, чистая формальность.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
но для кого?
А это зависит от того, планируется ли расширение аудитории. Если да - то по этим граблям пройдётся ещё целая, не побоюсь этого слова, демонстрация народу.

Кто знает что таковая опция существует, тому легче заменить ее в настройках нового профиля, чем лезть править текстовые конфиги, а тот кто не в курсе, тому и это не поможет.
Это нужно как минимум описать в Wiki. А лучше, в добавок к Wiki, написать на экране создания профиля что-то типа "если Вы пользуетесь веткой, отличной от Stable, сразу после загрузки профиля измените настройки апдейтера".
Плюс: если апдейтер обнаруживает хоть одну библиотеку, которую нужно обновить до более старой версии (тем более, если речь идёт про ядро), он просто ОБЯЗАН написать большими красными буквами что-то типа

ПРИ ОБНОВЛЕНИИ ОДИН ИЗ КОМПОНЕНТОВ ЗАМЕНЯЕТСЯ НА БОЛЕЕ СТАРУЮ ВЕРСИЮ. ВЫ УВЕРЕНЫ?????!!!!??один?7???1семьсемь?7?
Проверьте на всякий случай настройки апдейтера.

Я очень извиняюсь, просто на мне сейчас висит проект со всякими юзер экспириенсами, и таких граблей мне пришлось описать - уже на грабельный магазинчик хватит.
 

Offline ghazan

апдейтер не оперирует версиями файлов, это тупиковый путь.
он лишь сравнивает их хэши и принудительно меняет все модули с неверными хэшами.
 

Offline Белая рысь

  • Newbie
  • *
  • Posts: 18
  • Country: ru
апдейтер не оперирует версиями файлов, это тупиковый путь.
Но после получения-то файла он может узнать его версию...

Code: [Select]
PS Q:\miranda-ng> (Get-Item .\Miranda32.exe).VersionInfo | fl -Property FileVersion


FileVersion : 0.95.2 alpha build #9857

Code: [Select]
PS Q:\miranda-ng> (Get-Item .\Plugins\ImportTXT.dll).VersionInfo | fl -Property FileVersion


FileVersion : 0.0.1.112    ☺InternalName
« Last Edit: 19 07 2014, 12:05:45 by Белая рысь »
 

Offline ghazan

какой в этом смысл? plugin updater отвечает только за целостность ядра и плагинов, чтобы никаких чудес не было
никаких версий он не анализирует и анализировать не будет.