refactor: Iceshrimp’s Mastodon API implementation with original extensions
What does this PR do?
Porting Iceshrimp’s Mastodon API implementation with original extensions to Firefish, replacing Megalodon’s implementation.
Resolves #10880 (closed), #10920 (closed), #10717 (closed), #10716 (closed), #10699 (closed), #10697 (closed), #10659 (closed), #10657 (closed), #10543 (closed), #10591 (closed), #10230 (closed), #9637 (closed), #10278 (closed) (unverified), and #9691 (closed) (partially).
Breaking changes
- The new API uses a new format to manage Mastodon sessions in the database, whereas old implementation uses Misskey sessions. All previous client app and token registrations will not work with the new API. All clients need to be re-registered and all users need to re-authenticate.
- All IDs (of statuses/notes, notifications, users, etc.) will be using the alphanumerical format, aligning with the Firefish/Misskey API. The old numerical IDs will not work when queried against the new API.
Contribution Guidelines
By submitting this merge request, you agree to follow our Contribution Guidelines
-
This change is reviewed in an issue (#10880 (closed)) / This is a minor bug fix -
I agree to follow this project's Contribution Guidelines -
I have made sure to test this pull request -
I have made sure to run pnpm run format
before submitting this pull request
If this merge request makes changes to the Firefish API, please update docs/api-change.md
-
I updated the document / This merge request doesn't include API changes
Co-authored-by: Laura Hausmann laura@hausmann.dev
Co-authored-by: CookiLover311 jacoco@vivaldi.net
Co-authored-by: AkiraFukushima h3.poteto@gmail.com
Edited by naskya