summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-16 14:17:58 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-16 14:17:58 +0200
commitcc64a316d3107c9e638b7ae6d9567d346f0ed4ae (patch)
treec535258529177a3462dfcd6a019c7382cea1f2eb
parentfix(disks): Increase root tmpfs size to 6GB (diff)
downloadnixos-server-cc64a316d3107c9e638b7ae6d9567d346f0ed4ae.tar.gz
nixos-server-cc64a316d3107c9e638b7ae6d9567d346f0ed4ae.zip
feat(system/services/mastodon): Apply patch to increase the message length mastodon
-rw-r--r--system/services/mastodon/default.nix5
-rw-r--r--system/services/mastodon/patches/mastodon_v4.2.1-maxchar-5000.patch34
2 files changed, 39 insertions, 0 deletions
diff --git a/system/services/mastodon/default.nix b/system/services/mastodon/default.nix
index efc7335..8e2c174 100644
--- a/system/services/mastodon/default.nix
+++ b/system/services/mastodon/default.nix
@@ -1,5 +1,6 @@
 {
   config,
+  pkgs,
   ...
 }: let
   emailAddress = "mastodon@vhack.eu";
@@ -7,6 +8,10 @@ in {
   services.mastodon = {
     enable = true;
 
+    package = pkgs.mastodon.overrideAttrs (attrs: {
+      patches = (attrs.patches or []) ++ [./patches/mastodon_v4.2.1-maxchar-5000.patch];
+    });
+
     # Unstable Mastodon package, used if
     #security updates aren't backported.
     #package = pkgs-unstable.mastodon;
diff --git a/system/services/mastodon/patches/mastodon_v4.2.1-maxchar-5000.patch b/system/services/mastodon/patches/mastodon_v4.2.1-maxchar-5000.patch
new file mode 100644
index 0000000..e48a993
--- /dev/null
+++ b/system/services/mastodon/patches/mastodon_v4.2.1-maxchar-5000.patch
@@ -0,0 +1,34 @@
+diff --git a/app/javascript/mastodon/features/compose/components/compose_form.jsx b/app/javascript/mastodon/features/compose/components/compose_form.jsx
+index 9222b2dc8..962310a28 100644
+--- a/app/javascript/mastodon/features/compose/components/compose_form.jsx
++++ b/app/javascript/mastodon/features/compose/components/compose_form.jsx
+@@ -100,7 +100,7 @@ class ComposeForm extends ImmutablePureComponent {
+     const fulltext = this.getFulltextForCharacterCounting();
+     const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0;
+
+-    return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia));
++    return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 5000 || (isOnlyWhitespace && !anyMedia));
+   };
+
+   handleSubmit = (e) => {
+@@ -297,7 +297,7 @@ class ComposeForm extends ImmutablePureComponent {
+             </div>
+
+             <div className='character-counter__wrapper'>
+-              <CharacterCounter max={500} text={this.getFulltextForCharacterCounting()} />
++              <CharacterCounter max={5000} text={this.getFulltextForCharacterCounting()} />
+             </div>
+           </div>
+         </div>
+diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb
+index dc841ded3..9cb1ec94b 100644
+--- a/app/validators/status_length_validator.rb
++++ b/app/validators/status_length_validator.rb
+@@ -1,7 +1,7 @@
+ # frozen_string_literal: true
+
+ class StatusLengthValidator < ActiveModel::Validator
+-  MAX_CHARS = 500
++  MAX_CHARS = 5000
+   URL_PLACEHOLDER_CHARS = 23
+   URL_PLACEHOLDER = 'x' * 23
\ No newline at end of file