aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEdijs <iamedijs@hotmail.com>2019-03-10 16:58:12 -0700
committerEdijs <iamedijs@hotmail.com>2019-03-10 16:58:12 -0700
commit068c9724e45fe801ecedbea491234d0b95695629 (patch)
treee8cb4e970861a101d560c66ea324e17cdfb5017a /src
parent841648676ce4b523916c573e158c9a3934adffb7 (diff)
Added new tab to display versions of BE/FE
Diffstat (limited to 'src')
-rw-r--r--src/boot/after_store.js6
-rw-r--r--src/components/settings/settings.js17
-rw-r--r--src/components/settings/settings.vue22
-rw-r--r--src/i18n/en.json5
-rw-r--r--src/modules/instance.js6
-rw-r--r--src/services/version/version.service.js10
6 files changed, 63 insertions, 3 deletions
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 @@
</div>
</div>
</div>
+ <div :label="$t('settings.version.title')" >
+ <div class="setting-item">
+ <ul class="setting-list">
+ <li>
+ <p>{{$t('settings.version.backend_version')}}</p>
+ <ul class="option-list">
+ <li>
+ <div v-html="parseBackendVersion(backendVersion)"></div>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>{{$t('settings.version.frontend_version')}}</p>
+ <ul class="option-list">
+ <li>
+ <div v-html="parseFrontendVersion(frontendVersion)"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
</tab-switcher>
</keep-alive>
</div>
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<a href="https://git.pleroma.social/pleroma/pleroma/commit/$2" target="_blank">$2</a>'
+ return versionString.replace(regex, replacer)
+}
+
+export const parseFrontendVersionString = versionString => {
+ return `<a href="https://git.pleroma.social/pleroma/pleroma-fe/commit/${versionString}" target="_blank">#${versionString}</a>`
+}