itscassa|away has quit [Ping timeout: 264 seconds]
itscassa|away has joined #sandstorm
<mnutt__>
paulproteus: would there be any interest in adding a node vagrant-spk stack?
eternaleye has quit [Ping timeout: 250 seconds]
<mnutt__>
also, I just realized I missed a sandstorm sf meetup by just a couple of days
<zarvox>
mnutt__: I'd be happy to receive one - is there a relatively common package layout that we could depend on? some grunt/gulp default we could integrate?
mnutt__ has quit [Quit: mnutt__]
prosodyC is now known as prosody
<rchrd2>
I recently took a stab at this when attempting to port jsbin. I found that installing node_modules over the vagrant shared folder was really slow, but it worked. Here's the example files: https://github.com/rchrd2/jsbin/tree/master/.sandstorm
<paulproteus>
mn... definitely
<paulproteus>
bye though!
gopar has joined #sandstorm
mnutt__ has joined #sandstorm
<paulproteus>
mnutt__: Definitely! re: node stack
<paulproteus>
mnutt__: Too bad! re: missed Sandstorm meetup
<mnutt__>
zarvox: paulproteus: mostly just getting node/npm installed properly. Bower likes to be installed with `npm -g` and for reasons I can’t remember I had to put global npm packages in the home directory using $NPM_PACKAGES. I’ll go back and investigate why/if that was ultimately necessary
<paulproteus>
Awesome. I'd be super duper happy with that.
<mnutt__>
also super excited that we’re really close on the webdav / filesharing stuff
<zarvox>
me too!
<zarvox>
I sorta want to make your app include prebuilt versions of the owncloud sync client as patched for Sandstorm, if the upstream one still doesn't work out-of-the-box...
<mnutt__>
it’ll probably help if someone eventually ports owncloud itself to sandstorm, which should be pretty easy except for all of the users / sharing / auth code that needs to be ripped out
mnutt__ has quit [Quit: mnutt__]
simonv3 has quit [Quit: Connection closed for inactivity]
bb010g has quit [Quit: Connection closed for inactivity]
jadewang has quit [Ping timeout: 256 seconds]
kepod has joined #sandstorm
NOTevil has joined #sandstorm
* paulproteus
stretches.
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 252 seconds]
jadewang has joined #sandstorm
maurer_ has joined #sandstorm
jacksingleton has joined #sandstorm
larjona has joined #sandstorm
maurer has quit [Quit: leaving]
maurer_ is now known as maurer
mort___ has joined #sandstorm
mort___ has quit [Client Quit]
larjona is now known as larjona_afk
<kentonv>
dwrensha: testrock is update
<kentonv>
d
<dwrensha>
ok
neynah has joined #sandstorm
<zarvox>
I wish the Account page's photo upload widget indicated when it was uploading the picture. And also maybe bailed early client-side if the file provided is larger than the limit, before we burn 4.4MB uploading a giant png.
<dwrensha>
I wish it could auto-scale images to fit within the limit!
<zarvox>
Yeah, that would also be great. :)
<kentonv>
we "should" rescale server-side, but running image manipulation programs written in C on possibly-malicious user data scares me.
<kentonv>
need to sandbox it, that takes work, etc.
<zarvox>
Agreed.
<XgF>
Hmm, given Sandstorm is already a Javascript-mandatory platform, can't you rescale on the client?
<XgF>
Surely you can do something like render to a canvas then convert the image to a PNG or JPEG?
<kentonv>
XgF: interesting thought
mort___ has joined #sandstorm
gopar has joined #sandstorm
NOTevil has quit [*.net *.split]
dwrensha has quit [*.net *.split]
ZucchiniZe has quit [*.net *.split]
ripdog has quit [*.net *.split]
coyotebush has quit [*.net *.split]
preilly has quit [*.net *.split]
snolahc1 has quit [*.net *.split]
ragesoss has quit [*.net *.split]
chris_severs has quit [*.net *.split]
hunterm has quit [*.net *.split]
indiebio has quit [*.net *.split]
jparyani has quit [*.net *.split]
NOTevil has joined #sandstorm
dwrensha has joined #sandstorm
ZucchiniZe has joined #sandstorm
ripdog has joined #sandstorm
hunterm has joined #sandstorm
jparyani has joined #sandstorm
snolahc1 has joined #sandstorm
ragesoss has joined #sandstorm
indiebio has joined #sandstorm
preilly has joined #sandstorm
coyotebush has joined #sandstorm
chris_severs has joined #sandstorm
ZucchiniZe has quit [Max SendQ exceeded]
isd has joined #sandstorm
<isd>
Hey, so I just signed up for an account on oasis.sandstorm.io, made an ethercalc spreadsheet, made a sharing link, and tried using it. Works in the same browser I was signed in on, doesn't if I paste it into a different browser
<paulproteus>
Howdy isd
<isd>
paulproteus: hey
<paulproteus>
Weird, it should work!
<paulproteus>
Are you sure you've pasted the full link?
<paulproteus>
And the link that seems not to work , does it contain the string /shared/ ?
<isd>
It says /grain/. Maybe I'm bad at copy/paste? I'm going to try again
<isd>
it's giving me a 403
<isd>
it is the same url as in the (working) firefox
<paulproteus>
So here's the deal, and arguably this is a super-annoying UI bug.
<paulproteus>
When you create a sharing link it is a /shared/ link.
<paulproteus>
When you visit it, Sandstorm will redirect you to a /grain/ link.
<paulproteus>
This means that if you _then_ copy-paste the address bar content, you've lost the sharing link.
<isd>
Ah, yeah, that was it.
<paulproteus>
dwrensha: ^ fwiw
<dwrensha>
fascinating
<paulproteus>
I used to do this all the time. I think I still do it sometimes but I now at least recognize the error.
<isd>
paulproteus: thanks.
larjona_afk has quit [Quit: Konversation terminated!]
<paulproteus>
Sure thing. Let me know if there's anything else I can help with!
<paulproteus>
Are you thinking of installing a Sandstorm somewhere? (-:
Huck777 has left #sandstorm ["WeeChat 1.3"]
<dwrensha>
I think it should be possible not to redirect when opening a shared link. It would require reworking a few things, though.
<paulproteus>
FWIW not redirecting is more consistent with e.g. the Google Docs interface.
<isd>
paulproteus: I may at some point, but for the moment I'm just going to use the hosted thing.
<paulproteus>
It does mean that our nginx logs contain sharing links for longer.
<paulproteus>
Cool isd.
<paulproteus>
I think the UX benefits from this are huge ("copy-paste now works") so it's worth the nginx logs containing usable sharing links, but e.g. kentonv may disagree. Also maybe we can get nginx to by default log hashed sharing links through some careful nginx log magic or something.
<zarvox>
I thought the Google Docs behavior depends on what kind of sharing link you have.
<paulproteus>
zarvox: Interesting; I haven't dug that deep into it.
<paulproteus>
There's also the oddity that if we don't redirect, now different links don't unify into the same URL.
<paulproteus>
"So we get to choose between breaking copy-paste and breaking history"
<paulproteus>
But maybe it takes you to the grain URL if you're signed in, and not if not.
<dwrensha>
how does it break history?
<paulproteus>
If 1 grain has 2 sharing links, and I visit one today, and the other one tomorrow, now both will show up separately in my browser history.
<isd>
If I signed up with email, do I have to click send email every time?
<paulproteus>
Every time you want to log in freshly, yes.
<dwrensha>
time to reimplement a Sandstorm version of browser history, then? :P
<kentonv>
paulproteus: making the address bar copy/pastable removes accountability from the sharing graph. If I share to you and then you reshare to bob by copy/pasting the share URL then the server doesn't have any way to know that Bob received access through you.
<paulproteus>
"obviously" it should instead redirect to a new sharing token created with the same permission level but trackable to me
<zarvox>
I'm in favor of the link unifying for logged-in users. I believe this is what Google Docs does if you share with specific people.
ZucchiniZe has joined #sandstorm
<kentonv>
paulproteus: you may recall that we spent a bunch of time trying to design such a system earlier this year and then gave up on it....
<paulproteus>
Or alternately the error message on receiving a /grain/ URL one isn't authorized to use could be way clearer.
<paulproteus>
Yeah.
<dwrensha>
right
<paulproteus>
I'm remembering that now.
<dwrensha>
"request access"
<paulproteus>
+1, looking forward to it (-:
<kentonv>
I forget exactly why we gave up on it but I think we had good reasons. :)
<dwrensha>
the URLs were going to be huge
<zarvox>
Or alternately, share by identity could solve this.
<paulproteus>
Yeah +1 on share by identity solving this for most users.
<isd>
+1 for better error messages (regardless of other solutions).
NOTevil has quit [Quit: Leaving]
gopar has quit [Remote host closed the connection]
larjona has joined #sandstorm
bpierre has quit [Remote host closed the connection]
chris_severs has quit [Remote host closed the connection]
prosody has quit [Remote host closed the connection]
fkautz has quit [Remote host closed the connection]
augustl has quit [Remote host closed the connection]
ZucchiniZe has quit [Remote host closed the connection]
mattl has quit [Remote host closed the connection]
azirbel has quit [Remote host closed the connection]
simonv3 has quit [Remote host closed the connection]
peterood has quit [Remote host closed the connection]
jacksingleton has quit [Remote host closed the connection]
jacksingleton has joined #sandstorm
jacksingleton has quit [Remote host closed the connection]
jacksingleton has joined #sandstorm
larjona has quit [Quit: Konversation terminated!]
gopar has joined #sandstorm
chris_severs has joined #sandstorm
fkautz has joined #sandstorm
bpierre has joined #sandstorm
prosody has joined #sandstorm
maurer has quit [Quit: WeeChat 1.3]
<zarvox>
Hmm. UserActions is not-very-useful.
<zarvox>
In the app list, I mostly care about the Packages, and have to do joins because I care about the icons and dev apps and aggregating actions across apps.
<zarvox>
In the app details page, I have to care about dev actions, and so I have all the code to lookup the dev package and pick the action from there already in the client, and then I just pretend it's not there and use the denormalized stuff from UserActions, except when I don't because e.g. I have to be backwards compatible with a time when apps didn't declare all their metadata cleanly
<zarvox>
so in practice, I have a bunch of code for doing joins client side, and the server-side subscriptions already have to give me all the data to do those joins client-side
<paulproteus>
Yeah, I don't love UserActions.
<zarvox>
The one unique piece of data they represent is `what version of this app do I have "installed"`
<paulproteus>
I'm supposed to remark, "You're thinking too much about the common case, but not enough about a totally private or per-user app", I think.
<zarvox>
and even that's kinda confusing, because individual grains aren't guaranteed to be using that version, because every grain specifies its packageId
<zarvox>
so the app details page showing a list of grains might actually be confusing, because it'll show one version, but the grains themselves may be using a different one if the user chose not to upgrade them
<zarvox>
also none of that is visible anywhere :P
<zarvox>
I mean, even for a totally private or per-user app, you (the user who has UserActions for it) still know the package id
augustl has joined #sandstorm
isd has quit [Quit: Leaving.]
<paulproteus>
Welcome augustl, feel free to just hang out here and listen (aka idle) or ask any questions.