From f91e4a5801b99084894c4921746f9c47566f30dd Mon Sep 17 00:00:00 2001 From: Edijs Date: Mon, 4 Mar 2019 21:29:56 -0800 Subject: Load post status content type from instance config --- src/modules/instance.js | 1 + 1 file changed, 1 insertion(+) (limited to 'src/modules/instance.js') diff --git a/src/modules/instance.js b/src/modules/instance.js index c31d02b9..24c52f9c 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -37,6 +37,7 @@ const defaultState = { emoji: [], customEmoji: [], restrictedNicknames: [], + postFormats: [], // Feature-set, apparently, not everything here is reported... mediaProxyAvailable: false, -- cgit v1.2.3-70-g09d2 From 068c9724e45fe801ecedbea491234d0b95695629 Mon Sep 17 00:00:00 2001 From: Edijs Date: Sun, 10 Mar 2019 16:58:12 -0700 Subject: Added new tab to display versions of BE/FE --- src/boot/after_store.js | 6 ++++++ src/components/settings/settings.js | 17 +++++++++++++++-- src/components/settings/settings.vue | 22 ++++++++++++++++++++++ src/i18n/en.json | 5 +++++ src/modules/instance.js | 6 +++++- src/services/version/version.service.js | 10 ++++++++++ 6 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 src/services/version/version.service.js (limited to 'src/modules/instance.js') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index a8e2bf35..dfaf4d68 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -176,6 +176,12 @@ const afterStoreSetup = ({ store, i18n }) => { const suggestions = metadata.suggestions store.dispatch('setInstanceOption', { name: 'suggestionsEnabled', value: suggestions.enabled }) store.dispatch('setInstanceOption', { name: 'suggestionsWeb', value: suggestions.web }) + + const software = data.software + store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version }) + + const frontendVersion = window.___pleromafe_commit_hash + store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion }) }) } diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 979457a5..d208ee5a 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -1,8 +1,10 @@ /* eslint-env browser */ +import { filter, trim } from 'lodash' + import TabSwitcher from '../tab_switcher/tab_switcher.js' import StyleSwitcher from '../style_switcher/style_switcher.vue' import InterfaceLanguageSwitcher from '../interface_language_switcher/interface_language_switcher.vue' -import { filter, trim } from 'lodash' +import { parseBackendVersionString, parseFrontendVersionString } from '../../services/version/version.service' const settings = { data () { @@ -78,7 +80,10 @@ const settings = { // Future spec, still not supported in Nightly 63 as of 08/2018 Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks'), playVideosInModal: user.playVideosInModal, - useContainFit: user.useContainFit + useContainFit: user.useContainFit, + + backendVersion: instance.backendVersion, + frontendVersion: instance.frontendVersion } }, components: { @@ -98,6 +103,14 @@ const settings = { }, instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel } }, + methods: { + parseBackendVersion (versionString) { + return parseBackendVersionString(versionString) + }, + parseFrontendVersion (versionString) { + return parseFrontendVersionString(versionString) + } + }, watch: { hideAttachmentsLocal (value) { this.$store.dispatch('setOption', { name: 'hideAttachments', value }) diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index d2346747..3ca7bdc0 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -261,6 +261,28 @@ +
+
+
    +
  • +

    {{$t('settings.version.backend_version')}}

    +
      +
    • +
      +
    • +
    +
  • +
  • +

    {{$t('settings.version.frontend_version')}}

    +
      +
    • +
      +
    • +
    +
  • +
+
+
diff --git a/src/i18n/en.json b/src/i18n/en.json index 01fe2fba..1fe201a4 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -347,6 +347,11 @@ "checkbox": "I have skimmed over terms and conditions", "link": "a nice lil' link" } + }, + "version": { + "title": "Version", + "backend_version": "Backend Version", + "frontend_version": "Frontend Version" } }, "timeline": { diff --git a/src/modules/instance.js b/src/modules/instance.js index 24c52f9c..155aa2eb 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -48,7 +48,11 @@ const defaultState = { // Html stuff instanceSpecificPanelContent: '', - tos: '' + tos: '', + + // Version Information + backendVersion: '', + frontendVersion: '' } const instance = { diff --git a/src/services/version/version.service.js b/src/services/version/version.service.js new file mode 100644 index 00000000..6c5036c1 --- /dev/null +++ b/src/services/version/version.service.js @@ -0,0 +1,10 @@ + +export const parseBackendVersionString = versionString => { + const regex = /(-g)(\w+)$/i + const replacer = '$1$2' + return versionString.replace(regex, replacer) +} + +export const parseFrontendVersionString = versionString => { + return `#${versionString}` +} -- cgit v1.2.3-70-g09d2 From 9857002bf5dc902302644e981712b611124a5845 Mon Sep 17 00:00:00 2001 From: taehoon Date: Sat, 2 Mar 2019 08:07:14 -0500 Subject: Add hideMutedPosts setting and wire up to post-returning endpoints --- src/boot/after_store.js | 1 + src/components/settings/settings.js | 8 ++++++++ src/components/settings/settings.vue | 4 ++++ src/i18n/en.json | 1 + src/modules/config.js | 1 + src/modules/instance.js | 1 + src/services/api/api.service.js | 3 ++- src/services/timeline_fetcher/timeline_fetcher.service.js | 4 ++++ 8 files changed, 22 insertions(+), 1 deletion(-) (limited to 'src/modules/instance.js') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index a5f8c978..f5e84cbc 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -97,6 +97,7 @@ const setSettings = async ({ apiConfig, staticConfig, store }) => { copyInstanceOption('showInstanceSpecificPanel') copyInstanceOption('scopeOptionsEnabled') copyInstanceOption('formattingOptionsEnabled') + copyInstanceOption('hideMutedPosts') copyInstanceOption('collapseMessageWithSubject') copyInstanceOption('loginMethod') copyInstanceOption('scopeCopy') diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index b77c5197..1d5f75ed 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -47,6 +47,11 @@ const settings = { pauseOnUnfocusedLocal: user.pauseOnUnfocused, hoverPreviewLocal: user.hoverPreview, + hideMutedPostsLocal: typeof user.hideMutedPosts === 'undefined' + ? instance.hideMutedPosts + : user.hideMutedPosts, + hideMutedPostsDefault: this.$t('settings.values.' + instance.hideMutedPosts), + collapseMessageWithSubjectLocal: typeof user.collapseMessageWithSubject === 'undefined' ? instance.collapseMessageWithSubject : user.collapseMessageWithSubject, @@ -177,6 +182,9 @@ const settings = { value = filter(value.split('\n'), (word) => trim(word).length > 0) this.$store.dispatch('setOption', { name: 'muteWords', value }) }, + hideMutedPostsLocal (value) { + this.$store.dispatch('setOption', { name: 'hideMutedPosts', value }) + }, collapseMessageWithSubjectLocal (value) { this.$store.dispatch('setOption', { name: 'collapseMessageWithSubject', value }) }, diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 17f1f1a1..33dad549 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -36,6 +36,10 @@

{{$t('nav.timeline')}}

    +
  • + + +