forked from glitch-soc-github-mirror/mastodon
The Fediverse server that meows at you - a fork of glitch-soc Mastodon
https://github.com/CatCatNya/catstodon
| .devcontainer | ||
| .github | ||
| .husky | ||
| .rubocop | ||
| .storybook | ||
| .yarn | ||
| app | ||
| bin | ||
| chart | ||
| config | ||
| db | ||
| dist | ||
| docs | ||
| lib | ||
| log | ||
| public | ||
| spec | ||
| streaming | ||
| vendor | ||
| .annotaterb.yml | ||
| .browserslistrc | ||
| .buildpacks | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.development | ||
| .env.production.catcatnya | ||
| .env.production.sample | ||
| .env.test | ||
| .env.vagrant | ||
| .foreman | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .haml-lint.yml | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.js | ||
| .rspec | ||
| .rubocop.yml | ||
| .rubocop_todo.yml | ||
| .ruby-gemset | ||
| .ruby-version | ||
| .slugignore | ||
| .watchmanconfig | ||
| .yarnrc.yml | ||
| app.json | ||
| Aptfile | ||
| AUTHORS.md | ||
| CHANGELOG.md | ||
| CHANGELOG_glitch.md | ||
| CODE_OF_CONDUCT.md | ||
| config.ru | ||
| CONTRIBUTING.md | ||
| crowdin-glitch.yml | ||
| crowdin.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| FEDERATION.md | ||
| Gemfile | ||
| Gemfile.lock | ||
| ide-helper.js | ||
| jsconfig.json | ||
| LICENSE | ||
| lint-staged.config.js | ||
| package.json | ||
| priv-config | ||
| Procfile | ||
| Procfile.dev | ||
| Rakefile | ||
| README.md | ||
| redact-env.bash | ||
| scalingo.json | ||
| SECURITY.md | ||
| stylelint.config.js | ||
| tsconfig.json | ||
| Vagrantfile | ||
| vite.config.mts | ||
| vitest.config.mts | ||
| vitest.shims.d.ts | ||
| yarn.lock | ||
Catstodon
Introduction
This Mastodon fork is based on the glitch-soc Fork of Mastodon, historically with changes made to suit CatCatNya~. Some changes may be contributed back to glitch-soc.
To install, take a look at glitch-soc.github.io/docs/. The instructions and features are the same, except for the differences outlined below.
Contributing guidelines are available here.
Note: Use the main branch only for forks. The develop and stable-develop/* branches are experimental, have no
stable state, and are only used for testing changes e.g. the staging instance or temporary
test instances.
For production, it is suggested you run:
- any of the
stable/*branches or stable tags- do note, however, that these branches/tags have a similar support cycle to upstream, and therefore also to vanilla Mastodon!
- New Catstodon-exclusive features will only be introduced to the
mainbranch. Thestablebranches will not get backports of new features oncemaindiverges from them significantly.
- the
mainbranch, which is comparable to "nightly" versions in vanilla Mastodon.
Differences
- Some files are adjusted specifically for the CatCatNya~ instance, and you may want revert/change them. Specifically,
these:
- sounds/boop.mp3
- sounds/boop.ogg
- The rate limits for authenticated users have been relaxed a bit. Vanilla Mastodon, and by extension glitch-soc, sadly has rate-limits that make it possible to run into these rate-limits during normal usage.
- The API endpoint
/api/v1/custom_emojisis no longer affected by AUTHORIZED_FETCH, allowing anyone to copy custom emojis. - Allow higher resolution images. (4096x4096 instead of the previous limit of 3840x2160)
- Allow posting polls with only one poll option (if
MIN_POLL_OPTIONSis set to 1 on your instance). - Emoji reactions on statuses (with both Unicode and custom emojis, same as for announcements), a feature originally developed for Nyastodon. Ended up as a Catstodon-maintained patch after its initial two Pull Requests to glitch-soc, but was handed over to Essem's fork, Chuckya and is now pending its fourth attempt of merging into glitch-soc.
- Lifts the "only federate local favourites" restriction on favourites/likes and emoji reactions.
- Cherry-picks the activity filter branch from Sakurajima Mastodon.
- Adds the ability to disable the suspicious sign in detection entirely.
- Useful for situations where the instance may not have up-to-date IP information, such as when the period of IP address retention is set to a low value (see Previous differences now merged into vanilla Mastodon)
- Environment variable
MASTODON_USE_LIBVIPSis true by default.- This is a minor change, but it requires all systems running Catstodon to run a recent libvips version (8.13+), except if this variable is explicitly set to false.
- Vanilla Mastodon intends to deprecate ImageMagick anyway, so sooner or later, this change will cease being one.
- Allow dashes in emoji shortcodes
- This is simply to allow custom emoji compat with other fedi software.
- Original patch by hazycora:
TheEssem/mastodon@2dde7a25a4
- Allow appending
?unrestricted_preview=trueto post links to bypass CWs and sensitive-markings of media for link previews. - In the compose form, the character counter is now always below the text field.
Contributions to glitch-soc Mastodon
- Fixed incorrect upload size limit display when adding new a new custom emoji. (Pull request)
- Standalone share page: Dispatch fetchServer for maxChars. Fixes the bug where the standalone share page did not display the correct maximum character amount. (Pull request)
- [Glitch] Fix
/sharenot using server-set characters limit (Pull request) - Everything merged into vanilla Mastodon
Contributions to Vanilla Mastodon
- The period of retention of IP addresses and sessions was made configurable. (Pull request)
- Fix
/sharenot using server-set characters limit (Pull request) - Security: Domain blocks & rationales ignore user approval when visibility set as "users"