Skip to content

Instantly share code, notes, and snippets.

Clients should be able to determine the operations the server supports

Version Date Changes
3.0 2024-01-22 Re-write; include the operation information in the nodeinfo
2.0 2023-09-25 Re-write; replace the original suggestion to use the OpenAPI definition with a simpler specification
1.0 2023-08-14 Initial draft
@nikclayton
nikclayton / pachli-translation.md
Last active November 1, 2023 13:04
Early Pachli translation FAQ

[!IMPORTANT] This is a draft, the translation feature hasn't launched yet.

Which versions of Pachli support translation?

Pachli Current, and any version of Pachli from 2.0 or later.

How do I translate a post or undo a translation?

Tap the "..." menu at the bottom right of the post, and choose "Translate" or "Undo translate" as appropriate.

At the time of writing the current release of Pachli is 2.1.1, forked from Tusky 23.0, and contains many quality of life improvements and bug fixes. Some of these have subsequently appeared in later versions of Tusky (I try and indicate them below with a "*").

[!NOTE] This is a bit rough-and-ready, but I think it's accurate. Obviously this will become out of date after a new Pachli or Tusky release. Corrections as comments to this gist are welcomed.

The most significant and impactful are probably:

  • "Load more" is gone. Posts are loaded automatically as you scroll through your timeline
  • No missing posts. Tusky (and many other Mastodon clients) have a bug that causes some posts to be missed if you leave the app and come back later. Pachli always shows you your full feed
  • Never lose your reading position. Tusky (and many other Mastodon clients) can lose your reading position if you leave the app and come back later. Pachli always restores your reading position in whatever timeline you were rea
/*
* Copyright 2024 Pachli Association
*
* This file is a part of Pachli.
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* Pachli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
/*
* Copyright 2024 Pachli Association
*
* This file is a part of Pachli.
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* Pachli is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even

On frustrations with the Mastodon experience

This is a reply to https://social.polotek.net/@polotek/111973724539175076 which rapidly became too long for a single Mastodon post.

I'm a client developer. I'm largely[^1] building a client that meets my needs, and hopefully it meets others needs as well.

When I see someone having a bad experience (your problem statement was "I can't seem to find many interesting conversations"[^2]) I'm interested in understanding the problem because maybe the client can be changed to improve that. I'll benefit, and so will everyone else that uses the client.

For example, would your experience be better if it was easier to browse or follow the local timelines of servers that are for specific communities? This might show you more people that you would be interested in following because they share your interests.

There's some weird stuff in some server responses to /api/v1/instance and /api/v2/instance.

Here's some I've seen in the wild. Format is:

  • Heading with server type (e.g., "akkoma") and whether this was v1 or v2
  • Then the error when trying to parse the data
  • Then a list of all the servers that triggered the same parse error, with their reported version number

Some of these have been fixed in newer versions of the servers but the fixes haven't fully rolled out.

@nikclayton
nikclayton / Semi-structured work plan.md
Last active April 30, 2024 14:58
Semi-structured work plan.md

This is a very rough list of things to do in Pachli. Some of these are already filed as issues that may have more information, others aren't because I'm trying not to overwhelm the issue list with work that might be several months away.

This list is likely incomplete. See Issues · pachli/pachli-android · GitHub for more.

Finish code modularisation

What and why: Finish the work of splitting the code in to modules:

core:... modules with core functionality

@nikclayton
nikclayton / OAuth sequence.md
Last active July 28, 2024 13:29
OAuth sequence.md
  • Date: 2024-07-28
  • Status: Possibly incomplete / inaccurate

The client's goal during the OAuth sequence is to obtain a long lived access_token that can be used to authenticate future requests.

Data

Client managed

  • domain
  • The domain the user wants to log in to, e.g., mastodon.social
@nikclayton
nikclayton / Mastodon service staffing.md
Last active January 10, 2025 09:42
Mastodon service staffing.md

Mastodon service staffing

This is a somewhat hastily written reply to https://hachyderm.io/@esk/113793277371908181 .

I disagree a bit with Esk's finger-in-the-air estimates for number of staff required, their location, and their costs, and it didn't really fit in a single post or thread. In particular, I think it undercounts the number of people required to run the service, and ignores moderation.

As you'll see when you read this there are some big gaps in my knowledge around some best practices, particularly around moderation, so this is absolutely a draft. If you know more about this (or other topics) covered here and can suggest improvements then please do.

So, you want to launch a professionally run Mastodon service. How many people do you need?