-
Notifications
You must be signed in to change notification settings - Fork 184
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
do-not-federate option #7
Comments
I love this idea. |
So, I've said I'll implement the user-facing side of this (server-side support for it, currently applied to all toots ending in the eye emoji, has already been implemented by @beatrix-bitrot ), and I've done a little work toward that. This comment is going to summarize some Discord discussions from earlier this week on how the UI for this should work and provide a checklist of things that have been and should be done to implement this feature. The conversation in #design-input in the Discord included at least @Hoodiek and Alice (I don't know if they're on github/what their username here is so not @ ing them) and @beatrix-bitrot and covered what the UI should look like. We were initially looking at this mockup from the related tootsuite issue: https://github.com/tootsuite/mastodon/files/975229/Mastodon.Local.pdf . I think we decided to not use that approach: instead Hoodie suggested (and Alice agreed with) a button that would activate an Advanced Options menu which could include both the local-only/do-not-federate toggle and any other advanced post visibility/etc. features we might add. Hoodie's idea was for it to drop down from the bottom of the compose for like the visibility/privacy setting dropdown. I initially misunderstood that but was going to implement it initially that way for simplicity's sake because I didn't know how to do the thing I misunderstood that as. (I haven't done as much work on this yet as I'd like for various distraction-related reasons.) Steps for actually implementing this:
I'm hoping to get the second bit done tonight, and then the rest of the non-optional bits tomorrow night or the following day. Please do comment, anyone, if you have objections, questions, comments, or concerns about this approach. Thus far everything's just going on in my local branch. I'll push a branch once things are further along. |
I think this all sounds excellent, except for the last bits:
While I dig the intention, at the very least this would need to be /api/v2/statuses in order have api versioning mean anything, and I would imagine we would want to avoid forking the api except in the most dire of situations. |
Would it? It is a backwards-compatible change. I don't remember what guarantees, if any, the docs make about API versioning, though. But it's a fair point that we may want to avoid gratuitously modifying the API. |
If it's backwards-compatible then we don't need to switch to That said, if we're going to make our API have more and/or different endpoints than upstream, then we should probably provide a means for frontends to check what software they are talking to. Right now the Mastodon versioning is set in |
I'd advise against tying anything to version numbers. Why not implement an /api/capabilities endpoint? Call the endpoint, if it doesn't exist (or the feature you want isn't listed), the client can assume it's not there.
… On Jun 30, 2017, at 1:18 AM, Gô Shoemake ***@***.***> wrote:
If it's backwards-compatible then we don't need to switch to /api/v2, and just between you and me I've seen Masto implement non–backwards-compatible changes that still didn't bump up the API version number.
That said, if we're going to make our API have more and/or different endpoints than upstream, then we should probably provide a means for frontends to check what software they are talking to. Right now the Mastodon versioning is set in lib/mastodon/version.rb and available through the API from /api/v1/instances/, but GlitchSoc should perhaps use its own versioning scheme ? ?? ???
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Yeah, I can see not bumping the version number since it is non-breaking. Still not sure we want to fork the API from upstream in any real way but I won't object any further. |
Which is not to rule it out at all. But it might be more of a long-term goal. |
my thoughts on this issue are as follows:
thanks everyone for your input and @ekiru for your work on this~ |
I have a branch at https://github.com/glitch-soc/mastodon/tree/feature/local-only-toot-ui that does most of this now! The big uncertainty is how to display enabled/disabled status. The branch currently does it in a not v. good way (@beatrix-bitrot was confused by it and also it's inconsistent with the privacy dropdown) involving border colors and stuff around the options. |
@ekiru toggles good 👍 |
Honestly if I wanted to implement this, I would just make it a fifth privacy option. we've already got four of them.... this loses some flexibility, but I don't think it's a big deal in the long run. |
@nightpool it's orthogonal to visibility tho and there's plans to further refactor the existing options |
oki, merging in master fixed the rounded corners (and also changed the button highlighting behavior???), and I made the advanced options button highlight whenever the option is enabled even if the dropdown is closed. I pushed all that to the branch and am about to create a PR for that branch. |
The PR was merged, but there's a few subordinate issues we've noticed (some code cleanliness/optimization concerns, some user-facing functionality ones) that still need to be fixed. Some of those have issues or comments on the PR elsewhere but I'll just make a little checklist here to keep everyone apprised:
|
I did all those little tweaks now. not sure if there's anything else we wanna take care of here before we close this? |
There's nothing I can think of since piggo has documented the feature already. I am closing it. Nicely done! |
the ability to mark a post of any privacy level to Not federate to other instances. this enables local-timeline-only posting, and allows other interesting interactions, like unlisted posts to only people you trust on a private instance that's just yr closest friends.
The text was updated successfully, but these errors were encountered: