Fix #5896
This commit is contained in:
		
							parent
							
								
									ac5453232f
								
							
						
					
					
						commit
						7813c8a942
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		|  | @ -27,6 +27,7 @@ export default Vue.extend({ | |||
| 	data() { | ||||
| 		return { | ||||
| 			connection: null, | ||||
| 			connection2: null, | ||||
| 			pagination: null, | ||||
| 			baseQuery: { | ||||
| 				includeMyRenotes: this.$store.state.settings.showMyRenotes, | ||||
|  | @ -40,6 +41,7 @@ export default Vue.extend({ | |||
| 	created() { | ||||
| 		this.$once('hook:beforeDestroy', () => { | ||||
| 			this.connection.dispose(); | ||||
| 			if (this.connection2) this.connection2.dispose(); | ||||
| 		}); | ||||
| 
 | ||||
| 		const prepend = note => { | ||||
|  | @ -54,6 +56,12 @@ export default Vue.extend({ | |||
| 			(this.$refs.tl as any).reload(); | ||||
| 		}; | ||||
| 
 | ||||
| 		const onChangeFollowing = () => { | ||||
| 			if (!this.$refs.tl.backed) { | ||||
| 				this.$refs.tl.reload(); | ||||
| 			} | ||||
| 		}; | ||||
| 
 | ||||
| 		let endpoint; | ||||
| 
 | ||||
| 		if (this.src == 'antenna') { | ||||
|  | @ -67,13 +75,12 @@ export default Vue.extend({ | |||
| 			this.connection.on('note', prepend); | ||||
| 		} else if (this.src == 'home') { | ||||
| 			endpoint = 'notes/timeline'; | ||||
| 			const onChangeFollowing = () => { | ||||
| 				this.fetch(); | ||||
| 			}; | ||||
| 			this.connection = this.$root.stream.useSharedConnection('homeTimeline'); | ||||
| 			this.connection.on('note', prepend); | ||||
| 			this.connection.on('follow', onChangeFollowing); | ||||
| 			this.connection.on('unfollow', onChangeFollowing); | ||||
| 
 | ||||
| 			this.connection2 = this.$root.stream.useSharedConnection('main'); | ||||
| 			this.connection2.on('follow', onChangeFollowing); | ||||
| 			this.connection2.on('unfollow', onChangeFollowing); | ||||
| 		} else if (this.src == 'local') { | ||||
| 			endpoint = 'notes/local-timeline'; | ||||
| 			this.connection = this.$root.stream.useSharedConnection('localTimeline'); | ||||
|  |  | |||
|  | @ -8,7 +8,8 @@ export default (opts) => ({ | |||
| 			fetching: true, | ||||
| 			moreFetching: false, | ||||
| 			inited: false, | ||||
| 			more: false | ||||
| 			more: false, | ||||
| 			backed: false, | ||||
| 		}; | ||||
| 	}, | ||||
| 
 | ||||
|  | @ -78,6 +79,7 @@ export default (opts) => ({ | |||
| 		async fetchMore() { | ||||
| 			if (!this.more || this.moreFetching || this.items.length === 0) return; | ||||
| 			this.moreFetching = true; | ||||
| 			this.backed = true; | ||||
| 			let params = typeof this.pagination.params === 'function' ? this.pagination.params(false) : this.pagination.params; | ||||
| 			if (params && params.then) params = await params; | ||||
| 			const endpoint = typeof this.pagination.endpoint === 'function' ? this.pagination.endpoint() : this.pagination.endpoint; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue