Skip to content
This repository has been archived by the owner on Jul 8, 2021. It is now read-only.

Redirecting to another rotonde #147

Open
Lynncubus opened this issue Nov 17, 2017 · 13 comments
Open

Redirecting to another rotonde #147

Lynncubus opened this issue Nov 17, 2017 · 13 comments

Comments

@Lynncubus
Copy link

I've been using Rotonde before there was ever a windows build of beaker, ive build a few tools to browse and post on it without needing beaker, but it is still lacking and keeping up with the all time updating spec has been hard for me in combination with work and college.

Since i never created my dat in beaker i have no write permissions on it in there, i've done some research and digging around how to maybe get the right keychain for beaker to read, but that stuff goes way beyond me.

Since it would be a pain to completely create a new Rotonde instance and let everyone follow it manually, maybe allow us to redirect our Rotonde to a new dat url. By adding a "redirect" value to our portal.json with a target to a new dat url we could silently update every other portal to the new one by replacing the existing url in their feeds to the new one.

@neauoire
Copy link
Contributor

Hey Lux,

I'm not against this idea. If I understand correctly, it would be a temporary url used in migration when moving from one computer to the next scenario? So people can follow you across your different dat sites?

@Lynncubus
Copy link
Author

Yeah, the redirect is just used to replace the old one

@pfrazee
Copy link

pfrazee commented Nov 17, 2017

(Beaker dev here) Sorry that it's not easier to export your dat keys. There's some challenges and unknowns that have kept us from doing the obvious thing (making the keys exportable). But, I think we're probably going to need to make an imperfect solution soon rather than waiting for a perfect solution later.

@cblgh
Copy link
Contributor

cblgh commented Nov 17, 2017

i was thinking of taking the sameAs idea from ssb and adding to portals. it would look like

portal.json
{
  "name": "cblgh",
  "dat": "5555f715c36b6cd226102192ba220c73384c32e4beb49601fb3f5bba4719e0c5",
  "sameAs": ["7f2ef715c36b6cd226102192ba220c73384c32e4beb49601fb3f5bba4719e0c5", "1337f715c36b6cd226102192ba220c73384c32e4beb49601fb3f5bba47197331"]
...
}

if the portals in the sameAs array have this portal's dat address in their sameAs array (i.e. the relationship is mutual), then we will pull their posts and display them as if they were made by this user

you could expand this to display the feed as the sum of the port entries of the set of mutal portals as well

thoughts?

@0x0ade
Copy link
Member

0x0ade commented Nov 18, 2017

+1 on sameAs. My only nitpick is that we need to download the other's portal.json to check our sameAs against their sameAs. That means we're already pulling their posts. That's not strictly an issue, though.

Should sameAs portals be pulled recursively? Should sameAs portals be added to our port list for 1. faster loading; 2. connectivity when the "proxy" is offline? Adding sameAs to our port list could be abused to fill up the port list (DOS?).

@Lynncubus
Copy link
Author

sameAs seems like a great idea! probably way better then the redirect i was first pointing too. This would be a great improvement, but we should indeed be careful about recursively looping trough them or maybe its better we take that out entirely, users can create a root rotonde and extend from there. This would simplify the process and we've got to be careful about bandwidth and dat archive size too.

@cblgh
Copy link
Contributor

cblgh commented Nov 19, 2017

i think keeping it simple is a good idea as well. i will look at doing a basic implementation of sameAs during the week and see what issues i stumble into :)

@cblgh
Copy link
Contributor

cblgh commented Nov 22, 2017

the action is happening here https://github.com/Rotonde/rotonde-client/tree/cblgh/feature/sameAs

it's potentially a deep rabbit hole so i'm trying to skirt its edges rather than fall down it

things that could be added

  • making it so that remotes see the same feed as the portals in sameAs
  • making mentions popup for portals in sameAs

@neauoire
Copy link
Contributor

neauoire commented Dec 3, 2017

@pfrazee is it possible to get the revision number of someone's beaker site?

@webdesserts
Copy link
Collaborator

@neauoire does the version field in the history() method work for you?

@webdesserts
Copy link
Collaborator

@neauoire

 let name = await DatArchive.resolveName('dat://www-webdesserts.hashbase.io/')
 let archive = new DatArchive(name)
 let history = await archive.history({ end: 1, reverse: true })

 console.log(history[0].version) // => 19

Yeah, this seems to be what you're looking for

@neauoire
Copy link
Contributor

neauoire commented Dec 3, 2017

Yes! amazing thank you :) Nothing serious with this, but it's a good gage of activity overall.

@fasiha
Copy link

fasiha commented Jan 23, 2018

Sorry for barging in with probably nothing meaningful to add, but I was in a similar situation—needing to move a Dat from one computer to another without changing the archive ID since I'd publicized it—and used dat keys {import|export} per https://github.com/datproject/dat#key-management--moving-dats which made this a snap. sameAs is an infinitely better way to do this, but I wonder if people in this situation could use dat keys export in their original Dat and then, after cloning in Beaker, use dat keys import to give Beaker ownership of the archive? (Of course you'd want to delete the archive in the original computer to make sure you don't accidentally write to it and lead to forked feeds and subsequently the end of the universe.)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants