mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-27 16:53:10 +02:00
Merge branch 'string-interpolation' into develop
This commit is contained in:
commit
5e0f5c31e7
40 changed files with 53 additions and 53 deletions
|
@ -80,7 +80,7 @@ export default Vue.extend({
|
||||||
accepted() {
|
accepted() {
|
||||||
this.state = 'accepted';
|
this.state = 'accepted';
|
||||||
if (this.session.app.callbackUrl) {
|
if (this.session.app.callbackUrl) {
|
||||||
location.href = this.session.app.callbackUrl + '?token=' + this.session.token;
|
location.href = `${this.session.app.callbackUrl}?token=${this.session.token}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@
|
||||||
|
|
||||||
// Get salt query
|
// Get salt query
|
||||||
const salt = localStorage.getItem('salt')
|
const salt = localStorage.getItem('salt')
|
||||||
? '?salt=' + localStorage.getItem('salt')
|
? `?salt=${localStorage.getItem('salt')}`
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
// Load an app script
|
// Load an app script
|
||||||
|
|
|
@ -44,11 +44,11 @@ export default class Connection extends EventEmitter {
|
||||||
|
|
||||||
const query = params
|
const query = params
|
||||||
? Object.keys(params)
|
? Object.keys(params)
|
||||||
.map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))
|
.map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`)
|
||||||
.join('&')
|
.join('&')
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
this.socket = new ReconnectingWebsocket(`${wsUrl}/${endpoint}${query ? '?' + query : ''}`);
|
this.socket = new ReconnectingWebsocket(`${wsUrl}/${endpoint}${query ? `?${query}` : ''}`);
|
||||||
this.socket.addEventListener('open', this.onOpen);
|
this.socket.addEventListener('open', this.onOpen);
|
||||||
this.socket.addEventListener('close', this.onClose);
|
this.socket.addEventListener('close', this.onClose);
|
||||||
this.socket.addEventListener('message', this.onMessage);
|
this.socket.addEventListener('message', this.onMessage);
|
||||||
|
|
|
@ -125,7 +125,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.type == 'user') {
|
if (this.type == 'user') {
|
||||||
const cacheKey = 'autocomplete:user:' + this.q;
|
const cacheKey = `autocomplete:user:${this.q}`;
|
||||||
const cache = sessionStorage.getItem(cacheKey);
|
const cache = sessionStorage.getItem(cacheKey);
|
||||||
if (cache) {
|
if (cache) {
|
||||||
const users = JSON.parse(cache);
|
const users = JSON.parse(cache);
|
||||||
|
@ -148,7 +148,7 @@ export default Vue.extend({
|
||||||
this.hashtags = JSON.parse(localStorage.getItem('hashtags') || '[]');
|
this.hashtags = JSON.parse(localStorage.getItem('hashtags') || '[]');
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
} else {
|
} else {
|
||||||
const cacheKey = 'autocomplete:hashtag:' + this.q;
|
const cacheKey = `autocomplete:hashtag:${this.q}`;
|
||||||
const cache = sessionStorage.getItem(cacheKey);
|
const cache = sessionStorage.getItem(cacheKey);
|
||||||
if (cache) {
|
if (cache) {
|
||||||
const hashtags = JSON.parse(cache);
|
const hashtags = JSON.parse(cache);
|
||||||
|
|
|
@ -57,7 +57,7 @@ export default Vue.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check internet connection
|
// Check internet connection
|
||||||
fetch('https://google.com?rand=' + Math.random(), {
|
fetch(`https://google.com?rand=${Math.random()}`, {
|
||||||
mode: 'no-cors'
|
mode: 'no-cors'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.internet = true;
|
this.internet = true;
|
||||||
|
|
|
@ -170,7 +170,7 @@ export default Vue.extend({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch('/url?url=' + encodeURIComponent(this.url)).then(res => {
|
fetch(`/url?url=${encodeURIComponent(this.url)}`).then(res => {
|
||||||
res.json().then(info => {
|
res.json().then(info => {
|
||||||
if (info.url == null) return;
|
if (info.url == null) return;
|
||||||
this.title = info.title;
|
this.title = info.title;
|
||||||
|
|
|
@ -191,7 +191,7 @@ class Autocomplete {
|
||||||
const acct = renderAcct(value);
|
const acct = renderAcct(value);
|
||||||
|
|
||||||
// 挿入
|
// 挿入
|
||||||
this.text = trimmedBefore + '@' + acct + ' ' + after;
|
this.text = `${trimmedBefore}@${acct} ${after}`;
|
||||||
|
|
||||||
// キャレットを戻す
|
// キャレットを戻す
|
||||||
this.vm.$nextTick(() => {
|
this.vm.$nextTick(() => {
|
||||||
|
@ -207,7 +207,7 @@ class Autocomplete {
|
||||||
const after = source.substr(caret);
|
const after = source.substr(caret);
|
||||||
|
|
||||||
// 挿入
|
// 挿入
|
||||||
this.text = trimmedBefore + '#' + value + ' ' + after;
|
this.text = `${trimmedBefore}#${value} ${after}`;
|
||||||
|
|
||||||
// キャレットを戻す
|
// キャレットを戻す
|
||||||
this.vm.$nextTick(() => {
|
this.vm.$nextTick(() => {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
Vue.filter('notePage', note => {
|
Vue.filter('notePage', note => {
|
||||||
return '/notes/' + note.id;
|
return `/notes/${note.id}`;
|
||||||
});
|
});
|
||||||
|
|
|
@ -11,5 +11,5 @@ Vue.filter('userName', user => {
|
||||||
});
|
});
|
||||||
|
|
||||||
Vue.filter('userPage', (user, path?) => {
|
Vue.filter('userPage', (user, path?) => {
|
||||||
return '/@' + Vue.filter('acct')(user) + (path ? '/' + path : '');
|
return `/@${Vue.filter('acct')(user)}${(path ? `/${path}` : '')}`;
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="syxhndwprovvuqhmyvveewmbqayniwkv" v-if="!fetching" :data-darkmode="$store.state.device.darkmode">
|
<div class="syxhndwprovvuqhmyvveewmbqayniwkv" v-if="!fetching" :data-darkmode="$store.state.device.darkmode">
|
||||||
<div class="signed-in-as" v-html="'%i18n:@signed-in-as%'.replace('{}', '<b>' + myName + '</b>')"></div>
|
<div class="signed-in-as" v-html="'%i18n:@signed-in-as%'.replace('{}', `<b>${myName}`)"></div>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<div class="banner" :style="bannerStyle"></div>
|
<div class="banner" :style="bannerStyle"></div>
|
||||||
|
|
|
@ -163,7 +163,7 @@ export default Vue.extend({
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
alert('%i18n:@unhandled-error% ' + err);
|
alert(`%i18n:@unhandled-error% ${err}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -323,7 +323,7 @@ export default Vue.extend({
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
alert('%i18n:@unhandled-error% ' + err);
|
alert(`%i18n:@unhandled-error% ${err}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ export default Vue.extend({
|
||||||
folder: folder
|
folder: folder
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
window.open(url + '/i/drive/folder/' + folder.id,
|
window.open(`${url}/i/drive/folder/${folder.id}`,
|
||||||
'drive_window',
|
'drive_window',
|
||||||
'height=500, width=800');
|
'height=500, width=800');
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default Vue.extend({
|
||||||
const mouseY = e.clientY - rect.top;
|
const mouseY = e.clientY - rect.top;
|
||||||
const xp = mouseX / this.$el.offsetWidth * 100;
|
const xp = mouseX / this.$el.offsetWidth * 100;
|
||||||
const yp = mouseY / this.$el.offsetHeight * 100;
|
const yp = mouseY / this.$el.offsetHeight * 100;
|
||||||
this.$el.style.backgroundPosition = xp + '% ' + yp + '%';
|
this.$el.style.backgroundPosition = `${xp}% ${yp}%';
|
||||||
this.$el.style.backgroundImage = `url("${this.image.url}")`;
|
this.$el.style.backgroundImage = `url("${this.image.url}")`;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -110,9 +110,9 @@ export default Vue.extend({
|
||||||
computed: {
|
computed: {
|
||||||
draftId(): string {
|
draftId(): string {
|
||||||
return this.renote
|
return this.renote
|
||||||
? 'renote:' + this.renote.id
|
? `renote:${this.renote.id}`
|
||||||
: this.reply
|
: this.reply
|
||||||
? 'reply:' + this.reply.id
|
? `reply:${this.reply.id}`
|
||||||
: 'note';
|
: 'note';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ export default Vue.extend({
|
||||||
this.geo = pos.coords;
|
this.geo = pos.coords;
|
||||||
this.$emit('geo-attached', this.geo);
|
this.$emit('geo-attached', this.geo);
|
||||||
}, err => {
|
}, err => {
|
||||||
alert('%i18n:@error%: ' + err.message);
|
alert(`%i18n:@error%: ${err.message}`);
|
||||||
}, {
|
}, {
|
||||||
enableHighAccuracy: true
|
enableHighAccuracy: true
|
||||||
});
|
});
|
||||||
|
|
|
@ -31,7 +31,7 @@ export default Vue.extend({
|
||||||
const title = folder.name + ' | %i18n:@title%';
|
const title = folder.name + ' | %i18n:@title%';
|
||||||
|
|
||||||
// Rewrite URL
|
// Rewrite URL
|
||||||
history.pushState(null, title, '/i/drive/folder/' + folder.id);
|
history.pushState(null, title, `/i/drive/folder/${folder.id}`);
|
||||||
|
|
||||||
document.title = title;
|
document.title = title;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,10 +16,10 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
nav(game, actualNav) {
|
nav(game, actualNav) {
|
||||||
if (actualNav) {
|
if (actualNav) {
|
||||||
this.$router.push('/reversi/' + game.id);
|
this.$router.push(`/reversi/${game.id}`);
|
||||||
} else {
|
} else {
|
||||||
// TODO: https://github.com/vuejs/vue-router/issues/703
|
// TODO: https://github.com/vuejs/vue-router/issues/703
|
||||||
this.$router.push('/reversi/' + game.id);
|
this.$router.push(`/reversi/${game.id}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ export default Vue.extend({
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
document.title = 'メッセージ: ' + getUserName(this.user);
|
document.title = `メッセージ: ${getUserName(this.user)}`;
|
||||||
|
|
||||||
Progress.done();
|
Progress.done();
|
||||||
});
|
});
|
||||||
|
|
|
@ -105,9 +105,9 @@ export default Vue.extend({
|
||||||
computed: {
|
computed: {
|
||||||
draftId(): string {
|
draftId(): string {
|
||||||
return this.renote
|
return this.renote
|
||||||
? 'renote:' + this.renote.id
|
? `renote:${this.renote.id}`
|
||||||
: this.reply
|
: this.reply
|
||||||
? 'reply:' + this.reply.id
|
? `reply:${this.reply.id}`
|
||||||
: 'note';
|
: 'note';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ export default Vue.extend({
|
||||||
navigator.geolocation.getCurrentPosition(pos => {
|
navigator.geolocation.getCurrentPosition(pos => {
|
||||||
this.geo = pos.coords;
|
this.geo = pos.coords;
|
||||||
}, err => {
|
}, err => {
|
||||||
alert('%i18n:@error%: ' + err.message);
|
alert(`%i18n:@error%: ${err.message}`);
|
||||||
}, {
|
}, {
|
||||||
enableHighAccuracy: true
|
enableHighAccuracy: true
|
||||||
});
|
});
|
||||||
|
|
|
@ -82,7 +82,7 @@ export default Vue.extend({
|
||||||
search() {
|
search() {
|
||||||
const query = window.prompt('%i18n:@search%');
|
const query = window.prompt('%i18n:@search%');
|
||||||
if (query == null || query == '') return;
|
if (query == null || query == '') return;
|
||||||
this.$router.push('/search?q=' + encodeURIComponent(query));
|
this.$router.push(`/search?q=${encodeURIComponent(query)}`);
|
||||||
},
|
},
|
||||||
onReversiInvited() {
|
onReversiInvited() {
|
||||||
this.hasGameInvitation = true;
|
this.hasGameInvitation = true;
|
||||||
|
|
|
@ -80,7 +80,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
if (!silent) {
|
if (!silent) {
|
||||||
// Rewrite URL
|
// Rewrite URL
|
||||||
history.pushState(null, title, '/i/drive/folder/' + folder.id);
|
history.pushState(null, title, `/i/drive/folder/${folder.id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
document.title = title;
|
document.title = title;
|
||||||
|
@ -93,7 +93,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
if (!silent) {
|
if (!silent) {
|
||||||
// Rewrite URL
|
// Rewrite URL
|
||||||
history.pushState(null, title, '/i/drive/file/' + file.id);
|
history.pushState(null, title, `/i/drive/file/${file.id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
document.title = title;
|
document.title = title;
|
||||||
|
|
|
@ -49,7 +49,7 @@ export default Vue.extend({
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + (this as any).os.instanceName;
|
document.title = `${'%i18n:@followers-of%'.replace('{}', this.name)} | ${(this as any).os.instanceName}`;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onLoaded() {
|
onLoaded() {
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default Vue.extend({
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + (this as any).os.instanceName;
|
document.title = `${'%i18n:@followers-of%'.replace('{}', this.name)} | ${(this as any).os.instanceName}`;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onLoaded() {
|
onLoaded() {
|
||||||
|
|
|
@ -16,10 +16,10 @@ export default Vue.extend({
|
||||||
methods: {
|
methods: {
|
||||||
nav(game, actualNav) {
|
nav(game, actualNav) {
|
||||||
if (actualNav) {
|
if (actualNav) {
|
||||||
this.$router.push('/reversi/' + game.id);
|
this.$router.push(`/reversi/${game.id}`);
|
||||||
} else {
|
} else {
|
||||||
// TODO: https://github.com/vuejs/vue-router/issues/703
|
// TODO: https://github.com/vuejs/vue-router/issues/703
|
||||||
this.$router.push('/reversi/' + game.id);
|
this.$router.push(`/reversi/${game.id}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<mk-ui>
|
<mk-ui>
|
||||||
<span slot="header">%fa:cog%%i18n:@settings%</span>
|
<span slot="header">%fa:cog%%i18n:@settings%</span>
|
||||||
<main :data-darkmode="$store.state.device.darkmode">
|
<main :data-darkmode="$store.state.device.darkmode">
|
||||||
<div class="signin-as" v-html="'%i18n:@signed-in-as%'.replace('{}', '<b>' + name + '</b>')"></div>
|
<div class="signin-as" v-html="'%i18n:@signed-in-as%'.replace('{}', `<b>${name}</b>`)"></div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-profile/>
|
<x-profile/>
|
||||||
|
|
|
@ -43,7 +43,7 @@ export default Vue.extend({
|
||||||
title
|
title
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$router.push('/i/lists/' + list.id);
|
this.$router.push(`/i/lists/${list.id}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ export default Vue.extend({
|
||||||
this.fetching = false;
|
this.fetching = false;
|
||||||
|
|
||||||
Progress.done();
|
Progress.done();
|
||||||
document.title = Vue.filter('userName')(this.user) + ' | ' + (this as any).os.instanceName;
|
document.title = `${Vue.filter('userName')(this.user)} | ${(this as any).os.instanceName}`;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
ev.on('requestNotesStatsLog', id => {
|
ev.on('requestNotesStatsLog', id => {
|
||||||
ev.emit('notesStatsLog:' + id, log.toArray());
|
ev.emit(`notesStatsLog:${id}`, log.toArray());
|
||||||
});
|
});
|
||||||
|
|
||||||
process.on('exit', code => {
|
process.on('exit', code => {
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default function() {
|
||||||
const log = new Deque<any>();
|
const log = new Deque<any>();
|
||||||
|
|
||||||
ev.on('requestServerStatsLog', x => {
|
ev.on('requestServerStatsLog', x => {
|
||||||
ev.emit('serverStatsLog:' + x.id, log.toArray().slice(0, x.length || 50));
|
ev.emit(`serverStatsLog:${x.id}`, log.toArray().slice(0, x.length || 50));
|
||||||
});
|
});
|
||||||
|
|
||||||
async function tick() {
|
async function tick() {
|
||||||
|
|
|
@ -45,7 +45,7 @@ export default function(html: string): string {
|
||||||
|
|
||||||
if (part.length == 2) {
|
if (part.length == 2) {
|
||||||
//#region ホスト名部分が省略されているので復元する
|
//#region ホスト名部分が省略されているので復元する
|
||||||
const acct = txt + '@' + (new URL(href.value)).hostname;
|
const acct = `${txt}@${(new URL(href.value)).hostname}`;
|
||||||
text += acct;
|
text += acct;
|
||||||
break;
|
break;
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
|
@ -44,8 +44,8 @@ const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers:
|
||||||
|
|
||||||
hashtag({ document }, { hashtag }) {
|
hashtag({ document }, { hashtag }) {
|
||||||
const a = document.createElement('a');
|
const a = document.createElement('a');
|
||||||
a.href = config.url + '/tags/' + hashtag;
|
a.href = `${config.url}/tags/${hashtag}`;
|
||||||
a.textContent = '#' + hashtag;
|
a.textContent = `#${hashtag}`;
|
||||||
a.setAttribute('rel', 'tag');
|
a.setAttribute('rel', 'tag');
|
||||||
document.body.appendChild(a);
|
document.body.appendChild(a);
|
||||||
},
|
},
|
||||||
|
|
|
@ -26,7 +26,7 @@ export const replacement = (match: string, key: string) => {
|
||||||
arg == 'B' ? 'fab' :
|
arg == 'B' ? 'fab' :
|
||||||
'';
|
'';
|
||||||
} else if (arg.startsWith('.')) {
|
} else if (arg.startsWith('.')) {
|
||||||
classes.push('fa-' + arg.substr(1));
|
classes.push(`fa-${arg.substr(1)}`);
|
||||||
} else if (arg.startsWith('-')) {
|
} else if (arg.startsWith('-')) {
|
||||||
transform = arg.substr(1).split('|').join(' ');
|
transform = arg.substr(1).split('|').join(' ');
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -3,5 +3,5 @@ import config from '../../../config';
|
||||||
export default (tag: string) => ({
|
export default (tag: string) => ({
|
||||||
type: 'Hashtag',
|
type: 'Hashtag',
|
||||||
href: `${config.url}/tags/${encodeURIComponent(tag)}`,
|
href: `${config.url}/tags/${encodeURIComponent(tag)}`,
|
||||||
name: '#' + tag
|
name: `#${tag}`
|
||||||
});
|
});
|
||||||
|
|
|
@ -22,7 +22,7 @@ const router = new Router();
|
||||||
function inbox(ctx: Router.IRouterContext) {
|
function inbox(ctx: Router.IRouterContext) {
|
||||||
let signature;
|
let signature;
|
||||||
|
|
||||||
ctx.req.headers.authorization = 'Signature ' + ctx.req.headers.signature;
|
ctx.req.headers.authorization = `Signature ${ctx.req.headers.signature}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
signature = httpSignature.parseRequest(ctx.req, { 'headers': [] });
|
signature = httpSignature.parseRequest(ctx.req, { 'headers': [] });
|
||||||
|
|
|
@ -79,7 +79,7 @@ const files = glob.sync('**/*.js', {
|
||||||
});
|
});
|
||||||
|
|
||||||
const endpoints: IEndpoint[] = files.map(f => {
|
const endpoints: IEndpoint[] = files.map(f => {
|
||||||
const ep = require('./endpoints/' + f);
|
const ep = require(`./endpoints/${f}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name: f.replace('.js', ''),
|
name: f.replace('.js', ''),
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default function(request: websocket.request, connection: websocket.connec
|
||||||
|
|
||||||
switch (msg.type) {
|
switch (msg.type) {
|
||||||
case 'requestLog':
|
case 'requestLog':
|
||||||
ev.once('notesStatsLog:' + msg.id, statsLog => {
|
ev.once(`notesStatsLog:${msg.id}`, statsLog => {
|
||||||
connection.send(JSON.stringify({
|
connection.send(JSON.stringify({
|
||||||
type: 'statsLog',
|
type: 'statsLog',
|
||||||
body: statsLog
|
body: statsLog
|
||||||
|
|
|
@ -16,7 +16,7 @@ export default function(request: websocket.request, connection: websocket.connec
|
||||||
|
|
||||||
switch (msg.type) {
|
switch (msg.type) {
|
||||||
case 'requestLog':
|
case 'requestLog':
|
||||||
ev.once('serverStatsLog:' + msg.id, statsLog => {
|
ev.once(`serverStatsLog:${msg.id}`, statsLog => {
|
||||||
connection.send(JSON.stringify({
|
connection.send(JSON.stringify({
|
||||||
type: 'statsLog',
|
type: 'statsLog',
|
||||||
body: statsLog
|
body: statsLog
|
||||||
|
|
|
@ -196,7 +196,7 @@ router.get('/*/api/entities/*', async ctx => {
|
||||||
const lang = ctx.params[0];
|
const lang = ctx.params[0];
|
||||||
const entity = ctx.params[1];
|
const entity = ctx.params[1];
|
||||||
|
|
||||||
const x = yaml.safeLoad(fs.readFileSync(path.resolve(__dirname + '/../../../src/docs/api/entities/' + entity + '.yaml'), 'utf-8')) as any;
|
const x = yaml.safeLoad(fs.readFileSync(path.resolve(`${__dirname}/../../../src/docs/api/entities/${entity}.yaml`), 'utf-8')) as any;
|
||||||
|
|
||||||
await ctx.render('../../../../src/docs/api/entities/view', Object.assign(await genVars(lang), {
|
await ctx.render('../../../../src/docs/api/entities/view', Object.assign(await genVars(lang), {
|
||||||
id: `api/entities/${entity}`,
|
id: `api/entities/${entity}`,
|
||||||
|
|
|
@ -2,7 +2,7 @@ extends ../../../../src/client/app/base
|
||||||
|
|
||||||
block vars
|
block vars
|
||||||
- const title = user.name ? `${user.name} (@${user.username})` : `@${user.username}`;
|
- const title = user.name ? `${user.name} (@${user.username})` : `@${user.username}`;
|
||||||
- const url = config.url + '/@' + (user.host ? `${user.username}@${user.host}` : user.username);
|
- const url = `${config.url}/@${(user.host ? `${user.username}@${user.host}` : user.username)}`;
|
||||||
- const img = user.avatarId ? `${config.drive_url}/${user.avatarId}` : null;
|
- const img = user.avatarId ? `${config.drive_url}/${user.avatarId}` : null;
|
||||||
|
|
||||||
block title
|
block title
|
||||||
|
|
|
@ -40,7 +40,7 @@ async function save(path: string, name: string, type: string, hash: string, size
|
||||||
const thumbnailKey = `${config.drive.prefix}/${uuid.v4()}/${name}.thumbnail.jpg`;
|
const thumbnailKey = `${config.drive.prefix}/${uuid.v4()}/${name}.thumbnail.jpg`;
|
||||||
|
|
||||||
const baseUrl = config.drive.baseUrl
|
const baseUrl = config.drive.baseUrl
|
||||||
|| `${ config.drive.config.useSSL ? 'https' : 'http' }://${ config.drive.config.endPoint }${ config.drive.config.port ? ':' + config.drive.config.port : '' }/${ config.drive.bucket }`;
|
|| `${ config.drive.config.useSSL ? 'https' : 'http' }://${ config.drive.config.endPoint }${ config.drive.config.port ? `:${config.drive.config.port}` : '' }/${ config.drive.bucket }`;
|
||||||
|
|
||||||
await minio.putObject(config.drive.bucket, key, fs.createReadStream(path), size, {
|
await minio.putObject(config.drive.bucket, key, fs.createReadStream(path), size, {
|
||||||
'Content-Type': type,
|
'Content-Type': type,
|
||||||
|
|
|
@ -20,7 +20,7 @@ const constants = require('./src/const.json');
|
||||||
|
|
||||||
const locales = require('./locales');
|
const locales = require('./locales');
|
||||||
const meta = require('./package.json');
|
const meta = require('./package.json');
|
||||||
const version = meta.clientVersion + '-' + rndstr({ length: 8, chars: '0-9a-z' });
|
const version = `${meta.clientVersion}-${rndstr({ length: 8, chars: '0-9a-z' })}`;
|
||||||
const codename = meta.codename;
|
const codename = meta.codename;
|
||||||
|
|
||||||
declare var global: {
|
declare var global: {
|
||||||
|
@ -42,7 +42,7 @@ global['collapseSpacesReplacement'] = (html: string) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
global['base64replacement'] = (_: any, key: string) => {
|
global['base64replacement'] = (_: any, key: string) => {
|
||||||
return fs.readFileSync(__dirname + '/src/client/' + key, 'base64');
|
return fs.readFileSync(`${__dirname}/src/client/${key}`, 'base64');
|
||||||
};
|
};
|
||||||
|
|
||||||
global['i18nReplacement'] = i18nReplacement;
|
global['i18nReplacement'] = i18nReplacement;
|
||||||
|
|
Loading…
Reference in a new issue