forked from cory/tildefriends
		
	Expose stored connections on the connections tab. Still half-baked, but I'm going to use this.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4132 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		| @@ -1 +1 @@ | ||||
| {"type":"tildefriends-app","files":{"app.js":"&XTD0RACx/SmKdvQUuGYL92LHkSReC8F/1zVHiC5xiog=.sha256","lit-all.min.js":"&XKgdRySJuiZeZvchNFGjVWn0XOVhQFmG7/HTWYQ8s68=.sha256","index.html":"&TxhFekB9ov7tf/fmkAg7x5797i27oLidhgxEfDKC0T0=.sha256","script.js":"&G8puK9Q4MngHy3D4ppcKyT49WKbHD2OCeUcAw2ghTDE=.sha256","lit-all.min.js.map":"&lA9iFp1YbqSndxXZuwtgmrj7NDMkN71nJITbtjWL3VA=.sha256","tf-id-picker.js":"&maN8DUFrmRxW5nsVyOAMk5k1ekcz/pfzvSS99ac3jo8=.sha256","tf-app.js":"&7hclNu41CIoNk1JlXHiYmDPDyDIICZfMickJYtnF5eQ=.sha256","tf-message.js":"&oXFucwmn16nvKslQoGKTppO+71EoDZJE54z3WrlNUPI=.sha256","tf-user.js":"&bXTedgBudTQLXEBPY9R8OLfQ/ZLpo8YRU9Oq/wuGG3Y=.sha256","tf-utils.js":"&6RQUuxB3PkOhYEJr9+89Ptx7uijczjn0r035yCcQOQQ=.sha256","commonmark.min.js":"&bfBaMLU19d1p/vPBF9hlARqDX002KXG/UOfxOahZhe4=.sha256","tf-compose.js":"&ZFkTrACfSE3CeacnuHcpqysPuNm2TJ2ATVQfJv+qjzU=.sha256","emojis.json":"&h3P4pez+AI4aYdsN0dJ3pbUEFR0276t9AM20caj/W/s=.sha256","emojis.js":"&NC9VddNdX+ZpyIDUQJvH2y1u3ZczQub5+bNmN9ndj7I=.sha256","tf-styles.js":"&LFeL/vWgrv4N8q/mBrQAnhbaOI+dXNJYvH9bn1bXSqQ=.sha256","tf-profile.js":"&vRKjsnYvOiHCQahzEfznCvP5YDwUPtltlpWf+pxwZ1Y=.sha256","commonmark-linkify.js":"&X+hNNkmSRvKY86khyAun+cXksquXbMakZdINbGbx30g=.sha256","tf-tab-search.js":"&ESt2vMG19sH5j6ungKua/ZuvIGslyuWyb3juXdOCecg=.sha256","tf-tab-news.js":"&F7T3LVS867x7vsKhYRR7eLNdCFZmrZ3JzEMfJEEKRm0=.sha256","tf-tab-connections.js":"&ZO74cEYH83A6ZAZDNnTS1w+Aa05GnZonBJL9aufaJ3o=.sha256","tf-news.js":"&gfG5LwXpugDkwDCOCOxQnNn0jLURZexSmvDu4SpQohA=.sha256","tribute.css":"&9FogMzZHKXCfGb7mlh7z+/wiNZzBsOB/tKoh6MfYJno=.sha256","tribute.esm.js":"&P1wKqCfYULpR/ahSB98JP8xaxfikuZwwtT6I/SAo7/Y=.sha256","commonmark-hashtag.js":"&H+V1OLA9GDdzycKclz276zAtSZLpT3rlNVa4+qQmp4o=.sha256"}} | ||||
| {"type":"tildefriends-app","files":{"app.js":"&1HWTkyCc1doft6dyKF5FDxtRAErNeY25CBrfZbKPpyo=.sha256","lit-all.min.js":"&XKgdRySJuiZeZvchNFGjVWn0XOVhQFmG7/HTWYQ8s68=.sha256","index.html":"&TxhFekB9ov7tf/fmkAg7x5797i27oLidhgxEfDKC0T0=.sha256","script.js":"&G8puK9Q4MngHy3D4ppcKyT49WKbHD2OCeUcAw2ghTDE=.sha256","lit-all.min.js.map":"&lA9iFp1YbqSndxXZuwtgmrj7NDMkN71nJITbtjWL3VA=.sha256","tf-id-picker.js":"&maN8DUFrmRxW5nsVyOAMk5k1ekcz/pfzvSS99ac3jo8=.sha256","tf-app.js":"&7hclNu41CIoNk1JlXHiYmDPDyDIICZfMickJYtnF5eQ=.sha256","tf-message.js":"&oXFucwmn16nvKslQoGKTppO+71EoDZJE54z3WrlNUPI=.sha256","tf-user.js":"&bXTedgBudTQLXEBPY9R8OLfQ/ZLpo8YRU9Oq/wuGG3Y=.sha256","tf-utils.js":"&6RQUuxB3PkOhYEJr9+89Ptx7uijczjn0r035yCcQOQQ=.sha256","commonmark.min.js":"&bfBaMLU19d1p/vPBF9hlARqDX002KXG/UOfxOahZhe4=.sha256","tf-compose.js":"&ZFkTrACfSE3CeacnuHcpqysPuNm2TJ2ATVQfJv+qjzU=.sha256","emojis.json":"&h3P4pez+AI4aYdsN0dJ3pbUEFR0276t9AM20caj/W/s=.sha256","emojis.js":"&NC9VddNdX+ZpyIDUQJvH2y1u3ZczQub5+bNmN9ndj7I=.sha256","tf-styles.js":"&LFeL/vWgrv4N8q/mBrQAnhbaOI+dXNJYvH9bn1bXSqQ=.sha256","tf-profile.js":"&vRKjsnYvOiHCQahzEfznCvP5YDwUPtltlpWf+pxwZ1Y=.sha256","commonmark-linkify.js":"&X+hNNkmSRvKY86khyAun+cXksquXbMakZdINbGbx30g=.sha256","tf-tab-search.js":"&ESt2vMG19sH5j6ungKua/ZuvIGslyuWyb3juXdOCecg=.sha256","tf-tab-news.js":"&F7T3LVS867x7vsKhYRR7eLNdCFZmrZ3JzEMfJEEKRm0=.sha256","tf-tab-connections.js":"&ywqBz3w63R6naH09kZ+01A0SfmtuSfk8QPBXWsli0yg=.sha256","tf-news.js":"&gfG5LwXpugDkwDCOCOxQnNn0jLURZexSmvDu4SpQohA=.sha256","tribute.css":"&9FogMzZHKXCfGb7mlh7z+/wiNZzBsOB/tKoh6MfYJno=.sha256","tribute.esm.js":"&P1wKqCfYULpR/ahSB98JP8xaxfikuZwwtT6I/SAo7/Y=.sha256","commonmark-hashtag.js":"&H+V1OLA9GDdzycKclz276zAtSZLpT3rlNVa4+qQmp4o=.sha256"}} | ||||
| @@ -30,6 +30,12 @@ tfrpc.register(async function getBroadcasts() { | ||||
| tfrpc.register(async function getConnections() { | ||||
| 	return ssb.connections(); | ||||
| }); | ||||
| tfrpc.register(async function getStoredConnections() { | ||||
| 	return ssb.storedConnections(); | ||||
| }); | ||||
| tfrpc.register(async function forgetStoredConnection(connection) { | ||||
| 	return ssb.forgetStoredConnection(connection); | ||||
| }); | ||||
| tfrpc.register(async function createTunnel(portal, target) { | ||||
| 	return ssb.createTunnel(portal, target); | ||||
| }); | ||||
|   | ||||
| @@ -7,6 +7,7 @@ class TfTabConnectionsElement extends LitElement { | ||||
| 			broadcasts: {type: Array}, | ||||
| 			identities: {type: Array}, | ||||
| 			connections: {type: Array}, | ||||
| 			stored_connections: {type: Array}, | ||||
| 			users: {type: Object}, | ||||
| 		} | ||||
| 	} | ||||
| @@ -17,10 +18,14 @@ class TfTabConnectionsElement extends LitElement { | ||||
| 		this.broadcasts = []; | ||||
| 		this.identities = []; | ||||
| 		this.connections = []; | ||||
| 		this.stored_connections = []; | ||||
| 		this.users = {}; | ||||
| 		tfrpc.rpc.getAllIdentities().then(function(identities) { | ||||
| 			self.identities = identities || []; | ||||
| 		}); | ||||
| 		tfrpc.rpc.getStoredConnections().then(function(connections) { | ||||
| 			self.stored_connections = connections || []; | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	render_connection_summary(connection) { | ||||
| @@ -69,6 +74,11 @@ class TfTabConnectionsElement extends LitElement { | ||||
| 		` | ||||
| 	} | ||||
|  | ||||
| 	async forget_stored_connection(connection) { | ||||
| 		await tfrpc.rpc.forgetStoredConnection(connection); | ||||
| 		this.stored_connections = (await tfrpc.rpc.getStoredConnections()) || []; | ||||
| 	} | ||||
|  | ||||
| 	render() { | ||||
| 		let self = this; | ||||
| 		return html` | ||||
| @@ -91,6 +101,16 @@ class TfTabConnectionsElement extends LitElement { | ||||
| 					</li> | ||||
| 				`)} | ||||
| 			</ul> | ||||
| 			<h2>Stored Connections (WIP)</h2> | ||||
| 			<ul> | ||||
| 				${this.stored_connections.map(x => html` | ||||
| 					<li> | ||||
| 						<input type="button" @click=${() => self.forget_stored_connection(x)} value="Forget"></input> | ||||
| 						<input type="button" @click=${() => tfrpc.rpc.connect(x)} value="Connect"></input> | ||||
| 						${x.address}:${x.port} <tf-user id=${x.pubkey} .users=${self.users}></tf-user> | ||||
| 					</li> | ||||
| 				`)} | ||||
| 			</ul> | ||||
| 			<h2>Local Accounts</h2> | ||||
| 			<ul> | ||||
| 				${this.identities.map(x => html`<li><tf-user id=${x} .users=${this.users}></tf-user></li>`)} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user