Как Discourse обрабатывает статус прочитанного/непрочитанного для пользователей?

Привет, ребята!

Я сейчас изучаю программирование и хочу узнать, какая схема или техника используется для отслеживания прочитанных/непрочитанных тем в Discourse?

Я видел, как это реализовано в SMF: комбинация «Отметить доску как прочитанную», «Отметить всё как прочитанное», а также отметка как прочитанное при просмотре последнего сообщения и т. д.

Как Discourse обрабатывает это?

Спасибо! =)

Лучше всего обратиться к исходному коду:

Состояние прочтения темы (для конкретного пользователя) отслеживается моделью TopicUser?:

(данные которой хранятся в базе данных Postgres).

Вы можете взаимодействовать с этим через консоль Rails: находясь в директории Discourse в режиме разработки, выполните команду rails c, после чего можно, например, ввести TopicUser.first и просмотреть данные …

Круто. Я вижу схему прямо там, спасибо!