Merge branch 'develop'
This commit is contained in:
commit
d67d163c78
|
@ -54,6 +54,15 @@ mongodb:
|
||||||
8. master ブランチに戻す
|
8. master ブランチに戻す
|
||||||
9. enjoy
|
9. enjoy
|
||||||
|
|
||||||
|
11.18.1 (2019/05/21)
|
||||||
|
--------------------
|
||||||
|
### 🐛Fixes
|
||||||
|
* 11.18.0からフォロー/フォロワーのもっと読み込む機能が作動していない問題を修正
|
||||||
|
* iOSで投稿フォームに自動フォーカスしない問題を修正
|
||||||
|
* ダークモードでグループ名がみにくい問題を修正
|
||||||
|
* ハッシュタグタイムラインを読み込んだ時にプログレスバーが残り続ける問題を修正
|
||||||
|
* ユーザビリティの修正
|
||||||
|
|
||||||
11.18.0 (2019/05/21)
|
11.18.0 (2019/05/21)
|
||||||
--------------------
|
--------------------
|
||||||
### ✨Improvements
|
### ✨Improvements
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <i@syuilo.com>",
|
"author": "syuilo <i@syuilo.com>",
|
||||||
"version": "11.18.0",
|
"version": "11.18.1",
|
||||||
"codename": "daybreak",
|
"codename": "daybreak",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<mk-follow-button class="follow-button" v-if="$store.getters.isSignedIn && user.id != $store.state.i.id" :user="user" mini/>
|
<mk-follow-button class="follow-button" v-if="$store.getters.isSignedIn && user.id != $store.state.i.id" :user="user" mini/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="more" :class="{ fetching: moreFetching }" v-if="more" @click="fetchMoreUsers()" :disabled="moreFetching">
|
<button class="more" :class="{ fetching: moreFetching }" v-if="more" @click="fetchMore()" :disabled="moreFetching">
|
||||||
<template v-if="moreFetching"><fa icon="spinner" pulse fixed-width/></template>{{ moreFetching ? $t('@.loading') : $t('@.load-more') }}
|
<template v-if="moreFetching"><fa icon="spinner" pulse fixed-width/></template>{{ moreFetching ? $t('@.loading') : $t('@.load-more') }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<div class="hwgkdrbl" v-for="(group, i) in joinedGroups" :key="group.id">
|
<div class="hwgkdrbl" v-for="(group, i) in joinedGroups" :key="group.id">
|
||||||
<ui-hr v-if="i != 0"/>
|
<ui-hr v-if="i != 0"/>
|
||||||
<ui-margin>
|
<ui-margin>
|
||||||
<div>{{ group.name }}</div>
|
<div style="color:var(--text);">{{ group.name }}</div>
|
||||||
<x-avatars :user-ids="group.userIds" style="margin-top:8px;"/>
|
<x-avatars :user-ids="group.userIds" style="margin-top:8px;"/>
|
||||||
</ui-margin>
|
</ui-margin>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<div class="fvlojuur" v-for="(invite, i) in invites" :key="invite.id">
|
<div class="fvlojuur" v-for="(invite, i) in invites" :key="invite.id">
|
||||||
<ui-hr v-if="i != 0"/>
|
<ui-hr v-if="i != 0"/>
|
||||||
<ui-margin>
|
<ui-margin>
|
||||||
<div class="name">{{ invite.group.name }}</div>
|
<div class="name" style="color:var(--text);">{{ invite.group.name }}</div>
|
||||||
<x-avatars :user-ids="invite.group.userIds" style="margin-top:8px;"/>
|
<x-avatars :user-ids="invite.group.userIds" style="margin-top:8px;"/>
|
||||||
<ui-horizon-group>
|
<ui-horizon-group>
|
||||||
<ui-button @click="acceptInvite(invite)"><fa :icon="faCheck"/> {{ $t('accept-invite') }}</ui-button>
|
<ui-button @click="acceptInvite(invite)"><fa :icon="faCheck"/> {{ $t('accept-invite') }}</ui-button>
|
||||||
|
|
|
@ -73,6 +73,10 @@ export default Vue.extend({
|
||||||
sound.play();
|
sound.play();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onInited: (self) => {
|
||||||
|
self.$emit('loaded');
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default Vue.extend({
|
||||||
easing: 'easeInElastic',
|
easing: 'easeInElastic',
|
||||||
complete: () => this.destroyDom()
|
complete: () => this.destroyDom()
|
||||||
});
|
});
|
||||||
}, 6000);
|
}, 5000);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -52,6 +52,7 @@ export default Vue.extend({
|
||||||
box-shadow 0 2px 4px var(--desktopNotificationShadow)
|
box-shadow 0 2px 4px var(--desktopNotificationShadow)
|
||||||
transform translateY(-64px)
|
transform translateY(-64px)
|
||||||
opacity 0
|
opacity 0
|
||||||
|
pointer-events none
|
||||||
|
|
||||||
> p
|
> p
|
||||||
margin 0
|
margin 0
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<mk-notes ref="timeline" :pagination="pagination" @inited="inited">
|
<mk-notes ref="timeline" :pagination="pagination" @loaded="inited">
|
||||||
<template #header>
|
<template #header>
|
||||||
<header class="wqraeznr">
|
<header class="wqraeznr">
|
||||||
<span><fa icon="hashtag"/> {{ $route.params.tag }}</span>
|
<span><fa icon="hashtag"/> {{ $route.params.tag }}</span>
|
||||||
|
@ -35,12 +35,10 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
document.addEventListener('keydown', this.onDocumentKeydown);
|
document.addEventListener('keydown', this.onDocumentKeydown);
|
||||||
window.addEventListener('scroll', this.onScroll, { passive: true });
|
|
||||||
Progress.start();
|
Progress.start();
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
document.removeEventListener('keydown', this.onDocumentKeydown);
|
document.removeEventListener('keydown', this.onDocumentKeydown);
|
||||||
window.removeEventListener('scroll', this.onScroll);
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onDocumentKeydown(e) {
|
onDocumentKeydown(e) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ import MkShare from '../common/views/pages/share.vue';
|
||||||
import MkFollow from '../common/views/pages/follow.vue';
|
import MkFollow from '../common/views/pages/follow.vue';
|
||||||
import MkNotFound from '../common/views/pages/not-found.vue';
|
import MkNotFound from '../common/views/pages/not-found.vue';
|
||||||
import DeckColumn from '../common/views/deck/deck.column-template.vue';
|
import DeckColumn from '../common/views/deck/deck.column-template.vue';
|
||||||
|
import PostFormDialog from './views/components/post-form-dialog.vue';
|
||||||
|
|
||||||
import FileChooser from './views/components/drive-file-chooser.vue';
|
import FileChooser from './views/components/drive-file-chooser.vue';
|
||||||
import FolderChooser from './views/components/drive-folder-chooser.vue';
|
import FolderChooser from './views/components/drive-folder-chooser.vue';
|
||||||
|
@ -50,16 +51,15 @@ init((launch, os) => {
|
||||||
document.documentElement.style.overflow = 'auto';
|
document.documentElement.style.overflow = 'auto';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$root.newAsync(() => import('./views/components/post-form-dialog.vue').then(m => m.default), {
|
const vm = this.$root.new(PostFormDialog, {
|
||||||
reply: o.reply,
|
reply: o.reply,
|
||||||
mention: o.mention,
|
mention: o.mention,
|
||||||
renote: o.renote
|
renote: o.renote
|
||||||
}).then(vm => {
|
|
||||||
vm.$once('cancel', recover);
|
|
||||||
vm.$once('posted', recover);
|
|
||||||
if (o.cb) vm.$once('closed', o.cb);
|
|
||||||
(vm as any).focus();
|
|
||||||
});
|
});
|
||||||
|
vm.$once('cancel', recover);
|
||||||
|
vm.$once('posted', recover);
|
||||||
|
if (o.cb) vm.$once('closed', o.cb);
|
||||||
|
(vm as any).focus();
|
||||||
},
|
},
|
||||||
|
|
||||||
$chooseDriveFile(opts) {
|
$chooseDriveFile(opts) {
|
||||||
|
|
|
@ -59,12 +59,11 @@ import { erase, unique } from '../../../../../prelude/array';
|
||||||
import { length } from 'stringz';
|
import { length } from 'stringz';
|
||||||
import { toASCII } from 'punycode';
|
import { toASCII } from 'punycode';
|
||||||
import extractMentions from '../../../../../misc/extract-mentions';
|
import extractMentions from '../../../../../misc/extract-mentions';
|
||||||
import XPostFormAttaches from '../../../common/views/components/post-form-attaches.vue';
|
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('mobile/views/components/post-form.vue'),
|
i18n: i18n('mobile/views/components/post-form.vue'),
|
||||||
components: {
|
components: {
|
||||||
XPostFormAttaches,
|
XPostFormAttaches: () => import('../../../common/views/components/post-form-attaches.vue').then(m => m.default),
|
||||||
XPollEditor: () => import('../../../common/views/components/poll-editor.vue').then(m => m.default)
|
XPollEditor: () => import('../../../common/views/components/poll-editor.vue').then(m => m.default)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue