Search
Code1,917
- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)- [ ] Give it a tool to make an HTTP request to its own endpoint to test things!- [x] Get React Router working on the client & move off localstorage for storing page state- [ ] When it hits the max number of steps, detect that and give the user a button (or instructions on how) to get it to continue (neverstew mentioned this)- [ ] opentownie as a pr bot- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them- [ ] do a browser use or screenshot thing to give it access to its own visual output- [x] Refactor /backend/index.ts into multiple files- [x] Format the JSON inside the tool-calls as pretty markdown - [x] Think as normal markdown- [x] Show reasoning in a detail- [x] Consider asking it to write the minimum code possible- [x] Add caching (post in the vercel ai discussion about how it's not working)[Farcaster](https://farcaster.xyz/) is an open, programmable social network designed for developers to build mini apps with integrated user authentication and financial features. Mini apps on Farcaster can be shared directly within the social feed and installed in users' primary Farcaster clients, enabling seamless access and real-time notifications from the mini apps themselves.- Hono + React + Tailwind- React Router + React Query- Built-in database (blob storage)# React Hono StarterThis app is a starter template for client-side React and server-side Hono.- The **client-side entrypoint** is `/frontend/index.html`, which in turn imports `/frontend/index.tsx`, which in turn imports the React app from `/frontend/App.tsx`.[React Hono Example](https://www.val.town/x/stevekrouse/reactHonoExample) is a fuller featured example project, with a SQLite database table, queries, client-side CSS and a favicon, and some shared code that runs on both client and server.# React + Hono StarterA minimal starter template for building client-side React apps with a Honobackend on Val Town. Click **Remix** to get your own copy.| --- | --- || [`basic-html-starter`](https://www.val.town/x/templates/basic-html-starter) | Static HTML pages. Sprinkle of vanilla JS. No server-side rendering. || [`hono-jsx-starter`](https://www.val.town/x/templates/hono-jsx-starter) | Dynamic server-rendered HTML with JSX. API routes. No React, no SPA. || **[`react-hono-starter`](https://www.val.town/x/templates/react-hono-starter)** *(you're here)* | Client-side React SPA with a Hono API backend. |**Want to build UI?** Start writing React components in[`frontend/components/`](/frontend/components/). Import them into `App.tsx` and**Want to add an API?** Add routes in [`index.ts`](/index.ts) (there's acommented-out example). Fetch them from your React components. root.tsx ← HTML shell (stamps immutable asset URLs) index.tsx ← React entrypoint (mounts <App />) favicon.svg ← App icon2. **`frontend/root.tsx`** is the HTML shell — it loads Twind and stamps immutable asset URLs for the favicon and React entrypoint.3. **`frontend/index.tsx`** mounts the React app.4. **`frontend/components/App.tsx`** is the root layout — add new components alongside it.5. **`frontend/components/Counter.tsx`** is an example stateful component —- Add a SQLite database — see the [React Hono Example](https://www.val.town/x/stevekrouse/reactHonoExample) for a full-stack example with database, queries, and shared types- [Hono](https://hono.dev/) for routing- React for SSR'd components- Vanilla CSS- A bit of client-side JS via `<script>` (e.g. filter posts by tag)- Images, videos and whatnot are drag 'n' dropped into markdown (anddescription: >- Some vals experienced lockfile and React errors due to breaking changes in esm.shYesterday [esm.sh](https://esm.sh) deployed breaking changes that caused two kinds of errors for our users: lockfile errors and client-side React errors. The first error was resolved by esm.sh rolling back the change related to React version pinning. The second error was resolved by us manually regenerating all affected lockfiles. We are working to upgrade our systems with the esm.sh maintainer to ensure this doesn't happen again.- **12:00am ET** - Vals started experiencing lockfile errors. Some vals using client-side React stopped working.- **4:09am ET** - esm.sh maintainer [announced the changes in the Val Town Discord](https://discord.com/channels/1020432421243592714/1020432421243592717/1329014642223218741)- **9:36am ET** - esm.sh begins [rolling back the change related to React version pinning](https://github.com/esm-dev/esm.sh/pull/1032)- **10:34am ET** - All client-side React vals resume working- **10:39am ET** - We stopped sending unnecessary lockfile error emails to users (because the lockfiles would automatically regenerate)#### Client-side React errorsThe client-side React errors were unrelated to the lockfile errors, but were also bundled into the v136 esm.sh release. In v136, esm.sh stopped pinning `react-dom` to use the same version of `react` automatically, which is behavior that many vals were unintentionally relying on. This issue was more easily resolved, when by simply having [esm.sh roll back that change](https://github.com/esm-dev/esm.sh/pull/1032).description: >- Some vals experienced lockfile and React errors due to breaking changes in esm.shYesterday [esm.sh](https://esm.sh) deployed breaking changes that caused two kinds of errors for our users: lockfile errors and client-side React errors. The first error was resolved by esm.sh rolling back the change related to React version pinning. The second error was resolved by us manually regenerating all affected lockfiles. We are working to upgrade our systems with the esm.sh maintainer to ensure this doesn't happen again.- **12:00am ET** - Vals started experiencing lockfile errors. Some vals using client-side React stopped working.- **4:09am ET** - esm.sh maintainer [announced the changes in the Val Town Discord](https://discord.com/channels/1020432421243592714/1020432421243592717/1329014642223218741)- **9:36am ET** - esm.sh begins [rolling back the change related to React version pinning](https://github.com/esm-dev/esm.sh/pull/1032)- **10:34am ET** - All client-side React vals resume working- **10:39am ET** - We stopped sending unnecessary lockfile error emails to users (because the lockfiles would automatically regenerate)#### Client-side React errorsThe client-side React errors were unrelated to the lockfile errors, but were also bundled into the v136 esm.sh release. In v136, esm.sh stopped pinning `react-dom` to use the same version of `react` automatically, which is behavior that many vals were unintentionally relying on. This issue was more easily resolved, when by simply having [esm.sh roll back that change](https://github.com/esm-dev/esm.sh/pull/1032).- [Hono](https://hono.dev/) for routing- React for SSR'd components- Vanilla CSS- A bit of client-side JS via `<script>` (e.g. filter posts by tag)- Images, videos and whatnot are drag 'n' dropped into markdown (anddescription: >- Some vals experienced lockfile and React errors due to breaking changes in esm.shYesterday [esm.sh](https://esm.sh) deployed breaking changes that caused two kinds of errors for our users: lockfile errors and client-side React errors. The first error was resolved by esm.sh rolling back the change related to React version pinning. The second error was resolved by us manually regenerating all affected lockfiles. We are working to upgrade our systems with the esm.sh maintainer to ensure this doesn't happen again.- **12:00am ET** - Vals started experiencing lockfile errors. Some vals using client-side React stopped working.- **4:09am ET** - esm.sh maintainer [announced the changes in the Val Town Discord](https://discord.com/channels/1020432421243592714/1020432421243592717/1329014642223218741)- **9:36am ET** - esm.sh begins [rolling back the change related to React version pinning](https://github.com/esm-dev/esm.sh/pull/1032)- **10:34am ET** - All client-side React vals resume working- **10:39am ET** - We stopped sending unnecessary lockfile error emails to users (because the lockfiles would automatically regenerate)#### Client-side React errorsThe client-side React errors were unrelated to the lockfile errors, but were also bundled into the v136 esm.sh release. In v136, esm.sh stopped pinning `react-dom` to use the same version of `react` automatically, which is behavior that many vals were unintentionally relying on. This issue was more easily resolved, when by simply having [esm.sh roll back that change](https://github.com/esm-dev/esm.sh/pull/1032).- [Hono](https://hono.dev/) for routing- React for SSR'd components- Vanilla CSS- A bit of client-side JS via `<script>` (e.g. filter posts by tag)- Images, videos and whatnot are drag 'n' dropped into markdown (and- [Hono](https://hono.dev/) for routing- React for SSR'd components- Vanilla CSS- A bit of client-side JS via `<script>` (e.g. filter posts by tag)- Images, videos and whatnot are drag 'n' dropped into markdown (and