Notifications and Messages
The Messages link in the top nav is your inbox for everything that wants your attention inside ItemTrack. Two kinds of things go there:
- Notifications — system events: someone shared a resource with you, someone accepted your invite, someone revoked your access.
- Marketplace conversations — buyer/seller chats on listings.
Both live on the same page (/messages/) but in separate sections.
The unread badge
The Messages nav link shows a red number badge when there are unread items. The number combines:
- Unread notifications (in-app system events)
- Unread marketplace messages
When everything is read, the badge disappears.
Notifications you might receive
| Kind | When | What it shows |
|---|---|---|
| Share invite | Someone invited you to view their resource | Inviter name, resource label, optional note, Accept / Decline buttons |
| Share accepted | You invited someone and they accepted | Recipient email, what they accepted access to, link to view |
| Share revoked | An owner revoked your previously-active access | Resource label, optional reason |
If a future feature creates new kinds, they'll appear here too.
Accept / Decline
When you see a "share invite" notification, two buttons appear inline:
- Accept — you immediately gain read access to the shared resource. The notification is auto-marked as read. The owner gets a "your invite was accepted" notification on their side.
- Decline — the share is revoked. The owner is not notified that you specifically declined (we don't want to make declining socially awkward) — they just see the share state become "revoked" if they look at their own outgoing list.
Either button leaves a clean inbox state. If you ignore the invite, it stays pending forever (or until the owner revokes it).
Mark as read
Each notification has a Mark read link if it's still unread. There's also a Mark all read link at the top of the Notifications block to clear everything at once.
Marking as read doesn't change the share state — it just affects whether the badge shows. A pending invite is still pending after you mark it read; you still need to Accept or Decline to actually act on it.
Email and in-app notifications
When someone invites you to view a shared resource, two things happen:
- Email — you get an email from "{their name} via ItemTrack", with a link to your Messages page where you can Accept or Decline. The Reply-To is the inviter's address, so if you want to ask them about it you can reply directly.
- In-app notification — a notification appears at
/messages/with the same Accept / Decline buttons. The Messages link in the top nav shows the unread badge.
The in-app notification is the source of truth. If the email gets caught by a spam filter or you delete it by accident, the invite is still in your Messages inbox waiting for you. Accepting or declining in either place has the same effect.
For other notifications (a recipient accepted your invite, your access was revoked) only the in-app notification is created — those events are status updates rather than invitations and don't warrant an email each.
What's archived
Notifications stay in your inbox until you (or the system) deletes them:
- Auto-deleted: when the underlying invite is revoked, the original "you were invited" notification is removed (so you don't see stale "X invited you" messages for shares that no longer exist).
- Soft-deleted manually: not currently exposed in the UI. Future feature: "Archive" button.
If you want to clear the visible list, just Mark all read — read notifications fade in the UI and don't draw attention.
Privacy
- Notifications are scoped to your account; nobody else sees them.
- The data stored per notification is minimal: kind, subject reference, a small JSON blob with display fields.
- For share invites, the JSON includes the inviter's user id, the resource id, and the resource label so we can render the message without a re-fetch. Nothing more.