:PROPERTIES: :ID: 565d1a6a-2531-4f92-80b3-4fc161f7b850 :END: #+title: changer-la-limite-de-caracteres-sur-son-instance-mastodon #+post_ID: 1362 #+post_slug: changer-la-limite-de-caracteres-sur-son-instance-mastodon #+post_url: https://www.ciperbliss.com/2019/changer-la-limite-de-caracteres-sur-son-instance-mastodon #+post_title: Changer la limite de caractères sur son instance Mastodon #+post_tags: mastodon, réseau social, FLOSS, dev, logiciellibre #+post_type: post #+post_mime_types: #+post_guid: undefined #+post_status: publish #+post_date_published: <2019-12-11T20:27:10> #+post_date_modified: <2020-06-18T17:28:54> #+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9 #+retrieved_from_db_at: <2024-11-18 16:25:08> * Changer la limite de caractères sur son instance Mastodon :PROPERTIES: :CUSTOM_ID: changer-la-limite-de-caractères-sur-son-instance-mastodon :END: La limite de caractères de Mastodon ([[https://www.cipherbliss.com/?s=mastodon][voir ici les autres articles sur le sujet]]) est une contrainte que l'on peut définir plutôt facilement, bien que cette personnalisation n'existe pas encore dans le frontend administrateur. Vous trouverez la source correspondant au [[https://framagit.org/tykayn/mastodon/blob/master/app/javascript/mastodon/features/compose/components/compose_form.js][fichier compose_form.js]] sur framagit où j'héberge les sources de [[https://mastodon.cipherbliss.com][Mastodon Bliss]].il suffit de modifier le fichier app/javascript/mastodon/features/compose/components/*compose_form.js* et changer la limite de 500 caractères en un nombre entier de votre choix. Pour faire quelque chose de propre vous devriez définir une propriété locale au composant compose_form et la référencer. La version simple consiste à faire un rechercher-remplacer. Mais je suis certain que faire un peu plus propre est à la portée de beaucoup de monde.dans la partie *propTypes,* ajoutez la propriété #+begin_example maxTootCharsLimit : PropTypes.number, #+end_example définissez sa valeur par défaut, par exemple 7777 comme sur [[https://mastodon.cipherbliss.com][Mastodon Bliss]], dans l'objet *defaultProps* #+begin_example static defaultProps = { showSearch : false, maxTootCharsLimit: 7777,}; #+end_example et ensuite vous n'avez plus qu'a remplacer les "500" par *this.props.maxTootCharsLimit*ligne 93 #+begin_example if (isSubmitting || isUploading || isChangingUpload || length(fulltext) > this.props.maxTootCharsLimit || (fulltext.length !== 0 && fulltext.trim().length === 0 && !anyMedia)) { #+end_example ligne 186 et 249: #+begin_src prettyprint const disabledButton = disabled || this.props.isUploading || this.props.isChangingUpload || length(text) > this.props.maxTootCharsLimit || (text.length !== 0 && text.trim().length === 0 && !anyMedia); #+end_src #+begin_src prettyprint
#+end_src Enfin, vous n'avez plus qu'a reconstruire votre frontend avec la commande*=RAILS_ENV=production bundler exec rake assets:precompile=*(éventuellement vider le cache avec *bin/tootctl cache:clear* ), relancer le service mastodon-web et le tour est joué. Si vous ne voyez pas de quoi je parle, [[https://docs.joinmastodon.org/][regardez la doc]]. (Ne soyez pas trop pressé de bidouiller Mastodon si vous n'avez aucune idée de ce dont parlent les deux dernières lignes hein :D)[[https://www.cipherbliss.com/wp-content/uploads/2019/12/screenshot-mastodon.cipherbliss.com-2019.12.11-20_39_41.png]]Dernière modif a faire côté backend dans le validateur en Ruby:app/validators/status_length_validator.rbchanger la valeur de MAX_CHARS. #+begin_example MAX_CHARS = 7777Et voilà, votre serveur Mastodon peut faire du macro-blogging.Si vous aimez bidouiller Mastodon et que vous souhaitez échanger à ce sujet à ce propos, venez donc faire un tour sur framateam Design Libre / UX / Mastodon, on sera ravi d'en causer. (voir ici les autres articles sur le sujetEnjaillez!