
frog.fm
/frogfm2454
Framework for Farcaster Frames 🐸 https://frog.fm
v2 Frames need 🐸
Anything in the works for Frames v2?
casted in home feed by accident, please check!
11517
Vladyslav Dalechyn
@dalechyn.eth·00:58 06/11/2024
Mini-App Txns are finally in frog@0.18.1!
https://frog.fm/concepts/mini-apps
I prepared an example app so you could fork it.
https://github.com/dalechyn/mini-app-example
https://mini-app-example-liart.vercel.app/api
https://frog.fm/concepts/mini-apps
I prepared an example app so you could fork it.
https://github.com/dalechyn/mini-app-example
https://mini-app-example-liart.vercel.app/api
Starting something with Frog?
Check out Frames that community is sharing!
Or if you have one, please share it there.
https://github.com/wevm/frog/discussions/22
thanks @jilt for sugggestion to highlight this!
Check out Frames that community is sharing!
Or if you have one, please share it there.
https://github.com/wevm/frog/discussions/22
thanks @jilt for sugggestion to highlight this!
great opportunity for frogs!
534
mike rainbow (rainbow mike) ↑
@mikedemarais.eth·20:46 31/10/2024
Rainbow is seeking some freelance/contractor developers to build some one-off Frames for us occasionally
reply if interested
reply if interested
@dalechyn.eth if we want to display the frame below but the active proposals data is changing. What is the best way clear that cache?
https://frames.farcastle.net/dao/0xa/0xecddf0fec8dd7abd2f875ffed4a436ccc388d57a
https://frames.farcastle.net/dao/0xa/0xecddf0fec8dd7abd2f875ffed4a436ccc388d57a
It seems I can't use this Neynar Middleware anymore because I have an issue called "TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))".
If anyone knows how to fix this, that would be helpful 🙏🏻
ref: https://frog.fm/concepts/middleware#neynar
If anyone knows how to fix this, that would be helpful 🙏🏻
ref: https://frog.fm/concepts/middleware#neynar
I need some time to make docs and example app.
Some changes are breaking.
Here's a quick snippet with example usage:
https://snippets.so/snip/bafkreiejwhtmsir5q6gyqofikucbxf3tkxfylgj5h6mqioi7okbqzilopy
Will publish the package soon, there are some issues with release pipeline rn.
Some changes are breaking.
Here's a quick snippet with example usage:
https://snippets.so/snip/bafkreiejwhtmsir5q6gyqofikucbxf3tkxfylgj5h6mqioi7okbqzilopy
Will publish the package soon, there are some issues with release pipeline rn.
3621
horsefacts 🚂
@horsefacts.eth·18:11 24/10/2024
📣 Miniapp transactions are live!
Request transactions from your composer actions and miniapps. Live on Warpcast web and mobile v1.0.93. (Check for an app update and reload Warpcast).
See the updated spec here for all the details: https://warpcast.notion.site/Miniapp-Transactions-1216a6c0c10180b7b9f4eec58ec51e55
Request transactions from your composer actions and miniapps. Live on Warpcast web and mobile v1.0.93. (Check for an app update and reload Warpcast).
See the updated spec here for all the details: https://warpcast.notion.site/Miniapp-Transactions-1216a6c0c10180b7b9f4eec58ec51e55

Snippets.so
Clean and simple code sharing
snippets.so
Found an issue with conditional buttons on frames with /frogfm
Is this expected? Fails only on Warpcast client, not other clients.
Is this expected? Fails only on Warpcast client, not other clients.
203666
LΞovido
@leovido.eth·15:48 23/10/2024
This may possibly be a bug on Warpcast regarding frames 🐛 🔲
Conditional statements for buttons make the frames show the following error:
"Invalid data returned from the frame server"
On other clients, I do not get this error.
I've removed the conditionals and now it works fine.
Using /frogfm for this frame
Conditional statements for buttons make the frames show the following error:
"Invalid data returned from the frame server"
On other clients, I do not get this error.
I've removed the conditionals and now it works fine.
Using /frogfm for this frame
Started a Draft PR on this.
https://github.com/wevm/frog/pull/503#issuecomment-2419297717
There is a canary version of frog if someone wants to test it.
No docs nor typedocs yet.
Do you guys think we should handle `requestId` in some sort of client storage to simplify response matching?
https://github.com/wevm/frog/pull/503#issuecomment-2419297717
There is a canary version of frog if someone wants to test it.
No docs nor typedocs yet.
Do you guys think we should handle `requestId` in some sort of client storage to simplify response matching?
3621
horsefacts 🚂
@horsefacts.eth·19:13 16/10/2024
📣 Draft spec for miniapp transaction requests. Goals are to 1) let composer actions and miniapps request transactions from the user's wallet and 2) keep this as similar to frame transactions as possible.
Feedback is welcome!
https://warpcast.notion.site/Draft-Miniapp-Transactions-1216a6c0c10180b7b9f4eec58ec51e55
Feedback is welcome!
https://warpcast.notion.site/Draft-Miniapp-Transactions-1216a6c0c10180b7b9f4eec58ec51e55
feat: mini-app transaction requests and response listening by dalechyn · Pull Request #503 · wevm/frog
Will introduce breaking changes. Need to add docs and tsdocs.
github.com
Getting a crazy amount of errors from Google Fonts
Error: Invalid value for props `lang`: "unknown". The value must be one of the following: ja-JP, ko-KR, zh-CN, zh-TW, zh-HK, th-TH, bn-IN, ar-AR, ta-IN, ml-IN, he-IL, te-IN, devanagari, kannada, emoji, symbol, math.
Error: Invalid value for props `lang`: "unknown". The value must be one of the following: ja-JP, ko-KR, zh-CN, zh-TW, zh-HK, th-TH, bn-IN, ar-AR, ta-IN, ml-IN, he-IL, te-IN, devanagari, kannada, emoji, symbol, math.
til cloudflare doesn't support the cache option that Next.js covers pretty extensively in their docs
https://github.com/cloudflare/workerd/issues/698
https://github.com/cloudflare/workerd/issues/698
🐛 BUG: The cache field on RequestInitializerDict is not implemented in fetch · Issue #698 · cloudflare/workerd
Which Cloudflare product(s) does this pertain to? Workers for Platforms What version of Wrangler are you using? Latest What operating system are you using? All Describe the Bug Making a fetch reque...
github.com
I’m on version 82 of my file trying to get my organize raffle frame going. I’m running into trouble with state persistence between views (forgive me if my jargon is off, I’m no proper dev, I’m mostly using Claude.AI to get things “done”). Hit a roadblock now though, would love to connect with someone willing to take a look at my current code and give me some pointers <3
Gn people! It's a pleasure to be part of this channel now and I hope to learn and contribute with the casts that are here, thanks to @dalechyn.eth for inviting me and for your support in helping me verify the error I'm experiencing with my frame 😎
regarding rendering images with frogfm, this was not obvious to me. there are two ways to render images in frogfm:
1.) standard request
app.frame('/', async (c) => {
...
return c.res({
image: imgURL || '',
intents: [
<Button action={`/join`} value="apple">
join purple dao
</Button>,
],
});
2.) the stand alone image handler
app
.image('/img', async (c) => {
return c.res({image: (
<div
style={{
display: 'flex',
height: '100%',
width: '100%',
}}
>
<div
style={{
color: 'white',
fontSize: 60,
fontStyle: 'normal',
}}
>
<img src={imgURL ?? undefined} alt="Image" style={{ width: '100%', height: 'auto' }} />
</div>
</div>
)})
})
1.) standard request
app.frame('/', async (c) => {
...
return c.res({
image: imgURL || '',
intents: [
<Button action={`/join`} value="apple">
join purple dao
</Button>,
],
});
2.) the stand alone image handler
app
.image('/img', async (c) => {
return c.res({image: (
<div
style={{
display: 'flex',
height: '100%',
width: '100%',
}}
>
<div
style={{
color: 'white',
fontSize: 60,
fontStyle: 'normal',
}}
>
<img src={imgURL ?? undefined} alt="Image" style={{ width: '100%', height: 'auto' }} />
</div>
</div>
)})
})
Frog Frame sharing Thursday!
Drop your frames built with frog (or any questions whatsoever)!
Drop your frames built with frog (or any questions whatsoever)!
Hey folks!
Since the channel upgrades – I'm eager to ask what kind of content do you want to see in this channel besides important frog updates?
Shall we maybe attach a frame here to let anyone become a member and ask any question about frog?
Since the channel upgrades – I'm eager to ask what kind of content do you want to see in this channel besides important frog updates?
Shall we maybe attach a frame here to let anyone become a member and ask any question about frog?
auto-refreshing s3xy chart in a frame built with /frogfm and a few patches to chartjs-node-canvas, chartjs-chart-financial and chartjs-adapter-luxon.
If you want to build a similar chart in a frame – lmk and I'll drop the patches!
If you want to build a similar chart in a frame – lmk and I'll drop the patches!
I think I posted about this a while back and now that I'm redoing the event frame, trying to fix again. Anyone know how to make the text wrap properly?
the black box around the blue has padding. Using VStacks with FrogUI. @dalechyn.eth any idea?
the black box around the blue has padding. Using VStacks with FrogUI. @dalechyn.eth any idea?
How are people dealing with `Server responded with status code 431.`? Feels like it happens after adding new element.
Is there something I should be aware of specific to frames? Less elements?
Is there something I should be aware of specific to frames? Less elements?
I will consider this voting finalized tommorow.
People seem to build quite UI-heavy (tho it doesn't need to be too heavy to break it) frames and keep catching that "Header too large" error, which is a really bad experience.
I'll look into codemod script to migrate easily.
https://github.com/wevm/frog/discussions/423
People seem to build quite UI-heavy (tho it doesn't need to be too heavy to break it) frames and keep catching that "Header too large" error, which is a really bad experience.
I'll look into codemod script to migrate easily.
https://github.com/wevm/frog/discussions/423
0.17.3 came out with an important memory leak fix that was affecting huge frog consumoooors.
(@vercel/og was finally fixed).
https://github.com/wevm/frog/releases
(@vercel/og was finally fixed).
https://github.com/wevm/frog/releases
I'm trying to create a frame to Mint an NFT
I'm having trouble what the difference is of mint action is vs a tx action?
I've tried using <Button.Mint target="eip155:8453:0xf5a3b6dee033ae5025e4332695931cadeb7f4d2b:1">Mint</Button> with an example from the farcaster docs for the target but it just links back to my frame
I'm having trouble what the difference is of mint action is vs a tx action?
I've tried using <Button.Mint target="eip155:8453:0xf5a3b6dee033ae5025e4332695931cadeb7f4d2b:1">Mint</Button> with an example from the farcaster docs for the target but it just links back to my frame
Thinking of streaming sticker pack frames & composer action with frog.
Hit Yes if you would visit it.
https://frame.weponder.io/api/polls/12072
Hit Yes if you would visit it.
https://frame.weponder.io/api/polls/12072
The request size on the console is not much different from the successful request, so there seems to be no problem.
The successful request has a long Image query and a short ImageOptions query, of course, because an image is generated.
The opposite is the case as the failed one does not generate an image.I guess I will have to subset the font file once and check.
The successful request has a long Image query and a short ImageOptions query, of course, because an image is generated.
The opposite is the case as the failed one does not generate an image.I guess I will have to subset the font file once and check.
291942
FREAK
@djfreak.eth·07:39 01/09/2024
When I try to load a custom font in frog, I get a 431 error because of the request header size limit. I understand that Node's request header limit is 8kb, but when I look at the actual request, it is only 41 bytes. What is the problem?
Has anyone ever tried loading custom fonts on frog?
Has anyone ever tried loading custom fonts on frog?
When I try to load a custom font in frog, I get a 431 error because of the request header size limit. I understand that Node's request header limit is 8kb, but when I look at the actual request, it is only 41 bytes. What is the problem?
Has anyone ever tried loading custom fonts on frog?
Has anyone ever tried loading custom fonts on frog?
hello guys is there a way in `app.frame` we can also show the html part what i mean is whenever i go to <my-url>/api/<frame-route> in web it always empty is there a way i can show some webpage? cc @dalechyn.eth
I've submitted some issues on the /frogfm GitHub. Any help would be greatly appreciated 🙏🏻
https://github.com/wevm/frog/issues/481
https://github.com/wevm/frog/issues/481
1214
df
@df·11:49 29/08/2024
Just did a refresh of awesome-frames
PRs welcome!
https://github.com/davidfurlong/awesome-frames/blob/main/README.md
PRs welcome!
https://github.com/davidfurlong/awesome-frames/blob/main/README.md
Why doesn't frog have something like getUserDataForFid in frames.js...
I just haven't found it?
Or am I supposed to implement the function myself?
frogにはなんでframes.jsのgetUserDataForFidみたいなやつがないのか…
見つけられてないだけ?
I just haven't found it?
Or am I supposed to implement the function myself?
frogにはなんでframes.jsのgetUserDataForFidみたいなやつがないのか…
見つけられてないだけ?
Deprecated in frog too!
3621
horsefacts 🚂
@horsefacts.eth·17:08 22/08/2024
📢 Composer actions PSA: deprecating parentHash
We're removing the parentHash attribute from composer action responses and instead will always use the original cast's parent hash.
This has been a pain point and source of bugs for some composer actions: if a parent hash is present in the original cast but the action doesn't pass it through, it clobbers the original and appears as a root cast. This is pretty weird behavior and it makes more sense to just preserve the original.
For now we'll just ignore any extra attributes in cast action responses, but will start validating this more strictly a few days from now.
I've updated the draft spec doc and added a changelog at the bottom: https://warpcast.notion.site/Draft-Composer-Actions-7f2b8739ee8447cc8a6b518c234b1eeb
1:0
We're removing the parentHash attribute from composer action responses and instead will always use the original cast's parent hash.
This has been a pain point and source of bugs for some composer actions: if a parent hash is present in the original cast but the action doesn't pass it through, it clobbers the original and appears as a root cast. This is pretty weird behavior and it makes more sense to just preserve the original.
For now we'll just ignore any extra attributes in cast action responses, but will start validating this more strictly a few days from now.
I've updated the draft spec doc and added a changelog at the bottom: https://warpcast.notion.site/Draft-Composer-Actions-7f2b8739ee8447cc8a6b518c234b1eeb
1:0
Back at trying to figuring out frog. Question, how can I do a recast function where it posts the image from my second page?
Example: you added some text to an image now I want to cast this image + task as new frame.
@dalechyn.eth
Example: you added some text to an image now I want to cast this image + task as new frame.
@dalechyn.eth
Agreed, I like the arbitrum frame retroactive grant challenge
536359
Arbitrum
@arbitrum·14:05 19/08/2024
hot take: both consumer apps AND infra is still needed
Gonna need some help..
If I create a new project with 'npm init frog' and select next.js I am able to deploy my frame but not able to import the frogUI.
When I don't select next.js but default I am able to implement frogUI but I am not able to deploy.
Please help me out. It's getting frustrating to try and learn but no able to.
If I create a new project with 'npm init frog' and select next.js I am able to deploy my frame but not able to import the frogUI.
When I don't select next.js but default I am able to implement frogUI but I am not able to deploy.
Please help me out. It's getting frustrating to try and learn but no able to.
Trying to include a frame isnide my svelete project. How do i do this using frog. I have deployed NextJs based frames which was standalone webapps. Anyone done this.
Question, how can I implement FrogUI when creating a new frog using
npm init frog?
The problem is the structure is different using this method and does not match the tutorial on the website. For instance ui.ts and index.ts don't exist
but instead I have app/api/route.tsx
When adding: import { createSystem } from 'frog/ui' the app crashes.
@dalechyn.eth @jxom
npm init frog?
The problem is the structure is different using this method and does not match the tutorial on the website. For instance ui.ts and index.ts don't exist
but instead I have app/api/route.tsx
When adding: import { createSystem } from 'frog/ui' the app crashes.
@dalechyn.eth @jxom
Has anyone run into issues where browserLocation is working locally but not in preview/prod Vercel environments? It seems that even if I specify a hardcoded URL for browserLocation in a frame route, the redirect doesn't take place...
Anyone able to help using /frogfm her?
I don't understand why the button 'start' won't load the next frame in this code?
Is it because I'm missing 'const { buttonValue } = c'?
but how to add this line when I already have a line like this?
cc @dalechyn.eth
I don't understand why the button 'start' won't load the next frame in this code?
Is it because I'm missing 'const { buttonValue } = c'?
but how to add this line when I already have a line like this?
cc @dalechyn.eth
Anyone working with frog that could help me?
Just installed it and did a run, but when I go to local host it won't show the frame but asks for a url?
Just installed it and did a run, but when I go to local host it won't show the frame but asks for a url?
Hey Frogs, I’m looking for a tutorial on how to build with frog for an absolute zero. Meaning start from zero how to install and build a frame.
I have experience with basic web but not with anything js related.
I have experience with basic web but not with anything js related.
is there something like getAddressesForFid in Frog? Need to read & use the connected address to a FID