Temor que isso não seja possível.
Essas propriedades não possuem setters; mesmo que tivessem, suas alterações só se aplicariam temporariamente na primeira janela. Assim que o usuário visitar a segunda aba, os dados serão baseados no que está armazenado no banco de dados. Os temas não têm acesso ao backend; eles só podem alterar o frontend.
O que você pode fazer é adicionar um hash ao seu link e verificá-lo da seguinte maneira.
import { withPluginApi } from "discourse/lib/plugin-api";
import bootbox from "bootbox";
export default {
name: "first-login-bootbox",
initialize() {
withPluginApi("0.8", api => {
const user = api.getCurrentUser();
if (!user) return;
if (
!user.read_first_notification &&
!user.enforcedSecondFactor &&
!window.location.hash
) {
const text = `Lorem ipsum dolor sit amet <a href="http://localhost:3000/new-topic#some-hash" target="_blank">Link</a>, consectetur adipiscing elit, sed do eiusmod tempor`;
bootbox.alert(text);
}
});
}
};
Não tenho certeza se vincular a “/new-topic” em sua postagem foi apenas um exemplo ou se é isso que você deseja fazer. Se for o resultado desejado, então você tem outro problema. Mesmo que o bootbox não seja exibido na página com o hash, eles ainda verão isso…
…e o compositor não será aberto, o que faz sentido, pois é muito inesperado para um usuário começar a digitar um tópico em sua primeira visualização de página imediatamente.
Posso perguntar o que você está tentando realizar aqui? Você está tentando informar o usuário de algo ou outro?
A maneira como vi isso feito em outros sites é editar a mensagem de boas-vindas, mas se essa for uma opção, existem alternativas.
Aqui está o que sugiro:
- crie um tópico e adicione todas as informações que deseja lá
- publique esse tópico
- vincule a esse tópico no bootbox e abra esse link em uma nova aba.
Dessa forma, quando o usuário clicar no link, verá algo assim (sem a sobreposição)
Assim que terminarem com essa página, podem voltar para a primeira aba, fechar o bootbox, ler a primeira notificação e continuar usando o site.
Dessa forma, você nem precisa adicionar/verificar um hash. Aqui está um exemplo de trecho
import { withPluginApi } from "discourse/lib/plugin-api";
import bootbox from "bootbox";
export default {
name: "first-login-bootbox",
initialize() {
withPluginApi("0.8", api => {
const user = api.getCurrentUser();
if (!user) return;
if (!user.read_first_notification && !user.enforcedSecondFactor) {
const text = `Lorem ipsum dolor sit amet <a href="http://my.site.com/pub/bentley-flying-spur-s-production-milestone" target="_blank">Link</a>, consectetur adipiscing elit, sed do eiusmod tempor`;
bootbox.alert(text);
}
});
}
};

