Ayuda para redirigir al usuario a contenido restringido

Continuando la discusión de Temas restringidos en una categoría:

Intenté modificar el componente de restricción para redirigir al usuario a una página específica en lugar de mostrar una restricción.

  1. Intenté DiscourseURL.routeTo('/t/table-builder-test-2/1667') en el creador de temas, funciona pero tarda un poco y arroja errores al cargar, aunque la página se carga correctamente.

  1. También intenté con setDefaultHomepage('/t/table-builder-test-2/1667'); y
      const container = Discourse.__container__;
      const router = container.lookup("router:main");

      let topicId = router.currentRoute.parent.params.id

      PreloadStore.remove(`topic/${topicId}`);

Solo redirige después de que la página restringida se carga y luego se hace clic en el botón de retroceso.

  1. location.href = '/t/table-builder-test-2/1667'

Funciona, pero las páginas restringidas también se cargan durante unos segundos, a diferencia de la opción 1 que lo hace sin problemas.

¿Cuál es la mejor manera de lograr esto?

Mi tema Página de inicio personalizada cambia la página de inicio. El truco es que algunas cosas se precargan y tienes que hacer algo para que desaparezcan.

Espero que puedas encontrar el ejemplo en el código, ya que es lo mejor que puedo explicarlo desde mi teléfono. :person_shrugging:

1 me gusta

Intenté con

let topicId = router.currentRoute.parent.params.id
PreloadStore.remove(`topic/${topicId}`);

pero no funciona, ¿tenemos algún documento sobre cómo funciona el método PreloadStore.remove?