Карточка пользователя открывается при клике на ссылку на карточке предстоящих событий

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

На странице /upcoming-events при клике на ссылку внутри карточки события открывается карточка пользователя вместо перехода по ссылке. Возможно, это проблема с зоной клика или z-index.

Версия

Версия Discourse: 2026.5.0-latest

Коммит: 645cb014c0

Шаги для воспроизведения

  1. Перейдите на /upcoming-events.
  2. Найдите карточку события, содержащую ссылку.
  3. Нажмите на ссылку в карточке события.

Ожидаемый результат

Ссылка должна открыться/перейти как обычно.

Фактический результат

Открывается карточка пользователя.

Примечания

Пока неясно, вызвана ли проблема ядром, плагином календаря/событий или темой/компонентом на моём сайте. Я обновлю эту тему после тестирования в безопасном режиме.

Могу предоставить скриншот или запись экрана, если это будет полезно.

Клик по событию в календаре, по-видимому, обрабатывается обработчиком eventClick библиотеки FullCalendar, который открывает меню:

eventClick: async ({ el, event, jsEvent }) => {
  const { postNumber, postUrl, postEvent } = event.extendedProps;

  if (postEvent?.id) {
    jsEvent.preventDefault();

    this.activeMenu = await this.menu.show(
      ...
      {
        identifier: "post-event-menu",
        component: PostEventMenu,
        ...
      }
    );
  }
}

Затем меню рендерится следующим образом:

const PostEventMenu = <template>
  <DiscoursePostEvent
    @linkToPost={{true}}
    @event={{@data.event}}
    @onClose={{@data.onClose}}
    @withDescription={{true}}
    @clampDescription={{true}}
  />
</template>;

Таким образом, цепочка выглядит так:

FullCalendar eventClick
→ post-event-menu
→ DiscoursePostEvent
→ поведение user-card внутри меню/поп-овера

Возможно, я путаю две связанные поверхности: полный календарь /upcoming-events и компонент UpcomingEventsList. Компонент списка, по-видимому, отображает каждое событие как обычную ссылку на event.post.url, поэтому я не ожидаю поведения карточки пользователя в этом месте.

У меня эта проблема не возникает!

Когда я перехожу в раздел «Будущие события» и нажимаю на событие, у меня появляется предпросмотр события, и если я нажимаю на ссылку, меня перекидывает на соответствующую тему.

Возможно, я неправильно понял вашу проблему :sweat_smile:

1 лайк

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

Сегодня утром я снова обновился до версии 2026.5.0-latest.1 (fbcbdc46d8)

Через несколько часов, используя домашний Wi-Fi, эта проблема достаточно воспроизводилась в конкретном сеансе PWA

джиттер примерно на 10 миллисекунд выше, чем мне комфортно

Привет, Итан! Я наткнулся на эту тему и попытался воспроизвести проблему, но безрезультатно. У вас всё ещё возникают эти трудности?

Если да, не могли бы вы предоставить более подробные инструкции по воспроизведению? Я пробовал на своём телефоне и планшете (оба на iOS) через PWA, и всегда происходила навигация по ссылке. Ваше видео было обрезано по вертикали, поэтому я не смог толком понять, что именно происходило.

Привет, Таннер,

Короткое обновление: я пересобрал и обновил приложение, и сейчас у меня версия:

2026.6.0-latest +675

С момента этой пересборки я больше не наблюдал проблему со ссылкой/карточкой пользователя /upcoming-events в установленной iOS PWA.

Также в последнее время я не замечал более широкой проблемы с «неотзывчивыми кнопками/областями нажатия», которая иногда возникала в PWA, хотя я хочу понаблюдать ещё несколько дней, так как проблема была периодической и, по-видимому, связана с определёнными длительными сессиями PWA.

Поэтому на данный момент я бы не считал это стабильно воспроизводимой проблемой на текущей основной версии с моей стороны. Я буду отслеживать ситуацию в ближайшие дни, и если проблема вернётся, я постараюсь предоставить более чёткую полноэкранную запись, а также детали по:

  • версии iOS/устройству
  • установленной PWA против браузера Safari
  • новой сессии PWA против длительной сессии
  • тестированию в безопасном режиме/компонентах темы
  • точному событию/карточке/ссылке, на которую нажал

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