Executando verificação de segurança...
1

Boa Gabriel!

Mas fiquei me perguntando, será que essas informações não deveriam estar restritas pela feature read:user:self?

O que será que a Turma pensa sobre isso?

Carregando publicação patrocinada...
2

Olha, eu não sei se deveria, mas na minha opinião, seria interessante essas informações ficarem públicas, até pra mostrar aqui no TabNews mesmo.
Acho que o melhor a se fazer é criar uma issue no repositório pra discutir sobre isso.

1

É possível saber quais artigos ainda não foram lidos pelo meu usuário? Se sim, há alguma forma de sinalizá-los, caso essa informação fique armazenada no banco de dados?

Quanto a expor a "carteira de coins", valeria uma consulta a todos usuários (será que é possível criar um post interativo para isso?). Eu acredito que não teria problemas divulgar o total de coins nesse momento, mas poderia ser interessante um sistema de rank.

1

É possível saber quais artigos ainda não foram lidos pelo meu usuário? Se sim, há alguma forma de sinalizá-los, caso essa informação fique armazenada no banco de dados?

Pelo o que eu sei, essa informação fica armazenada no navegador. As publicações lidas ficam com uma cor mais clara do que as não lidas, porém se você apagar o histórico ou mudar de navegador, todas as postagens voltarão a cor normal.

[...] mas poderia ser interessante um sistema de rank.

Essa é uma das idéias de implementação no TabStats, a cada consulta, salvar o username em um banco de dados, e quando a pessoa acessar a página de rank, checar a quantidade de TabCoins e TabCashs de todos os usuários e classificar conforme a quantidade de cada um.

1

Olá, Gabriel! Entendido!

Grato pelo seu esclarecimento. Realmente, há um tempo notei dois tons de cinza na fonte dos títulos das notícias. Bom saber que a informação está armazenada no lado do cliente. PCs diferentes ou janelas anônimas são um probleminha para essa solução.


tl;dr 🥱

🔮 Observação
Parece que cada id que identica uma postagem é composto por um número de 16 bytes.

00000000 3d 0b 8b f5 2f b4 4e f8 85 e3 98 bc 91 2e 64 c5 |=.../.N.......d.|

🕯 Ideia arcaica:
Pode ser ineficiente guardar um vetor para cada usuário com todas ids de cada publicação que abriu (1000 notícias lidas, 16000 bytes consumidos).

Caso pense levar a ideia em diante, pensei num dicionário global com numeração sequencial consumindo apenas 5 bytes como índice. Cada índice se relacionaria à cada id de cada notícia de topo. 5 bytes permite relacionar até 1.099.511.627.776 itens:

---index---- ---------------id-----------------
0x0000000000 0x3d0b8bf52fb44ef885e398bc912e64c5
0x0000000001 0x166da310c678e1ba814ac178b9446923
0x0000000002 0xf3db2efd5f708968dc94ba15f2104bc9
...
0xffffffffff ??

Para cada usuário, seria armazenado um vetor com valores de menor tipo (5 bytes por notícia lida).

---usr_id--- --------------read_news----------------
0x0000000001 0x0000000002,0x0000000003,0x0000000007

👾 Com relação ao fluxo de dados entre cliente servidor, acredito que não haveria problemas incluir esse vetor de informação no pacote de telemetria ( que ja é bem intensa, monitorando por qual link o ponteiro passa!), ou apenas no momento de login e logout (o usuário acostuma a fazer o logout! ou quando expirar a sessão).