Content
@
0 reply
0 recast
0 reaction
Ryan J. Shaw
@rjs
I think I win the "most impractical frame" award for my countdown clock frame. Some technical details: 1. I wanted a never-ending frame, but it's not currently possible. Streaming is possible with GIFs, but Warpcast's proxy cuts the connection off after some time, and even if it didn't the Farcaster spec says maximum image size is 10MB. 2. So I created an illusion. I generate a 180-second long GIF, clocking in at about 900KB. 3. The trick is I generate that 180-second long GIF *every single second*. Every second, the frame returns a new filename. This means you can load it side-by-side on your cellphone and desktop and they should show roughly the same countdown. Unfortunately either CF / Warpcast doesn't seem to really respect cache-control: max-age=1, but it mostly works. 4. Might be the first ASP.NET-hosted frame? It runs on a Hetzner Cloud ccx23 instance. Everything is done in memory, with unsafe code in the SkiaSharp + KGy Soft libraries doing the lifting. It's crashed once in the past 2 hours.
5 replies
5 recasts
32 reactions
Samuel ツ
@samuellhuber.eth
why manipulate gifs when you can do? https://warpcast.com/cassie/0xd3e3d37b also you can set the expiry of the image, so update your gif based on that
2 replies
0 recast
0 reaction
Ryan J. Shaw
@rjs
Nice link, hadn't seen that one before 😅 1000 $degen So that Doom approach I don't think is possible anymore because it relied on streaming frames (which you can do with JPG or GIF), but the old WC image proxy cut you off after 15 seconds. While it's an awesome hack for a Doom game where you want to be interacting constantly, it doesn't work for a button-less countdown clock that gives the illusion of an infinite frame. TBF I haven't tested what the new Cloudflare-based WC image proxy does in this scenario, maybe I should try!
1 reply
0 recast
1 reaction
Ryan J. Shaw
@rjs
Hey @samuellhuber.eth guess what works with the new CF proxy 😉 3000 $degen
3 replies
0 recast
0 reaction