Implement Mastodon API #30

Open
opened 2025-01-11 23:43:21 +00:00 by sugar · 0 comments
Owner

This is a bigger topic, and overall a pretty important feature, fae feels like :3.

Overall, the goal is to get things to the point where Akkoma-FE (https://iceshrimp.dev/iceshrimp/akkoma-fe) simply works.

This will be mostly worked on by sugar in initial stages. The implementation isn't going to be based on Sharkey's implementation, as frankly, Sharkey's implementation is pretty bad. Iceshrimp's implementation is quite useful here, but it's worth noting that Iceshrimp is based on an old version of Misskey, and merging that in isn't straightforward. As such, most of the code will be written from scratch.

salted caramel compat

  • Implement /v1/accounts/lookup
  • Implement OAuth
  • Implement /v1/statuses/:id
  • Implement /v1/accounts/verify_credentials
  • Implement /v1/timelines/home (for now without trying to be smart about replies and boosts)
  • Implement /v1/timelines/public
  • Implement /v1/custom_emojis
  • Implement websocket streaming API (this may be a complicated topic, but it's absolutely necessary)

masto-fe compat

  • Implement whatever is needed for masto-fe's home page
  • implement uploading media
  • implement writing statuses
  • Implement other masto-fe's pages

akkoma-fe compat

  • Implement whatever is needed for akkoma-fe's home page
  • Implement other akkoma-fe's pages

megalodon compat

  • Implement push notifications

others

  • Implement whatever APIs weren't implemented after all of that
  • try to be smart about replies and boosts on /v1/timelines/home (not sure if that's realistic to implement, and it's mostly a bonus)
This is a bigger topic, and overall a pretty important feature, fae feels like :3. Overall, the goal is to get things to the point where Akkoma-FE (https://iceshrimp.dev/iceshrimp/akkoma-fe) simply works. This will be mostly worked on by sugar in initial stages. The implementation isn't going to be based on Sharkey's implementation, as frankly, Sharkey's implementation is pretty bad. Iceshrimp's implementation is quite useful here, but it's worth noting that Iceshrimp is based on an old version of Misskey, and merging that in isn't straightforward. As such, most of the code will be written from scratch. # salted caramel compat - [x] Implement `/v1/accounts/lookup` - [x] Implement OAuth - [ ] Implement `/v1/statuses/:id` - [ ] Implement `/v1/accounts/verify_credentials` - [ ] Implement `/v1/timelines/home` (for now without trying to be smart about replies and boosts) - [ ] Implement `/v1/timelines/public` - [ ] Implement `/v1/custom_emojis` - [ ] Implement websocket streaming API (this may be a complicated topic, but it's absolutely necessary) # masto-fe compat - [ ] Implement whatever is needed for masto-fe's home page - [ ] implement uploading media - [ ] implement writing statuses - [ ] Implement other masto-fe's pages # akkoma-fe compat - [ ] Implement whatever is needed for akkoma-fe's home page - [ ] Implement other akkoma-fe's pages # megalodon compat - [ ] Implement push notifications # others - [ ] Implement whatever APIs weren't implemented after all of that - [ ] try to be smart about replies and boosts on `/v1/timelines/home` (not sure if that's realistic to implement, and it's mostly a bonus)
sugar added the
feature parity
label 2025-01-11 23:47:01 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: woem.men/forkey#30
No description provided.