Compare commits
	
		
			3 Commits
		
	
	
		
			8178213f1a
			...
			0d597721bf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0d597721bf | |||
| 003e0caada | |||
| 053637cfb4 | 
| @@ -1,5 +1,5 @@ | ||||
| { | ||||
| 	"type": "tildefriends-app", | ||||
| 	"emoji": "🦀", | ||||
| 	"previous": "&caGw+RHTGO/WBWQDiRRv/9/SDZPS3w8U4xNafZEQrYw=.sha256" | ||||
| 	"previous": "&N69/NfCoe/HmdG5Hl/ulq/CDYLhDYzi50jbg2h3VPuc=.sha256" | ||||
| } | ||||
|   | ||||
| @@ -573,7 +573,7 @@ class TfElement extends LitElement { | ||||
| 				style="position: static; top: 0; z-index: 10" | ||||
| 			> | ||||
| 				<button | ||||
| 					class="w3-bar-item w3-button w3-circle w3-ripple" | ||||
| 					class=${'w3-bar-item w3-button w3-circle w3-ripple' + (this.connections?.some(x => x.flags.one_shot) ? ' w3-spin' : '')} | ||||
| 					@click=${this.refresh} | ||||
| 				> | ||||
| 					↻ | ||||
|   | ||||
| @@ -274,6 +274,11 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		return result; | ||||
| 	} | ||||
|  | ||||
| 	merge_messages(old_messages, new_messages) { | ||||
| 		let old_by_id = Object.fromEntries(old_messages.map(x => [x.id, x])); | ||||
| 		return new_messages.map(x => old_by_id[x.id] ? old_by_id[x.id] : x); | ||||
| 	} | ||||
|  | ||||
| 	async load_latest() { | ||||
| 		this.loading++; | ||||
| 		let now = new Date().valueOf(); | ||||
| @@ -293,14 +298,14 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		} finally { | ||||
| 			this.loading--; | ||||
| 		} | ||||
| 		this.messages = Object.values( | ||||
| 		this.messages = this.merge_messages(this.messages, Object.values( | ||||
| 			Object.fromEntries( | ||||
| 				[...this.messages, ...messages] | ||||
| 					.sort((x, y) => x.timestamp - y.timestamp) | ||||
| 					.slice(-1024) | ||||
| 					.map((x) => [x.id, x]) | ||||
| 			) | ||||
| 		); | ||||
| 		)); | ||||
| 		console.log('done loading latest messages.'); | ||||
| 	} | ||||
|  | ||||
| @@ -309,8 +314,10 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		this.loading++; | ||||
| 		let messages = []; | ||||
| 		try { | ||||
| 			if (this._messages_hash !== this.hash) { | ||||
| 				this.messages = []; | ||||
| 				this._messages_hash = this.hash; | ||||
| 			} | ||||
| 			this._messages_following = this.following; | ||||
| 			let now = new Date().valueOf(); | ||||
| 			let start_time = now - 24 * 60 * 60 * 1000; | ||||
| @@ -345,7 +352,7 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		} finally { | ||||
| 			this.loading--; | ||||
| 		} | ||||
| 		this.messages = messages; | ||||
| 		this.messages = this.merge_messages(this.messages, messages); | ||||
| 		this.time_loading = undefined; | ||||
| 		console.log(`loading messages done for ${self.whoami}`); | ||||
| 	} | ||||
|   | ||||
| @@ -20,7 +20,7 @@ class TfUserElement extends LitElement { | ||||
|  | ||||
| 	render() { | ||||
| 		let user = this.users[this.id]; | ||||
| 		let shape = user && user.follow_depth >= 2 ? 'w3-circle' : 'w3-round'; | ||||
| 		let shape = !user || user.follow_depth >= 2 ? 'w3-circle' : 'w3-round'; | ||||
| 		let image = html`<span | ||||
| 			class=${'w3-theme-l4 ' + shape} | ||||
| 			style="display: inline-block; width: 2em; height: 2em; text-align: center; line-height: 2em" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user