i think it'll be funny if bluesky ever increases the size limit for image limits (please we need raised limits on images) because the only feasible way would be for imageV2 embeds to exist
i think it'll be funny if bluesky ever increases the size limit for image limits (please we need raised limits on images) because the only feasible way would be for imageV2 embeds to exist
bluesky posts should've had `text` and `facets` on a union'd `content` field that way it's actually possible to change the limit to something nicer like 500 chars
Screenshot of the Morpho client app for Bluesky, showing the navigation drawer open, currently with a similar layout to the official app.
Screenshot of the moderation settings screen in Morpho, showing the built-in content filters and a link to a custom labeler. Cut off at the top are muting and blocking settings.
Progressing.
Bunch of behind the scenes refactoring and lessons learned the last couple weeks, but getting closer to minimum viable product.
feels good
hmmm
and maybe 4th time is the charm.
and again from the thread view
testing something.
ok, check check.
dangit, that bug in Morpho again lol. Could have sworn I got it for good this time. Actually, I think I know why it happened on that post and not others, it hadn't loaded the parents in the thread to correctly select its root.
Wat. Compose as a UI system is, I've discovered, kinda crappy in a bunch of ways (lots of performance footguns hidden around), but it can manage that, at least.
Got something working today.
While youWatching {
Kitty.sleep_ms(300);
}
Pixels<Kitty>::resize()
Test cat, encode plz
RefCell<Kitty>
Test image, please ignore (again)
Imagem de teste, por favor ignore (novamente)
Well, I definitely didn't do the encoding right on the upload. That's irritating.
Test image, please ignoreImagem de teste, por favor ignore
Further progress! Fixed the badly misbehaving Android build. ImmutableList and serialization do not mix for some reason, and the state saving bundle stuff Android does is of course serialization. Was running into this when I put a JSON export menu option for debug, but it went way, way deeper.
If you want to understand how we scaled to handle this influx like we did, this blog post from @gergely.pragmaticengineer.com goes over a lot of our design and implementation decisions
The Adult Content feed, with all posts hidden behind a click-through which explains the label that caused it.
Progress today:
Content filtering initial implementation working (note lack of genitals in the attached image)
Still to do:
- display non-filtering labels on posts (plus more stuff in the filtering backend)
- show stats, who liked, etc. on right-click/long-press
For sure. Honestly, that's part of why I decided to see if I could hack in a quick way to display the images instead. The way Compose Multiplatform (or on Android) does inline image content is a bit awkward, which is part of why I keyed off the placeholder glyph for proper placement.
The placeholder character used, is that inherent to the standard or should I figure out a better way to slot it in in the correct spot?
Screenshot of Morpho showing a bluemoji (custom emoji facet for ATProto) being rendered inline with the text.
Added basic support for display of bluemojis as an exercise.
No worries. Had to take a hiatus from development due to finishing up school while working a lot and dealing with some health stuff, but with more free time now and with things better on the health front, gonna try and make a big push for a public alpha release.
No, there's a bunch of stuff still to get done before it's ready for other people to use it. Like respecting things like nudity labels, which is sorta important to put it on the Play Store. It's also a bit crashy, certain exceptions (ser/de stuff) which shouldn't crash the app currently crash it.
A screenshot of the Morpho Bluesky app, showing the thumbnail for a video (Big Buck Bunny, the classic Blender showcase) posted by @samuel.bsky.team, reposted by this account.
Well the deserialization is fixed. Not going to implement playback for a while, other things which are much higher priority for basic usablity need to happen first.
are you excited for videos??
Trying to find which dev put a video embed in the timeline already lol. Need to start logging these things better. Found out the usual way, because Kotlin deserialization yelled at me over it and threw and exception.