Skip to main content
Uma fila de recurso é um pedido, nunca uma porta: quem está nela já tem conta, já está logado pelo seu próprio auth, e o que está esperando é uma parte do produto — o checkout novo, o editor novo, a API que ainda está em beta. Por isso ela nunca toca em autenticação. Estar em dez filas de recurso não muda nada no login de ninguém, e pedir um recurso não é entrar — então nada aqui cria sessão, manda um caminho de entrada nem recusa um.

Pedindo

A chave da fila é a chave da flag do recurso, no mesmo ambiente. Uma fila sem flag por trás responde 404 unknown_waitlist — e isso é de propósito: quem libera o recurso é a flag (veja Ligando a feature de verdade), então uma fila sem flag seria uma lista sobre a qual ninguém consegue agir. Também é o que impede que a chave vire texto livre escrito por quem tiver uma sessão de contato. Crie a flag desligada antes de abrir os pedidos: é exatamente para isso que ela já nasce em false.
No React, o hook desenha o botão inteiro:
Pedir duas vezes mantém o primeiro lugar e responde a mesma coisa, então o botão nunca precisa distinguir “acabou de entrar” de “já estava”. Nada é enviado por e-mail: a pessoa está dentro do seu produto olhando para a resposta. cancel() desfaz o pedido — e é recusado com 409 already_admitted depois de liberado, porque tirar acesso é um ato seu, no painel, e não desta rota. A fila aparece no painel a partir do primeiro pedido, em Lista de espera, no seletor de fila — o painel lista as filas que têm gente, não as flags que existem.

Liberando

Aqui liberar não anexa senha nem manda link: essas pessoas já têm conta. O que ele faz é registrar que elas entraram — e publicar um fato por pessoa, que é o que a audiência lê. O label é o nome do recurso no aviso por e-mail; sem ele o aviso cai na chave da fila. "notify": false desliga o aviso, para quando o seu produto anuncia o acesso por conta própria.

Ligando a feature de verdade

Liberar não acende nada sozinho — quem acende é a sua flag, apontada para um segmento de quem foi liberado:
1

Um segmento

Em Segmentos, uma condição: foi liberado em beta-checkout.
2

Uma flag apontando para ele

Em Feature flags, a flag beta-checkout com esse segmento como público.
3

O seu código lê a flag

useFlag("beta-checkout") — como qualquer outra. Cada pessoa liberada entra na audiência em segundos, porque a liberação publica um fato por pessoa.
É de propósito que a fila não acenda a feature diretamente: quem decide o que cada pessoa vê é a flag, e uma fila que ligasse recursos sozinha seria um segundo lugar para responder a mesma pergunta — que é exatamente o que os segmentos existem para evitar.
Quem nunca pediu não está esperando. As duas condições do segmento — foi liberado em e está esperando em — são positivas, e quem não tem pedido nenhum não entra em nenhuma das duas. “Todo mundo menos os liberados” já é o que a flag é quando está desligada.