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

0 Members and 1 Guest are viewing this topic.

Offline Белая рысьTopic starter

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

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

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

Offline Apollo2k4

  • Hero Member
  • *****
  • Posts: 760
  • Country: 00
  • Karma: 44
    • apollo2k4
  • Jabber ID
  • Version Info
Честно сказать не очень понял вашу проблему. Если у вас два профиля зачем тогда вам нужно одна миранда? Сделайте на работе – рабочею, дома – домашнею.

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

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

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

Tox ID: apollo2k4@toxme.io
 

Offline Black Sniper

  • Sr. Member
  • ****
  • Posts: 403
  • Country: 00
  • Karma: 8
  • Jabber ID
  • Version Info
Вариант,  не использовать профиль от стабильной ветки с профилем от нестабильной ветки.
Еслиб плагины от нестабильной имели другое название..  Но это бред.
Бью метко, но редко...
 

Offline Белая рысьTopic starter

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

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


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

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

Offline Black Sniper

  • Sr. Member
  • ****
  • Posts: 403
  • Country: 00
  • Karma: 8
  • Jabber ID
  • Version Info
Осталось только объяснить это миранде, когда она даунгрейдит бинарники, но не даунгрейдит профиль. =))
Видимо привязка именно к плагинам. В качестве бреда, единственное что приходит в голову, так это чтоб реализовали нормальную поддержку многопрофильности.
И/или плагины (спорные) можно было хранить в папке с профилем как сейчас там хранятся логи, краши, аватарки... только не нативно, а через файлик mirandaboot.ini прописывалось всё это, или в самом профиле.

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

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

Offline watcher

  • Miranda NG support
  • Hero Member
  • *****
  • Posts: 1906
  • Country: il
  • Karma: 157
  • Version Info
На данный момент это то, что есть - в INI настроек не булет, с многопрофильностью будет некоторое неудобство на этот раз при конвертировании профилей (которое случилось первый раз за два года и несколько месяцев), по-умолчанию настройки в базе будут ориентированы на стабильную ветку,  "глобальных настроек" в миранде нет, ini можно редактировать только руками. Я понимаю, что есть неудобства, но они временные, а про то, что "включил профиль - он хочет откатить на стейбл" - иначе не будет. Настраивайте.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысьTopic starter

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

Offline watcher

  • Miranda NG support
  • Hero Member
  • *****
  • Posts: 1906
  • Country: il
  • Karma: 157
  • Version Info
Это невозможно, так как один профиль не знает, что творится в другом, опять-таки  - такое можно было бы сделать опцией в mirandaboot.ini, но для кого? Кто знает что таковая опция существует, тому легче заменить ее в настройках нового профиля, чем лезть править текстовые конфиги, а тот кто не в курсе, тому и это не поможет.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысьTopic starter

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

Offline ghazan

  • Miranda NG founder
  • Administrator
  • *****
  • Posts: 730
  • Country: ru
  • Karma: 47
  • Jabber ID
только драйвер базы знает, что за базу/профиль ему подсунули - текущую версию, старую версию или неподдерживаемую версию.
соотв это рождает три разные реакции

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

Offline watcher

  • Miranda NG support
  • Hero Member
  • *****
  • Posts: 1906
  • Country: il
  • Karma: 157
  • Version Info
Белая рысь, не знает, кроме того, что у нее в версии прописано слово alpha, а так ей абсолютно всё равно кто она там, чистая формальность.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Белая рысьTopic starter

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

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

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

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

Offline ghazan

  • Miranda NG founder
  • Administrator
  • *****
  • Posts: 730
  • Country: ru
  • Karma: 47
  • Jabber ID
апдейтер не оперирует версиями файлов, это тупиковый путь.
он лишь сравнивает их хэши и принудительно меняет все модули с неверными хэшами.
 

Offline Белая рысьTopic starter

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

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

  • Miranda NG founder
  • Administrator
  • *****
  • Posts: 730
  • Country: ru
  • Karma: 47
  • Jabber ID
какой в этом смысл? plugin updater отвечает только за целостность ядра и плагинов, чтобы никаких чудес не было
никаких версий он не анализирует и анализировать не будет.