<ocdtrekkie>
Paulproteus : Back when I played with Kid Pix, I was a Mac user.
<ocdtrekkie>
LC III was my first Mac.
<ocdtrekkie>
First computer, really.
<ocdtrekkie>
Few people today would believe I started on Apple.
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 255 seconds]
mnutt_ has quit [Quit: mnutt_]
home has joined #sandstorm
<zarvox>
ocdtrekkie: oh man I grew up on Kid Pix too! I actually have the floppies in a case on my desk at home.
<ocdtrekkie>
I have a CD version for Windows that could probably be convinced to run in a VM or something.
jacksingleton has joined #sandstorm
jadewang has joined #sandstorm
simonv3 has quit [Quit: Connection closed for inactivity]
home has quit [Ping timeout: 250 seconds]
jacksingleton has quit [Ping timeout: 256 seconds]
jadewang has quit [Remote host closed the connection]
gopar has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 268 seconds]
jacksingleton has joined #sandstorm
rustyrazorblade has joined #sandstorm
jacksingleton has quit [Ping timeout: 264 seconds]
rustyrazorblade has quit [Quit: rustyrazorblade]
decipherstatic has quit [Ping timeout: 240 seconds]
larjona has joined #sandstorm
decipherstatic has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 260 seconds]
larjona has quit [Read error: No route to host]
gopar has quit [Quit: Leaving]
mort___ has joined #sandstorm
larjona has joined #sandstorm
jacksingleton has joined #sandstorm
larjona has quit [Ping timeout: 252 seconds]
larjona has joined #sandstorm
larjona has quit [Read error: Connection reset by peer]
erikmaarten has joined #sandstorm
<erikmaarten>
good morning
larjona has joined #sandstorm
<zarvox>
good evening!
<zarvox>
:)
<erikmaarten>
My Sandstorm app will need a few different permission types so I'm thinking about how to implement that. It seems the package def just needs one line for that, right? As in "bridgeConfig = (viewInfo = (permissions = [(name = "admin"), (name = "player"), (name = "viewer")]))"?
<erikmaarten>
:)
jacksingleton has quit [Ping timeout: 256 seconds]
<erikmaarten>
(it's a pity by the way that mornings and mornings at different places don't coincide, feel like I'm around here at the wrong times haha)
<zarvox>
You also want a set of roles, which are what will be shown in the sharing UI.
<zarvox>
(You also want fields other than just name, for UI integration)
<erikmaarten>
Right. Do you know if there's an example of this somewhere?
<zarvox>
you're probably fine with just permissions and roles
<erikmaarten>
So basically, a role has a name that users can see when sharing, and the array of permissions for each role represent which of the permissions are enabled for a role?
<zarvox>
Bingo!
<zarvox>
And the grain owner has all permissions, even if that's not a role you defined.
<erikmaarten>
got it :)
<zarvox>
and the verbPhrase is what will appear in the dropdown in the UI
<erikmaarten>
oh, right
<zarvox>
Upon reflection, perhaps role should be radio buttons in the UI, because comboboxes have bad discoverability...
<zarvox>
The "name" fields of the permissions are what will be passed in the X-Sandstorm-Permissions header
<erikmaarten>
ok, so that's what my app checks for
<erikmaarten>
Is there a way to refer to permissions by name rather than just the order in the array?
<zarvox>
Just the order in the array.
<zarvox>
As far as I know, anyway.
<erikmaarten>
was just thinking it seems fairly easy to make a mistake when editing the file or adding permissions
<zarvox>
Yeah, it makes me a tad nervous too. I think at the protocol layer, it has to be a vector of booleans, but I could see a case for a more human-readable format in the pkgdef - after all, sandstorm-http-bridge is parsing that pkgdef and extracting the bridgeConfig so it can answer the RPCs appropriately
<zarvox>
I'm not entirely sure what the behavior for permissions on upgrade is, or should be, come to think of it.
mort___ has quit [Quit: Leaving.]
<zarvox>
Like, version X has 2 permissions, you share a thing under role R, then upgrade to version Y, which has 3 permissions. Are roles sticky? What if you filtered out permissions and reshared? And so on and so forth.
<zarvox>
dwrensha or kentonv might have a better grasp of how that needs to work
<erikmaarten>
Yeah, that's quite interesting, could go quite badly if developers and users don't expect the same thing
<zarvox>
I think developers can probably never remove old permissions, since they'd be redefining previous sharing data
<zarvox>
they can just start ignoring the value in their app code instead, and using the new permissions
<erikmaarten>
sounds fair
<erikmaarten>
my app is a simple board game (Go). Would it be strange if it had different new document handlers, depending on board size? I'm thinking it would be nice to be able to start playing directly when a grain has been created. If I define several such handlers, how can I pass messages to the app depending on which handler was used to create a new grain?
<zarvox>
Hmmm, maybe it makes sense to have the different board sizes be different actions.
<zarvox>
Note the three actions at the end of the file, and the three different scripts they call for new schedule, new poll, and "start up previously-launched grain"
<zarvox>
Basically, I write something to /var based on the action that was picked at first launch, and then I use everything else exactly the same
<zarvox>
Hmm, I don't think we currently track which action initially spawned a grain. We probably should, so we can sort most-used by action, rather than purely by app.
<erikmaarten>
Right, I could probably use the same approach then. Could I not send a message/header or something to the application though, and depending on the message save a simple value in the db?
<zarvox>
For what it's worth, if you use multiple actions, you'll have the second app that does so (the first is Framadate). We haven't fully proven them out, so there may still be rough corners.
<erikmaarten>
oh, cool! On the bleeding edge... :)
<erikmaarten>
well, I think I'll try anyway
<zarvox>
Indicating the action isn't currently part of the web session context, and I'm not sure it fits there. For instance, should a user receiving a sharing token need to care which action initially spawned the grain? I suspect it doesn't, and at worst, it could be an obscure infoleak
larjona_ has joined #sandstorm
<zarvox>
It's getting late here for me, so I should probably go to bed soon, but feel free to leave me messages or send me emails and I'll take a look at them later :)
<erikmaarten>
sure, and thanks for your help so far!
<zarvox>
I'm excited that you're making an app!
<erikmaarten>
:)
larjona has quit [Read error: No route to host]
mort___ has joined #sandstorm
larjona_ has quit [Ping timeout: 264 seconds]
jadewang has joined #sandstorm
larjona_ has joined #sandstorm
larjona has joined #sandstorm
larjona has quit [Client Quit]
jadewang has quit [Ping timeout: 240 seconds]
bpierre_ has quit []
bpierre has joined #sandstorm
KaZeR has quit [Ping timeout: 268 seconds]
joshbuddy has joined #sandstorm
mort___ has quit [Quit: Leaving.]
KaZeR has joined #sandstorm
KaZeR has quit [Ping timeout: 260 seconds]
joshbuddy has quit [Quit: joshbuddy]
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 256 seconds]
KaZeR has joined #sandstorm
xet7_ has quit [Ping timeout: 268 seconds]
xet7_ has joined #sandstorm
xet7_ has quit [Ping timeout: 264 seconds]
xet7_ has joined #sandstorm
<ckocagil>
dwrensha: yt?
<dwrensha>
ckocagil: good morning
<ckocagil>
'morning!
<ckocagil>
I've been thinking about what a Gogs/Gitlab grain should provide -- a single repo or a hub
<ckocagil>
hubs make forking and working with multiple repos easier. but they must provide their own, per-repo access control.
<dwrensha>
is "hub" a Gogs - specific term? I'm not sure what you mean by it.
<ckocagil>
dwrensha: hub as in github, a group of repositories with different owners
<dwrensha>
ok
<ckocagil>
that allows forking, diffing, merging across repos
<dwrensha>
single-repo-per-grain is definitely the more Sandstorm-native thing to do
<ckocagil>
I definitely agree, but it will then lack some functionality
<ckocagil>
I think the best of both ways is to provide both as different Sandstorm apps.
<ckocagil>
e.g. "Create a Gitlab repo" and "Create a Gitlab network"
<dwrensha>
does Gogs only provide two permissions levels? read and write?
<dwrensha>
so you can still set up a work flow with pull requests and code reviews
<ckocagil>
hm. I'll check how PRs work with gitlab.
<dwrensha>
I assume Gogs still lets you do pull requests between branches of the same repo?
jadewang has quit [Ping timeout: 265 seconds]
<erikmaarten>
re app packaging, are files in the .sandstorm folder not included in the package? If not, where are these on the virtual machine so I can specifically include them?
<erikmaarten>
Specifically, I have a custom "new document" handler, which seems to work except that the file it should run is not found
<erikmaarten>
dwrensha, any idea?
rustyrazorblade has joined #sandstorm
<erikmaarten>
think I got it
<erikmaarten>
I'll take that back, still seems the file can't be found. The thing is, if I ssh into the machine it's definitely there. Somebody suggested it may be a problem with Windows/Unix line endings, making sure it's not that
mort___ has joined #sandstorm
mort___ has quit [Read error: Connection reset by peer]
mort___ has joined #sandstorm
mort___ has quit [Client Quit]
mort___ has joined #sandstorm
<dwrensha>
erikmaarten: what does your sourceMap look like in your sandstorm-pkgdef.capnp?
<dwrensha>
vagrant-spk makes a new /opt/app directory under /home/vagrant/bundle
<dwrensha>
and copies over *just* the launch.sh file
<dwrensha>
*launcher.sh
<dwrensha>
paulproteus, zarvox: ^ this is confusing. Is there a better way?
<erikmaarten>
aha, yup that's definitely a bit funny
<erikmaarten>
seems simpler to just include the .sandstorm directory explicitly in the pkgdef
<erikmaarten>
and change the path
<dwrensha>
I think the issue is that most of the stuff in .sandstorm doesn't actually belong in the app
<erikmaarten>
right
<dwrensha>
I wonder whether there a way to get meteor's bundling process to include the files you're interested in
<erikmaarten>
actually, the files I wanted to include seem a bit unnecessary. They just export env var, so I figured, why not set those env vars directly in the command in the package definition file?
<erikmaarten>
not sure if there are any downsides, but at least it seems to work
<dwrensha>
that sounds reasonable
home has quit [Quit: Leaving]
<ckocagil>
do you folks work on sandstorm full-time?
<dwrensha>
I am a Sandstorm employee. erikmaarten is not.
<ckocagil>
I see a bright future for Sandstorm, both as an open source and as a business
<ckocagil>
open source project*
<ckocagil>
Also, not that anyone cares much about my opinion, but the lack of a file syncing app seems to be the biggest gap in the app store right now
larjona_ has quit [Quit: Konversation terminated!]
<erikmaarten>
ckocagil, think I heard about somebody building that, but can't remember the name
<erikmaarten>
was somebody possible working on porting syncthing? maybe not
<erikmaarten>
possibly*
rustyrazorblade has quit [Quit: rustyrazorblade]
hrjet has quit [Ping timeout: 250 seconds]
hrjet has joined #sandstorm
erikmaarten has quit [Quit: Leaving]
mnutt_ has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 252 seconds]
rustyrazorblade has joined #sandstorm
simonv3 has joined #sandstorm
mnutt_ has quit [Quit: mnutt_]
rustyrazorblade has quit [Quit: rustyrazorblade]
mnutt_ has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Remote host closed the connection]
<paulproteus>
Ladies and gentlemen -- Meteor Todos is a killer app for Sandstorm users.
<paulproteus>
: D
<paulproteus>
brb working on app store-ifying it
<paulproteus>
Deep down, I don't really like websites.
<paulproteus>
So I'm unhappy to be doing this Keybase verification thing.
<paulproteus>
Oh well.
<maurer>
paulproteus: keybase has a not-terrible command line program
<maurer>
paulproteus: I do think you have to do the initial sign up on a website tho
<paulproteus>
Yeah. I also wish it would import my AMAZING web of trust!
<paulproteus>
My web of trust is good and I have been cultivating it for ~9 years but these keybase people don't care at all about it, which makes me sad.
<maurer>
I mean, my understanding is that it's not a web of trust provider, it's an alt-root provider
<paulproteus>
I know, I know, they're doing something different than web of trusting.
<maurer>
Like, what you're supposed to do is use your web of trust by default
<maurer>
and when you can't find a path, you use keybase to match a pubkey to an online identity
<paulproteus>
But as a result using keybase makes me feel lonely and upset.
<maurer>
I see
<maurer>
What would you like keybase to do with your web of trust?
<paulproteus>
It's okay, it's just a feeling, I will continue to live, and feel healed in like four minutes or something.
<paulproteus>
Display it, and/or auto-track people based on keyserver signatures.
<maurer>
The second thing sound s like it'd be straightforwards to do as a change in their cli
<paulproteus>
It makes me feel like I'm an old fogey and no one cares about hosting old binaries for the IBM System 360 that I grew up with and loved, or something.
<paulproteus>
But anyway. I will stop whining and get back to uploading apps to the Sandstorm App Marketplace. I did subscribe that issue at least, which is nice because if they change their minds I'll find out.
<maurer>
paulproteus: It's OK, I too live in the future past
<maurer>
*future of the past
<paulproteus>
Speaking of which, how did DanC_'s nix stuff go?
<maurer>
Dunno. What he wanted to do is possible with my nix files
<maurer>
So it's theoretically possible to autopopulate the manifest directly from the webapp's built closure
<maurer>
and then call spk on that
<maurer>
Maybe after my proposal, and the next interim progress review for the darpa grant, I'll have the time to try to properly nix things
<maurer>
(ekam and meteor don't make it easy)
<paulproteus>
In the absence of any other info, I expect kentonv is likely to look at that again on Friday. I'll let him comment about his own priorities though.
NOTevil has joined #sandstorm
jadewang has joined #sandstorm
* paulproteus
checks if there's a Cap'n Proto mode for Emacs.
<paulproteus>
Ouch but the Emacs mode doesn't handle indentation.
simonv3 has quit [Quit: Connection closed for inactivity]
neynah has joined #sandstorm
groxx has joined #sandstorm
<paulproteus>
Howdy groxx, always nice to see more people around here. If you have any questions, feel free to ask, and also feel free to be around here just listening (aka "idling").
<groxx>
mostly idling :) seriously considering the service as both user and dev, but super busy lately :|
<groxx>
hanging onto the room is an easy way to not forget. and I might hear random interesting things.
xet7_ has quit [Read error: Connection reset by peer]
xet7_ has joined #sandstorm
rustyrazorblade has joined #sandstorm
<paulproteus>
Great, groxx ! Hope you stay around.
<kentonv>
warren: Signature checking for installs and updates is released. Documentation update (with instructions for verifying the installer itself via PGP) coming later today.
NOTevil has quit [Quit: Leaving]
rustyrazorblade has quit [Quit: rustyrazorblade]
larjona_m has quit [Quit: AtomicIRC: The nuclear option.]
joshbuddy has quit [Quit: joshbuddy]
joshbuddy has joined #sandstorm
rustyrazorblade has joined #sandstorm
<zarvox>
https://github.com/sandstorm-io/sandstorm/issues/919 <-- my proposal for a postMessage API for implementing desktop notifications in Sandstorm. Happy to offer mentorship if anyone wants to work on implementing this!
simonv3 has quit [Quit: Connection closed for inactivity]
rustyrazorblade has quit [Quit: rustyrazorblade]
isd has joined #sandstorm
rustyrazorblade has joined #sandstorm
<ocdtrekkie>
dwrensha : I think I actually briefly looked at porting that when I first saw it. But
<ocdtrekkie>
I didn't.
<dwrensha>
ocdtrekkie: Sing LI is responsible for the Rocket Chat spk