forked from cory/tildefriends
		
	Variety of minor fixes I've been running with. SSB web interface changes. calloc overallocation fix. Use sqlAsync. Probably some other things.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4195 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -15,7 +15,7 @@ async function following(db, id) {
 | 
			
		||||
		f = {users: [], sequence: 0, version: k_version};
 | 
			
		||||
	}
 | 
			
		||||
	f.users = new Set(f.users);
 | 
			
		||||
	await ssb.sqlStream(
 | 
			
		||||
	await ssb.sqlAsync(
 | 
			
		||||
		"SELECT "+
 | 
			
		||||
		"  sequence, "+
 | 
			
		||||
		"  json_extract(content, '$.contact') AS contact, "+
 | 
			
		||||
@@ -73,7 +73,7 @@ async function getAbout(db, id) {
 | 
			
		||||
	if (!f || f.version != k_version) {
 | 
			
		||||
		f = {about: {}, sequence: 0, version: k_version};
 | 
			
		||||
	}
 | 
			
		||||
	await ssb.sqlStream(
 | 
			
		||||
	await ssb.sqlAsync(
 | 
			
		||||
		"SELECT "+
 | 
			
		||||
		"  sequence, "+
 | 
			
		||||
		"  content "+
 | 
			
		||||
@@ -109,7 +109,7 @@ async function getAbout(db, id) {
 | 
			
		||||
 | 
			
		||||
async function getSize(db, id) {
 | 
			
		||||
	let size = 0;
 | 
			
		||||
	await ssb.sqlStream(
 | 
			
		||||
	await ssb.sqlAsync(
 | 
			
		||||
		"SELECT (SUM(LENGTH(content)) + SUM(LENGTH(author)) + SUM(LENGTH(id))) AS size FROM messages WHERE author = ?1",
 | 
			
		||||
		[id],
 | 
			
		||||
		function (row) {
 | 
			
		||||
 
 | 
			
		||||
@@ -133,7 +133,11 @@ class TfElement extends LitElement {
 | 
			
		||||
		`, []))[0].max_row_id;
 | 
			
		||||
		let result = await this.following_deep_internal(ids, depth, blocking, cache.last_row_id, cache.following, max_row_id);
 | 
			
		||||
		cache.last_row_id = max_row_id;
 | 
			
		||||
		await tfrpc.rpc.databaseSet('following', JSON.stringify(cache));
 | 
			
		||||
		let store = JSON.stringify(cache);
 | 
			
		||||
		/* 2023-02-20: Exceeding message size. */
 | 
			
		||||
		if (store.length < 512 * 1024) {
 | 
			
		||||
			await tfrpc.rpc.databaseSet('following', store);
 | 
			
		||||
		}
 | 
			
		||||
		return [result, cache.following];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -400,6 +400,11 @@ class TfMessageElement extends LitElement {
 | 
			
		||||
				`;
 | 
			
		||||
			} else if (content.type === 'pub') {
 | 
			
		||||
				return small_frame(html`
 | 
			
		||||
				<style>
 | 
			
		||||
					span {
 | 
			
		||||
						overflow-wrap: anywhere;
 | 
			
		||||
					}
 | 
			
		||||
				</style>
 | 
			
		||||
				<span>
 | 
			
		||||
					<div>
 | 
			
		||||
						🍻 <tf-user .users=${this.users} id=${content.address.key}></tf-user>
 | 
			
		||||
 
 | 
			
		||||
@@ -145,7 +145,7 @@ class TfNewsElement extends LitElement {
 | 
			
		||||
		return recursive_sort(roots, true);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	async load_and_render(messages) {
 | 
			
		||||
	load_and_render(messages) {
 | 
			
		||||
		let messages_by_id = this.process_messages(messages);
 | 
			
		||||
		let final_messages = this.finalize_messages(messages_by_id);
 | 
			
		||||
		return html`
 | 
			
		||||
@@ -156,8 +156,7 @@ class TfNewsElement extends LitElement {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	render() {
 | 
			
		||||
		let messages = this.load_and_render(this.messages || []);
 | 
			
		||||
		return html`${until(messages, html`<div>Loading placeholders...</div>`)}`;
 | 
			
		||||
		return this.load_and_render(this.messages || []);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -704,7 +704,7 @@ async function blobHandler(request, response, blobId, uri) {
 | 
			
		||||
				} catch {
 | 
			
		||||
				}
 | 
			
		||||
				if (apps.delete(appName)) {
 | 
			
		||||
					database.set('apps', JSON.stringify([...apps]));
 | 
			
		||||
					database.set('apps', JSON.stringify([...apps].sort()));
 | 
			
		||||
				}
 | 
			
		||||
				database.remove('path:' + appName);
 | 
			
		||||
			} else {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user