Membros do Discourse sendo desconectados - como corrigir?

Hmm. Conforme as pessoas usam os fóruns e leem tópicos, etc., se elas realizam alguma ação que gera um evento (create_post, create_topic, edit_post, etc.), recebo uma mensagem via webhook. Isso informa ao site principal que elas ainda estão ativas, permitindo que eu atualize o valor de ‘Último Clique’ na sessão delas, evitando um logout. Como deveria ser. Tudo certo.

No entanto, se um membro estiver apenas lendo mensagens por um tempo… o tempo de inatividade no Discourse é reiniciado sempre que eles fazem algo (o que é bom), mas meu site principal nunca recebe mensagens de webhook indicando que o usuário está ativo. Assim, após 1 hora sem nenhuma atividade (parece que eles foram aos fóruns e se afastaram do computador), o site principal assume que eles saíram e os faz logout.

Parece haver uma falha na lógica aqui. Para uma implementação SSO adequada, não deveria haver uma maneira de o Discourse me informar se a sessão de um usuário está ativa (mesmo que eles estejam apenas lendo)? Talvez o Discourse devesse enviar um ping a cada 5 minutos se o membro estiver ativo, mas não tiver gerado outras mensagens de webhook.

Ou, talvez, quando meu site achar que um usuário expirou, eu deveria consultar o Discourse e perguntar se o usuário está ativo lá. Existe uma maneira de fazer isso? (Vejo Is there an endpoint to check if a user is logged in - #3 by pfaffman, mas não consigo dizer ao certo se é isso que quero, e /session/current.json não está na documentação da API.) Isso geraria um grande número de chamadas de API, no entanto — eu faço logout de cerca de 15 a 20 usuários por minuto no meu site devido à inatividade, então isso significaria fazer uma chamada para cada um (e possivelmente mais de uma chamada, se eu não tiver um cache local do ID deles no Discourse).

Amigos, o que vocês acham/recomendam?