Trying to make refresh more sensible.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3622 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		| @@ -1 +1 @@ | |||||||
| {"type":"tildefriends-app","files":{"app.js":"&WCq6ssQedT5denXPXlz2BswPD6hmt++EmWIMIDUMurA=.sha256","index.md":"&Lr7IXs8osbmWz6SDsGTQCiybbxkbWSK2MrUcXMzgqTs=.sha256","todo.md":"&/vzp5PrF93TPAuS/97fbj6+mzyNOxYFjBGQJmZYe4As=.sha256","structure.md":"&xRhQ4Mpom1Idskum07osbBQYcYWroH0sELQBkQHrOMg=.sha256","purpose.md":"&c0/YqFhXC0X3DqiEo55NqzI5wq0VTw6cVZTf/gAWS3w=.sha256","guide.md":"&SgnGL0+rjetY2o9A2+lVRbNvHIkqKwMnZr9gXWneIlc=.sha256"}} | {"type":"tildefriends-app","files":{"app.js":"&WCq6ssQedT5denXPXlz2BswPD6hmt++EmWIMIDUMurA=.sha256","index.md":"&Lr7IXs8osbmWz6SDsGTQCiybbxkbWSK2MrUcXMzgqTs=.sha256","todo.md":"&XrOJ3D5YMTN+j+0hJgLLy7Y61B6Z14ebv+60ee+N37I=.sha256","structure.md":"&xRhQ4Mpom1Idskum07osbBQYcYWroH0sELQBkQHrOMg=.sha256","purpose.md":"&c0/YqFhXC0X3DqiEo55NqzI5wq0VTw6cVZTf/gAWS3w=.sha256","guide.md":"&SgnGL0+rjetY2o9A2+lVRbNvHIkqKwMnZr9gXWneIlc=.sha256"}} | ||||||
| @@ -10,7 +10,10 @@ | |||||||
| 	- audit + document API exposed to apps | 	- audit + document API exposed to apps | ||||||
| - ssb core | - ssb core | ||||||
| 	- good refresh | 	- good refresh | ||||||
|  | 		- disconnect all current connections and reset reconnect timers? | ||||||
|  | 		- reload the page | ||||||
| 	- live updates | 	- live updates | ||||||
|  | 	- createHistoryStream for every account followed from local accounts | ||||||
| - apps | - apps | ||||||
| 	- app messages | 	- app messages | ||||||
| 	- installable apps | 	- installable apps | ||||||
| @@ -42,3 +45,4 @@ | |||||||
| 	- tf account timeout why | 	- tf account timeout why | ||||||
| - make some demo apps | - make some demo apps | ||||||
| 	- rock paper scissors, somehow | 	- rock paper scissors, somehow | ||||||
|  | - don't resave files that didn't change | ||||||
| @@ -1 +1 @@ | |||||||
| {"type":"tildefriends-app","files":{"app.js":"&GOWmWDTHuNMz2XpxNxspAqsITn/RwvlB4Um6euxHFbU=.sha256","index.html":"&/noD6q/rH4VgszVb6W0D3mnK9t0GbDYYZtBGM/xs2kY=.sha256","vue-material.js":"&K5cdLqXYCENPak/TCINHQhyJhpS4G9DlZHGwoh/LF2g=.sha256"}} | {"type":"tildefriends-app","files":{"app.js":"&oCXEt7h7lEIL8BXyVDv3Skp44ApY+rExcNKx9//Dj80=.sha256","index.html":"&7/hwWTsmdkNkTLT3gUwaZ+B+Y5EjHGHyE2+zWkHnMac=.sha256","vue-material.js":"&K5cdLqXYCENPak/TCINHQhyJhpS4G9DlZHGwoh/LF2g=.sha256"}} | ||||||
| @@ -291,6 +291,20 @@ async function getPosts(db, ids) { | |||||||
| } | } | ||||||
|  |  | ||||||
| async function ready() { | async function ready() { | ||||||
|  | 	return refresh(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | core.register('onBroadcastsChanged', async function() { | ||||||
|  | 	await app.postMessage({broadcasts: await ssb.getBroadcasts()}); | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | core.register('onConnectionsChanged', async function() { | ||||||
|  | 	var connections = await ssb.connections(); | ||||||
|  | 	await app.postMessage({connections: connections}); | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | async function refresh() { | ||||||
|  | 	await app.postMessage({clear: true}); | ||||||
| 	var whoami = await ssb.whoami(); | 	var whoami = await ssb.whoami(); | ||||||
| 	var db = await database("ssb"); | 	var db = await database("ssb"); | ||||||
| 	await Promise.all([ | 	await Promise.all([ | ||||||
| @@ -299,6 +313,7 @@ async function ready() { | |||||||
| 		app.postMessage({broadcasts: await ssb.getBroadcasts()}), | 		app.postMessage({broadcasts: await ssb.getBroadcasts()}), | ||||||
| 		app.postMessage({connections: await ssb.connections()}), | 		app.postMessage({connections: await ssb.connections()}), | ||||||
| 		followingDeep(db, [whoami], 2).then(function(f) { | 		followingDeep(db, [whoami], 2).then(function(f) { | ||||||
|  | 			print(JSON.stringify(f)); | ||||||
| 			getRecentPostIds(db, whoami, [].concat([whoami], f), k_posts_max).then(async function(ids) { | 			getRecentPostIds(db, whoami, [].concat([whoami], f), k_posts_max).then(async function(ids) { | ||||||
| 				return getPosts(db, ids); | 				return getPosts(db, ids); | ||||||
| 			}).then(async function(posts) { | 			}).then(async function(posts) { | ||||||
| @@ -333,24 +348,6 @@ async function ready() { | |||||||
| 	]); | 	]); | ||||||
| } | } | ||||||
|  |  | ||||||
| core.register('onBroadcastsChanged', async function() { |  | ||||||
| 	await app.postMessage({broadcasts: await ssb.getBroadcasts()}); |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| core.register('onConnectionsChanged', async function() { |  | ||||||
| 	var connections = await ssb.connections(); |  | ||||||
| 	await app.postMessage({connections: connections}); |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| async function refresh() { |  | ||||||
| 	var db = await database("ssb"); |  | ||||||
| 	var whoami = await ssb.whoami(); |  | ||||||
| 	var ids = await followingDeep(db, [whoami], 2); |  | ||||||
| 	for (var id of ids) { |  | ||||||
| 		await ssb.createHistoryStream(id); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| core.register('message', async function(m) { | core.register('message', async function(m) { | ||||||
| 	if (m.message == 'ready') { | 	if (m.message == 'ready') { | ||||||
| 		await ready(); | 		await ready(); | ||||||
|   | |||||||
| @@ -22,6 +22,7 @@ | |||||||
| 				pubs: [], | 				pubs: [], | ||||||
| 				votes: [], | 				votes: [], | ||||||
| 			}; | 			}; | ||||||
|  | 			var g_data_initial = JSON.parse(JSON.stringify(g_data)); | ||||||
| 			window.addEventListener('message', function(event) { | 			window.addEventListener('message', function(event) { | ||||||
| 				var key = Object.keys(event.data)[0]; | 				var key = Object.keys(event.data)[0]; | ||||||
| 				if (key + 's' in g_data && Array.isArray(g_data[key + 's'])) { | 				if (key + 's' in g_data && Array.isArray(g_data[key + 's'])) { | ||||||
| @@ -42,6 +43,10 @@ | |||||||
| 					g_data.broadcasts = event.data.broadcasts; | 					g_data.broadcasts = event.data.broadcasts; | ||||||
| 				} else if (key == 'pubs') { | 				} else if (key == 'pubs') { | ||||||
| 					g_data.pubs = event.data.pubs; | 					g_data.pubs = event.data.pubs; | ||||||
|  | 				} else if (key == 'clear') { | ||||||
|  | 					Object.keys(g_data_initial).forEach(function(key) { | ||||||
|  | 						Vue.set(g_data, key, JSON.parse(JSON.stringify(g_data_initial[key]))); | ||||||
|  | 					}); | ||||||
| 				} else { | 				} else { | ||||||
| 					g_data[key] = event.data[key]; | 					g_data[key] = event.data[key]; | ||||||
| 				} | 				} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user