1 Answers

The customization is tested and works for Mastodon 4.1.1

1. Increase maximum toot length from 500 to 700 characters

As mastodon:

cd ~/live
cp -p app/javascript/mastodon/features/compose/components/compose_form.js app/javascript/mastodon/features/compose/components/compose_form.js.orig
cp -p app/validators/status_length_validator.rb app/validators/status_length_validator.rb.orig
cp -p app/serializers/rest/instance_serializer.rb app/serializers/rest/instance_serializer.rb.orig

sed -i 's/500/700/g' app/javascript/mastodon/features/compose/components/compose_form.js
sed -i 's/500/700/g' app/validators/status_length_validator.rb
sed -i 's/:registrations/:registrations, :max_toot_chars /g' app/serializers/rest/instance_serializer.rb
sed -i 's/private/def max_toot_chars\n 700\n end\n\n private/g' app/serializers/rest/instance_serializer.rb

RAILS_ENV=production bundle exec rails assets:precompile && echo "pass" || echo "fail"

As root:

service mastodon-web reload

2. Before upgrades, revert customization (otherwise “git checkout” will complain)

As mastodon:

cd ~/live
cp -p app/javascript/mastodon/features/compose/components/compose_form.js.orig app/javascript/mastodon/features/compose/components/compose_form.js
cp -p app/validators/status_length_validator.rb.orig app/validators/status_length_validator.rb
cp -p app/serializers/rest/instance_serializer.rb.orig app/serializers/rest/instance_serializer.rb

3. After upgrade, just repeat “Implement customization” again