diff --git a/.config/example.yml b/.config/example.yml index ea83f9cfb8..48fc360f3f 100644 --- a/.config/example.yml +++ b/.config/example.yml @@ -164,3 +164,6 @@ drive: # external: true # engine: http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}} # timeout: 300000 + +# Max allowed note text length in charactors +maxNoteTextLength: 1000 diff --git a/src/client/app/desktop/views/components/post-form.vue b/src/client/app/desktop/views/components/post-form.vue index 3835f7228e..a703382f38 100644 --- a/src/client/app/desktop/views/components/post-form.vue +++ b/src/client/app/desktop/views/components/post-form.vue @@ -45,7 +45,7 @@ %fa:envelope% %fa:lock% -
{{ 1000 - this.trimmedLength(text) }}
+{{ this.maxNoteTextLength - this.trimmedLength(text) }}
@@ -107,10 +107,17 @@ export default Vue.extend({ visibleUsers: [], autocomplete: null, draghover: false, - recentHashtags: JSON.parse(localStorage.getItem('hashtags') || '[]') + recentHashtags: JSON.parse(localStorage.getItem('hashtags') || '[]'), + maxNoteTextLength: 1000 }; }, + created() { + (this as any).os.getMeta().then(meta => { + this.maxNoteTextLength = meta.maxNoteTextLength; + }); + }, + computed: { draftId(): string { return this.renote @@ -149,7 +156,7 @@ export default Vue.extend({ canPost(): boolean { return !this.posting && (1 <= this.text.length || 1 <= this.files.length || this.poll || this.renote) && - (length(this.text.trim()) <= 1000); + (length(this.text.trim()) <= this.maxNoteTextLength); } }, diff --git a/src/client/app/mobile/views/components/post-form.vue b/src/client/app/mobile/views/components/post-form.vue index e532430d0f..0c783fded3 100644 --- a/src/client/app/mobile/views/components/post-form.vue +++ b/src/client/app/mobile/views/components/post-form.vue @@ -4,7 +4,7 @@