| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | 
							- <template lang='pug'>
 
-   v-card
 
-     v-toolbar(flat, color='primary', dark, dense)
 
-       .subtitle-1 {{ $t('admin:utilities.telemetryTitle') }}
 
-     v-form
 
-       v-card-text
 
-         .subtitle-2 What is telemetry?
 
-         .body-2.mt-3 Telemetry allows the developers of Wiki.js to improve the software by collecting basic anonymized data about its usage and the host info. #[br] This is entirely optional and #[strong absolutely no] private data (such as content or personal data) is collected.
 
-         .body-2.mt-3 For maximum privacy, a random client ID is generated during setup. This ID is used to group requests together while keeping complete anonymity. You can reset and generate a new one below at any time.
 
-         v-divider.my-4
 
-         .subtitle-2 What is collected?
 
-         .body-2.mt-3 When telemetry is enabled, only the following data is transmitted:
 
-         v-list
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-information-outline
 
-             v-list-item-content
 
-               v-list-item-title.body-2 Version of Wiki.js installed
 
-               v-list-item-subtitle.caption: em e.g. v2.0.123
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-information-outline
 
-             v-list-item-content
 
-               v-list-item-title.body-2 Basic OS information
 
-               v-list-item-subtitle.caption: em Platform (Linux, macOS or Windows), Total CPU cores and DB type (PostgreSQL, MySQL, MariaDB, SQLite or SQL Server)
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-information-outline
 
-             v-list-item-content
 
-               v-list-item-title.body-2 Crash debug data
 
-               v-list-item-subtitle.caption: em Stack trace of the error
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-information-outline
 
-             v-list-item-content
 
-               v-list-item-title.body-2 Setup analytics
 
-               v-list-item-subtitle.caption: em Installation checkpoint reached
 
-         .body-2 Note that crash debug data is stored for a maximum of 30 days while analytics are stored for a maximum of 16 months, after which it is permanently deleted.
 
-         v-divider.my-4
 
-         .subtitle-2 What is it used for?
 
-         .body-2.mt-3 Telemetry is used by developers to improve Wiki.js, mostly for the following reasons:
 
-         v-list(dense)
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-chevron-right
 
-             v-list-item-content: v-list-item-title: .body-2 Identify critical bugs more easily and fix them in a timely manner.
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-chevron-right
 
-             v-list-item-content: v-list-item-title: .body-2 Understand the upgrade rate of current installations.
 
-           v-list-item
 
-             v-list-item-avatar: v-icon mdi-chevron-right
 
-             v-list-item-content: v-list-item-title: .body-2  Optimize performance and testing scenarios based on most popular environments.
 
-         .body-2 Only authorized developers have access to the data. It is not shared to any 3rd party nor is it used for any other application than improving Wiki.js.
 
-         v-divider.my-4
 
-         .subtitle-2 Settings
 
-         .mt-3
 
-           v-switch.mt-0(
 
-             v-model='telemetry',
 
-             label='Enable Telemetry',
 
-             color='primary',
 
-             hint='Allow Wiki.js to transmit telemetry data.',
 
-             persistent-hint
 
-           )
 
-         v-divider.my-4
 
-         .subtitle-2.mt-3.grey--text.text--darken-1 Client ID
 
-         .body-2.mt-2 {{clientId}}
 
-       v-card-chin
 
-         v-btn.px-3(depressed, color='success', @click='updateTelemetry')
 
-           v-icon(left) mdi-chevron-right
 
-           | Save Changes
 
-         v-spacer
 
-         v-btn.px-3(outlined, color='grey', @click='resetClientId')
 
-           v-icon(left) mdi-autorenew
 
-           span Reset Client ID
 
- </template>
 
- <script>
 
- import _ from 'lodash'
 
- import utilityTelemetryResetIdMutation from 'gql/admin/utilities/utilities-mutation-telemetry-resetid.gql'
 
- import utilityTelemetrySetMutation from 'gql/admin/utilities/utilities-mutation-telemetry-set.gql'
 
- import utilityTelemetryQuery from 'gql/admin/utilities/utilities-query-telemetry.gql'
 
- export default {
 
-   data() {
 
-     return {
 
-       telemetry: false,
 
-       clientId: 'N/A'
 
-     }
 
-   },
 
-   methods: {
 
-     async updateTelemetry() {
 
-       this.loading = true
 
-       this.$store.commit(`loadingStart`, 'admin-utilities-telemetry-set')
 
-       try {
 
-         const respRaw = await this.$apollo.mutate({
 
-           mutation: utilityTelemetrySetMutation,
 
-           variables: {
 
-             enabled: this.telemetry
 
-           }
 
-         })
 
-         const resp = _.get(respRaw, 'data.system.setTelemetry.responseResult', {})
 
-         if (resp.succeeded) {
 
-           this.$store.commit('showNotification', {
 
-             message: 'Telemetry updated successfully.',
 
-             style: 'success',
 
-             icon: 'check'
 
-           })
 
-         } else {
 
-           throw new Error(resp.message)
 
-         }
 
-       } catch (err) {
 
-         this.$store.commit('pushGraphError', err)
 
-       }
 
-       this.$store.commit(`loadingStop`, 'admin-utilities-telemetry-set')
 
-       this.loading = false
 
-     },
 
-     async resetClientId() {
 
-       this.loading = true
 
-       this.$store.commit(`loadingStart`, 'admin-utilities-telemetry-resetid')
 
-       try {
 
-         const respRaw = await this.$apollo.mutate({
 
-           mutation: utilityTelemetryResetIdMutation
 
-         })
 
-         const resp = _.get(respRaw, 'data.system.resetTelemetryClientId.responseResult', {})
 
-         if (resp.succeeded) {
 
-           this.$apollo.queries.telemetry.refetch()
 
-           this.$store.commit('showNotification', {
 
-             message: 'Telemetry Client ID reset successfully.',
 
-             style: 'success',
 
-             icon: 'check'
 
-           })
 
-         } else {
 
-           throw new Error(resp.message)
 
-         }
 
-       } catch (err) {
 
-         this.$store.commit('pushGraphError', err)
 
-       }
 
-       this.$store.commit(`loadingStop`, 'admin-utilities-telemetry-resetid')
 
-       this.loading = false
 
-     }
 
-   },
 
-   apollo: {
 
-     telemetry: {
 
-       query: utilityTelemetryQuery,
 
-       fetchPolicy: 'network-only',
 
-       manual: true,
 
-       result ({ data }) {
 
-         this.telemetry = _.get(data, 'system.info.telemetry', false)
 
-         this.clientId = _.get(data, 'system.info.telemetryClientId', 'N/A')
 
-       },
 
-       watchLoading (isLoading) {
 
-         this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'admin-utilities-telemetry-refresh')
 
-       }
 
-     }
 
-   }
 
- }
 
- </script>
 
- <style lang='scss'>
 
- </style>
 
 
  |