summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-26 23:53:22 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-26 23:53:22 +0900
commitd29459fa3781043c4e484c876966dbae5c98a538 (patch)
treeca44dd409c3883e229c129f524ad94bb067ff1c1 /src
parentFix bug (diff)
downloadmisskey-d29459fa3781043c4e484c876966dbae5c98a538.tar.gz
misskey-d29459fa3781043c4e484c876966dbae5c98a538.tar.bz2
misskey-d29459fa3781043c4e484c876966dbae5c98a538.zip
Fix bug
Diffstat (limited to 'src')
-rw-r--r--src/client/app/desktop/views/components/timeline.core.vue8
-rw-r--r--src/client/app/desktop/views/components/user-list-timeline.vue8
-rw-r--r--src/client/app/desktop/views/pages/user/user.timeline.vue17
-rw-r--r--src/client/app/mobile/views/components/user-list-timeline.vue8
-rw-r--r--src/client/app/mobile/views/components/user-timeline.vue9
-rw-r--r--src/client/app/mobile/views/pages/home.timeline.vue8
6 files changed, 46 insertions, 12 deletions
diff --git a/src/client/app/desktop/views/components/timeline.core.vue b/src/client/app/desktop/views/components/timeline.core.vue
index 254a5b9d63..3c7e87aea1 100644
--- a/src/client/app/desktop/views/components/timeline.core.vue
+++ b/src/client/app/desktop/views/components/timeline.core.vue
@@ -120,12 +120,14 @@ export default Vue.extend({
this.moreFetching = true;
- (this as any).api(this.endpoint, {
+ const promise = (this as any).api(this.endpoint, {
limit: fetchLimit + 1,
untilId: (this.$refs.timeline as any).tail().id,
includeMyRenotes: (this as any).clientSettings.showMyRenotes,
includeRenotedMyNotes: (this as any).clientSettings.showRenotedMyNotes
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -134,6 +136,8 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
},
onNote(note) {
diff --git a/src/client/app/desktop/views/components/user-list-timeline.vue b/src/client/app/desktop/views/components/user-list-timeline.vue
index 59d6abbbc1..4f14da70fe 100644
--- a/src/client/app/desktop/views/components/user-list-timeline.vue
+++ b/src/client/app/desktop/views/components/user-list-timeline.vue
@@ -62,13 +62,15 @@ export default Vue.extend({
more() {
this.moreFetching = true;
- (this as any).api('notes/user-list-timeline', {
+ const promise = (this as any).api('notes/user-list-timeline', {
listId: this.list.id,
limit: fetchLimit + 1,
untilId: (this.$refs.timeline as any).tail().id,
includeMyRenotes: (this as any).clientSettings.showMyRenotes,
includeRenotedMyNotes: (this as any).clientSettings.showRenotedMyNotes
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -77,6 +79,8 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
},
onNote(note) {
// Prepend a note
diff --git a/src/client/app/desktop/views/pages/user/user.timeline.vue b/src/client/app/desktop/views/pages/user/user.timeline.vue
index 576a285104..812b5b4229 100644
--- a/src/client/app/desktop/views/pages/user/user.timeline.vue
+++ b/src/client/app/desktop/views/pages/user/user.timeline.vue
@@ -21,6 +21,7 @@ const fetchLimit = 10;
export default Vue.extend({
props: ['user'],
+
data() {
return {
fetching: true,
@@ -31,19 +32,23 @@ export default Vue.extend({
date: null
};
},
+
watch: {
mode() {
this.fetch();
}
},
+
mounted() {
document.addEventListener('keydown', this.onDocumentKeydown);
this.fetch(() => this.$emit('loaded'));
},
+
beforeDestroy() {
document.removeEventListener('keydown', this.onDocumentKeydown);
},
+
methods: {
onDocumentKeydown(e) {
if (e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA') {
@@ -52,6 +57,7 @@ export default Vue.extend({
}
}
},
+
fetch(cb?) {
this.fetching = true;
(this.$refs.timeline as any).init(() => new Promise((res, rej) => {
@@ -72,15 +78,19 @@ export default Vue.extend({
}, rej);
}));
},
+
more() {
this.moreFetching = true;
- (this as any).api('users/notes', {
+
+ const promise = (this as any).api('users/notes', {
userId: this.user.id,
limit: fetchLimit + 1,
includeReplies: this.mode == 'with-replies',
withMedia: this.mode == 'with-media',
untilId: (this.$refs.timeline as any).tail().id
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -89,7 +99,10 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
},
+
warp(date) {
this.date = date;
this.fetch();
diff --git a/src/client/app/mobile/views/components/user-list-timeline.vue b/src/client/app/mobile/views/components/user-list-timeline.vue
index c0ba995b68..629151302c 100644
--- a/src/client/app/mobile/views/components/user-list-timeline.vue
+++ b/src/client/app/mobile/views/components/user-list-timeline.vue
@@ -77,13 +77,15 @@ export default Vue.extend({
this.moreFetching = true;
- (this as any).api('notes/user-list-timeline', {
+ const promise = (this as any).api('notes/user-list-timeline', {
listId: this.list.id,
limit: fetchLimit + 1,
untilId: (this.$refs.timeline as any).tail().id,
includeMyRenotes: (this as any).clientSettings.showMyRenotes,
includeRenotedMyNotes: (this as any).clientSettings.showRenotedMyNotes
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -92,6 +94,8 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
},
onNote(note) {
diff --git a/src/client/app/mobile/views/components/user-timeline.vue b/src/client/app/mobile/views/components/user-timeline.vue
index aca6f783b8..6be675c0a7 100644
--- a/src/client/app/mobile/views/components/user-timeline.vue
+++ b/src/client/app/mobile/views/components/user-timeline.vue
@@ -59,12 +59,15 @@ export default Vue.extend({
if (!this.canFetchMore) return;
this.moreFetching = true;
- (this as any).api('users/notes', {
+
+ const promise = (this as any).api('users/notes', {
userId: this.user.id,
withMedia: this.withMedia,
limit: fetchLimit + 1,
untilId: (this.$refs.timeline as any).tail().id
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -73,6 +76,8 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
}
}
});
diff --git a/src/client/app/mobile/views/pages/home.timeline.vue b/src/client/app/mobile/views/pages/home.timeline.vue
index 4c1c344db1..9ebce53de7 100644
--- a/src/client/app/mobile/views/pages/home.timeline.vue
+++ b/src/client/app/mobile/views/pages/home.timeline.vue
@@ -111,12 +111,14 @@ export default Vue.extend({
this.moreFetching = true;
- (this as any).api(this.endpoint, {
+ const promise = (this as any).api(this.endpoint, {
limit: fetchLimit + 1,
untilId: (this.$refs.timeline as any).tail().id,
includeMyRenotes: (this as any).clientSettings.showMyRenotes,
includeRenotedMyNotes: (this as any).clientSettings.showRenotedMyNotes
- }).then(notes => {
+ });
+
+ promise.then(notes => {
if (notes.length == fetchLimit + 1) {
notes.pop();
} else {
@@ -125,6 +127,8 @@ export default Vue.extend({
notes.forEach(n => (this.$refs.timeline as any).append(n));
this.moreFetching = false;
});
+
+ return promise;
},
onNote(note) {