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

Facebook support #380

Open
clemlatz opened this issue Jan 26, 2025 · 5 comments
Open

Facebook support #380

clemlatz opened this issue Jan 26, 2025 · 5 comments
Labels
enhancement New feature or request facebook

Comments

@clemlatz
Copy link

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

I wiped out three Twitter/X accounts using Cyd and it works great. Now I'd like to the the same with my Facebook account.

Describe the solution you'd like

Deleting all my Facebook data without deleting my account.

Describe alternatives you've considered

Doing it by hand.

Additional context

N/A

@clemlatz clemlatz added the enhancement New feature or request label Jan 26, 2025
@redshiftzero
Copy link
Contributor

redshiftzero commented Feb 3, 2025

Proposed implementation steps:

  • Get Facebook accounts that are populated with data on the Facebook profile wall at minimum (and ideally Pages, Groups, comments)
  • Add Facebook as a new platform to Cyd
  • Save all posts (including media) on Facebook profile wall via the Cyd web view
  • Delete posts on Facebook profile wall via navigating to each item in the Cyd web view and clicking "Move to Trash"
  • Also support data import from Meta's "Download Your Information" export tool

@micahflee
Copy link
Contributor

I'm working on "Add Facebook as a new platform to Cyd" which includes defining the schema for Facebook settings. What settings should Facebook have? Considering none of the devs are active Facebook users, I feel like this is where some user research could be helpful...

For example, every post in Facebook has reactions including: like, love, care, haha, wow, sad, and angry.

Image

When deleting posts or comments, we likely want options like with X to delete based on timestamp, and based on reactions. Do people care about the type of reaction (e.g. keep posts with at least 20 loves) or not (e.g. keep posts with at least 20 reacts in total)?

For X, for tweets, the options are:

  • Delete my tweets
    • older than N days
    • unless they have at least N retweets
    • or at least N likes

For Facebook, we could do:

  • Delete my posts
    • older than N days
    • unless that have at least N reactions

Is this what most people would want?

@micahflee
Copy link
Contributor

FYI I'm starting to look at the HTTP requests that Facebook makes to figure out where the profile info is given to the client, and it looks like much of it is directly in the HTML inside tags like <script type="application/json" data-content-len="155225" data-sjs>.

@micahflee
Copy link
Contributor

I have a question. Facebook accounts don't have usernames by default. They have account IDs, which are unique, and names, which are not unique. Where should the local database be stored? Some options:

  1. ~/Documents/Cyd/${name}/ would work and be user friendly, but it's not unique so if you login to two FB accounts with the same, bad things will happen. And if you ever change your name on Facebook (which is a thing you can do), Cyd might try to start a new database in a separate folder for you.
  2. ~/Documents/Cyd/${accountID} ${name}/ would work and also be fairly user-friendly. This will solve the problem of multiple FB accounts with the same name, but it still has the problem if you change your name.
  3. ~/Documents/Cyd/${accountID} would work and have no problems, but it would not be user friendly. If you're looking through your files, it won't be clear which folder is associated with which FB account.

I'm leaning towards 2 as a middle ground. And then, if the FB account name ever changes, we could potentially write code to check for this and update the name of the folder.

Or, when finding the name of a folder, Cyd could just look for folders that start with ${accountID} and ignore the name component, and just use that.

Anyone have any thoughts?

@redshiftzero
Copy link
Contributor

Cyd could just look for folders that start with ${accountID} and ignore the name component, and just use that.

This and option 2 seems like the best approach to me. Though perhaps it should be ~/Documents/Cyd/${accountID} - ${name}/ with a hyphen or another delimiter to make it clear there are two components

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request facebook
Projects
None yet
Development

No branches or pull requests

3 participants