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

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

На странице /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, и, скорее всего, она проявляется в условиях высокой нестабильности сети.