<ocdtrekkie>
I managed to borrow the metadata from an old backup of my TTRSS grain and upload an SPK for an older version and get my TTRSS back.
jadewang has joined #sandstorm
dwrensha has joined #sandstorm
<kentonv>
dwrensha: didn't you add permissions to Game of Y at some point?
mnutt__ has quit [Quit: mnutt__]
todayman has quit [Ping timeout: 246 seconds]
bb010g has joined #sandstorm
todayman has joined #sandstorm
<kentonv>
dwrensha: I found and stole your code!
<ocdtrekkie>
Super prompt bug fix is awesome, jparyani!
<kentonv>
lololol apparently I have had Chrome network throttling enabled for several days and didn't realize it
<kentonv>
I was playing with it trying to simulate a slow connection but it doesn't apply to websockets
<kentonv>
so I forgot I enabled it
<kentonv>
and actually did a kernel-level trick to simulate slowness, and then have been having issues ever since that I thought were because the kernel thing I did left the kernel in a weird state
jadewang has quit [Remote host closed the connection]
<ocdtrekkie>
kentonv: Hacker CMS version number derp.
<kentonv>
?
<kentonv>
I decided not to bump the display version since there were no changes.
<ocdtrekkie>
Oh. It just seems weird. But I suppose that's fair.
<kentonv>
Yeah I guess... oh well.
<ocdtrekkie>
I guess while I'd expect a version version to only bump with code changes, I'd expect a date version to bump with date of package release? I dunno. It's an opinion, I guess.
<kentonv>
yeah, I guess that makes sense...
<kentonv>
but meh, not going to bother now. :P
<kentonv>
btw, note that we're pushing the update tonight but not planning to post announcements until 8am pacific
<ocdtrekkie>
Yeah, I saw the admin note, and I figured you'd announce things at a sensible time.
<ocdtrekkie>
Things announced at 2 AM tend to not get noticed. :D
eloib__ has quit [Remote host closed the connection]
simonv3 has quit [Quit: Connection closed for inactivity]
mquandalle has quit [Quit: Connection closed for inactivity]
jadewang has joined #sandstorm
<kentonv>
I knew this migration couldn't possibly go right on the first try
<paulproteus>
That's not the most reassuring thing I've ever heard.
<kentonv>
yeah so the stripe API will only return 100 customers at a time, then you have to ask for the next 100, etc.
<kentonv>
I wrote a nice loop that checks the has_more field and then repeatedly requests the first 100
<paulproteus>
+1
<paulproteus>
&next=whybother
<kentonv>
it worked great in test when I didn't have 100 customers
<paulproteus>
OK I should go to sleep. Is the idea to announce things at 8am, as you said? That seems so soon.
<kentonv>
yep
<kentonv>
(sitting here waiting for builds to complete...)
<paulproteus>
Guess I should test for that one bug that I was worried about. I'll upgrade rose.sandcats.io (aka asheesh.org) to a `make bundle` from master.
<kentonv>
oh, the self-hosted version has already been updated
<paulproteus>
Oh!
<paulproteus>
Whoa!
<paulproteus>
Hmm, I can't sign out of my self-install. Let me see what's up.
<kentonv>
O.o
<kentonv>
what do you mean by that?
<paulproteus>
I click button and no reaction occurs
<paulproteus>
Which if so is shocking, so I guess template changes are to blame.
<paulproteus>
But anyway.
<paulproteus>
I do think "send feedback" being a nav link to a mailto: is kind of harsh.
<paulproteus>
If it's going to be a link to a mailto: it's nice if it's less prominent. I can live with it for now.
<paulproteus>
Geez the new UI is nice.
<kentonv>
well I fucked up the migration again, so I'll merge it
<paulproteus>
Yay, or something.
<paulproteus>
Also like perhaps you should go to bed.
<kentonv>
uhh
<kentonv>
I can't?
<kentonv>
oasis is broken?
<paulproteus>
o
<kentonv>
and iteration time on fixes is like 15 minutes. :(
<paulproteus>
elections
<kentonv>
that's like 20 seconds of it
<kentonv>
building VM images takes a while
<paulproteus>
Right, I'm just lucky, I forgot.
<kentonv>
ok signout works now
<kentonv>
modulo annoying bug where after signing out if you sign in again immediately you somehow get signed out again in a second or two
<paulproteus>
Yeah, although I kind of wonder if this fixes it, honestly.
<paulproteus>
But we'll see.
<kentonv>
if what fixes it?
<kentonv>
your change? It doesn't. :/
<kentonv>
(I've already pushed the new release with your change.)
<paulproteus>
K.
<paulproteus>
Nope yup confirmed it doesn't fix it.
<paulproteus>
Just repro'd it.
bb010g has quit [Quit: Connection closed for inactivity]
<paulproteus>
OK. I will sleep for now. See you tomorrow!
<kentonv>
'night
mort___ has joined #sandstorm
mort___ has quit [Quit: Leaving.]
ecloud has quit [Ping timeout: 240 seconds]
<jadewang>
ooof
<jadewang>
random flux fail
mort___ has joined #sandstorm
<jadewang>
such screen brightness
ecloud has joined #sandstorm
<kentonv>
ocdtrekkie: I had to un-approve scrumblr because the screenshot was too big. I forgot that Oasis enforces a 1MB limit on total manifest size -- I should probably up that but that'll have to wait for the next push.
<kentonv>
a >1MB screenshot is kind of bad for people trying to browse the app market in any case
mort___ has quit [Quit: Leaving.]
jadewang has quit [Remote host closed the connection]
mquandalle has joined #sandstorm
sunu has quit [Quit: No Ping reply in 180 seconds.]
mort___ has joined #sandstorm
<ocdtrekkie>
It feels like a 1080p screenshot should be okay. Anyways, I'll fix it later today.
mort___ has quit [Ping timeout: 246 seconds]
mort___ has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 250 seconds]
<ocdtrekkie>
Okay, kentonv, I resubmitted it.
davidjgraph has joined #sandstorm
mquandalle has quit [Quit: Connection closed for inactivity]
<paulproteus>
In the absence of input I will make some kind of reasonable-seeming guess!
<kentonv>
paulproteus: nah. Note that that bug only applies to the old invite system (well, not "old" for self-hosters)
<paulproteus>
nod
jadewang has joined #sandstorm
<paulproteus>
(Confirmed that there is no regression where self-hosters end up giving out the ability to create grains to guests, at least, not obviously in the UI.)
<paulproteus>
BTW on Sandstorm we can't do unauthenticated tracking GETs but if this can be XHR-based then it could totally hypothetically live in Sandstorm.
<paulproteus>
But anyway.
<paulproteus>
TIL we support imATeapot
<mnutt__>
haha
<mnutt__>
what do you mean by unauthenticated tracking gets?
<mnutt__>
oh, you mean from hummingbird
<paulproteus>
Ya
<ocdtrekkie>
paulproteus : When I saw mnutt_'s PR, support for 418 was my first thought.
<mnutt__>
supporting teapot grains everywhere
<paulproteus>
By default every grain can only be accessed while logged in, except if you loosen things up by exposing an HTTP API, but in Sandstorm we require an "Authorization: Bearer" header for all HTTP API requests.
<mnutt__>
paulproteus: yeah, it would certainly be possible to have the tracking javascript XHR-post as long as your browser supported it. and probably just not track the other requests.
<jadewang>
howdy paulproteus
<davidjgraph>
lo
<paulproteus>
I'm apparently installing a Haskell package called word8.
<paulproteus>
I'm hopeful this is a pure-Haskell implementation of Word 97.
<ocdtrekkie>
davidjgraph: My biggest wishlist item for the draw.io package is read-only sharing. Is that a possible thing?
<davidjgraph>
ocdtrekkie: if today wasn't a holiday here I would have looked at the permissions
<ocdtrekkie>
Ok
<davidjgraph>
I'll have a play with it tomorrow
<kentonv>
davidjgraph: Any thoughts on adding real-time collaboration at some point?
<davidjgraph>
Not easy in our case
<kentonv>
yeah
<davidjgraph>
I really don't want to put a server in
<kentonv>
well on Sandstorm it would be easier... :)
<davidjgraph>
We have an implementation with sharejs, but I don't want to go non-native in ss
<davidjgraph>
We're researching using the data channel in webrtc with some control written natively in ss
<kentonv>
davidjgraph: I've been thinking it would make sense to implement the sharejs protocol in sandstorm-rawapi-example. Though I guess it may be rather more complicated for something structured like draw.io compared to the usual plain-text docs...
<davidjgraph>
Copying the Google drive RT API might be another route, you could tempt a number of their cloud users over
<kentonv>
hmm, interesting
<davidjgraph>
On a wider scale, could do the Drive API itself
<kentonv>
does your sharejs implementation require a draw.io-aware server or is it based on more general primitives?
<davidjgraph>
The sharejs impl is genericOT, nothing draw on server
<jadewang>
@paulproteus: we're #2 on show HN
<ocdtrekkie>
davidjgraph : Would that fall afoul of 'APIs are copyrightable now'?
<davidjgraph>
Google are pushing devs heavily to use RT over plain Drive API, it makes sense
<davidjgraph>
You can't copyright an API in any country
<ocdtrekkie>
davidjgraph : US? Oracle suit?
<kentonv>
davidjgraph: unfortunately US courts ruled otherwise recently.
<ocdtrekkie>
Did appeals get exhausted too?
<kentonv>
of course Google was the loser in that suit so it would be pretty weird for them to sue us. And probably only good publicity for us.
<kentonv>
ocdtrekkie: the supreme court didn't take the case
<davidjgraph>
I think that case is more then only the method naming and signature
<ocdtrekkie>
kentonv: Just because Google was against the law doesn't mean they wouldn't use it.
<kentonv>
ocdtrekkie: I know you don't think so, but they are smarter than that. :P
<ocdtrekkie>
Smarter? If it's the law, and it helps you, you use it.
<davidjgraph>
How about write wrapper functions with a flag to call the real thing or your impl
<kentonv>
ocdtrekkie: not if it would be terrible PR
<ocdtrekkie>
Interestingly enough, Microsoft is borrowing Android and iOS APIs for WinPhone.
<ocdtrekkie>
Which is now, arguably, similarly an infringement.
<davidjgraph>
I know the right people in Google to talk to, they gave us permission to clone the docs UI
<davidjgraph>
But I'm not sure if that's needed, just a generic OT impl is enough
<davidjgraph>
As long as it managed security and users
<kentonv>
yeah, we should do that
<davidjgraph>
I think there are C reference implementation s
mnutt__ has quit [Quit: mnutt__]
<jadewang>
oh hey, y'all should write reviews of apps that you've used on the app market :)
<au>
(which is fine, I can offer translation for ethercalc in zh-*) ... would there be some interest in factoring out this part to https://www.transifex.com/
<au>
so an independent localization team can (for example) translate shortDescription and description?
<kentonv>
au: TBH LocalizedText isn't really supported yet, other than "defaultText"
<au>
I know - this is more of a howto-in-future question, not "it needs to work now" question
<kentonv>
yeah, I think it would be great if we could easily "crowdsource" translations, not just for the Sandstorm UI but for app maintainers.
<kentonv>
I imagine LocalizedText being extended with some information useful for translators and some sort of unique ID (or maybe defaultText is itself the ID?), and then once you publish things just magically get translated...
<zarvox>
I guess we'd need a way for the translations to get added to the .spk or otherwise redistributed
<ocdtrekkie>
There's definitely stuff that needs to make it, translated, into the spk file.
<zarvox>
I know for OSX, Apple actually excludes *.lproj from their codesigning seals.
<paulproteus>
+1 to factoring it out to e.g. Transifex, and then having a UI for app maintainer to merge it in
<ocdtrekkie>
I am less happy, btw, about screenshots being in the SPK file.
<au>
yeah, and pkgdef.id is a namespace. I'm all good with defaultText itself being the ID (the usual "gettext" model) because within a sandstorm-pkgdef.capnp it's unlikely for two english strings to mean different things.
<paulproteus>
Possibly +1 on other proposals too but that's my vision of the future.
<kentonv>
zarvox: I was thinking there'd be some sort of translation hub that Sandstorm talks to directly, so that the spk doesn't need rebuilding.
<paulproteus>
You could imagine, like
<kentonv>
maybe it's a facet of the market
<paulproteus>
spk translation-sync
<zarvox>
kentonv: yeah, that sounds reasonable
<paulproteus>
Which yeah, what kentonv said, syncs to market perhaps
<zarvox>
the code and defaultText is one immutable bundle, and then the translations are overlays atop that
<paulproteus>
Although we should avoid singletons by letting it support e.g. arbitrary Sandstorm grains that people use for self-hosted Pootle endpoints!!!
<ocdtrekkie>
You don't want translation to be 'requires official market' though.
<au>
(gengo.com has a pretty good API that talks to machine and human translators - "tip this app to translate to your language" sounds good)
<ocdtrekkie>
That's the Google Play Services route.
<paulproteus>
Pootle being one of a bajillion open source transifex-alike things.
<kentonv>
ocdtrekkie: right, it would be configurable
<paulproteus>
This person is neat and I run into them at Debconfs from time to time.
<ocdtrekkie>
SVG screenshots sounds very cool.
<ocdtrekkie>
Though an SVG screenshot of Scrumblr would likely be awful. ;)
<ocdtrekkie>
So much skue.
<davidjgraph>
These are all volunteer translations, BTW, when a translation gets a certain amount out of date any users in that locale get a message in their footer begging for help
<paulproteus>
Having said that, kentonv doesn't like it when we tell people to upvote because it might cause the link to get banned by the terrifying Vote Ring Detector on news.ycombinator.com.
<kentonv>
yeah presumably if you don't upvote things on HN regularly then when you do go upvote one thing it's probably seen as suspicious
<ragesoss>
unlike before, the url of my server isn't a parameter when I load apps.sandstorm.io
<paulproteus>
Yeah!
<paulproteus>
I just alerted kentonv to this.
<paulproteus>
brb figuring out nginx
<ragesoss>
(super excited to try Wekan... I've been using LibreBoard reguarly as my main personal todo list, for a while now)
<dwrensha>
ragesoss: did you get to the app market by clicking the "install..." button from http://sandstorm.ragesoss.com/ ? or did you just directly navigate to apps.sandstorm.io?
<ragesoss>
dwrensha: by clickining install from my domain.
<paulproteus>
ragesoss: BTW let me say _thank you_ for reporting this!
<ragesoss>
mquandalle: Wekan looks great! well done with the new UI!
<paulproteus>
I think your server hasn't updated yet, whereas my personal server did update, so it didn't trigger this issue.
<mquandalle>
ragesoss: Thanks, I'm not super satisfied with some parts of it, but I'm pretty confident we will iterate on that over the next releases
<aldeka>
Yay, Sandstorm is on the front page!
<aldeka>
Of Hacker News, that is.
<ocdtrekkie>
Woot
gopar has quit [Remote host closed the connection]
<erikoeurch>
upgraded Paperwork and it doesn't seem to work now, when opening an old grain, the loading indicator shows for a while and then just a blank page
<erikoeurch>
Also, the app icon has not been updated after upgrading Paperwork. I tried updating Gitlab and that worked fine
<erikoeurch>
To be more precise -- the grain list does not show the Paperwork icon, although the icon shows in the App list
<erikoeurch>
(I'm on Firefox 40.0)
ne_ has joined #sandstorm
NOTevil has quit [Disconnected by services]
ne_ is now known as NOTevil
<ragesoss>
mquandalle: I get 'insert failed' errors in my console whenever I try to add a Comment on Wekan, and the comment doesn't appear.
<dwrensha>
ragesoss: does you board happen to have image attachments?
<ragesoss>
dwrensha: no, it does not.
<dwrensha>
ragesoss: does the grain log have errors like "too many namespaces/collections"?
<ragesoss>
dwrensha: no, I don't see anything like that.
<ragesoss>
dwrensha: nothing new shows up in the log when I click Comment.
<ragesoss>
(the same is true when I save a change to the Description successfully, so I guess that's expected)
<dwrensha>
ragesoss: ok, I've managed to reproduce the problem
<dwrensha>
In Chrome, the error is "insert failed: Error: Board is required"
<paulproteus>
ragesoss: btw can you re-try the install thing?
<paulproteus>
If so, I'll send a note to sandstorm-dev!
<paulproteus>
(if it works, that is)
<ragesoss>
paulproteus: yes, it works now!
<paulproteus>
Sweetness!
<mquandalle>
ragesoss, dwrensha: will take a look
<mquandalle>
Fixed on github
<mquandalle>
I'll probably wait a bit for other bug reports (and maybe fixing the mongoDB issue) before publishing a new version
<mquandalle>
dwrensha: did you manage to run wekan with mongodb 3 on sandstorm yesterday?
<dwrensha>
mquandalle: I only got around to trying 2.6.3
<dwrensha>
I'll give it a try right now...
<mquandalle>
did you take the mongodb bin or are you building it yourself?
<dwrensha>
I'm building it myself.
<mquandalle>
any particular reason for that?
<dwrensha>
just dropping in a binary didn't work as easily as I had hoped
<dwrensha>
library dependencies didn't get included
<paulproteus>
But also I am wondering if the approach he is taking (run a centralized service; hope he has enough users to sustain the costs plus pay people to write it) will work, and if it doesn't, he'll end up presumably very very sad.
<paulproteus>
I guess I should email him, but I'm hopeful someone I know already knows him instead.
<dwrensha>
mquandalle: WiredTiger seems to work well!
<dwrensha>
mquandalle: now I just need to figure out the best way to get you set up with this
<mquandalle>
Yay!
<dwrensha>
maybe I'll make a fork of meteor-spk and send you a link
<mquandalle>
do you have a bin?
<dwrensha>
there's also the question of migratations
<dwrensha>
you'll need to include niscud to export old data, and then reimport it under Mongo3/WiredTiger
isd has joined #sandstorm
<dwrensha>
That migration should presumably be part of meteor-spk, because anyone else who has used meteor-spk will need it to
<mquandalle>
How does WiredTiger compares to niscud in term of storage space?
<mquandalle>
(or the other metrics you were trying to optimize in meteor-spk?)
<dwrensha>
mquandalle: a fresh Wekan with WiredTiger in my current configuration consumes less than 400KB
<dwrensha>
we could make that smaller still, though I don't fully understand the consequences
<mquandalle>
That's already a significant improvement over the 1.7MB we currently have
xcombelle has quit [Remote host closed the connection]
mnutt_ has quit [Quit: mnutt_]
mnutt_ has joined #sandstorm
NOTevil has quit [Quit: Leaving]
isd has quit [Ping timeout: 244 seconds]
isd has joined #sandstorm
davidjgraph has quit [Ping timeout: 260 seconds]
<davidjgr_>
are app permissions entirely app specific? I don't see anything in the ss share box for an app. How do you share something read-only, or does ss have no concept of what the permissions are, just stored them and send them to the app creating them?
<paulproteus>
That's right, it doesn't really know, it just sends it along.
<paulproteus>
It knows that they're bitfields, so it can do some merging, but that's not actually (IMHO) an interesting detail.
<paulproteus>
They are app specific but an app does have to declare them in the sandstorm-pkgdef.capnp.
<davidjgr_>
so the built-in share dialog will just show what I define with tickboxes?
<davidjgr_>
am I supposed to be able to add parameters after ssindex.html with ?....
<davidjgr_>
or is it readFile(kj::str("client/", path, "ssindex.html", "?blah"), context, "text/html; charset=UTF-8");
<davidjgr_>
etc
<davidjgr_>
with readFile(kj::str("client/", path, "ssindex.html?myparams"), context, "text/html; charset=UTF-8"); I get a 404 for ssindex.html
<davidjgr_>
I ask since we pass in the permissions in the URL paramters to get the UI setup
<davidjgr_>
looking at the format it seems like it's only designed to be a static read and deliver
<davidjgr_>
this is WebSessionImpl.get() btw in the raw example btw :)
<davidjgr_>
or would I set the header of the reponse (can I do that)?
<davidjgr_>
ok, there's no way to inject parameters, scrub the first part, guess that'd be a major security issue :D
<davidjgr_>
so set X-Sandstorm-Permissions as for the bridge and look at that?
gopar has quit [Remote host closed the connection]
<mquandalle>
dwrensha: did you try something with wiredtiger on meteor-spk?
<dwrensha>
mquandalle: I'm working on making a branch
<mquandalle>
ok!
<dwrensha>
my problem right now is that g++ 5.2 seems to be too strict to build niscu
<dwrensha>
so I need to manually figure out some flags to pass to it
<dwrensha>
also, I'm putting migration logic in start.js
<mquandalle>
is it clear how the migration are going to work (how to detect the old format, etc.)
<dwrensha>
my strategy is to write the new database in a new directory
<dwrensha>
if that directory does not exist and the old directory is populated, then we need to migrate
<mquandalle>
seems good to me
<mquandalle>
I guess one improvement would be to read a `isMigrationFinished` locker-kind file, so that if the migration is interrupted we can remove the new directory and migrate again on next start
<mquandalle>
but you probably already know that :)
<dwrensha>
yeah, unfortunately meteor-spk currently uses /var for the database directory
<dwrensha>
if it were /var/data or something, it would be easier to make this migration atomic
<paulproteus>
Fascinating, dwrensha.
<mquandalle>
Yep, I was also confused by this (while mongodumping one grain data)
<dwrensha>
er, easier to make it nearly atomic
simonv3 has quit [Quit: Connection closed for inactivity]
<dwrensha>
I guess if there were a /var/data, we could use its existence as the atomic marker
<paulproteus>
++
<mquandalle>
My intuition is that the mongo data being in /var, just makes things a little bit more difficult but the strategy should work anyway
<mquandalle>
But I don't know
isd has quit [Quit: Leaving.]
mort___ has quit [Ping timeout: 244 seconds]
mnutt_ has quit [Quit: mnutt_]
mort___ has joined #sandstorm
mort___ has quit [Client Quit]
mort___ has joined #sandstorm
saneki has quit [Quit: bye]
saneki has joined #sandstorm
mnutt_ has joined #sandstorm
gopar has joined #sandstorm
simonv3 has joined #sandstorm
sasattack-deskto has quit [Read error: Connection reset by peer]