Notifications and activity feed

Why it matters

The more active the team, the harder it is to keep track of
meaningful things happening to the documentation. Someone renamed a
page, someone mentioned you in a comment, someone connected a new
repository. Missing any of this means either duplicating someone
else's work or staying out of the loop.

Nextdocs has two different feeds that solve different problems:

Notifications (the bell)

What arrives

Where to look

Tabs

The dropdown has two tabs:

Statuses

Clicking a notification

What happens:

If you open a notification via a toast, it's also marked read
(after ~2 seconds, once the backend persists the record).

Activity feed

Where to look

On the project page, right-side top bar β€” a pulse icon. Click opens
a dropdown with the last 50 events of this project.

What lands in the feed

Events recorded there (all project members see the feed
identically):

Each item shows: who, what, when. Clicking an event with a page_id
navigates to the page (a comment event goes straight to the
comment via deep link).

Pagination

First β€” last 50. A Load more button at the bottom pulls the
next block. Depth limit: 6 months back (further not available).

Live updates

When the feed is open and something happens in the project β€”
the event appears at the top of the list without a reload.

Difference from page history

Similar ideas, different scopes:

Recently Visited

Related feature: the Recently visited widget on the
/projects screen. This is your personal recently-visited
pages, in chronological order. Don't confuse with a project
activity feed β€” this is about your own scroll-back.

A "visited" entry appears only if you stayed on the page for more
than ~10 seconds (otherwise search-based browsing would pollute
the list).

Digest and edit notifications

The daily "Alice edited 3 pages" digest is automatic, fires at
midnight in the server's local time. It can be triggered manually:

POST /api/internal/activity/digest
Header: X-Service-Secret: <secret>
Body: { "project_id": 42 }   # optional

Useful if you need to "catch up" the feed after an import.

Privacy

Typical scenarios

You wake up in the morning. Open Nextdocs, bell badge "3
unread". You see "Alice mentioned you at Design overview". Click
β€” land on the page, see the clarification, reply in the comment.

Coming back from vacation. Open the project, click the activity
icon. See "Bob renamed pages, Alice attached a new repository,
4 new comments resolved". Overall picture in 30 seconds instead
of reading the entire history.

Tracking a spec status. You wrote a spec, sent it to the team
for review. The activity feed shows who's commenting. If nothing
happens for 24h β€” nudge explicitly.

Limitations