Mastodon/Hacking: Difference between revisions

From neuromatch
No edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Up to: [[Part Of::Mastodon]]
Up to: [[Part Of::Mastodon]]


== Good Practices for Collaborative Hacking ==
== Guides ==
* The <code>[https://github.com/NeuromatchAcademy/mastodon/tree/dev-stable dev-stable]</code> branch is for neuromatch.social's '''stable custom features only''' i.e. if a custom feature is extremely relevant to the instance and will be maintained indefinitely by the [[Tech_WG]]. If the author of a custom feature leaves the [[Tech_WG]], the feature may not need to be maintained indefinitely.
* The <code>[https://github.com/NeuromatchAcademy/mastodon/tree/main main]</code> branch should always be in a state where you can easily roll-back to a previous stable release with our instance's features e.g.[https://github.com/NeuromatchAcademy/mastodon/tree/custom-glitch4.2 custom-glitch4.2] branch.
* '''DO NOT''' commit even small/important changes directly to [https://github.com/NeuromatchAcademy/mastodon/tree/main main]. This makes it hard to keep track of the changes for future merges. If you are fixing a feature from upstream, do it in a separate branch.
* '''Create a separate branch for each new feature.'''
* Name feature branches as feature-<insert appropriate name>, e.g. feature-autofollow
* Keep features as small as possible.
* '''Choose the parent of the feature branch wisely!'''
** If a feature is being added on top of [https://github.com/glitch-soc/mastodon/tree/main glitch-soc:main], then first sync <code>[https://github.com/glitch-soc/mastodon/tree/glitch-clean-sync glitch-clean-sync]</code> using the "sync fork" feature on GitHub and then create a feature branch from this synced version. Please note that <code>[https://github.com/glitch-soc/mastodon/tree/glitch-clean-sync glitch-clean-sync]</code> is a locked read-only branch by design to protect it from force-pushes.
** If a feature is being added on top of some branch feature-XYZ that was added exclusively to neuromatch.social's dev-stable, then:
*** either contribute to the branch feature-XYZ by submitting a PR if your hack enhances the feature
*** or create a new feature branch by forking dev-stable if it's a major re-write of the feature-XYZ. If this new feature branch eventually gets merged then the original feature-XYZ branch should be deleted to keep the repo clean.
* Any feature branch must be approved by at least 1 reviewer before it can be merged to [https://github.com/NeuromatchAcademy/mastodon/tree/dev-stable dev-stable].
* Features MUST pass tests before they can be merged.
* When a feature has been tested, reviewed, and is ready to be merged, do not merge the feature branch directly to main. Merge to the [https://github.com/NeuromatchAcademy/mastodon/tree/dev-stable dev-stable] branch
* Clean code -- please be kind to your fellow maintainers who may not know what features you've implemented and save their time by ensuring that that there are no linting errors and no errors in general when you merge a feature branch to the [https://github.com/NeuromatchAcademy/mastodon/tree/dev-stable dev-stable] branch
* If an author leaves any errors (including linting errors) and proceeds to merge a feature branch with dev-stable, the other maintainers have the right to ignore that feature branch's commits when merging upstream and dev-stable for deploying a new release. In this case, maintainers should include this in the pull request description, inform the author, and update the corresponding feature page.


== ~ Features ~ ==
* [[Contribution Guide]]
 
== Custom Features ==


{{#ask:
{{#ask:
Line 37: Line 23:


* [[Masto Forks]]
* [[Masto Forks]]
* [[Mastodon/Docs]]


== Dev Environment ==
== Dev Environment ==
Line 51: Line 38:
[[Wikibot#TODO]]: implement n-back archiving of threads and previous posts, the parser already supports it
[[Wikibot#TODO]]: implement n-back archiving of threads and previous posts, the parser already supports it
|Link=https://discord.com/channels/1049136631065628772/1051399594363326504/1051965097561567342
|Link=https://discord.com/channels/1049136631065628772/1051399594363326504/1051965097561567342
}}{{Message
|Author=mannzsci
|Avatar=https://cdn.discordapp.com/avatars/540104559079456770/12ce492294d6a3cd6f1ea00cbe8edb04.png?size=1024
|Date Sent=23-10-02 04:21:33
|Channel=technical-wg
|Text=[[Mastodon/Hacking]]: Added contributing guidelines under Good Practices for Collaborative Contributions (still undergoing refinement -- I've a diagram in mind)
|Link=https://discord.com/channels/1049136631065628772/1052452072806686751/1158175686259916830
}}
}}

Latest revision as of 02:14, 5 December 2023

Up to: Mastodon

Guides

Custom Features

 DescriptionCompletionActive
AutofollowMake all new accounts follow a a comma-separated list of account handles given in the .env file 🙂CompletedCompleted
Better Code BlocksBetter Code BlocksCompletedCompleted
Exclusive ListsAccounts on lists marked as exclusive do not appear on the home feedCompletedCompleted
Expanding lines in collapsed postsExpanding lines in collapsed postsCompletedCompleted
Fetch All RepliesFetch all replies for a given post, even if we don't follow everyone!DraftActive
Filter Duplicate BoostsPrevent duplicated boosts in public timelines like in home timelinesCompletedInactive
Fine-Grained Post VisibilityAllow greater control over post visibility, decoupling placement in timelines from audience and indexingStubInactive
Mastodon/Emoji ReactsBorrow emoji reacts to messages from glitch-soc main :)Stub
Mastodon/FootnotesStubInactive
Mastodon/MathjaxBorrowing mathjax from mathstodon :)CompletedCompleted
Mastodon/Slugified URLsCreate slugified URLs for posts, potentially adding a "title" fieldStubInactive
Post TitlesGive posts titles w/ slugified URLs to support longer-form writing and minimizationDraftActive
SearchFull-text search on neuromatch.socialStubActive
Sticky Posts

See Also

Dev Environment

sneakers-the-rat#mathjax22-12-12 20:53:43

Mastodon/Mathjax: information in this thread about different possible implementation approaches

Mastodon/Hacking#Dev Environment: Details on setting up Vagrant for local development

Wikibot#TODO: implement n-back archiving of threads and previous posts, the parser already supports it

mannzsci#technical-wg23-10-02 04:21:33

Mastodon/Hacking: Added contributing guidelines under Good Practices for Collaborative Contributions (still undergoing refinement -- I've a diagram in mind)