farcasterxyz / hub-monorepo

Implementation of the Farcaster Hub specification and supporting libraries for building applications on Farcaster
https://www.thehubble.xyz
MIT License
715 stars 417 forks source link

feat: Add "Last Seen" and "Active Status" Feature for Direct Messages (DM) #2402

Closed Favourrufus1 closed 1 week ago

Favourrufus1 commented 2 weeks ago

What is the feature you would like to implement?


Description:
We need to add a feature that shows the Last Seen and Active Status of users in Direct Messages (DM). This will help improve user engagement by showing when a user was last active or if they are currently online

Why is this feature important? The Last Seen and Active Status feature is important because:

  1. Improves Engagement: Encourages timely interactions by showing when someone is online or was last active.
  2. Better User Experience: Provides users with transparency about others' availability, reducing uncertainty.
  3. Builds Trust: Makes users feel more connected and accountable in their interactions.
  4. Privacy Control: Users can decide who sees their status, enhancing privacy.
  5. Enhances Social Cues: Helps users gauge when to initiate conversations based on availability.
  6. Competitive Edge: Keeps your platform competitive with features common in other messaging apps.
  7. Aligns with Decentralization: Empowers users to control their own activity status without centralized control.

Will the protocol spec need to be updated?? Yes the protocol spec will need to be updated

How should this feature be built? (optional)

Requirements:

  1. Track user activity, including message sending and other interactions.
  2. Show Active Status as "Active now" or "Last seen <time ago>".
  3. Store and retrieve user activity data (last seen timestamp and active status) in a decentralized manner.
  4. Add privacy settings to control whether the last seen and active status are visible to others.
  5. Update the DM interface to show the last seen and active status of users.

Acceptance Criteria:

Example Code:

Additional context

I'm willing to help with other parts of the implementation!

sds commented 1 week ago

This repository is for Farcaster, not Warpcast. Direct casts are not yet implemented in the protocol.