Email or username:

Password:

Forgot your password?
572 posts total
Alexey

@grishka Hopefully this one wouldn't be as annoying as VK's version 😁

Gregory

Why does this need to throw an exception?

Gregory

So Facebook is down? It better stay that way tbh.

Gregory

A weird TIL about web development. This JS:

var el=document.createElement("input");
el.type="file";
el.click();

would actually pop up an open file dialog. You don't even need to add it into the DOM.

Gregory

Before that, I thought that the <label> hack was required. It's the only way to restyle a file input that works without JS, but at some point I decided that interacting with the content, and creating it, requires JS, while viewing still does not. It's simply easier this way.

Gregory

With this sorted out, will Google finally ease its pushing Kotlin everywhere?

Alexey

@grishka That looks like a well-formed activity, interested why does Lemmy freak out

felix

@grishka thats expected when you are missing a mandatory field in an apub object. Let me know if you need any help with that.

Gregory

There are good things about Android development, but then there's also this:

Gregory

It turns out you can do pretty wild stuff with SVG filters. Here's an inner shadow on some VK icons I vectorized:

Gregory

These are from this attachments menu. I added one of my own for CWs because that's the next #Smithereen feature I'm working on.

Gregory

*slaps roof of Telegram's ChatActivity*
You can fit so many anonymous inner classes in this thing!

Gregory

#Smithereen update. Group admin lists are now federated. The #ActivityPub representation is compatible with PeerTube (via attributedTo) but extended with titles, so here's a screenshot of how a PeerTube channel looks in my UI.

I also rewrote my handling of cases when one object depends on another and you need to fetch the entire chain (wall post depends on its owner group, group then depends on its admin actors).

@activitypub

Gregory

I'm now going to take a break from Smithereen to participate in this Telegram contest: t.me/contest/234

felix

@grishka so peertube supports groups? Im surprised by that. Also, have you ever tried to federate with lemmy? We have open test instances at enterprise.lemmy.ml

@activitypub

Gregory

This is for when I'll bring the wall back. The Wallβ„’ can't ever be complete without a graffiti editor!

Will have to decompile this swf and rewrite it in TypeScript or something. Current VK does have the modernized non-flash version of this graffiti editor (buried 3 clicks deep) but tbh it would be easier to rewrite this from scratch than to untangle its dependencies on the the rest of VK JS.

Gregory

#Smithereen update: group admins. Though they don't federate yet. And even when they will, you probably won't be able to make a remote user an admin as that would require A LOT of new activity types to be invented. It would probably be best to wait for someone to implement a federated forum to figure out how to go about this.

#activitypub @activitypub

Alexey

@grishka Is <hr/> in the name an HTML injection test?

felix

@grishka as a matter of fact I implemented federated group moderators this week. They can remove posts/comments, but I decided not to let them change the group itself (update/delete), cause that would be way too complicated.

yerbamate.ml/LemmyNet/lemmy/pu

@activitypub

Gregory

This cool new UI allows you to change the order in which group admins are displayed. That animation where it snaps back into place is ridiculously smooth.

Also TIL that JS doesn't have a long-tap event?!?!

#Smithereen #ActivityPub

Gregory

Trivia about why it's smooth.

Many tutorials suggest doing position: absolute and then changing top/left to move the thing around. That's suboptimal as it likely triggers layout.

I worked with native UI toolkits (Android especially) a lot. In those, layout and drawing are always separated. Re-layout is an expensive operation that you absolutely don't want to run every frame. Transforms though are free because the GPU does these calculations anyway.

So I use transform: translate() instead.

marius

@grishka hey man, did you look into my suggestion to use multiple attributedTo IRIs for the admin list ?

Gregory

One more thing left, for desktop version anyway: they need to be reorderable by dragging. And then the mobile template. And then it's done as far as the UI goes.

Still not sure how to represent these group admins in #ActivityPub objects tho. PeerTube uses a similar construct for its channels and uses `attributedTo` to link a channel with its managing user. But I can have multiple admins per group, that's the point πŸ€”

#smithereen

Gregory

Just found A LOT of screenshots of the old VK design. There's an abandoned official group where people were suggesting ideas and reporting bugs, and there are many photo albums of this stuff. Now I have as much reference for #Smithereen UI design as I could've ever asked for πŸ‘

I've also found some tutorial kind of screenshots dating as far back as 2006 (attached) β€” that's before I signed up! And groups apparently were there from the beginning, in about the same form I'm making them.

Gregory

Uh, and I've only now noticed that on the 2006 screenshots, THERE IS NO NEWSFEED in the left menu!

Anyway, here's what newsfeed looked like in 2009-10, pre-microblog.

Gregory

Tweaking #Smithereen design to resemble you-know-what better 😏

Also made these boxes scrollable.

Go Up