#social 2018-07-12

2018-07-12 UTC
timbl, tantek and up201705417 joined the channel
#
cwebber2
aaronpk: replied... I also can't open it in Racket's crypto lib either
#
cwebber2
but that one gives a helpful-ish error
#
aaronpk
womp womp
#
cwebber2
I think it's a problem with pleroma's PEM / ASN.1 encoding
#
cwebber2
see? this completely validates my ASN.1 / PEM sucks rant above :)
#
aaronpk
can mastodon read pleroma's keys?
#
cwebber2
I know there's an error somewhere and I can't figure out where
#
cwebber2
aaronpk: good question... I figure it probably does, because they're talking
#
aaronpk
I.. don't think this is unique to PEM ;-)
#
aaronpk
this is my experience with any crypto stuff. "there's an error somewhere and I can't figure out where"
#
cwebber2
aaronpk: yeah, but in terms of key encoding at least it would be transparent with csexps
#
cwebber2
ASN.1 / PEM are largely opaque without doing some *insane* parsing
#
aaronpk
I dunno, I don't think transparency would help me debug this any
#
aaronpk
i'd still look at it as an opaque blob
#
aaronpk
anyway this train of thought doesn't seem particularly productive, as it's very unlikely that the whole industry is going to switch away from PEM any time soon
#
dansup
I just checked, pixelfed is using the proper format like mastodon :)
#
aaronpk
"proper"? ;-)
#
aaronpk
that's a judgment call until there's some docs saying which one is "correct"
#
dansup
"when in doubt or not covered by the spec, do what mastodon does"
#
aaronpk
^^^^ this is how the monoculture problem starts ^^^^
#
cwebber2
aaronpk: to be fair it's partly also a side effect of us being somewhat hand-tied in the socialwg of not being *able* to define the auth stuff
#
dansup
thats what I was told by a few other developers
#
cwebber2
hopefully we can do better in the cg
#
cwebber2
I think your issue is a good step
#
Loqi
[Christopher Lemmer Webber] I wonder if a Pleroma hacker such as @lain or @kaniini have any info about how their keys are being generated and rendered in PEM format? https://github.com/w3c/activitypub/issues/315
#
cwebber2
> @cwebber pkcs#1. we can change to ASN if standardized that way.
#
cwebber2
so this is PEM related:
#
cwebber2
PEM has a number of different and crazy encoding systems under the hood
up201705417 joined the channel
#
cwebber2
it *looks* uniform, but isn't
#
cwebber2
http://luca.ntop.org/Teaching/Appunti/asn1.html is dramatically outdated, by 25 years, but even 25y ago you can see how complicated that shit was
#
cwebber2
it's only gotten dramatically worse since
#
aaronpk
My only criteria for what key format is used is that it's widely supported across a variety of languages and platforms, and is actually stated somewhere in some documentation
#
aaronpk
I don't really care what is used in the end
#
nightpool[m]
re: monoculture stuff, like I said a couple timesโ€”we had no idea this would even be a problem because ruby openssl parses both formats transparently.
#
nightpool[m]
I'm pretty sure most people wouldn't even know there are multiple formats you can use with PEM encoding
#
nightpool[m]
the web payments guys apparently didn't (or didn't care)
#
aaronpk
that's *exactly* why it's so important to have multiple implementations early
#
nightpool[m]
well i mean
#
aaronpk
"because ruby openssl parses both" <-- get more languages involved from the start to avoid this problem
#
nightpool[m]
we had like 4
#
nightpool[m]
c#, elixer, ruby, and a couple other small ones
#
nightpool[m]
noone ran into this problem
#
aaronpk
cause everyone was just testing against mastodon?
#
nightpool[m]
not particularly
#
nightpool[m]
i think this is just a relatively surprising behavior by one stdlib
#
aaronpk
two apparently
up201705417 joined the channel
#
nightpool[m]
oh, racket was having a problem also?
#
aaronpk
that's what cwebber2 said
#
nightpool[m]
yeah i dunno
#
nightpool[m]
there's lots of weird semi-monoculture stuff in our activity implementations
#
nightpool[m]
but i dont think this is one of them
#
kaniini
hi
#
kaniini
cwebber2, aaronpk, nightpool[m] pleroma presently use pkcs#1, but i am changing it to x509.
#
cwebber2
heya kaniini
#
aaronpk
do you know how you ended up with pkcs#1 in the first place?
#
cwebber2
that's probably the path of least resistance
#
kaniini
aaronpk yes, it is the default preference for erlang public keys
#
aaronpk
interesting
#
kaniini
if you manually specify SubjectPublicKeyInfo instead of RSAPublicKey, you will get x509 key instead.
#
cwebber2
looks at https://tools.ietf.org/html/rfc8017 and sees lambda and briefly fears that pkcs#1 is turing complete
#
cwebber2
looks like it's just for the LCM operation though
#
cwebber2
tries scrolling through the pkcs#1 spec and cries
ben_thatmustbeme joined the channel
#
dansup
heh
#
kaniini
i suspect that may be the interop problem we have with misskey too.
#
kaniini
some node.js versions hate pleroma
#
kaniini
aaronpk please try https://pleroma.dereferenced.org/users/kaniini with application/ld+json; profile=...
#
kaniini
that works too yes
#
aaronpk
kaniini: if you send me a follow request I'll reply back with an accept immediately
#
Loqi
Aaron Parecki
#
kaniini
ok
#
kaniini
aaronpk is that webfinger enabled
#
kaniini
yes, it is
#
kaniini
aaronpk seems to work, my server accepted your http signature
#
aaronpk
Also I just sent you a like so you should see that
#
kaniini
i don't see any likes
#
aaronpk
lemme check my logs
#
kaniini
but i assume your implementation was able to decode my key
#
aaronpk
hm it doesnt like the JSON
#
kaniini
pleroma has certain Opinions(tm) about activitypub, so they might not clash well with what your impl wants
#
aaronpk
I get back {"errors":{"detail":"Internal server error"}} with Accept: application/json
#
kaniini
hmm
#
aaronpk
and I get XML with "Accept: application/activity+json"
#
kaniini
on what uri
#
kaniini
that's not the real uri
#
kaniini
but should probably 302 to the real uri for the activity
#
kaniini
hum
#
kaniini
it used to
#
kaniini
idk why it quit working
#
aaronpk
that's what I found from the web UI
#
kaniini
but usually stuff is like
#
kaniini
we're trying to phase out the gnu social urls
#
aaronpk
I mean I was on your web page and clicked the timestamp
#
aaronpk
so I would have thought that would work
#
kaniini
no, it should work
#
kaniini
let me look into it
#
kaniini
but can you decode the key i am sending as publicKeyPem now?
#
aaronpk
if it redirects to the "real" url that's fine
#
kaniini
i just want to make sure that's good
#
nightpool[m]
kaniini: the /notice/ routes are what pleroma publishes as human-readable urls
#
nightpool[m]
and it only uses the activities stuff for the URI
#
nightpool[m]
so most people see the notice routes
#
kaniini
nightpool[m] in pleroma FE, yes. in mastodon FE, we use the activity uri now
#
aaronpk
I do see the new key
#
kaniini
notice urls are being deprecated when pleroma FE goes to native ap c2s
#
aaronpk
but I don't really have a way to test it without trying to send you something
#
aaronpk
if you got the Accept activity from me then it worked
#
kaniini
that one should work :)
#
nightpool[m]
mmm. i can only speak for what I see from pleroma's activities
#
nightpool[m]
url as notice, id as object
#
aaronpk
wait that url just redirects to the other one
#
aaronpk
oh I see but it returns json with the accept header
#
kaniini
if you use a browser yes :)
#
kaniini
you can also put .activity+json at the end of it
#
kaniini
but
#
kaniini
notice urls should work too
#
kaniini
looking into it...
#
aaronpk
weird, I still can't seem to deliver an activity there
#
aaronpk
oh I must be sending the wrong accept header in that case
#
aaronpk
maybe also return the activitystreams json for "Accept: application/json"?
#
aaronpk
getting server error right now
#
aaronpk
getting the right object now
#
aaronpk
apparently mastodon returns a "url" property that pleroma does not, and I was expecting to find the "url" property
#
kaniini
url property on which
#
kaniini
that's an AS2 object
#
kaniini
i don't think mastodon sends an url property there
#
aaronpk
it does
#
kaniini
ah i see it
#
kaniini
i can add it, but it's not required by AS2
#
kaniini
so i wouldn't depend on it
#
aaronpk
I should figure out why I thought I needed to use it then
#
aaronpk
I added a check for both "id" and "url" at that part of my code
#
kaniini
(to my knowledge anyway)
#
aaronpk
gotta run for now tho. it looks like the new public key is right anyway, so gotta debug the rest of this later
#
kaniini
ok
#
kaniini
pleroma also does not implement json-ld at present
#
aaronpk
Interesting
#
aaronpk
i don't do any of the JSONLD stuff either, i just treat it as JSON
DenSchub joined the channel
#
tuxether[m]
are inbox and outbox in-memory data structures?
#
aaronpk
That is entirely up to you I think
#
tuxether[m]
I'm using with the go-fed library in golang which seems to use in-memory representations. Do other implementations do the same?
#
aaronpk
I don't actually store anything in my inbox, I just process the requests it gets and sort out the data to be stored elsewhere
#
aaronpk
Mine is not a conventional implementation tho
#
tuxether[m]
So it's okay to read from a SQL database and use the inbox/outbox only to read/write to the database?
#
aaronpk
If you're concerned that a particular internal data structure is "wrong" according to the spec then the spec has gone too far
#
aaronpk
Feel free to ignore anything in a spec that dictates how you do things internally. The point of these specs is to describe how to make two unrelated systems communicate with each other
#
aaronpk
In particular, if there is some language in activitypub that makes you think a SQL database is not appropriate, please point that out or file an issue on the spec because that would be very misleading
#
tuxether[m]
ok. That clears things up. I just wasn't sure. I don't think the spec particularly ruled out databases.
DenSchub_, xmpp-social and vasilakisfil joined the channel
#
puckipedia
ok, Kroeg now has authorization
#
fr33domlover
thinks JSON-LD is horrible and wishes AP and AS2 just worked over plain RDF
#
fr33domlover
also thinks the JSON-LD spec itself is horrible and wonders how it was even accepted
#
fr33domlover
(especially the API part)
timbl joined the channel
#
jaywink[m]
can someone explain in plain english what is the benefit of even trying to implement JSON-LD? AFAICT AP can be done by just working with JSON. while implementing, is there actual benefit of trying to go the hard route of json-ld?
#
puckipedia
jaywink[m]: for me primarily: extensions, better resilience against wonky objects
#
puckipedia
any incoming objects into kroeg get translated into node maps, which are then used
#
fr33domlover
Why was JSON-LD even chosen for AS2 / AP ?
#
fr33domlover
They could choose something that is more like plain RDF
#
fr33domlover
It's simpler, established, lots of software support
#
puckipedia
they chose /compacted/ json-ld which is close to just being JSON
#
fr33domlover
puckipedia, yeah but that's just for the core vocabulary :-/ I don't like this closed world feeling
#
puckipedia
and yeah I internally use stuff that is pretty close to RDF because it's easier to process safely
#
fr33domlover
Not to underestimate people's effort, but I feel like I suffer the most because I'm implementing JSON-LD in Haskell which is a functional language and strongly typed. And the JSON-LD is waaaaay too much JS biased and it makes it a nightmare for me
#
puckipedia
looks at her jsonld implementation in rust
#
fr33domlover
*the JSON-LD API spec
#
tuxether[m]
JSON-LD in any strongly typed language would be hard, not just Haskell.
#
puckipedia
and yeah, the API assumes js objects, which is slightly disappointing
#
fr33domlover
tuxether[m], yeah I agree
#
puckipedia
it's not /impossible/ though
#
fr33domlover
tuxether[m], but it's because the spec is written based on JS code (or thoughts of a person who thinks in terms of JS code)
#
fr33domlover
It would have been written with types of stuff specified properly
#
fr33domlover
IMHO it should have been because it's a specification
#
fr33domlover
It should be accurate
#
fr33domlover
Even if the JS implementation of digital bazaar isn't
#
fr33domlover
(it's their problem, not ours... why do we need to suffer :p)
#
tuxether[m]
Because we're a small group. The haskell userbase is only recently growing.
#
puckipedia
amusingly, the work I did implementing JSON-LD in Rust made a bunch of other things /easier/
#
fr33domlover
tuxether[m], I mean we as in everyone in the world except for digital bazaar :p
#
fr33domlover
(or people who rely on their JS implementation)
#
puckipedia
the node map that is primarily meant as "internal" structure is really useful as entity representation
#
fr33domlover
At some point I considerd to implement JSON-LD in Haskell using a plain JSON object type and nothing more, and just emulate the spec's imperative style
#
fr33domlover
But it makes me want to cry,
#
fr33domlover
THe thought of Haskell code written like that
#
puckipedia
the rust code uses a "json" enum which looks like, approx
#
puckipedia
enum Value { Object(Map<String, Value>), Array(Vec<Value>), Number(..), Boolean(..), String(..), ... }
#
fr33domlover
So I'm pushing through a properly typed version and purely functional style by default
#
fr33domlover
puckipedia, yeah Haskell has such a type in aeson, the most popular JSON library
#
fr33domlover
Another problem though, is that if you use that type all along, the code is error prone / errors can detected late
#
tuxether[m]
I agree. Haskell code needs to look beautiful. But I'm surprised no one has done JSON-LD.
#
fr33domlover
tuxether[m], people thought about it but guess what
#
puckipedia
fr33domlover: this is /complicated/
#
fr33domlover
the person eventually used JS code the project
#
fr33domlover
so they didn't need it in Haskell :p
#
tuxether[m]
Does aeson-ld not work?
#
puckipedia
fr33domlover: I assume you mean ensuring that the incoming structure is already properly structured?
#
fr33domlover
tuxether[m], people often do frontend in non Haskell languages etc.
#
fr33domlover
and then they end up not needing JSON-LD in Haskell
#
fr33domlover
puckipedia, I mean that the ensuring causes a runtime error; proper typing catches it as build time
#
fr33domlover
When possible
#
puckipedia
it isn't that difficult to create a typing structure for expanded JSON-LD, contexts, and node maps
#
tuxether[m]
looks at aeson-ld source code. disappointed
#
puckipedia
yeah same
#
tuxether[m]
fr33domlover: I'm sure there's people on the Haskell IRC who would like something to do :)
#
fr33domlover
tuxether[m], I'm already working on this :)
#
puckipedia
this kind of thing (where a completely empty repo exists) is why I don't publish my code until it's far enough :<
#
tuxether[m]
so, is the Haskell activitypub implementation going to be a server or a library?
#
tuxether[m]
I was thinking of bootstrapping AP in haskell, and thought a library doing templateHaskell could ease the burden of writing AP/AS code
#
tuxether[m]
don't have time to do it right now, sadly. Getting an AP server up in golang
#
fr33domlover
is doing AP in Haskell
#
fr33domlover
(ActivityPub)
#
tuxether[m]
understood, but is there a plan to factor out the AP bits into a reusable library?
#
fr33domlover
tuxether[m], yes :)
#
tuxether[m]
fr33domlover: awesome!
#
puckipedia
Kroeg's rust code is also meant to be easily reusable lol
#
fr33domlover
:)
#
puckipedia
the entity store is separate and meant to be easily replacable, the activitypub-related entity handlers are implemented in a separate module from the rest of the code
#
puckipedia
so someone could e.g. extend kroeg by writing a new rust crate, then letting the server depend on it + list the handlers
#
fr33domlover
tuxether[m], I'm writing a Yesod web app, so, it's going to be whatever piece is generally reusable, and then Yesod wrappers, and then perhaps even some subsite/utilities including DB models for adding AP to a yesod web app
#
tuxether[m]
kroeg on github is C# ?
#
fr33domlover
I'll modularize everything I can (I generally do that as I go)
#
tuxether[m]
fr33domlover: in golang there's the go-fed library which aims to be fully spec compliant but not bother with implementation.
#
fr33domlover
tuxether[m], yeah I saw. But doesn't Go already have a JSON-LD implementation?
#
fr33domlover
So go-fed could just use it
#
tuxether[m]
yes, it does. somewhere.
#
fr33domlover
tuxether[m], json-ld.org links to it
#
puckipedia
tuxether[m]: yeah, odler version
#
puckipedia
older(
#
puckipedia
that one has been put on hold
#
fr33domlover
I'm splitting my JSON-LD lib into one with fully typed node objects, and another one that parses those objects from a plain JSON object. Any HTTP client lib and any JSON parser/encoder can be plugged in that way
#
fr33domlover
When I finish this I will become a saint
#
fr33domlover
You can then call me St. fr33domlover
#
fr33domlover
(tbh even then I'll minimize my use of JSON-LD because it's so scary and error prone and people rarely implement by the spec because it's abiguous and disagrees with tests and with the original JS impl... not exactly the kind of format/spec you want to rely on for the long term)
#
tuxether[m]
correct me if I'm wrong. Isn't JSON-LD optional?
#
fr33domlover
tuxether[m], in plain AP? Yes. But I need extensions and I want freedom to work with RDF. So I'm gonna convert all the JSON-LD to RDF, work with RDF, convert to JSON-LD, compact it and throw it into the HTTP responses
#
fr33domlover
I want my code to be relevant for the long term and work with actual generic linked data
#
fr33domlover
Not those very very specific JSON structures
KjetilK_, cwebber2 and timbl joined the channel
#
dansup
up201705417: Congrats on the first big step for GNU/Social AP support!
#
up201705417
thx! :) (for some context: https://loadaverage.org/notice/13330474 )
#
Loqi
[Diogo Cordeiro] MMN-o โœ…โƒ  [video]
fr33domlover and fr33domlover1 joined the channel
#
cwebber2
wow awesome up201705417 :D :D :D
#
cwebber2
what can we do to turn the tide on the impression that AP is for public-only stuff?
#
kaniini
what do you mean
#
kaniini
AP has the privacy attributes of email
#
nightpool[m]
most people would feel comfortable emailing their dick pics
#
nightpool[m]
to adopt your metaphor
#
jaywink[m]
you can end to end encrypt. that is all
#
kaniini
if you want true privacy, OMEMO extension is the way to go, and adopting Zot-style security model for attachments
#
kaniini
but i don't think people should email dick pics either
#
kaniini
to continue with the metaphor :)
#
aaronpk
it's not only "malicious" servers that might leak private posts, it's also servers that just ignore the audience property because they don't plan on ever handling private info
#
kaniini
i didn't use the word 'malicious' for a reason :)
#
kaniini
cwebber2 feature discovery would be nice
#
cwebber2
kaniini: this started way back when some folks started porting the complaint that "Mastodon has advisory privacy only", and at that time, Mastodon did do some things that weren't in compliant with OStatus' expectations and did broadcast some private stuff publicly
#
cwebber2
and then when ActivityPub was adopted, that same phrase "advisory privacy only" was applied
#
jaywink[m]
Zot style permissions wont help if the server admin is malicious and looks at your pics
#
kaniini
jaywink[m] it won't, that is true :)
#
aaronpk
I was reading the thread sorry
#
cwebber2
despite me *never* having heard of someone say such a thing about email
#
cwebber2
saying the admin can read your stuff?
#
cwebber2
absolutely
#
kaniini
cwebber2 the problem is people have different expectations of email vs social networking
#
cwebber2
but the impression being given is that in activitypub that there's not the level of directness
#
kaniini
historically, facebook has kept your info 100% safe
#
kaniini
(this is the perception, not the reality)
#
kaniini
most believe, because of facebook keeping your info locked up, that other platforms do as well
#
kaniini
which is why everyone is always shocked that a non-conformant implementation might leak their data
#
kaniini
this isn't a problem of the activitypub protocol itself
#
kaniini
i mean, bluntly, like i don't want people to email their dick pics, i don't want people to use activitypub to spread their dick pics either
#
cwebber2
I'm not sure we need to use dick pics as the metaphor here :P
#
cwebber2
I get the idea
#
kaniini
okay, 'privacy-crucial data'
#
cwebber2
there we go
#
kaniini
so the question becomes
#
kaniini
is activitypub meant to be a WebMTA
#
kaniini
or is it meant to be more than that
#
kaniini
personally, i think activitypub is in the right spot right now. with native AP C2S, an EncryptedEnvelope object type could be added to do something like PGP for people who want that
#
kaniini
at least, this is my plan in pleroma 2
#
cwebber2
I agree with the value of having the EncryptedEnvelope
#
cwebber2
and also with not giving the impression that AP provides *more* privacy than it currently provides
#
cwebber2
I just also don't want to give the impression that everything is generally public only, and that the addressing is meaningless
#
kaniini
the problem is
#
aaronpk
I just realized that technically my server is already doing this
#
kaniini
people assume privacy == end-to-end encryption
#
aaronpk
since my server is just for me, and I don't use it for reading other ppls' content in my Inbox, I've ignored all audience stuff because it wasn't important
#
kaniini
yes, to/cc fields are a form of 'privacy' too, but it is not the 'privacy' that your average person associates with the word 'privacy'
#
kaniini
so, we need to remind people that it is not E2E
#
aaronpk
but, if I get a "Like" activity, I show the like on my post publicly. and if that Like activity has some audience thing indicating it's not public, I go and show it publicly right now anyway
#
kaniini
that's what the warning is about :)
#
aaronpk
(that doesn't happen with comments for me right now because I actually convert the comment into a webmention so it will only show up on the post if it's public anyway)
#
aaronpk
but yeah given that you can have a working implementation of activitypub while ignoring "audience" completely means that you can't rely on people actually respecting it even if they're not trying to do something wrong
#
kaniini
cwebber2 it is also important to note that people have already modified both pleroma and mastodon to leak messages publicly
#
kaniini
which is why pleroma has gained quarantine mode
#
kaniini
quarantine mode = never send anything that isn't addressed to https://www.w3.org/ns/activitystreams#Public to this server
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
Guest62Dan joined the channel
#
Guest62Dan
I think I have done a garbage job at connecting to this chat but I was watching the logs at the time and I feel like there is not a need for new Objects to cover end to end encryption
#
Guest62Dan
we have contentType which can be pgp-encrypted or multipart encrypted and then the content string can contain encrypted data
#
kaniini
Guest62Dan what if you want to encrypt the metadata too
#
kaniini
:)
#
Guest62Dan
Wrap it in an object
#
Guest62Dan
contentType json+ld
#
kaniini
congrats, you just reinvented EncryptedEnvelope from first principles
#
kaniini
;)
#
jaywink[m]
btw, has anyone seen microblog.pub? haven't seen it mentioned here. It's a Python based single user AP server - https://github.com/tsileo/microblog.pub .. the AP code looks good and is in its own repo: https://github.com/tsileo/little-boxes
#
Loqi
[tsileo] microblog.pub: A self-hosted, single-user, ActivityPub powered microblog.
#
Guest62Dan
I am confused as to why it needs a name though
#
Guest62Dan
Doesnt that require muddling about with extensions?
#
kaniini
Guest62Dan in my case, it needs a name because i do not implement json-ld
#
Guest62Dan
You implement json though
#
kaniini
i would rather not go into the exact details as to why that is, because it is not productive, but we will just have to agree to disagree on it
fr33domlover1 joined the channel
#
aaronpk
kaniini++ for sticking to plain json :)
#
Loqi
kaniini has 1 karma
#
Guest62Dan
I mean we could also talk about it but if you don't want to that is ok too
#
aaronpk
I also ignored all the json-ld stuff and treat it as just json
#
kaniini
aaronpk well
#
kaniini
we do some "json-ld" like stuff
#
kaniini
for example, we know how to dereference IRIs
#
kaniini
but
#
kaniini
turning the json into an rdf object and all of that stuff, if it ever becomes a hard requirement, i hear zot6 is nice :)
#
aaronpk
if that ever becomes a hard requirement that's gonna be the end of my support of activitypub ;-)
#
kaniini
i mean, i understand this is a w3c production, and due to politics semantic web crap has to be shoved into everything, but i can pretend it doesn't exist right now :P
#
aaronpk
๐Ÿ‘
#
aaronpk
we tried hard to keep it out
#
kaniini
i guess it is better than standardizing at IETF these days
#
kaniini
activitypub at IETF would turn into some variation of RADIUS or something whack like that probably
#
jaywink[m]
kaniini++ for giving a laught and making me more confident I don't have to ever open the json-ld spec :P
#
Loqi
kaniini has 2 karma
#
kaniini
in fact
#
kaniini
if there is somebody at W3C i can just go get super drunk
#
kaniini
and he will be like
#
kaniini
JSON-LD removed from ActivityPub? done!
#
kaniini
please, just let me know now
#
kaniini
i will get it done
#
aaronpk
hahaha I wish that's how it worked
#
Loqi
rofl
#
Guest62Dan
I mean the spec doesn't require it. It is just an option for defining ontological extensions
#
puckipedia
kaniini: btw, the like_count / likes thing in your activitypub representations makes kroeg unhappy
#
dansup
puckipedia: Why is that?
#
puckipedia
because kroeg parses it as "_:like_count" which gets discarded, and as:likes which should be a collection, and instead now is a set of users which will then be tried to be parsed as collections
#
puckipedia
i'm not going to complain about it, but mastodon won't like it either
#
puckipedia
you can create a collection stub by replacing it with a /followers object which is just {"totalItems": 4}
#
dansup
ok, thanks!
#
puckipedia
like, it won't conflict with anything, it also won't show up in most other things
#
kaniini
puckipedia that is internal-representation being leaked out
fr33domlover and fr33domlover1 joined the channel
#
Gargron
every HN thread about something fediverse-related there is the same person pushing forward Movim
#
jaywink[m]
XMPP is still fighting on ๐Ÿ˜
fr33domlover1 and vasilakisfil joined the channel