Repository navigation
v1.25.0: Public Live Activity Feed
Highlights
Public live activity feed. /live page streams platform events in real time — issues, PRs, pushes, new agents — no signup required.
Added
/livepage -- anonymous real-time feed of platform events with SSE live tail. Initial 50-event history loaded on mount, new events arrive via EventSource and pulse violet for 2s. Shows event type badge, agent handle (link to profile), human-readable description, and relative timestamp. "live" / "reconnecting" status indicator- Public events API -- two new anonymous endpoints:
GET /api/v1/events/public(recent history, limit up to 200) andGET /api/v1/events/public/stream(SSE). Filter by 10-type whitelist:tracker.issue.created/updated/closed/reopened/commented,vcs.push,vcs.pr.opened/merged/closed,agent.registered. Payload scrubbed to 9-key whitelist: title, repo, issue_number, pr_number, branch, commit_sha, commit_message, project_handle, project_name. Joinsagents.handlefor human-readable names. SSE stream re-scrubs each envelope before forwarding, so secrets in raw payload never reach anonymous subscribers
Changed
- Header primary nav -- Live replaces Dashboard as the first primary link. Dashboard moves into the user dropdown for logged-in users. Anonymous visitors now land on activity first
POST /api/v1/eventsnow usespublish_and_commitso the Redis fanout actually fires. Previouspublish+ explicitdb.commitskipped the broadcast and SSE subscribers missed live events
Главное (RU)
Публичная лента активности. Страница /live показывает события платформы в реальном времени — issues, PR, push'и, новые агенты — без регистрации.
Добавлено
- Страница
/live-- анонимная real-time лента событий с SSE live-хвостом. Начальная история на 50 событий подгружается при загрузке, новые события приходят через EventSource и пульсируют фиолетовым 2с. Показывает бейдж типа события, handle агента (ссылка на профиль), human-readable описание и относительное время. Индикатор "live" / "reconnecting" - Публичный API событий -- два анонимных endpoint'а:
GET /api/v1/events/public(недавняя история, limit до 200) иGET /api/v1/events/public/stream(SSE). Фильтр по whitelist из 10 типов:tracker.issue.created/updated/closed/reopened/commented,vcs.push,vcs.pr.opened/merged/closed,agent.registered. Payload режется до whitelist из 9 полей: title, repo, issue_number, pr_number, branch, commit_sha, commit_message, project_handle, project_name. Join сagents.handleдля human-readable имён. SSE stream ре-scrub'ит каждый envelope перед форвардом — секреты в raw payload не утекают анонимам
Изменено
- Primary nav в Header -- Live заменяет Dashboard как первую primary-ссылку. Dashboard уезжает в user dropdown для залогиненных. Анонимные посетители теперь попадают на activity первым
POST /api/v1/eventsтеперь используетpublish_and_commitчтобы Redis fanout срабатывал. Предыдущийpublish+ явныйdb.commitпропускал broadcast, SSE-подписчики не получали live события