Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getFollows & getFollowers => Add the date of when it happend #2981

Open
jycouet opened this issue Nov 12, 2024 · 8 comments
Open

getFollows & getFollowers => Add the date of when it happend #2981

jycouet opened this issue Nov 12, 2024 · 8 comments

Comments

@jycouet
Copy link

jycouet commented Nov 12, 2024

Is your feature request related to a problem? Please describe.

When I go to: https://atproto-browser.vercel.app/at/did:plc:dacfxuonkf2qtqft22sc23tu/app.bsky.graph.follow/3lapxwzhdj72i
I can see that I followed someone at a certain time.

uri:
"at://did:plc:dacfxuonkf2qtqft22sc23tu/app.bsky.graph.follow/3lapxwzhdj72i"
cid:
"bafyreid6zzemxuoiewuezzqpcvbgfckeqvud22lq6qrkaumduofcgbg264"
value:
  $type:
  "app.bsky.graph.follow"
  subject:
  "did:plc:njxyxrv2w4x7rnpgv2gvavrq"
  createdAt:
  "2024-11-12T04:16:07.865Z"

So doing listRecords with xrpc works great.

Then I do

const agent = new Agent(new URL('https://public.api.bsky.app'))
const result = await agent.getFollows({ actor: "jyc.dev" })
console.log(result.data.follows[0])

I get the information of the subject, but I don't have access to the createdAt of the app.bsky.graph.follow.

For getFollowers, I can't access it directly with xrpc (The collection is not public I guess), so I have no way of knowing when the follow happend.

Describe the solution you'd like

Would be great to add a field: followedAt for both object.
When you retreive the subject, you have the info, so I think it's all good. The issue is that you are sending directly the subject resolved... And it's not directly a subject information... And mixing data is not the best... Breaking the API is also not the best.

// Option 1
{  
  did: "..."
  handle: "..."
  ...
  followedAt: ""
}

// Option 2
{  
  did: "..."
  handle: "..."
  ...
  contextData: {
    followedAt: ""
  }
}

Maybe the Option 2 is a good threadoff ?

Additional context

I'll be happy to contribute after agreeing to a good solution. ✌️
Let me know what do you think

@veekaybee
Copy link

+1 to both this issue and contributing a solution if possible

I'm looking to do some quick analysis of how fast follower counts for accounts have gone up over the past week and would like to be able to collected aggregate follow events per actor with DID + timestamp if possible.

@srsholmes
Copy link

This would be really helpful to me as well.

I need to become more familiar with the protocol in order to contribute anything more meaningful but will hopefully be able to soon.

@gunnarmorling
Copy link

+1 Would love to have this, too.

@MrGeislinger
Copy link

+1 Would also love to see this!

@est
Copy link

est commented Nov 18, 2024

also could we have a "remark" or "alias" field for a profile?

I cant remember exactly why/when I followed some guy in my >500 following list.

#1405

#1672

@jycouet
Copy link
Author

jycouet commented Nov 18, 2024

also could we have a "remark" or "alias" field for a profile?

I cant remember exactly why/when I followed some guy in my >500 following list.

#1405

#1672

I think that this is off topic & you probably don't want this info to be public.

@est
Copy link

est commented Nov 20, 2024

I think that this is off topic & you probably don't want this info to be public.

oh, I see. I wasn't aware that getFollows and getFollowers were public data.

So its impossible to secretly follow someone (e.g. show latest content on my timeline) with atproto?

@jycouet
Copy link
Author

jycouet commented Nov 20, 2024

oh, I see. I wasn't aware that getFollows and getFollowers were public data.

Yes it's public data

So its impossible to secretly follow someone (e.g. show latest content on my timeline) with atproto?

Anyone can go to your pds, and look who you follow, and what are your posts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants