-
-
Notifications
You must be signed in to change notification settings - Fork 365
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
[feature] add support for receiving federated status edits #3597
[feature] add support for receiving federated status edits #3597
Conversation
…erencer to handle them
…t delete functionality
…at field set on outgoing AS statuses
9794864
to
880dd89
Compare
…erwise it needs updating every time you add statuses ...)
Big juicy PR! Gonna review it now. |
func statusChanged(existing, latest *gtsmodel.Status) bool { | ||
return existing.Content != latest.Content || | ||
existing.ContentWarning != latest.ContentWarning || | ||
!slices.Equal(existing.AttachmentIDs, latest.AttachmentIDs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to also edit image alt text and have that appear as an update? I'm not sure how it works exactly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we already handle that, though currently in the fetchStatusAttachments() function so tbh i might do some fiddling and also see if mastodon handles media description changes as historic status edits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there we go, tweaked! 5347924
Looking great :) |
When you're happy then squerge away pal :) |
Description
Adds support for GoToSocial properly handling federated status edits. When we receive a status update activity we now correctly store the current state as a historical edit in a new database table, and update the state to the newly received edit. This also handles the case of re-fetching a status we haven't received an update for, but then notice a change in.
Some other changes of note:
Checklist
go fmt ./...
andgolangci-lint run
.