mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
fix(ext-links): warn in Party and PMs, env config
This commit is contained in:
@@ -86,5 +86,6 @@
|
|||||||
"RATE_LIMITER_ENABLED": "false",
|
"RATE_LIMITER_ENABLED": "false",
|
||||||
"REDIS_HOST": "aaabbbcccdddeeefff",
|
"REDIS_HOST": "aaabbbcccdddeeefff",
|
||||||
"REDIS_PORT": "1234",
|
"REDIS_PORT": "1234",
|
||||||
"REDIS_PASSWORD": "12345678"
|
"REDIS_PASSWORD": "12345678",
|
||||||
|
"TRUSTED_DOMAINS": "https://localhost,https://habitica.com"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.textbox = this.$refs['user-entry'];
|
this.textbox = this.$refs['user-entry'];
|
||||||
|
this.handleExternalLinks();
|
||||||
},
|
},
|
||||||
updated () {
|
updated () {
|
||||||
this.handleExternalLinks();
|
this.handleExternalLinks();
|
||||||
|
|||||||
@@ -139,6 +139,8 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
|
import externalLinks from '../../mixins/externalLinks';
|
||||||
|
|
||||||
import renderWithMentions from '@/libs/renderWithMentions';
|
import renderWithMentions from '@/libs/renderWithMentions';
|
||||||
import { mapState } from '@/libs/store';
|
import { mapState } from '@/libs/store';
|
||||||
import userLink from '../userLink';
|
import userLink from '../userLink';
|
||||||
@@ -150,6 +152,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
userLink,
|
userLink,
|
||||||
},
|
},
|
||||||
|
mixins: [externalLinks],
|
||||||
filters: {
|
filters: {
|
||||||
timeAgo (value) {
|
timeAgo (value) {
|
||||||
return moment(value).fromNow();
|
return moment(value).fromNow();
|
||||||
@@ -179,6 +182,10 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.$emit('message-card-mounted');
|
this.$emit('message-card-mounted');
|
||||||
|
this.handleExternalLinks();
|
||||||
|
},
|
||||||
|
updated () {
|
||||||
|
this.handleExternalLinks();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
report () {
|
report () {
|
||||||
|
|||||||
@@ -1,18 +1,9 @@
|
|||||||
import some from 'lodash/some';
|
import some from 'lodash/some';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
|
||||||
return {
|
|
||||||
trustedDomains: [
|
|
||||||
'https://habitica.com',
|
|
||||||
'http://localhost',
|
|
||||||
'https://tools.habitica.com',
|
|
||||||
'https://translate.habitica.com',
|
|
||||||
],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
handleExternalLinks () {
|
handleExternalLinks () {
|
||||||
|
const { TRUSTED_DOMAINS } = process.env;
|
||||||
const allLinks = document.getElementsByTagName('a');
|
const allLinks = document.getElementsByTagName('a');
|
||||||
|
|
||||||
for (let i = 0; i < allLinks.length; i += 1) {
|
for (let i = 0; i < allLinks.length; i += 1) {
|
||||||
@@ -20,7 +11,7 @@ export default {
|
|||||||
|
|
||||||
if ((link.classList.value.indexOf('external-link') === -1)
|
if ((link.classList.value.indexOf('external-link') === -1)
|
||||||
&& link.href.slice(0, 4) === 'http'
|
&& link.href.slice(0, 4) === 'http'
|
||||||
&& !some(this.trustedDomains, domain => link.href.indexOf(domain) === 0)) {
|
&& !some(TRUSTED_DOMAINS.split(','), domain => link.href.indexOf(domain) === 0)) {
|
||||||
link.classList.add('external-link');
|
link.classList.add('external-link');
|
||||||
link.addEventListener('click', e => {
|
link.addEventListener('click', e => {
|
||||||
if (e.ctrlKey) {
|
if (e.ctrlKey) {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ const envVars = [
|
|||||||
'APPLE_AUTH_CLIENT_ID',
|
'APPLE_AUTH_CLIENT_ID',
|
||||||
'AMPLITUDE_KEY',
|
'AMPLITUDE_KEY',
|
||||||
'LOGGLY_CLIENT_TOKEN',
|
'LOGGLY_CLIENT_TOKEN',
|
||||||
|
'TRUSTED_DOMAINS',
|
||||||
// TODO necessary? if yes how not to mess up with vue cli? 'NODE_ENV'
|
// TODO necessary? if yes how not to mess up with vue cli? 'NODE_ENV'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user