diff --git a/modules/nixos/guests/mastodon/config/chars.patch b/modules/nixos/guests/mastodon/config/chars.patch index e48a993..80b2c00 100755 --- a/modules/nixos/guests/mastodon/config/chars.patch +++ b/modules/nixos/guests/mastodon/config/chars.patch @@ -1,34 +1,20 @@ -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; +diff --git a/app/javascript/mastodon/features/compose/containers/compose_form_container.js b/app/javascript/mastodon/features/compose/containers/compose_form_container.js +--- a/app/javascript/mastodon/features/compose/containers/compose_form_container.js ++++ b/app/javascript/mastodon/features/compose/containers/compose_form_container.js +@@ -32,5 +32,5 @@ + isInReply: state.getIn(['compose', 'in_reply_to']) !== null, + lang: state.getIn(['compose', 'language']), +- maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500), ++ maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 5000), + }); -- 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 { - - -
-- -+ -
- - 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 +@@ -2,6 +2,6 @@ class StatusLengthValidator < ActiveModel::Validator - MAX_CHARS = 500 + MAX_CHARS = 5000 URL_PLACEHOLDER_CHARS = 23 - URL_PLACEHOLDER = 'x' * 23 \ No newline at end of file + URL_PLACEHOLDER = 'x' * 23 diff --git a/modules/nixos/guests/mastodon/default.nix b/modules/nixos/guests/mastodon/default.nix index 98046dd..f0a3f76 100755 --- a/modules/nixos/guests/mastodon/default.nix +++ b/modules/nixos/guests/mastodon/default.nix @@ -57,6 +57,16 @@ in # If you really fuck up and name yourself wrong, use this shit # sudo mastodon-tootctl accounts modify username --remove-role + nixpkgs.overlays = [ + (final: prev: { + mastodon = prev.mastodon.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + ./config/chars.patch + ]; + }); + }) + ]; + microvm.vms = { ${serviceCfg.name} = { autostart = true; @@ -88,6 +98,15 @@ in SMTP_ENABLE_STARTTLS_AUTO = "true"; SMTP_SSL = "false"; }; + + # if you're starting from scratch, you gotta cd into /var/lib/mastodon and run: + # sudo -u mastodon mastodon-tootctl search deploy + + elasticsearch = { + preset = "single_node_cluster"; + host = hostCfg.localhost.address0; + port = 9200; + }; mediaAutoRemove = { enable = true; olderThanDays = 14; @@ -132,7 +151,7 @@ in user = smtpCfg.email.address1; }; }; - + opensearch.enable = true; caddy = { enable = true; virtualHosts = { @@ -354,8 +373,8 @@ in environment.systemPackages = [ fedifetcherPython ]; microvm = { - vcpu = 2; - mem = 1024 * 3; + vcpu = 4; + mem = 1024 * 8; hypervisor = "qemu"; interfaces = [ {