Подготовка к обновлению Discourse до Ember 5

Спасибо за ваш подробный ответ :+1: это помогло.

Вы написали в начальном посте:

На нашем управляемом хостинге discourse.org мы будем проводить поэтапное внедрение флага в течение следующих нескольких месяцев.

С учётом приближающихся праздников, с моей стороны никаких исправлений устареваний не будет до конца января. Не могли бы вы предоставить нам более точные сроки?

Я понимаю, что мои личные приоритеты проекта не имеют отношения к Discourse, но в корпоративном мире мы не можем двигаться так быстро, как хотелось бы :frowning:

В любом случае, похоже, что мне нужно исправить не так много: всего 4 устаревания:

[THEME 2 'XXX Theme'] Предупреждение об устаревании: контроллер navigation/category больше не существует, и эта временная реализация в конечном итоге будет удалена. Для получения информации о текущем маршруте обнаружения используйте вместо этого службу обнаружения. [deprecation id: discourse.navigation-category-controller] deprecated.js:54:12

[THEME 2 'XXX Theme'] Предупреждение об устаревании: определение классов коннекторов через registerConnectorClass устарело. См. https://meta.discourse.org/t/32727 для получения информации о более современных подходах. [deprecation id: discourse.register-connector-class-legacy] 2 deprecated.js:54:12

DEPRECATION: [THEME 2 'XXX Theme'] Расширения прототипов функций устарели, пожалуйста, мигрируйте с function(){}.property('bar') на computed('bar', function() {}). [deprecation id: function-prototype-extensions.property] См. https://deprecations.emberjs.com/v3.x#toc_function-prototype-extensions-property для получения дополнительных деталей. deprecate-shim.js:33

[THEME 2 'XXX Theme'] "model:user" уже инициализирован и зарегистрирован как синглтон. Переместите вызов modifyClass на более ранний этап процесса загрузки, чтобы изменения вступили в силу. https://meta.discourse.org/t/262064 plugin-api.js:220:14
5 лайков

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

Сейчас мы собираем данные о масштабах проблем и разрабатываем стратегии для предупреждения администраторов и помощи им в их устранении. Следование инструкциям в этом объявлении поможет, но мы не можем полагаться на то, что все будут следить за такими объявлениями на Meta.

Это отлично! И если посмотреть только на эти, то для обновления Ember критичным является только «Расширения прототипов функций» :ok_hand: (но, конечно, остальные со временем тоже станут критичными, поэтому их всё равно стоит устранить)

6 лайков

Спасибо, Дэвид :slightly_smiling_face: Я вчера просто провёл тестовый запуск. Похоже, всё работает отлично, кроме двух используемых мной плагинов. Страница администратора плагина отпечатков пуста, а карта пользователей плагина Locations не загружается. В консоли или в /logs ошибок нет. Это хорошая новость: я могу откатить изменения, и у нас есть много времени, чтобы исправить эти проблемы до того, как они станут частью ядра. Спасибо за вашу работу :+1:

7 лайков

У меня пока не было времени посмотреть, но скоро займусь! Мое время распределено между множеством репозиториев, и Locations занимало значительную часть моего внимания в последние пару месяцев, и, очевидно, требует чуть больше внимания :sweat_smile:

Спасибо, что подняли этот вопрос.

7 лайков

Спасибо за предупреждение об этом! Проблема должна быть исправлена в DEV: Remove use of `render` function for Ember 5 compat (#47) · discourse/discourse-fingerprint@1714da4 · GitHub

5 лайков

Спасибо, Дэвид, это работает отлично :slightly_smiling_face: Но я заметил одну странность: после обновления Discourse в админке в логах консоли версия Ember снова изменилась на :arrow_down_small:

Screenshot 2023-12-15 at 14.41.14

Я ещё раз проверил app.yml, и там всё ещё указано EMBER_VERSION: 5. Похоже, что обновление админки отменило версию Ember. Я проверил, и карта местоположения тоже загружается корректно. Значит, вывод в консоли верный, и версия действительно откатилась. :thinking:

6 лайков

Отлично подмечено, спасибо! Это исправит ситуацию: FIX: Permit EMBER_VERSION env by davidtaylorhq · Pull Request #200 · discourse/docker_manager · GitHub

8 лайков

Могу подтвердить, что всё работает. После пересборки версия Ember снова 5.4.0. Я выполнил обновление администратора после пересборки, и версия Ember осталась 5.4.0. Спасибо :slightly_smiling_face:

6 лайков

Теперь снова за работу :slight_smile:

6 лайков

Я обновил первый пост здесь, добавив несколько новых сведений:

  1. Теперь у нас есть приблизительные сроки. Мы планируем сделать Ember 5 стандартом в следующей ветке tests-passed на следующей неделе. На нашем хостинге он будет включен для сайтов «стандартного уровня» с 15 января, а затем для сайтов «бизнес-уровня» с 22 января.

  2. Мы добавили новый предупреждающий баннер в интерфейсе, чтобы заранее более заметно предупреждать администраторов о несовместимых темах и плагинах перед обновлением. Эта функция была объединена сегодня в версии 3.2.0.beta4-dev и уже доступна на наших хостинг-платформах стандартного и бизнес-уровней.

12 лайков

Только что получил предупреждение Ember 5 от компонента темы Raw Post Button. Возможно ли исправить это, так как репозиторий уже заархивирован?

4 лайка

Хм, у этой темы всё ещё есть официальная ветка на Meta:

Похоже, она была архивирована по ошибке. Мы разархивируем её и исправим — спасибо за сообщение @Firepup650

Редакция: должно быть исправлено через DEV: Modernise and simplify implementation (#3) · discourse/raw-post-button@68e2564 · GitHub

9 лайков

Только что проверили наш сайт — он уже обновлён.imageСогласно этой информации, мы ожидали это в будущем.imageПриветствуем команду Discourse: переход прошёл настолько гладко, что я даже не заметил.—

Для справки:

Для тех, кто, как и я, недоумевает из-за заметок ChatGPT с w/c:

Аббревиатура «w/c» означает «неделя, начинающаяся» или «неделя по состоянию на».

3 лайка

Уровни «бесплатный» и «базовый» нашего хостинга уже были перенесены, так что, возможно, ваш сайт находится на одном из них?

:chefs_kiss:

Моя ошибка — нам не нужно использовать аббревиатуру в этом месте. Я обновил таблицу, чтобы там было написано «неделя, начинающаяся» :ok_hand:

5 лайков

Спасибо, что обратили на это внимание.

Сайт, на который я ссылался, является бесплатным. Я так привык, что бесплатные сайты не выделяют отдельно, а обычно подпадают под правила стандартных, что мне следовало бы внимательнее посмотреть.

5 лайков

К сведению, этот баннер появился на нашем Discourse, но в нём не указывалось, какую именно тему или плагин нужно обновить.

Как узнать, что именно требует обновления?

Вот скриншот.

2 лайка

Привет, @xJack. К сожалению, система не всегда может автоматически определить источник проблемы. В консоли разработчика браузера должно быть немного больше информации, как указано в:

Ещё одна полезная информация — знать, появляется ли баннер всегда или только после посещения определённых страниц или совершения определённых действий?

Если ваш сайт размещён на управляемом хостинге discourse.org и вам нужна помощь в расследовании, не стесняйтесь обращаться в нашу службу поддержки по адресу team@discourse.org

3 лайка

Пост был объединен с существующей темой: Улучшенный компонент отображения категории-блока

Версия по умолчанию Ember теперь обновлена в ветках main/tests-passed. Это означает, что локальные среды разработки, CI и самостоятельно размещённые сайты будут использовать Ember 5, если они временно не отключат её с помощью флага EMBER_VERSION=3 :ember:

8 лайков

Привет, после обновления в боковом меню нового администратора отсутствует ссылка на обновление. Это ошибка или сделано намеренно?

3 лайка