Topic List Previews (legacy)

Пожалуйста, не обновляйтесь вне поддерживаемого периода (первые пять дней месяца, согласно нашей политике, изложенной в оригинальном посте). Если вы всё же решите это сделать, мы рекомендуем сначала протестировать обновление в среде, отличной от производственной.

3 лайка

Тем не менее, в этот раз я исправил проблему и для плагина, и для TC :).

TC: FIX: adopt new router service format · merefield/discourse-tc-topic-list-previews@7a2f539 · GitHub

Плагин: FIX: adopt new format for accessing router service by merefield · Pull Request #160 · merefield/discourse-topic-previews-sidecar · GitHub

Теперь оба должны работать в последних сборках с успешным прохождением тестов.

2 лайка

Спасибо @merefield за исправление этой проблемы. Я как раз собирался сообщить о ней. Вчера я выполнил пересборку, и после этого все посты на моём сайте стали недоступны для просмотра. Затем я отключил неофициальные плагины и обнаружил, что проблема затрагивает не только TLP, но и другие плагины.

Пожалуйста, проверьте также эти плагины, так как у них может быть та же проблема. Только после их отключения я снова смог видеть свои посты:

1 лайк

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

Пожалуйста, не поддавайтесь искушению слишком часто пересоздавать Production. То, что вы можете это сделать, не означает, что вам следует это делать :slight_smile:

4 лайка

Я постараюсь устоять. :innocent:

2 лайка

И если вам всё же придётся возиться со сборкой, делайте это в тестовой среде. Кстати, создание такой среды может занять вас настолько, что у вас не останется времени на обновление продакшена ;).

4 лайка

С этим плагином у меня нет функциональных проблем. Миниатюры в списке тем работают отлично. Однако сегодня я увидел это в своём логе (это единственная ошибка в моём логе), поэтому решил сообщить о ней. Думаю, это конфликт с плагином «Solved». Вы можете воспроизвести проблему, если у вас установлены оба этих плагина. Если вы попытаетесь создать тему и выбрать решение, у вас может возникнуть ошибка 500.

image

Лог
plugins/discourse-topic-previews/plugin.rb:61:in `block (2 levels) in activate!'
lib/discourse_event.rb:14:in `block in trigger'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each_key'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each'
lib/discourse_event.rb:13:in `trigger'
plugins/discourse-solved/plugin.rb:160:in `block in accept_answer!'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
plugins/discourse-solved/plugin.rb:81:in `accept_answer!'
plugins/discourse-solved/plugin.rb:222:in `accept'
actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
i18n (1.8.5) lib/i18n.rb:313:in `with_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'
actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'
actionpack (6.0.3.2) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (6.0.3.2) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.2) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'
message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:176:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'
unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'
unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'
2 лайка

Пожалуйста, опишите шаги для воспроизведения. У меня запущено два сайта с этим, и подобных записей в логах нет.

1 лайк

Чтобы воспроизвести на моем сайте:

  1. Включите предпросмотр списка тем.
  2. Перейдите в тему, где включена функция «Решено»:
  3. Как администратор или сотрудник, перейдите к сообщению пользователя и отметьте его как решение.
2 лайка

Спасибо. Я посмотрю в течение недели поддержки.

1 лайк

@merefield Мне очень нравится ваш компонент темы превью списка тем в сочетании с плагином sidecar для лайков и закладок.

https://github.com/merefield/discourse-topic-list-previews-theme/

Кажется, я обнаружил ошибку в списке превью тем, когда кто-то нажимает на «Ответы».

Идеальная ситуация:

Нажмите на ответы для темы в списке превью тем, откроется выбор дат, вы выбираете одну, и вас перекидывает к деталям темы.

Моя проблема:

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

Когда у вас будет возможность, пожалуйста, проверьте это.

Спасибо.

2 лайка

В этом месяце я потратил много времени на поддержку. Поскольку это не критично, я отложу это на более спокойный период. Спасибо за понимание. Насколько я помню, это старая ошибка, исправление которой никогда не было приоритетным. PR всегда приветствуются.

3 лайка

Я установил следующий компонент темы и плагин. Они отлично работают вместе. Мне нужна помощь.

https://github.com/merefield/discourse-topic-list-previews-theme 
git clone https://github.com/merefield/discourse-topic-previews.git -b "theme_sidecar" 

Мне нужен совет по CSS: как выровнять иконки лайков и закладок под отрывком? Они смещаются в зависимости от размера изображения.

Спасибо.

2 лайка

Мне проще ориентироваться на конкретном примере, особенно если вы не используете миниатюры повсюду на форуме. Но, думаю, лучший способ сделать это — использовать класс topic-details для ограничения его ширины. Ограничьте ширину этого класса, например, так: width: calc(100% - 000px); (где 000 — ширина, установленная для столбца миниатюр), и добавьте отступ слева (margin-left) того же размера, что и миниатюры. Возможно, этого будет достаточно.

1 лайк

Можете отправить адрес сайта в личные сообщения? Я посмотрю в ближайшее время.

1 лайк

Попробуйте:

.topic-details {
    overflow: hidden;
}
3 лайка

Отлично, всё работает. Большое спасибо :pray:

2 лайка

Возможно ли включить этот плагин только для Темы A, игнорируя его на Теме B?

2 лайка

Да, если вы используете TC

2 лайка

Спасибо. Простите за мою неосведомлённость, но что такое TC? Компонент темы…?

2 лайка