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

M3 - Automated Announcements of Decentralized Websites #101

Closed
maisutton opened this issue Nov 28, 2023 · 9 comments
Closed

M3 - Automated Announcements of Decentralized Websites #101

maisutton opened this issue Nov 28, 2023 · 9 comments
Assignees
Labels
comms Communications tasks ready for prod&comms This is done, ready to launch and communicate

Comments

@maisutton
Copy link
Collaborator

Adding automation on top of Distributed Press for announcing newly published accounts in a format that can be subscribed to on the Fediverse.

@RangerMauve
Copy link
Contributor

From meeting today:

Elian noticed that once you enable the integration there's no clear path for getting your first follower, if you have an account somewhere you need to follow it.
Elian thought about having the option to have sutty follow + announce the new account on the fediverse.
One thing we talked about is we could automate this and make the social inbox do the announcement.
Maybe we could hve a queue instead of automatic so they can be moderated.
Either in the social inbox, or via sutty.
If it's a separate account it might be better than an official sutty account.
We should have a flag on creation.
Who would build the feature? Could sutty work on the social inbox part.

It's surpising how if you go to the profile on a fedi account and don't see older posts unless someone already followed them. Mastodon has an open issue and currently directs folks to look at the site directly. Maybe we could have the inbox send activities on follow requests. This won't help when they aren't following.
Seeing previous posts is pretty important. Should we try to get anything there in this milestone?

@sutty-coop
Copy link
Collaborator

Sutty is invited to implement this inside the social inbox. If Nula took over this, they'd be available since Feb 14th

@RangerMauve
Copy link
Contributor

This should be done after #159

@RangerMauve
Copy link
Contributor

RangerMauve commented Jan 9, 2024

  • In the server config add a flag which lists the public domain the server can be reached at (e.g. https://social.distributed.press), also add this flag in the ansible scripts
  • Add new config for "announcement templates" which is the text that will be published on a new account. (maybe have a placeholder like %%ACCOUNT%% in the string for where the mention should go)
  • Add a new class called StatefulActorStore which extends Actor store and adds a new "outbox" property which is an ActivityStore
  • Modify the main Store inside src/server/store/index.ts with a new StatefulActorStore under the key "announcements"
  • On server boot initialize the announcements actor with a generated key if it doesn't exist
  • Add new route for /v1/announcements/ which returns an ActivityPub actor with the outbox pointing to the domain of the server and /v1/announcements/
  • Add new routes for /v1/announcements/inbox /v1/announcements/outbox (maybe other relevant routes as well) to fetch the Actor related data from the announcements store. The ones requiring DELETE or POSTs to the outbox should require admin authentication
  • Add a new flag to account creation called announce.
  • Upon creation if announce is true generate a new activity in the announcement actor's outbox and notify it's followers
  • Test creating new accounts and following this actor (manually, mastodon, pixelfed)
  • Add flag to sutty when creating new sites to decide if the announcement should happen as well as wordking for what it does / a link to how to follow the announcements account
  • Add info about this feature to docs.distributed.press
  • Write announcement post after deploying

@fauno
Copy link
Collaborator

fauno commented Jan 10, 2024

The announcement wording should be something neutral like "a wild site appears!" rather than expressing support to a site we haven't moderated yet (we're adding support for flagging sites)

@sutty-coop
Copy link
Collaborator

This should be done after hyphacoop/distributed-press-organizing#159

We decided to push the deletion feature to M4, decided on Jan 10th weekly meeting

@RangerMauve
Copy link
Contributor

TODO for tomorrow:

fix the tests
clean up the code and add docs
filter out notes when getting the outbox list
have
Akhilesh Thite
test loading the outbox in the reader
prep for prod

Have announcements set up an allowlist to @@ to auto approve followers (or have an autoApprove flag?)

@sutty-coop
Copy link
Collaborator

sutty-coop commented Mar 21, 2024

At March 21th:
-Fixing auto-accept followers.
-We will publicly launch the last week of March 2024.

@sutty-coop sutty-coop moved this from In Progress to Done in Distributed Press Organizing Apr 18, 2024
@sutty-coop sutty-coop added ready for prod&comms This is done, ready to launch and communicate and removed enhancement New feature or request labels Apr 24, 2024
@sutty-coop sutty-coop moved this from Done to In Progress in Distributed Press Organizing Jun 5, 2024
@sutty-coop sutty-coop added the comms Communications tasks label Jun 5, 2024
@sutty-coop
Copy link
Collaborator

Explain to the team why I 'd rather announce this feature in one post, without linking it to the Social Reader, as is:

https://hackmd.io/ScgfyUX5SFm5KOpz65nEWw?view

The appearance of this account in the Social Reader should be explained in another post, bc it will improve the understanding of people - most folks are unaware of the Social Reader, should be communicated as a thing itself

@sutty-coop sutty-coop moved this from In Progress to Done in Distributed Press Organizing Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comms Communications tasks ready for prod&comms This is done, ready to launch and communicate
Projects
Status: Done
Development

No branches or pull requests

4 participants