<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by The React Native Rewind on Medium]]></title>
        <description><![CDATA[Stories by The React Native Rewind on Medium]]></description>
        <link>https://medium.com/@thereactnativerewind?source=rss-99c549b77dec------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Ro3qoZzukAGhip72HAZOdA.png</url>
            <title>Stories by The React Native Rewind on Medium</title>
            <link>https://medium.com/@thereactnativerewind?source=rss-99c549b77dec------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 02:11:18 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@thereactnativerewind/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[A Boardroom Bot That Fires the Tab Babysitters, a Hollywood Handshake for Your Docs, and a Robot…]]></title>
            <link>https://itnext.io/a-boardroom-bot-that-fires-the-tab-babysitters-a-hollywood-handshake-for-your-docs-and-a-robot-85d92e6f48eb?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/85d92e6f48eb</guid>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[github]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 09:37:24 GMT</pubDate>
            <atom:updated>2026-11-12T09:37:24.715Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Boardroom Bot That Fires the Tab Babysitters, a Hollywood Handshake for Your Docs, and a Robot That Holds the Merge Button</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mCWLF9ilXHvVUwpcpvObvw.jpeg" /></figure><p>You’re reading The Agentic Rewind <a href="https://www.theagenticrewind.com/issues/a-boardroom-bot-that-fires-the-tab-babysitters-a-hollywood-handshake-for-your-docs-and-a-robot-that-holds-the-merge-button">#5</a>.</p><h3>You’re Hired, Ticket</h3><p>Most coding agents give us one chat session per job.</p><p>Five jobs means five tabs, and someone, usually us, has to sit with every one of them.</p><p>DeepSeek reckons a person can keep track of only three to five live sessions at once (<a href="https://ghost.p2lab.com/exploring-super-agent-design/">English translation of their design post</a>).</p><p><a href="https://x.com/Lord_Sugar">Lord Sugar</a> would never put up with that.</p><p>He sets the task, sends the teams off, and only sees them again in the boardroom.</p><p>So DeepSeek (<a href="https://x.com/deepseek_ai">@deepseek_ai</a>) open-sourced <a href="https://github.com/deepseek-ai/dsh-superagent-prototype">dsh-superagent</a>, a coding agent that joins the team as one always-on bot instead of a pile of chat windows.</p><p>It’s for teams who already live in GitHub issues and pull requests, and want to hand jobs over there without anyone babysitting a session.</p><p><strong>How does the boardroom work?</strong></p><p>It’s a research prototype that runs as a plugin for <a href="https://www.deepseek.com/en/harness/">DeepSeek Harness</a>, DeepSeek’s open-source agent app.</p><p>It watches one GitHub repo, and can also listen to <a href="https://www.feishu.cn/en/">Feishu</a> chats (ByteDance’s Slack-style work chat, sold outside China as <a href="https://www.larksuite.com/">Lark</a>).</p><p>We @mention it on an issue or in a chat, just like asking a teammate.</p><p>A resident Router reads the request and turns it into a Ticket, but never does the work itself, and DeepSeek says it may not even get a Bash tool.</p><p>Each Ticket gets its own Worker session and folder, and the result lands back in the same thread, usually as a pull request.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*IxHYa0cej6UnQTqL.jpg" /></figure><p>Review comments on that pull request go straight to the same Worker…</p><p>So nobody has to mention the bot again or re-explain the job.</p><p><strong>So what do we stop doing?</strong></p><p>Before, we opened a session per job, pasted in the context, checked each tab and carried PR feedback back to the right chat.</p><p>Now we ask once where the work already lives, and get one “on it”, then silence, then a pull request, a question or an honest failure.</p><p>A local <a href="https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/docs/005-panel.md">web panel</a> lists only what needs a person.</p><p>In DeepSeek’s simulated test of about 300 chat and CI messages, the median job took 12.4 minutes from request to result, against 20.4 for a single session handing work to subagents.</p><p><strong>Will it take on tasks nobody set?</strong></p><p>Only if the team writes a <a href="https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/docs/002-authorization.md">rule</a> for it.</p><p>Even then it starts in observe mode, which records what it would have done without doing it.</p><p><strong>Should we hand it the keys?</strong></p><p>Not yet.</p><p>DeepSeek calls it research code rather than an official product.</p><p>The <a href="https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/docs/006-deployment.md">deployment docs</a> warn that Workers run with full access as our own OS user.</p><p>A dedicated OS account holding only the agent’s credentials is the place to start.</p><p>Setup is a chat where our coding agent reads <a href="https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/SETUP.md">SETUP.md</a> and asks one question at a time.</p><p>It’s already past 22,000 GitHub stars.</p><p>Meanwhile, the engineer still babysitting five chat tabs is the one hearing…</p><p>“You’re fired.”</p><p>👉 <a href="https://github.com/deepseek-ai/dsh-superagent-prototype">dsh-superagent</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*I65Zih5ELgUokj58.jpg" /></figure><h3>AI Coding Summit Berlin, Dec 4: 10% off</h3><p>No predictions, just what actually works.</p><p>Every developer is experimenting with AI. Fewer talk honestly about what worked, what quietly broke and what they’d never do again. On December 4, AI Coding Summit brings that conversation to Berlin, and on December 7 it continues online. 30+ talks and workshops cover agentic workflows, AI code review, production agent patterns, security risks in AI apps, observability and evaluation, with Daniel Sogl, Mike Grabowski, Julia Kordick, Daniel Ávila and Nico Martin.</p><p>And we are thinking of joining the party; come say hi!</p><p>Use code FRIENDS for 10% off.</p><p>👉 <a href="https://aicodingsummit.com/berlin/">AI Coding Summit Berlin</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WmvjWNH5y9Gz6th_.jpg" /></figure><h3>Soggy Bottoms in the Docs</h3><p>In a Bake Off technical, <a href="https://en.wikipedia.org/wiki/Paul_Hollywood">Paul Hollywood</a> hands over a recipe with half the steps missing, then watches who works it out.</p><p>Our docs now sit that test every day, because more developers just tell a coding agent “set this library up for me”.</p><p>The baker is Claude Code, the recipe is our docs, and when it guesses an old command or gives up, nobody tells us where it went wrong.</p><p>The developer just blames our library and picks another one.</p><p>Evan Doyle (<a href="https://x.com/evandoyleDEV">@evandoyleDEV</a>) and the Gauge (<a href="https://x.com/gauge_sh">@gauge_sh</a>) team just <a href="https://news.ycombinator.com/item?id=50371090">showed off on Hacker News</a> their open-source <a href="https://github.com/gauge-sh/gauge-cli">Gauge CLI</a>, which plays Hollywood for us.</p><p>It hands our docs, skills (<em>instruction files a coding agent loads for a task</em>) and CLIs to real coding agents, and shows exactly where they get stuck.</p><p>It’s for anyone whose product coding agents now use on someone’s behalf: SDK, CLI and docs teams, devrel, or anyone publishing a skill.</p><p><a href="https://clerk.com/">Clerk</a>, for example, wanted agents to stop using its old “keyless” mode and run its new clerk init command instead.</p><p>Gauge says Clerk tested new SDK error messages with it before release, then saw three times as many agents use clerk init after the deploy.</p><p><strong>How does the bake work?</strong></p><p>We write a realistic task, like “write the release notes for 1.2.0”, plus what a pass looks like.</p><p>Gauge runs <a href="https://www.claude.com/product/claude-code">Claude Code</a>, <a href="https://github.com/openai/codex">Codex</a>, <a href="https://github.com/badlogic/pi-mono">Pi</a> or <a href="https://opencode.ai/">OpenCode</a> on it in fresh <a href="https://www.docker.com/">Docker</a> containers, using our own subscriptions or API keys and no Gauge account.</p><p>For docs, a <a href="https://github.com/gauge-sh/gauge-cli/blob/main/docs/local-web-fixtures.md">web fixture</a> serves our draft pages at the real address through a <a href="https://mitmproxy.org/">mitmproxy</a> sidecar (<em>a proxy that sits between the agent and the internet</em>), so the agent thinks it’s reading the live site.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0FKrghpisoqS8Dyf.jpg" /></figure><p><em>Real output of gauge init --local on a throwaway project</em></p><pre>npm install -g @withgauge/cli<br>gauge local runtime pull<br>gauge init --local<br># preview, then run a saved eval<br>gauge run --eval &lt;eval-id&gt; --local \<br>  --input release-notes --dry-run<br>gauge run --eval &lt;eval-id&gt; --local \<br>  --input release-notes<br># after the fix, compare the two batches<br>gauge run compare --local \<br>  --baseline batch=&lt;before-id&gt; \<br>  --candidate batch=&lt;after-id&gt;</pre><p><strong>So what do we stop doing?</strong></p><p>Before, we found out our docs had a soggy bottom when a user complained, or never.</p><p>Now we test the draft on the same agents our users run, before we publish, and only ship the version that gets them through.</p><p><strong>Anything to watch?</strong></p><p>It needs Node.js 22.13 or newer and Docker.</p><p>Every rerun spends real agent tokens on our own subscription or API key.</p><p>Logged-in MCPs and APIs, website previews from GitHub and tracking results over time need Gauge’s hosted mode, which runs on credits.</p><p>Anonymous usage telemetry is on by default, and gauge telemetry disable turns it off.</p><p>When the agent finishes first time with no questions…</p><p>That’s as close as our docs will get to a Hollywood handshake.</p><p>👉 <a href="https://github.com/gauge-sh/gauge-cli">Gauge CLI</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cwBVenzcxQ8SNXt-.jpg" /></figure><p><strong>📦</strong> <a href="https://cursor.com/changelog/build-live-apps">Build Live Apps in Cursor</a></p><p>Tell a cloud agent you want an app and it scaffolds it, adds Postgres and Cursor SSO, runs security checks and hands back a live link… localhost finally gets a day out.</p><p><strong>📦</strong> <a href="https://kiro.dev/blog/crew-bots/">Kiro Bots</a></p><p>Named, long-running agents in Kiro Crew with their own memory, dashboard and schedules, spinning up worker sessions and only pinging you for decisions… middle management, but it actually reads the tickets.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-11-04-github-copilot-is-now-available-in-xcodes-coding-assistant/">Copilot in Xcode’s Coding Assistant</a></p><p>Copilot now plugs straight into Xcode’s built-in assistant, in public preview from Xcode 27.3 beta on every Copilot plan… no extension, just Settings &gt; Intelligence.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-11-03-github-copilot-is-now-available-in-jetbrains-air/">Copilot in JetBrains Air</a></p><p>Pick Copilot in Air’s agent picker over ACP and run parallel sessions locally, or in fresh cloud VMs on your Copilot plan instead of JetBrains AI credits.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-11-06-github-copilot-weekly-releases-november-2/">Copilot Agent Merge</a></p><p>The Copilot app can now merge a PR itself once checks pass, plus /settings in the CLI and cron schedules for local automations in VS Code 1.145… the robot holds the merge button now.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-11-06-copilot-code-review-api-management-and-review-overview-updates/">Copilot Code Review via API</a></p><p>Review settings are now manageable over REST and GraphQL, comments say which skills and MCP servers they came from, and balanced reviews use three models plus a fourth to referee.</p><p><strong>📦</strong> <a href="https://code.claude.com/docs/en/changelog">Claude Code 2.1.319</a></p><p>MCP tasks move to the background automatically, and permissions.denyInsteadOfPrompting denies a blocked tool call and keeps going… no more coming back to an agent frozen on a Y/n.</p><p><strong>📦</strong> <a href="https://github.com/openai/codex/releases/tag/rust-v0.167.0">Codex 0.167</a></p><p>codex agents --no-daemon opens a command centre that marks unread results, and you can switch backends without losing your draft… an inbox for your agents.</p><p><strong>📦</strong> <a href="https://github.com/google-gemini/gemini-cli/releases/tag/v0.67.0">Gemini CLI 0.67</a></p><p>A new models command and --list-models flag show what you can actually run, and the IDE companion now reaches into container sandboxes.</p><p><strong>📦</strong> <a href="https://vercel.com/changelog/monitor-vercel-deployments-in-chatgpt">Vercel MCP Deployment Cards</a></p><p>Vercel MCP’s first MCP App shows live deploy status, build logs and a Visit button right inside ChatGPT… send the logs to the model and let it find the typo.</p><p><strong>📝</strong> <a href="https://www.i-programmer.info/news/86-browsers/19258-firefox-devtools-mcp-updated.html">Firefox DevTools MCP Updated</a></p><p>Agents can drive Firefox over WebDriver BiDi with the console, network, debugger and profiler, and a new idle timeout frees the browser sooner… just give it its own profile, not yours.</p><p><strong>📦</strong> <a href="https://github.com/ghosthat-studio/handoffs">Handoffs</a></p><p>A Claude Code mod that turns Claude’s requests into checklist cards in a pane, with steps to tick, decision buttons, and Open and Copy buttons… so they don’t scroll away while you’re busy elsewhere.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/245/0*R6VMPQHbYkpClRQV.gif" /></figure><p>Authored by <a href="https://www.linkedin.com/in/lukebrandonfarrell/">Luke Farrell</a> and edited by <a href="http://www.linkedin.com/in/francisco-rios-nino">Fran Ríos</a>.</p><p>If you’re enjoying this newsletter, why not help us grow? Share it with your friends, family, and even that one coworker who always “forgets” to update dependencies. Use this link: <a href="https://theagenticrewind.com/">https://theagenticrewind.com/</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=85d92e6f48eb" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-boardroom-bot-that-fires-the-tab-babysitters-a-hollywood-handshake-for-your-docs-and-a-robot-85d92e6f48eb">A Boardroom Bot That Fires the Tab Babysitters, a Hollywood Handshake for Your Docs, and a Robot…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Painting 900 Paths at 90 FPS, a Hummingbird That Laps fbjni, and WebViews That Finally Stop…]]></title>
            <link>https://itnext.io/painting-900-paths-at-90-fps-a-hummingbird-that-laps-fbjni-and-webviews-that-finally-stop-7118d5d97bb7?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/7118d5d97bb7</guid>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Tue, 10 Nov 2026 23:36:46 GMT</pubDate>
            <atom:updated>2026-11-10T23:36:46.996Z</atom:updated>
            <content:encoded><![CDATA[<h3>Painting 900 Paths at 90 FPS, a Hummingbird That Laps fbjni, and WebViews That Finally Stop Gossiping</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eVbmoibc_eI0fNlIQeKfQA.jpeg" /></figure><p>You’re reading The React Native Rewind <a href="https://thereactnativerewind.com/issues/painting-900-paths-at-90-fps-a-hummingbird-that-laps-fbjni-and-webviews-that-finally-stop-gossiping">#65</a>.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCYWrK5YlyY4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCYWrK5YlyY4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCYWrK5YlyY4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href">https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href</a></iframe><p>Still reading here? <a href="https://thereactnativerewind.com/">Join the community</a> instead.</p><p>Get The React Native Rewind in your inbox, plus the welcome series.</p><h3>It’s a GPU Art Attack!</h3><p><a href="https://en.wikipedia.org/wiki/Neil_Buchanan">Neil Buchanan</a> never made a Big Art Attack with a pencil.</p><p>He laid thousands of everyday objects out on the floor, and then the camera pulled back to reveal a face.</p><p>Drawing thousands of things in React Native has usually meant the JS thread doing the maths, and dropped frames the moment it gets busy.</p><p><strong>What’s in the paint pot?</strong></p><p>It wraps <a href="https://github.com/Tencent/tgfx">tgfx</a>, Tencent’s open-source 2D graphics engine, through <a href="https://nitro.margelo.com/">Nitro Modules</a> (<em>Margelo’s fast native module framework</em>), and renders with Vulkan on Android and Metal on iOS.</p><p>Shapes, paths, text, images and runtime shaders are components inside a &lt;Canvas&gt;.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*9ZoNV7XJExT7JXay.gif" /></figure><p>Props also accept a <a href="https://docs.swmansion.com/react-native-reanimated/">Reanimated</a> shared value, so animations run on the UI thread with no JavaScript work per frame.</p><pre>import { Canvas, Circle } from &#39;react-native-tgfx&#39;<br><br>function Pulse() {<br>  const r = useSharedValue(20)<br><br>  useEffect(() =&gt; {<br>    const grow = withTiming(60, { duration: 900 })<br>    r.value = withRepeat(grow, -1, true)<br>  }, [r])<br><br>  return (<br>    &lt;Canvas style={{ width: 200, height: 200 }}&gt;<br>      &lt;Circle cx={100} cy={100} r={r} color=&quot;#d98a4a&quot; /&gt;<br>    &lt;/Canvas&gt;<br>  )<br>}</pre><p>The React and Reanimated imports are trimmed here, and the full version is in the <a href="https://tgfx.margelo.com/docs/animation">animation docs</a>.</p><p><strong>Anything we can try at home?</strong></p><p>Frames from <a href="https://react-native-vision-camera.com/">VisionCamera</a> can be drawn and shaded live, without copying the camera’s buffer.</p><p>Scenes also export to PDF and SVG, or render headless with no React at all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*7qVRNd7OqMoQ77Hi.gif" /></figure><p>In Margelo’s <a href="https://tgfx.margelo.com/docs/performance">own benchmark</a> against <a href="https://github.com/Shopify/react-native-skia">React Native Skia</a>, 900 paths drew at 90 FPS to Skia’s 18 on a budget Samsung.</p><p>Moving over is less scary with the <a href="https://tgfx.margelo.com/docs/skill">agent skill</a>, which teaches our coding agent the API and the Skia migration.</p><p>It’s out of alpha as of <a href="https://github.com/margelo/react-native-tgfx/releases/tag/v0.2.0">v0.2.0</a>, so a plain npm install react-native-tgfx gets us the stable release.</p><p>Neil needed a crane to see the whole picture…</p><p>But we just need a &lt;Canvas&gt;.</p><p>👉 <a href="https://github.com/margelo/react-native-tgfx">react-native-tgfx</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oEYzuRzopyvsILqz.jpg" /></figure><h3>Berlin, Dec 4: React Day + AI Coding Summit</h3><p>Two conferences, one trip.</p><p>On December 4, Berlin hosts React Day Berlin and AI Coding Summit side by side, and on December 7 both continue online. React Day Berlin is all about AI for React developers: Claude Code, RSC, Next.js 16, TanStack, MCP and the Vercel AI SDK, with Kitze, Tejas Kumar, Sara Vieira and Mike Grabowski. AI Coding Summit goes deeper on agentic workflows, AI code review and production agent patterns, with 30+ talks and workshops. 800 devs in person, 5,000+ online.</p><p>And we are thinking on joining the party; come say hi!</p><p>Use code FRIENDS for 10% off.</p><p>👉 <a href="https://reactday.berlin/">React Day Berlin</a> &amp;</p><p>👉 <a href="https://aicodingsummit.com/berlin/">AI Coding Summit Berlin</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*Za4LPIzvgR57v3-l.jpg" /></figure><h3>Some Say It’s 51 Times Faster</h3><p>Some say it has never looked up a JNIEnv it didn’t need.</p><p>Some say it skips the exception check on methods that can’t throw.</p><p>All we know is, it’s called <a href="https://expo.dev/blog/expo-modules-2-0-new-jni-layer">Kolibri</a>.</p><p>Łukasz Kosmaty (<a href="https://x.com/lkosmaty">@lkosmaty</a>) just lifted the bonnet on the Android side of <a href="https://expo.dev/blog/an-early-look-at-expo-modules-2-0">Expo Modules 2.0</a>, whose iOS side we covered in <a href="https://thereactnativerewind.com/issues/react-native-is-dead-expo-modules-2-0-and-a-49-flutter-knockoff">Issue #57</a>.</p><p><strong>Why build another JNI library?</strong></p><p>JNI (<em>the bridge that lets Kotlin and C++ call each other on Android</em>) is the slowest step in every native module call.</p><p>React Native ships <a href="https://github.com/facebookincubator/fbjni">fbjni</a>, which makes JNI safer by checking and cleaning up after every call, and pays for it every time.</p><p>Kolibri keeps that safety net, lets us take it off on hot paths, and stays close to raw JNI speed.</p><p><strong>Where does the speed come from?</strong></p><p>With fbjni, calling a method on a hybrid object (<em>one object with a Kotlin half and a C++ half</em>) costs five extra JNI calls just to find the C++ half.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qDrVE4qWzCc_LCH-.png" /></figure><p>Kolibri’s Kotlin compiler plugin rewrites the method at build time so the C++ pointer is passed straight in.</p><pre>// JavaScriptObject.kt<br>class JavaScriptObject(pointer: NativePointer) :<br>  NativeObject(pointer) {<br>  @NativeMethod<br>  external fun hasProperty(name: String): Boolean<br>}<br><br>// roughly what the compiler plugin emits<br>fun hasProperty(name: String): Boolean =<br>  hasProperty(nativePointer, name)<br><br>private external fun hasProperty(<br>  pointer: Long,<br>  name: String,<br>): Boolean</pre><p>JS objects skip JNI too, travelling to Kotlin in a shared binary buffer instead of being built one Java object at a time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2JgWUFYjzJukMXNV.png" /></figure><p>That makes hybrid object calls 28 to 51 times faster, and gets a JS object to Kotlin 3 to 5 times faster.</p><p><strong>Any catch?</strong></p><p>The numbers come from a desktop JVM on an Apple M3 Pro, so phones will differ.</p><p>It’s also one more library in our app, where fbjni comes free with React Native.</p><p>Somewhere, Clarkson is shouting POWERRR at a Kotlin compiler plugin.</p><p>👉 <a href="https://expo.dev/blog/expo-modules-2-0-new-jni-layer">Inside the new JNI layer in Expo Modules 2.0</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*5n7ZLeqzSUhuMT-s.jpg" /></figure><p>📦 <a href="https://github.com/react/react-native/releases/tag/v0.89.0-rc.0"><strong>React Native 0.89 RC 0</strong></a></p><p>The first 0.89 release candidate brings a useAppState() hook, a global structuredClone and phrase-based lineBreak for Android text.</p><p>It also sweeps out the last bridge-era leftovers, so give your native modules a quick grep before the stable lands around December 7.</p><p>📦 <a href="https://github.com/software-mansion/react-native-screens/releases/tag/5.0.0-beta.1"><strong>React Native Screens 5.0 Beta 1</strong></a></p><p>The first v5 beta supports React Native 0.88 and adds iOS modals that stay inside their own SplitView column instead of taking over the whole screen.</p><p>Android Stack v5 gets proper transition presets, and form sheets can finally say no thanks to Liquid Glass.</p><p>📦 <a href="https://github.com/jpudysz/react-native-unistyles/releases/tag/v3.8.0"><strong>Unistyles 3.8</strong></a></p><p>The Metro integration now runs zero Babel transforms, and web style updates got 2 to 8 times faster.</p><p>The catch is that you now need React Native 0.85 or Expo SDK 56, and the Babel plugin is on its way out.</p><p>📦 <a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.5.0"><strong>Gesture Handler 3.5</strong></a></p><p>V3 gestures get Begin, Deactivate and Finalize events, plus a long list of fixes for swipeables and pressables that misbehaved.</p><p>Pan velocity now reads zero when your finger rests before letting go, instead of pretending you flicked it.</p><p>📦 <a href="https://github.com/callstack/react-native-pager-view/releases/tag/v10.0.0"><strong>Pager View 10</strong></a></p><p>Pager View has been rewritten as a function component, which is the one breaking change in this release.</p><p>It also stops fighting the ScrollView underneath it and finally puts the keyboard away when you swipe to another page.</p><p>📦 <a href="https://github.com/react-native-webview/react-native-webview/releases/tag/v17.1.0"><strong>React Native WebView 17.1</strong></a></p><p>A new Android profile prop gives each WebView its own cookie jar, so your logged-in tabs stop gossiping with each other.</p><p>📦 <a href="https://github.com/margelo/react-native-nitro-fetch/releases/tag/v1.10.0"><strong>Nitro Fetch 1.10</strong></a></p><p>Nitro Fetch now bridges XMLHttpRequest, so libraries that never heard of fetch get the fast path too.</p><p>It also drops your Authorization header on cross-origin redirects on Android, which is exactly where it belongs.</p><p>📦 <a href="https://github.com/lodev09/react-native-true-sheet/releases/tag/v4.1.0"><strong>True Sheet 4.1</strong></a></p><p>The new dimBlur prop blurs whatever sits behind the sheet instead of just tinting it grey.</p><p>It also fixes sheets turning see-through on iOS 27 and swallowing back presses on Android.</p><p>📦 <a href="https://kirillzyusko.github.io/react-native-keyboard-controller/blog/release-1-23"><strong>Keyboard Controller 1.23</strong></a></p><p>An intentionally small release adds a transparent prop to KeyboardExtender and makes KeyboardAwareScrollView more precise about where your caret is.</p><p>🐦 <a href="https://x.com/tmikov/status/2115687027303928162"><strong>Full Intl for Hermes</strong></a></p><p>Tzvetan Mikov previewed a complete Intl implementation for Hermes built on ICU4X, at about 19MB per platform.</p><p>It’s only a preview for now, but the days of polyfilling date formatting may be numbered.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/350/1*pOrSZx3udfb6h0pS1fqTDg.gif" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7118d5d97bb7" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/painting-900-paths-at-90-fps-a-hummingbird-that-laps-fbjni-and-webviews-that-finally-stop-7118d5d97bb7">Painting 900 Paths at 90 FPS, a Hummingbird That Laps fbjni, and WebViews That Finally Stop…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Jeeves for Every Coding Agent, a Pit Crew for Your Mac, and Simulators That Outlive Their App]]></title>
            <link>https://itnext.io/a-jeeves-for-every-coding-agent-a-pit-crew-for-your-mac-and-simulators-that-outlive-their-app-556fdea4a350?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/556fdea4a350</guid>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Mon, 09 Nov 2026 23:09:04 GMT</pubDate>
            <atom:updated>2026-11-09T23:09:04.985Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Bi3E6meb8dAR1KscvRrx1w.jpeg" /></figure><p>You’re reading The React Native Rewind.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCYWrK5YlyY4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCYWrK5YlyY4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCYWrK5YlyY4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href">https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href</a></iframe><p>Still reading here? <a href="https://thereactnativerewind.com/">Join the community</a> instead.</p><p>Get The React Native Rewind in your inbox, plus the welcome series.</p><h3>Right Ho, Agent</h3><p><a href="https://en.wikipedia.org/wiki/Bertie_Wooster">Bertie Wooster</a> never once worked out what to do next, which was fine, because Jeeves always had.</p><p>Coding agents poking at Expo apps have been Bertie for a while: booting the wrong simulator, rebuilding when a reload would do, then asking us what went wrong.</p><p>Kudo Chien (<a href="https://x.com/kudochien">@kudochien</a>) and Vojtech Novak (<a href="https://x.com/vonovak">@vonovak</a>) just <a href="https://expo.dev/blog/introducing-expo-agent-cli">introduced @expo/agent-cli</a>, an experimental CLI “built by agents and designed for agents”.</p><p><strong>What does it do that </strong><strong>npx expo doesn&#39;t?</strong></p><p>Every command returns an exit code, optional JSON and the next command worth running, so the agent never has to guess.</p><p>status works like git status for the native side, telling us whether Expo Go can run the project and whether a change needs a rebuild or just a reload, without launching anything.</p><p>dev --ios then picks Expo Go or a development build (<em>our own debug app with the native code baked in</em>), and --plan previews the steps first.</p><pre># wire up AGENTS.md and the Expo skills<br>npx @expo/agent-cli agents:setup<br># what changed, and do we need a rebuild?<br>npx @expo/agent-cli status<br># preview the launch, then run it<br>npx @expo/agent-cli dev --ios --plan<br>npx @expo/agent-cli dev --ios<br># prove the app actually boots<br>npx @expo/agent-cli smoke --ios</pre><p>We ran status on a fresh SDK 58 app, and it came back with the next command already written out.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ed6QSpqjdBkD2NRn.jpg" /><figcaption>Real terminal output of npx @expo/agent-cli status on a fresh Expo SDK 58 app</figcaption></figure><p><strong>Anything else in the pantry?</strong></p><p>navigate and runtime:reload drive the running app, and each git worktree gets its own simulator, so parallel agents stop fighting over one iPhone.</p><p>It builds on Expo CLI, EAS CLI and expo-doctor rather than replacing them.</p><p>Cloud builds are opt-in with --eas, which means no surprise EAS credits.</p><p>From SDK 58, installing a package through the CLI also links the agent skills it ships, building on Anthony Fu’s (<a href="https://x.com/antfu7">@antfu7</a>) <a href="https://github.com/antfu/skills-npm">skills-npm</a>.</p><p>It’s still experimental, so expect the odd change of suit, but our agents finally have a Jeeves, and we get to stay Bertie.</p><p>👉 <a href="https://github.com/expo/expo-agent-cli">@expo/agent-cli</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WzznDwBy-2vFgyojByXGLQ.jpeg" /></figure><h3>Ka-Chow, React Native Hits the Desktop</h3><p>Lightning McQueen spent a whole film learning that being fast means nothing if you never get off the track.</p><p>React Native on desktop has had the same problem: the engine existed, but nobody turned up with a pit crew.</p><p>Jay Meistrich (<a href="https://x.com/jmeistrich">@jmeistrich</a>) just <a href="https://legend.so/spark/overview/">launched Legend Spark</a>, a framework for building real desktop apps with React Native.</p><p><strong>What’s under the bonnet?</strong></p><p>Spark sits on <a href="https://github.com/shirakaba/expo-desktop">Expo Desktop</a>, an independent project from Jamie Birch (<a href="https://x.com/birch_js">@birch_js</a>) that wires Expo into <a href="https://github.com/microsoft/react-native-macos">react-native-macos</a> and <a href="https://github.com/microsoft/react-native-windows">react-native-windows</a>.</p><p>Screens use React Native’s native renderer and JavaScript runs in Hermes (<em>Meta’s JavaScript engine built for React Native</em>), so there’s no browser hiding inside the app.</p><p>On top, Spark adds the desktop parts we’d normally write in Swift: windows, menus, dialogs, files, a tray icon, SQLite and Sparkle (<em>the standard macOS auto-update framework</em>).</p><pre>import {<br>  openWindow,<br>  showWindow,<br>} from &#39;@legendapp/spark/windows&#39;;<br><br>await openWindow({<br>  id: &#39;inspector&#39;,<br>  component: &#39;Inspector&#39;,<br>  title: &#39;Inspector&#39;,<br>  size: { width: 480, height: 640 },<br>  show: false,<br>});<br>await showWindow(&#39;inspector&#39;, { focus: true });</pre><p>Each window is just a component registered with AppRegistry, opened from JavaScript like a modal that escaped the phone.</p><p><strong>Do we need Xcode for the warm-up lap?</strong></p><p>No.</p><p>npm create @legendapp/spark@next MyApp followed by npm run macos launches Spark Runner (<em>a prebuilt dev app that loads our JavaScript from Metro</em>), with Fast Refresh and no native compile.</p><p>Adding a native dependency means a custom dev build, and npm run package signs and notarizes the finished app.</p><p><strong>Is it race-ready?</strong></p><p>Jay’s own <a href="https://legend.so/">Legend apps</a> now run on it, including Diff, Code, Music and Photos.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*sONj02375xLbViIP.jpg" /><figcaption>Legend Diff, a macOS app built on Legend Spark, showing a side-by-side code diff</figcaption></figure><p>The <a href="https://legend.so/spark/limitations/">docs</a> are honest about the rest: version 0.0.1 targets Expo SDK 54 and React Native 0.81, needs macOS 14 on Apple Silicon, and is “not ready for production”.</p><p>Windows and Intel Macs are in progress, and Linux isn’t supported.</p><p>The car is quick and the pit crew has finally arrived, but this is still a practice lap, not the Piston Cup.</p><p>👉 <a href="https://github.com/LegendApp/legend-spark">Legend Spark</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*z7k1i8_jt_RaXguYd0igqw.jpeg" /></figure><p><strong>📦</strong> <a href="https://github.com/react/react-native/releases/tag/v0.88.1">React Native 0.88.1</a></p><p>Release builds on iOS now compile with -O2 instead of -Os, so iOS finally gets the same speed-over-size treatment Android has enjoyed all along.</p><p>Swift Package Manager users also get a generated xcconfig, which means a version bump no longer scribbles all over your project.pbxproj.</p><p><strong>📦</strong> <a href="https://github.com/jpudysz/react-native-unistyles/releases/tag/v3.7.0">Unistyles 3.7</a></p><p>Unistyles now gets its own track in the React Native DevTools performance panel, so you can finally see exactly why that theme switch felt sluggish.</p><p>It also understands the new 0.88 style props, like the object form of fontVariationSettings, though watch out for one small breaking change to UnistylesRuntime.themeName.</p><p><strong>📦</strong> <a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.11.0">React Native ExecuTorch 0.11</a></p><p>On-device LLMs get a sampler borrowed from llama.cpp&#39;s playbook, constrained decoding and context windows up to 16k tokens.</p><p>The phone can now also guess depth, paint over the bits of a photo you’d rather forget, and run a little vector store without ever calling home.</p><p><strong>📦</strong> <a href="https://github.com/nativewind/nativewind/releases/tag/5.0.0-rc.1">NativeWind 5 RC 1</a></p><p>The second v5 release candidate lands for Expo 57, with Metro build warnings and a pile of fixes in its CSS engine.</p><p>The latest tag still points at v4, so nobody gets upgraded by surprise.</p><p><strong>📦</strong> <a href="https://github.com/expo/eas-cli/releases/tag/v27.2.0">EAS CLI 27.2</a></p><p>The new eas observe:traces and eas observe:trace commands draw your app&#39;s request traces as a span tree right in the terminal.</p><p>No more squinting at a dashboard to work out which request ate your startup time.</p><p><strong>📦</strong> <a href="https://github.com/LegendApp/legend-list/releases/tag/v3.7.0">Legend List 3.7</a></p><p>scrollToIndex and friends now resolve their promises when the scroll actually lands, instead of resolving early or ghosting you entirely.</p><p>There’s also a new scrollToKey for jumping to an item by key, even after new rows get prepended above it.</p><p><strong>📦</strong> <a href="https://github.com/mobile-dev-inc/maestro/blob/main/CHANGELOG.md#2120">Maestro 2.12</a></p><p>Xcode 27 ships without Simulator.app, and Maestro now boots simulators anyway, which is a sentence none of us expected to read this year.</p><p>It also spots iOS crashes even when the system can’t be bothered to write a crash report.</p><p><strong>📝</strong> <a href="https://dev.to/muhittin_camdali/react-native-088-is-not-enough-for-ios-27-the-scenedelegate-move-you-still-have-to-make-fom">React Native 0.88 Is Not Enough for iOS 27</a></p><p>Upgrading to 0.88 gives you the SceneDelegate APIs, but your existing app stays on its old AppDelegate until you move it yourself.</p><p>Muhittin Çamdalı walks through the switch and the sneaky black-screen failure, and his sdkbump CLI tells you whether your app will even launch on the iOS 27 SDK.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=556fdea4a350" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-jeeves-for-every-coding-agent-a-pit-crew-for-your-mac-and-simulators-that-outlive-their-app-556fdea4a350">A Jeeves for Every Coding Agent, a Pit Crew for Your Mac, and Simulators That Outlive Their App</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Wardrobe Raid for Sparkle Emoji, an Oompa Loompa Shift for Every Ticket, and a Draw 25 Card…]]></title>
            <link>https://itnext.io/a-wardrobe-raid-for-sparkle-emoji-an-oompa-loompa-shift-for-every-ticket-and-a-draw-25-card-2c133645e7c4?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/2c133645e7c4</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Thu, 05 Nov 2026 00:03:05 GMT</pubDate>
            <atom:updated>2026-11-05T00:03:05.544Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Wardrobe Raid for Sparkle Emoji, an Oompa Loompa Shift for Every Ticket, and a Draw 25 Card Called Accept All</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OI9trv69YXNHw83G9ew3fA.jpeg" /></figure><h3>What Not to Ship, Susannah!</h3><p>Trinny and Susannah never asked what you fancied wearing.</p><p>They opened the wardrobe, held up the worst offender and told you exactly why it had to go.</p><p>AI-built screens need the same treatment: sparkle emoji, tracked uppercase labels, 10px text and a gradient on everything.</p><p>Sinan Yorulmaz (<a href="https://x.com/sinanyorulmazz">@sinanyorulmazz</a>) of <a href="https://enmera.com.tr/">Enmera</a> has built that wardrobe raid as an open-source package, <a href="https://github.com/enmerasoftware/ai-design-check">ai-design-check</a>.</p><p><strong>What goes in the bin bag?</strong></p><p>It ships <a href="https://github.com/enmerasoftware/ai-design-check/blob/main/RULES.md">95 design rules</a>, and a checker with no dependencies and no API key tests 57 of them automatically.</p><p>It reads React, Vue, Svelte and plain HTML, plus <a href="https://developer.apple.com/xcode/swiftui/">SwiftUI</a> and <a href="https://developer.android.com/compose">Jetpack Compose</a> apps.</p><p>Every finding names the file, the line and the rule, like outline-none with no replacement focus ring.</p><p>The 38 rules a pattern can’t judge are left for a human, or the agent, to eyeball.</p><p><strong>Who does the makeover?</strong></p><p>That’s the job of an <a href="https://agentskills.io/">Agent Skill</a> (<em>a folder of instructions your coding agent loads when it needs them</em>) for <a href="https://www.claude.com/product/claude-code">Claude Code</a>, <a href="https://cursor.com/">Cursor</a> and <a href="https://github.com/openai/codex">Codex</a>, installed with npx skills add enmerasoftware/ai-design-check.</p><p>Ask it to “fix the design of this screen” and it measures the gaps and radii, writes a four-line brief, then repairs things in order of harm, accessibility first.</p><p>It never deletes content to lower the count, so features, data and copy stay put.</p><p>On the repo’s demo dashboard, that took 266 findings down to zero.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Vx3veYecTvKi-80A.jpg" /></figure><p><strong>Can it stop a relapse?</strong></p><p>Yes, wire it in as a Claude Code <a href="https://code.claude.com/docs/en/hooks">hook</a> (<em>a command that runs automatically after the agent edits a file</em>).</p><pre>{<br>  &quot;hooks&quot;: {<br>    &quot;PostToolUse&quot;: [{<br>      &quot;matcher&quot;: &quot;Edit|Write|MultiEdit&quot;,<br>      &quot;hooks&quot;: [{<br>        &quot;type&quot;: &quot;command&quot;,<br>        &quot;command&quot;: &quot;npx -y @enmera/ai-design-check hook&quot;<br>      }]<br>    }]<br>  }<br>}</pre><p>A clean file passes silently, and anything else goes straight back to the agent to fix.</p><p>In CI, --format github turns the same findings into pull request annotations.</p><p>Older projects can record today’s findings as a baseline, so only new crimes get reported.</p><p>Kinda sweet.</p><p>👉 <a href="https://github.com/enmerasoftware/ai-design-check">ai-design-check</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*JwYdgR82SXft9MLf.jpg" /></figure><h3>Willy Wonka and the Pull Request Factory</h3><p>Willy Wonka didn’t stir every vat himself…</p><p>He built a factory and let the <a href="https://youtu.be/86N0AiXJQTo?list=RD86N0AiXJQTo&amp;t=13">Oompa Loompas run it</a>.</p><p>Most of us still run coding agents the other way round, one laptop and one session at a time, babysitting CI and review comments.</p><p>Darko Fabijan (<a href="https://x.com/darkofabijan">@darkofabijan</a>), CEO of <a href="https://x.com/superplanehq">SuperPlane</a>, just shipped <a href="https://superplane.com/blog/superplane-1-0-the-open-source-software-factory-for-teams/">SuperPlane 1.0</a>, an open-source software factory (<em>a shared system that turns tickets into tested code changes</em>) for teams.</p><p><strong>What happens on the factory floor?</strong></p><p>It reads the backlog and scores each task for clarity, complexity and verifiability before any agent touches it.</p><p>Approved tasks run in their own cloud environment, in parallel, with whichever model we pick.</p><p>Every change comes back with evidence, from passing checks to screenshots of the real UI, and failing CI or review comments send the agent back in until the PR is ready for a person.</p><p>The whole team shares one board showing what’s running, what failed and what it cost.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*FxowN7kw7_L4piai.jpg" /></figure><p><strong>Can we keep the factory in our own garden?</strong></p><p>Yes, the engine is Apache 2.0 and installs on a single VM with Docker Compose.</p><pre>VERSION=v1.0.0<br>REPO=https://github.com/superplanehq/superplane<br>TAR=superplane-single-host.tar.gz<br>curl -fsSL -o &quot;$TAR&quot; \<br>  &quot;$REPO/releases/download/$VERSION/$TAR&quot;<br>tar -xzf &quot;$TAR&quot; &amp;&amp; cd superplane<br># up to 8 runners at once, 2 kept warm<br>SUPERPLANE_RUNNER_MAX_CAPACITY=8 \<br>SUPERPLANE_RUNNER_WARM_CAPACITY=2 \<br>./install.sh</pre><p>Each concurrent runner wants 2 vCPUs and 8 GB of memory, so the factory is cheap to open but not to fully staff.</p><p>The team says 52% of the pull requests they merged last month went through SuperPlane, mostly work nobody would have got round to.</p><p>Hosted plans start at pay-as-you-go, and bringing our own model keys adds no token markup.</p><p>No golden ticket required… BOOM! xd</p><p>Just a bug in the backlog and a factory that does the tasting before we do.</p><p>👉 <a href="https://github.com/superplanehq/superplane">SuperPlane</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*K6DcU4E1BRe-6Rbn.jpg" /></figure><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-28-github-agentic-workflows-generally-available/">GitHub Agentic Workflows GA</a></p><p>Write your CI chores in Markdown, gh aw compile turns them into Actions YAML, and Copilot, Claude Code or Codex does the triage… read-only and sandboxed by default, so the agent can&#39;t merge its own homework.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-28-connect-your-tools-to-copilot-without-all-the-setup/">GitHub-Verified MCP Connectors</a></p><p>Connect Slack, Figma, Notion, Sentry, Linear and 21 more once, and they work across the Copilot app, CLI, VS Code and Mobile… no more pasting the same OAuth dance into five config files.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-28-github-copilot-in-vs-code-universe-releases/">Copilot in VS Code, Universe Edition</a></p><p>Cloud sessions that follow you from phone to desk, an Agent Host that keeps running after you close the window, and experimental computer use with /computer on… your standup can now start a PR.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-27-github-copilot-supports-server-to-server-authentication/">Copilot Server-to-Server Auth</a></p><p>GitHub Apps can now call the Copilot SDK on behalf of an org with no signed-in human, billed to the org… your bot finally gets its own badge instead of borrowing yours.</p><p><strong>📦</strong> <a href="https://replit.com/blog/anyone-can-bring-ideas-to-company-codebase">Replit Cloud Agents</a></p><p>Anyone on a Pro or Enterprise team describes a change, and the agent clicks through it in a sandbox and opens a PR with a video attached… the marketing team now ships code, engineering still holds the merge button.</p><p><strong>📦</strong> <a href="https://code.claude.com/docs/en/changelog">Claude Code Blocks Stray Writes</a></p><p>permissions.blockWritesOutsideWorkingDirectories keeps Write and Edit inside your project in every mode, long sessions now compact past 200K tokens instead of asking for credits, and CLAUDE_CODE_DISABLE_ULTRATHINK exists for the brave.</p><p><strong>📦</strong> <a href="https://github.com/openai/codex/releases/tag/rust-v0.166.0">Codex 0.166</a></p><p>Keyboard-driven transcript search, GPT-6.1 Terra in the Vertex AI and Bedrock catalogs, and codex doctor --network-only… for when the real bug is the hotel Wi-Fi.</p><p><strong>📦</strong> <a href="https://kiro.dev/changelog/cli/2-36/">Kiro Approve for Me</a></p><p>Kiro CLI 2.36 approves routine actions, blocks risky ones and asks when unsure, saved per workspace… goodbye to pressing Y four hundred times before lunch.</p><p><strong>📦</strong> <a href="https://github.com/mistralai/mistral-vibe/blob/main/CHANGELOG.md">Mistral Vibe 3.0.3</a></p><p>Skills now hot-reload mid-session, agent hooks land, and experimental tracking ties each PR or MR back to the session that made it… a receipt for every vibe.</p><p><strong>📦</strong> <a href="https://www.etraveligroup.com/etraveli-group-opens-its-flight-engine-to-ai-agents-with-new-flight-mcp/">Etraveli Flight MCP</a></p><p>The engine behind <a href="http://booking.com/">Booking.com</a> flights now lets Claude or ChatGPT search 550+ airlines and book through a hosted payment link… your agent still can’t get you the window seat for free, though.</p><p><strong>📦</strong> <a href="https://community.pipefy.com/product-updates-193/mcp-for-ai-agents-client-and-server-now-available-in-pipefy-5710">Pipefy MCP Client and Server</a></p><p>Pipefy agents can call Slack and Salesforce, and Claude Code or Cursor can run Pipefy processes as tools… the approval workflow can now approve itself, with an audit trail.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/0*6L32LTdw7usqUy-K.gif" /></figure><p>Subscribe to The Agentic Rewind: <a href="https://theagenticrewind.com/">https://theagenticrewind.com/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2c133645e7c4" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-wardrobe-raid-for-sparkle-emoji-an-oompa-loompa-shift-for-every-ticket-and-a-draw-25-card-2c133645e7c4">A Wardrobe Raid for Sparkle Emoji, an Oompa Loompa Shift for Every Ticket, and a Draw 25 Card…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Health Permit Filed Before You Noticed, a Pocket-Sized Coder Raised by Agents, and a Perfectly…]]></title>
            <link>https://itnext.io/a-health-permit-filed-before-you-noticed-a-pocket-sized-coder-raised-by-agents-and-a-perfectly-2255a92041a4?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/2255a92041a4</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[agents]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 23:28:17 GMT</pubDate>
            <atom:updated>2026-10-28T23:28:17.537Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Health Permit Filed Before You Noticed, a Pocket-Sized Coder Raised by Agents, and a Perfectly Balanced CI With No Tests Left</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WqAfTQEtQu5J2OQMCrp8eg.jpeg" /></figure><h3>Elementary, My Dear Calendar</h3><p>Sherlock Holmes never waited to be asked.</p><p>He spotted the mud on your boots and told you where you’d been before you’d even sat down.</p><p><a href="https://x.com/AnthropicAI">Anthropic</a> launched <a href="https://claude.com/blog/claude-duet">Claude Duet</a> on October 21.</p><p>It’s an agent that works the same way: it comes to you first.</p><p>That makes it a proactive agent ( <em>one that starts the conversation instead of waiting for a prompt</em>).</p><p><strong>What does it notice?</strong></p><p>Duet is a research preview for iOS, Android and <a href="http://claude.ai/">claude.ai</a>, built on <a href="https://www.anthropic.com/claude-opus-5-5">Claude Opus 5.5</a>.</p><p>It checks your connected accounts every few hours, sends a morning brief, and only messages you when something needs attention.</p><p>In the launch demo, it spots that a new shop opens in 26 days with no health permit filed, so it drafts one.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/560/0*Rk8PBIMw68iOY-8A.gif" /></figure><p>One tester’s call landed right before her flight, so Duet offered to move it.</p><p><a href="https://x.com/bcherny">Boris Cherny</a> just talks his to-do list at it on walks.</p><p><strong>Where does it do the work?</strong></p><p>Duet gets its own virtual machine with a browser, so our laptops can finally go to sleep.</p><p>It reaches over 6,000 <a href="https://claude.com/marketplace/connectors-plugins">connectors and plugins</a> and pays with a virtual card through <a href="https://link.com/">Link</a>.</p><p><strong>Who’s holding the magnifying glass?</strong></p><p>Before it sends a message, pays, signs or deletes anything, it shows exactly what it’s about to do and waits for a yes.</p><p>Trading and moving money between accounts are off the table even with approval, and a new classifier watches for leaks of sensitive information.</p><p>It can’t show us its browser yet, so the deducing happens behind a closed door.</p><p>It comes with Pro and Max plans via a <a href="https://claude.com/product/claude-duet">waitlist</a>, starting in the US, and it eats into the same usage limits.</p><p><a href="https://www.theverge.com/ai-artificial-intelligence/1015843/anthropic-claude-duet-ai-agent">The Verge</a> calls it Anthropic’s answer to Meta’s Muse and OpenAI’s Dots.</p><p>The game is afoot, and the paperwork is already drafted.</p><p>👉 <a href="https://claude.com/product/claude-duet">Claude Duet</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2RmcpGL3c3jOnInZ.jpg" /></figure><h3>Size Matters Not</h3><p>Yoda was a small green creature who could still lift an X-wing out of a swamp.</p><p><a href="https://x.com/Recursive_SI">Recursive</a> released <a href="https://recursive.com/updates/introducing-recursive-flint">Flint</a> on October 21, a coding model small enough to live on a laptop.</p><p>The twist is who built it: Recursive says a small team of people and agents made it from scratch in under four months.</p><p><strong>How small is small?</strong></p><p>Flint is a mixture-of-experts model ( <em>only a few specialist sub-networks wake up for each token</em>) with 40B parameters in total, but just 2.5B active at a time.</p><p>That’s how it manages more than 125 tokens per second on an M4 Pro MacBook Pro.</p><p>Recursive says it leads mixture-of-experts models under 50B on <a href="https://github.com/scaleapi/SWE-bench_Pro-os">SWE-Bench Pro</a> and <a href="https://www.tbench.ai/">Terminal-Bench</a>, while running over five times faster than dense models that score the same.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*MEVbfnndqYEAQVYi.jpg" /></figure><p>Run it locally, and our code never leaves the laptop.</p><p>The weights are on <a href="https://huggingface.co/RecursiveSI/flint">Hugging Face</a> under Apache 2.0.</p><p><strong>Who did the actual work?</strong></p><p>Recursive’s Eureka Machine ( <em>its system for automated AI research</em>) ran the architecture search.</p><p>It proposes ideas, implements them, tests them and decides what to try next.</p><p>It also wrote a Metal megakernel ( <em>one GPU program that runs the whole next-token step on Apple chips</em>).</p><p>Then it squeezed the output layer down to 4-bit, against common practice, and the model still scores within a point of full precision.</p><p><a href="https://techcrunch.com/2026/10/21/recursive-launches-flint-a-laptop-coding-model-it-says-was-largely-built-by-ai/">TechCrunch</a> sums it up as a model largely built by AI.</p><p>CEO <a href="https://x.com/RichardSocher">Richard Socher</a> has a new book out called The Eureka Machine.</p><p><strong>How do we try it?</strong></p><p>Judge it by its size, you should not.</p><p>It runs in <a href="https://github.com/ggml-org/llama.cpp">llama.cpp</a>, <a href="https://ollama.com/">Ollama</a>, <a href="https://lmstudio.ai/">LM Studio</a> and Recursive’s own engine, <a href="https://github.com/recursive-oss/rec">rec</a>.</p><p>Wi-Fi optional, the Force sold separately.</p><p>👉 <a href="https://recursive.com/updates/introducing-recursive-flint">Recursive Flint</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_hYqs8t44PRmPDGQ.jpg" /></figure><p><strong>📦</strong> <a href="https://replit.com/blog/replit-monitoring-agent">Replit Monitoring Agent</a></p><p>An autonomous on-call engineer that reads your production logs, validates a fix, and emails you what happened… flip on the experimental Auto-republish and it ships the fix too, so the 2am pager finally belongs to someone else.</p><p>📦 <a href="https://github.com/openai/codex/releases/tag/rust-v0.164.0">Codex 0.164 Presets</a></p><p>Ten numbered /presets slots for your favourite prompts, inline /model and /permissions, and image previews right in the terminal... speed-dial for the prompt you&#39;ve typed 400 times this month.</p><p><strong>📦</strong> <a href="https://code.claude.com/docs/en/changelog">Claude Code Safety Events</a></p><p>A busy week of releases adds a claude_code.safety_event for every tool call that gets stopped or prompted, @claude review stop for PRs, and a workspace-trust check on ultrareview... a paper trail for every time the agent got told no.</p><p>📦 <a href="https://ampcode.com/news/self-hosted-orbs">Amp Self-Hosted Orbs</a></p><p>Run amp orb provider, point it at your dispatch script, and Amp&#39;s agents spin up on your own Docker, Kubernetes, E2B or Modal... free for now, with Enterprise pricing landing October 29.</p><p><strong>📦</strong> <a href="https://docs.devin.ai/release-notes/2026">Devin Playbooks Become Skills</a></p><p>Every playbook turns into a skill with the same instructions, and Devin can now auto-review a PR on every push… new accounts from October 24 never even meet a playbook.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-23-turn-notifications-into-code-with-github-copilot-in-teams/">GitHub Copilot in Teams</a></p><p>Reply to a GitHub notification in Teams, mention @GitHub, and Copilot investigates, runs tests and opens a PR… legacy app users have until November 16 to switch, or the meeting chat stays just a meeting chat.</p><p><strong>📦</strong> <a href="https://github.blog/changelog/2026-10-22-industry-comparisons-in-the-copilot-impact-dashboard/">Copilot Industry Comparisons</a></p><p>The Copilot impact dashboard now ranks your agent-first adoption against peers by company size and industry… opt-in only, which is lucky for whoever’s still pasting into ChatGPT.</p><p><strong>📦</strong> <a href="https://github.com/github/copilot-cli/blob/main/changelog.md">Copilot CLI Trust Folder</a></p><p>1.0.100 adds --trust-folder, a telemetry opt-out, and a sandbox that can finally reach <a href="http://localhost/">localhost</a>, while 1.0.103 carries sandbox settings into ACP sessions... your dev server says hi.</p><p><strong>📦</strong> <a href="https://itbrief.news/story/functionize-launches-mcp-server-for-ai-coding-agents">Functionize MCP Server</a></p><p>Your coding agent hands Studio the context behind a change, and Studio tests the affected user flows against the live app… because tests written by the agent that wrote the code tend to agree with it.</p><p>📦 <a href="https://traefik.io/press/traefik-labs-introduces-the-traefik-mcp-server-grounding-ai-agents-in-the-gateway-from-day-0-to-day-2">Traefik MCP Server</a></p><p>A read-only server that tells your agent what’s valid, running and happening at the gateway, with Datadog, Grafana and Dash0 support… so its config works on the release you actually run.</p><p>📝 <a href="https://www.kin.com/news/kin-enables-webmcp-ai-shopping/">Kin Turns On WebMCP</a></p><p>A US home insurer now lets ChatGPT drive its quote flow through WebMCP instead of clicking around like a lost tourist… your agent can now insure the house it keeps forgetting to lock.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/453/0*t8OokOY1oHs6PIlM.gif" /></figure><p><em>Originally published at </em><a href="https://www.theagenticrewind.com/issues/a-health-permit-filed-before-you-noticed-a-pocket-sized-coder-raised-by-agents-and-a-perfectly-balanced-ci-with-no-tests-left"><em>https://www.theagenticrewind.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2255a92041a4" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-health-permit-filed-before-you-noticed-a-pocket-sized-coder-raised-by-agents-and-a-perfectly-2255a92041a4">A Health Permit Filed Before You Noticed, a Pocket-Sized Coder Raised by Agents, and a Perfectly…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fast-Forwarding Past the 9 A.M.]]></title>
            <link>https://itnext.io/fast-forwarding-past-the-9-a-m-reminder-bob-ross-paints-straight-to-the-gpu-and-a-readme-that-con-f22b5337e09f?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/f22b5337e09f</guid>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 23:26:58 GMT</pubDate>
            <atom:updated>2026-11-07T10:31:09.189Z</atom:updated>
            <content:encoded><![CDATA[<h3>Fast-Forwarding Past the 9 A.M. Reminder, Bob Ross Paints Straight to the GPU, and a README That Confesses Its Own Bugs</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7SpwrHjG_CX92Zmx0-i2TA.jpeg" /></figure><p>You’re reading The React Native Rewind.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCYWrK5YlyY4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCYWrK5YlyY4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCYWrK5YlyY4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href">https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href</a></iframe><p>Still reading here? <a href="https://thereactnativerewind.com/">Join the community</a> instead.</p><p>Get The React Native Rewind in your inbox, plus the welcome series.</p><p>Doc Brown needed a DeLorean and 1.21 gigawatts to jump forward in time.</p><p>Our QA agents just need to test a reminder that fires at 9 a.m., and right now they sit and wait for it like the rest of us.</p><p><a href="https://x.com/ChmalSzymon">Szymon Chmal</a> and <a href="https://x.com/callstackio">Callstack</a> launched <a href="https://github.com/callstackincubator/appduct">Appduct</a> on October 20 to fix exactly that.</p><p><strong>What does it actually do?</strong></p><p>Appduct turns your running app into an <a href="https://modelcontextprotocol.io/">MCP</a> server ( <em>the protocol agents use to call outside tools</em>).</p><p>You register functions like advance_time, seed_cart or set_feature_flag, and the agent calls them instead of tapping through six screens.</p><p>The handlers run your app’s own code, so a test starts on the screen it cares about rather than the login page.</p><p>Call advance_time with 60 seconds, and the 9 a.m. reminder fires without anyone staring at a clock.</p><pre>import { useAppductTool } from &quot;@appduct/react-native&quot;;<br>import { z } from &quot;zod&quot;;<br><br>export function AppductTools() {<br>  useAppductTool({<br>    name: &quot;seed_cart&quot;,<br>    description: &quot;Fill the cart with test items.&quot;,<br>    inputSchema: z.object({ items: z.number() }),<br>    handler: async ({ items }) =&gt; ({ added: items }),<br>  });<br>  return null;<br>}</pre><p>Mount that near the root, and any agent that speaks MCP can call it.</p><p>The same tool works in <a href="https://incubator.callstack.com/appduct/start/quick-start/">Swift, Kotlin, Flutter and on the web</a>.</p><p>Release builds leave it out unless you opt in.</p><p><strong>How does the agent know the app is ready?</strong></p><p>Instead of sleep(3000) and a prayer, the app posts an event like checkout_completed, and the agent waits for it.</p><p>The connection runs through a small daemon on your machine and an encrypted WebSocket, paired with a single-use link ( <em>or a QR code on a real device</em>).</p><p>For the taps that still need tapping, it pairs with Callstack’s <a href="https://www.callstack.com/blog/agent-device-ai-native-mobile-automation-for-ios-android">agent-device</a>.</p><p><strong>Does it work in normal tests?</strong></p><p>A day later came <a href="https://www.npmjs.com/package/@appduct/e2e">@appduct/e2e</a>, which wraps the e2e tests you already have.</p><p>One call fills the cart, and the test runner’s AI agent gets the same tools.</p><p>The same test runs on web, iOS and Android.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*DNuwhavsNP9kugw7.gif" /></figure><p>Where our tests are going, they don’t need login screens.</p><p>👉 Appduct</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*3siTBdDYlhnjF9L3.jpg" /></figure><p>Bob Ross could turn a blank canvas into a mountain range in half an hour.</p><p>React Native video editing usually takes longer, plus a native SDK and a lot of bridge code.</p><p><a href="https://x.com/iSeb_">Sebastien Hecart</a> published the first beta of <a href="https://github.com/batical/react-native-skia-webgpu-video">react-native-skia-webgpu-video</a> on October 19.</p><p><strong>What is it?</strong></p><p>It plays, composes and exports video on top of <a href="https://github.com/Shopify/react-native-skia">React Native Skia</a> 3 and <a href="https://x.com/wcandillon">William Candillon</a>’s <a href="https://github.com/wcandillon/react-native-webgpu">React Native WebGPU</a> ( <em>the GPU API that Skia 3 now draws through</em>).</p><p>Every video frame lands on a Skia canvas, so we can paint text, shapes and filters straight on top.</p><p>Frames travel from the phone’s decoder to the encoder on the GPU, without a detour through JavaScript.</p><p>The trick is that one <a href="https://docs.swmansion.com/react-native-worklets/">worklet</a> ( <em>a small function that runs off the JS thread</em>) draws both the live preview and the exported file.</p><pre>const drawFrame: FrameDrawer = (props) =&gt; {<br>  &#39;worklet&#39;;<br>  const { canvas, frames, width, height } = props;<br>  const frame = frames.clip;<br>  if (frame) {<br>    drawVideoFrame(canvas, frame,<br>      { x: 0, y: 0, width, height }, { fit: &#39;contain&#39; });<br>  }<br>  // Draw your Skia text, shapes, or overlays here.<br>};<br><br>await exportVideoComposition({<br>  videoComposition: composition, drawFrame, outPath,<br>  width: 1280, height: 720, frameRate: 30, bitRate: 5_000_000,<br>});</pre><p>It picks up where the older <a href="https://github.com/AzzappApp/react-native-skia-video">Skia Video</a> left off, rewritten from scratch for Skia 3.</p><p><strong>Is anyone using it yet?</strong></p><p><a href="https://x.com/GiulioAmato">Giulio Amato</a> has already moved his video editor off <a href="https://developer.android.com/media/media3">Media3</a> ( <em>Android’s native media library</em>) and onto it.</p><p>Because the same code draws the preview and the export, what we see on the timeline is exactly what lands in the file.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*BhJTQH6hZE9AQ_6q.gif" /></figure><p><strong>What’s the catch?</strong></p><p>It’s a beta, tested on an iPhone 15 Pro and a Pixel 8a.</p><p>HDR isn’t qualified yet.</p><p>It pins exact Skia and WebGPU versions and needs the <a href="https://reactnative.dev/architecture/landing-page">New Architecture</a> and a native rebuild.</p><p>So Expo Go is out.</p><p>The README lists its known bugs with refreshing honesty, which is more than most of our side projects manage.</p><p><a href="https://github.com/batical/react-native-skia-webgpu-video/blob/main/docs/VERIFICATION_0.1.0-beta.3.md">Beta 3</a> on October 22 already cut a 4K frame on iOS from 33 MB to 12 MB.</p><p>There are no mistakes, just happy little dropped frames.</p><p>👉 <a href="https://github.com/batical/react-native-skia-webgpu-video">react-native-skia-webgpu-video</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*q74FZVmuFU3zDtIS.jpg" /></figure><p>📦 Nitro V1 alpha</p><p>Marc Rousavy (<a href="https://x.com/mrousavy">@mrousavy</a>) has opened the doors on the first Nitro V1 alpha, so library authors can grab the alpha-nightly tag and start poking at the future.</p><p>The same week, <a href="https://github.com/facebookincubator/fbjni/pull/118">his fbjni PR</a> made every call into Java and Kotlin 14% faster, which is a lot of speed for one merged pull request.</p><p>📦 Radon IDE 1.20</p><p>The iPhone Duo simulator now folds right inside your editor, and Radon warns you before you launch an app that iOS 27 is about to crash for skipping the UIScene lifecycle.</p><p><strong>📝</strong> <a href="https://expo.dev/blog/supporting-iphone-duo">Supporting iPhone Duo with Expo</a></p><p>Apple’s first foldable landed on Friday, and Expo’s guide explains why insets.top is suddenly zero and your tab bar has moved into a rail on the side.</p><p><strong>📦</strong> <a href="https://github.com/microsoft/react-native-windows/releases/tag/react-native-windows_v0.85.0">React Native Windows 0.85</a></p><p>The legacy architecture has finally been shown the door, so it’s New Architecture only from here, and you’ll need Visual Studio 2026 to get in.</p><p><strong>📦</strong> <a href="https://github.com/invertase/react-native-firebase/releases/tag/v27.0.0">React Native Firebase 27</a></p><p>CocoaPods is out and Swift Package Manager is in on iOS, and the ML package has been laid to rest now that Google has discontinued it.</p><p>📦 Unistyles 3.6</p><p>A new experimental Metro integration lets you ditch the Babel plugin, and plain views now re-render in half the time.</p><p>📦 Hot Updater 1.1</p><p>Over-the-air updates now reach brownfield apps too, and bumping your version number no longer locks you out of shipping a quick fix.</p><p>📦 React Native Bottom Tabs 1.5</p><p>Swift Package Manager support has arrived, along with a new prominent tab role for the one tab on iOS 27 that deserves to stand out from the crowd.</p><p><strong>📦</strong> <a href="https://github.com/callstack/react-native-builder-bob/releases/tag/create-react-native-library%400.64.0">create-react-native-library 0.64</a></p><p>Satyajit Sahoo (<a href="https://x.com/satya164">@satya164</a>) has taken the C++ template out of experimental, so your next native module can be written in C++ without feeling like a science project.</p><p><strong>📦</strong> <a href="https://github.com/gmi-software/react-native-better-pdf/releases/tag/v1.1.0">React Native Better PDF 1.1</a></p><p>Hand it three PDFs and it stitches them into one document with a single page count and search, which is exactly the trick <a href="https://github.com/wonday/react-native-pdf">react-native-pdf</a> can’t pull off.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/0*HlGqWMwP7TlCDf0Y.gif" /></figure><p><em>Originally published at </em><a href="https://thereactnativerewind.com/issues/fast-forwarding-past-the-9-a-m-reminder-bob-ross-paints-straight-to-the-gpu-and-a-readme-that-confesses-its-own-bugs"><em>https://thereactnativerewind.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f22b5337e09f" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/fast-forwarding-past-the-9-a-m-reminder-bob-ross-paints-straight-to-the-gpu-and-a-readme-that-con-f22b5337e09f">Fast-Forwarding Past the 9 A.M.</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Desk Racers Built From a Photograph, Purple Gradients Sent Back to the Kitchen, and a Security…]]></title>
            <link>https://itnext.io/desk-racers-built-from-a-photograph-purple-gradients-sent-back-to-the-kitchen-and-a-security-272cf50fd8bd?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/272cf50fd8bd</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Fri, 23 Oct 2026 08:10:29 GMT</pubDate>
            <atom:updated>2026-10-23T08:10:29.820Z</atom:updated>
            <content:encoded><![CDATA[<h3>Desk Racers Built From a Photograph, Purple Gradients Sent Back to the Kitchen, and a Security Backlog That Finally Got Help</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Y0YzDfkTzEh73pXcuY5CSg.jpeg" /></figure><p>You’re reading The Agentic Rewind <a href="https://www.theagenticrewind.com/issues/desk-racers-built-from-a-photograph-purple-gradients-sent-back-to-the-kitchen-and-a-security-backlog-that-finally-got-help">#2</a>.</p><h3>A Noble Gas With a Long Attention Span</h3><p>Argon is a noble gas, which means it doesn’t react to anything.</p><p>And that, in a way, is rather wonderful.</p><p>On October 13, Google released <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/">Gemini 4 Argon</a>, and the idea is beautifully simple: give it a big task and walk away.</p><p>Koray Kavukcuoglu (<a href="https://x.com/koraykv">@koraykv</a>) introduced it as a model trained to work longer and remember more than any Gemini before it.</p><p>It plans, writes the code, checks its own work, and keeps going long after we’d have closed the laptop and gone to look at the stars.</p><p><strong>So what actually changed?</strong></p><p>Earlier Gemini models could only write 64K tokens before they had to stop.</p><p>Argon shares one 1M-token window across everything it reads, thinks and writes.</p><p>So a single call can return a whole multi-file change, not half a function.</p><p>To go past 64K tokens, you run the request in background mode.</p><pre>let interaction = await client.interactions.create({<br>  model: &quot;gemini-4-argon&quot;,<br>  input:<br>    &quot;Write a complete, rigorous proof &quot; +<br>    &quot;of the prime number theorem.&quot;,<br>  // past 64K output tokens needs background mode<br>  background: true,<br>  generation_config: {<br>    max_output_tokens: 262144,<br>    thinking_level: &quot;high&quot;,<br>  },<br>});</pre><p>Then you check back with client.interactions.get until it&#39;s finished, which is Google&#39;s polite way of saying go and make a coffee.</p><p><strong>What does a long run look like?</strong></p><p>Google’s showpiece is Desk Racer.</p><p>Argon took photos of a real desk and, working inside <a href="https://antigravity.google/">Antigravity</a>, Google’s agent-first coding tool, turned them into a playable miniature racing game.</p><p>It built the 3D scene with <a href="https://github.com/ahujasid/blender-mcp">Blender MCP</a>, painted it with <a href="https://deepmind.google/models/gemini-image/">Nano Banana</a>, and wired up the physics and engine sounds in <a href="https://threejs.org/">Three.js</a>.</p><p>The track loops around the keyboard, the mouse and the desk lamp, a tiny universe built from a photograph.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_wC5hE4Ym98ggSC3g3MwIw.jpeg" /></figure><p>Every race starts with a countdown on the line, and you can <a href="https://ai.studio/apps/bundled/desk-racer">try it yourself in AI Studio</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/560/1*ndruoG0j4gl9_x9SMCAZ9A.gif" /></figure><p><strong>Does it actually ship better code?</strong></p><p>Google says its teams shipped over 35% more agent-written code with Argon, with nearly a third fewer rollbacks.</p><p>It also says Argon rarely cheats now, like skipping a failing test, doing it just 2% of the time.</p><p><a href="https://ai.google.dev/gemini-api/docs/pricing">Pricing</a> starts at $2 per million input tokens and $10 for output, doubling on December 1.</p><p>Our desks have never looked more productive.</p><p>Mostly because they never had a racetrack before.</p><p>This just made me want to play a round of <a href="https://mariokart.nintendo.com/">Mario Kart</a> (who are we kidding… more than one round, probably until I finish last three times in a row, hit by every evil banana and turtle shell going).</p><p>👉 <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/">Gemini 4 Argon</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2yHJowKKEkjs-8qQ56lX5g.jpeg" /></figure><h3>Taste the Rainbow, Fail the Gradient</h3><p>Right, ask any coding agent for a landing page, and what do you get?</p><p>A purple gradient, a centred headline, three feature cards, and a testimonial from someone who doesn’t exist.</p><p>It’s bland, it’s lazy, and we’ve all been served it a thousand times.</p><p>Leon Lin (<a href="https://x.com/LexnLin">@LexnLin</a>) shipped version 2 of <a href="https://github.com/Leonxlnx/taste-skill">Taste Skill</a> on October 13, and its whole job is to send that page back before anyone sees it.</p><p>It’s an <a href="https://agentskills.io/">Agent Skill</a> (<em>a folder of instructions your coding agent loads when it needs them</em>) for <a href="https://www.claude.com/product/claude-code">Claude Code</a>, <a href="https://github.com/openai/codex">Codex</a> and <a href="https://cursor.com/">Cursor</a>.</p><p><strong>What’s new in version two?</strong></p><p>It’s not the old recipe reheated.</p><p>Instead of vague advice like “make it modern”, it gives the agent a real library of designs, built from a study of 247 hand-picked sites.</p><p>The agent is dealt three design directions and has to pick the one that fits this particular client.</p><p>It also pulls real photos and maps from open collections like <a href="https://commons.wikimedia.org/">Wikimedia Commons</a> and <a href="https://github.com/WordPress/openverse">Openverse</a>, with credits on the page.</p><pre># install the v2 default skill<br>npx skills add https://github.com/Leonxlnx/taste-skill \<br>  --skill &quot;design-taste-frontend&quot;<br><br># deal three directions for the brief<br>node &lt;skill&gt;/scripts/draw.mjs --sector &lt;sector&gt; \<br>  --brief &quot;&lt;one line&gt;&quot; --sections &lt;roles&gt; --options 3<br><br># the gate the agent has to pass<br>node &lt;skill&gt;/scripts/lint.mjs &lt;source files or folder&gt;<br>node &lt;skill&gt;/scripts/inspect.mjs &lt;url or path/to/index.html&gt;</pre><p>That last line is the head chef, tasting every plate before it goes out.</p><p>inspect.mjs opens the page in a real browser on desktop, tablet and phone widths, and rejects it for gradients, shadows and other usual suspects.</p><p>The agent looks at its own screenshots, fixes the worst three problems and tries again, up to three times.</p><p><strong>Does it actually look different?</strong></p><p>Here’s a coffee shop page it made from a single brief, with a drawn storefront at the top.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KeE2g0egvNq7JybV6etJ4g.jpeg" /></figure><p>And here’s a techno night that prints its dates right onto an old photo of an industrial hall.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wi64Tiacqto_Jle8ZxAkEQ.jpeg" /></figure><p>The catch is time: a build takes 30 to 45 minutes and a few hundred thousand tokens.</p><p>It’s also meant for public pages, not dashboards or app screens.</p><p>Somewhere, a purple gradient is updating its LinkedIn profile.</p><p>Shut it down.</p><p>👉 <a href="https://github.com/Leonxlnx/taste-skill">Taste Skill</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nyrQhCOFQpcGGHP-pUWFOA.jpeg" /></figure><p>📦 <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/"><strong>Gemini 4 Argon</strong></a></p><p>Google’s new frontier model is GA in the API, AI Studio, and Antigravity at an intro $2/$10 per million tokens until Nov 30… and it already untangled a ~6 million line folder of legacy Chrome code, so your monolith is next.</p><p>📦 <a href="https://github.blog/changelog/2026-10-14-hydrafusion-updates-and-new-max-option/"><strong>HydraFusion Max</strong></a></p><p>Copilot’s multi-model blender now pulls from Claude Opus 5.5, GPT-6 Astra, GPT-6.1 Sol, and GPT-6 Luna, with parallel critics poking the actual workspace… Max cranks the reasoning for when “balanced” isn’t the vibe.</p><p>📦 <a href="https://github.com/openai/codex/releases/tag/rust-v0.163.0"><strong>Codex 0.163 Mid-Turn Steering</strong></a></p><p>Send a follow-up while Codex is mid-response and it steers right away, plus searchable /config and read-only tools running in parallel… finally, a way to say &quot;no, not that file&quot; before it&#39;s too late.</p><p>📦 <a href="https://github.com/cline/cline/releases/tag/v4.1.25"><strong>Cline Cloud Sessions</strong></a></p><p>Run a Cline task in a hosted sandbox on the repo and branch you pick, and it keeps going after you close your editor… rolling out gradually, and unpinned Cline-provider users now default to Gemini 4 Argon.</p><p>📦 <a href="https://shopify.dev/changelog/posts/add-shopping-and-shop-pay-checkout-to-any-agent-with-shop-mcp"><strong>Shop MCP</strong></a></p><p>Shopify’s hosted MCP server lets any agent search 1B+ products, build a cart, and finish Shop Pay checkout without bouncing the shopper to a website… search doesn’t even need an API key, which your credit card may find concerning.</p><p>📦 <a href="https://about.gitlab.com/blog/mcp-server-ga/"><strong>GitLab MCP Server GA</strong></a></p><p>Shipped with GitLab 19.5: semantic code search, pipeline debugging, toolsets, and Duo Agent Platform flows you can kick off from Claude Code or Cursor… all under your existing GitLab permissions, on every tier including Free.</p><p>📦 <a href="https://github.blog/changelog/2026-10-15-agentic-autofix-for-code-scanning-alerts-general-availability/"><strong>Copilot Agentic Autofix</strong></a></p><p>Now GA: assign a code scanning alert to Copilot and it explores the codebase, re-runs CodeQL to validate the fix, and opens a draft PR… up to 25 alerts at once, so the security backlog finally gets an intern.</p><p>📦 <a href="https://github.com/github/copilot-cli/blob/main/changelog.md"><strong>Copilot CLI Agent-Scoped Hooks</strong></a></p><p>1.0.97 lets custom agents carry their own declarative hooks, and Autopilot now denies a hook’s “ask” instead of freezing on a permission dialog nobody is watching… RIP the 3am prompt that patiently waited until 9am.</p><p>📦 <a href="https://github.com/anthropics/claude-code/releases/tag/v2.1.301"><strong>Claude Code Retry Watchdog Cap</strong></a></p><p>v2.1.301 adds CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS, so unattended retry mode gives up on a usage limit that resets too far away… instead of sitting there all weekend like a dog at the door.</p><p>📝 <a href="https://claude.dev/blog/solving-code-review-at-anthropic/"><strong>How the Claude Code Team Does Code Review</strong></a></p><p>Claude writes about 90% of Claude Code, merged PRs more than doubled from June to September, and reverts fell over 40%… plus the tale of one PR that did 50+ review rounds overnight before anyone stopped it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*sxm3dlquBm99-EDjQ7idiw.gif" /></figure><p>Authored by <a href="https://www.linkedin.com/in/lukebrandonfarrell/">Luke Farrell</a> and edited by <a href="http://www.linkedin.com/in/francisco-rios-nino">Fran Ríos</a>.</p><p>If you’re enjoying this newsletter, why not help us grow? Share it with your friends, family, and even that one coworker who always “forgets” to update dependencies. Use this link: <a href="https://theagenticrewind.com/">https://theagenticrewind.com/</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=272cf50fd8bd" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/desk-racers-built-from-a-photograph-purple-gradients-sent-back-to-the-kitchen-and-a-security-272cf50fd8bd">Desk Racers Built From a Photograph, Purple Gradients Sent Back to the Kitchen, and a Security…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Butler Who Never Reads the Diff, 1,000-Page Contracts in 56 Milliseconds, and a Phone That Knows…]]></title>
            <link>https://itnext.io/a-butler-who-never-reads-the-diff-1-000-page-contracts-in-56-milliseconds-and-a-phone-that-knows-48215cc637a6?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/48215cc637a6</guid>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Thu, 22 Oct 2026 09:14:59 GMT</pubDate>
            <atom:updated>2026-11-07T10:29:55.851Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Butler Who Never Reads the Diff, 1,000-Page Contracts in 56 Milliseconds, and a Phone That Knows How Far It’s Folded</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0odECcRpp8Xm3vbQZuibbg.jpeg" /></figure><p>You’re reading The React Native Rewind.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCYWrK5YlyY4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCYWrK5YlyY4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCYWrK5YlyY4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href">https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href</a></iframe><p>Still reading here? <a href="https://thereactnativerewind.com/">Join the community</a> instead.</p><p>Get The React Native Rewind in your inbox, plus the welcome series.</p><p>Good evening, Master Wayne.</p><p>I’ve read the changelog, so you needn’t.</p><p><a href="https://expo.dev/changelog/sdk-58">Expo SDK 58</a> arrived on October 15, announced by Alan Hughes and <a href="https://x.com/notbrent">Brent Vatne</a>.</p><p>And for once, sir, the headline is not a fresh way to break your Podfile.</p><p><strong>So what happened to the Simulator?</strong></p><p><a href="https://developer.apple.com/xcode/">Xcode 27</a> has retired Simulator.app, and the new expo-device-hub plugin turns your browser into a device dashboard instead.</p><p>It streams your iOS simulators and Android emulators, and you can tap, swipe and type straight into them.</p><p>Next to them sit live CPU, memory and network graphs, a bit like the screens in the Batcave.</p><p>Here it is running an iPhone 17 Pro Max simulator, courtesy of Nathan Schroeder (<a href="https://x.com/nater02">@nater02</a>).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*5c8srWxpUkqkyvme.jpg" /></figure><p>To try it, run npx expo install expo-device-hub, then npx expo start, and the link will be waiting in your terminal.</p><p><strong>Can Siri finally talk to our apps?</strong></p><p>The household has a new member of staff, sir.</p><p>The alpha package <a href="https://docs.expo.dev/versions/v58.0.0/sdk/app-intents/">expo-app-intents</a> lets Siri, Shortcuts and Spotlight trigger actions in your app.</p><p><a href="https://developer.apple.com/documentation/appintents">App Intents</a> ( <em>Apple’s way of describing what your app can do</em>) still have to be declared in Swift.</p><p>Expo queues every request for your JavaScript, so Siri can take an order even when your app is closed.</p><pre>import * as AppIntents from &#39;expo-app-intents&#39;;<br><br>export function AppIntentHandler() {<br>  AppIntents.useAppIntents(async (pendingIntents) =&gt; {<br>    for (const invocation of pendingIntents) {<br>      // Siri may have queued this while the app was closed<br>      console.log(invocation.name, invocation.params);<br>      await AppIntents.removePendingInvocationAsync(<br>        invocation.id,<br>      );<br>    }<br>  });<br><br>  return null;<br>}</pre><p>npx expo-app-intents init sets up the Swift side for you.</p><p>In Expo’s demo, Siri asks which task to mark as complete and flips the toggle in the app.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cMOfkaFcKK5BPxrh.jpg" /></figure><p>I regret to report that Siri marked “Review pull requests” as done without reading a single line.</p><p>Every bit as thorough as you on a Friday, sir.</p><p><strong>Is the bundler any faster?</strong></p><p>SDK 58 adds <a href="https://github.com/expo/expo/pull/48443">Noxcturnal</a>, an experimental <a href="https://metrobundler.dev/">Metro</a> transformer written in Rust with <a href="https://oxc.rs/">oxc</a>.</p><p>In Expo’s test, a 5,500-file app went from 5.26 seconds on <a href="https://babeljs.io/">Babel</a> to 2.46 seconds, about twice as fast.</p><p>Phil Pluckthun (<a href="https://x.com/_philpl">@_philpl</a>) shared the timeline, with the new transformer finished at the top and Babel still working below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CaVWAt2tU5LTuofm.jpg" /></figure><p>You turn it on with experiments.noxcturnalTransformWorker, and it politely steps aside if you use custom Babel plugins.</p><p>Will that be all, sir?</p><p>👉 <a href="https://expo.dev/changelog/sdk-58">Expo SDK 58</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qEKOonAbvplSYCEK.jpg" /></figure><p>React Advanced London is back on October 23 and 26, 2026.</p><p>IT’S THIS FU**ING FRIDAY!!!!</p><p>And we are obviously gonna be there, so if you are in London, come say hi and make our day.</p><p>The first day, October 23, is in person at The Brewery, a London venue on the site of an 18th-century brewery, and it’s streamed online for everyone who can’t make it.</p><p>The second day, October 26, is fully remote, so wherever you are, you still get two days of advanced React engineering.</p><p>You’ll be joining 800+ engineers for 40+ talks and workshops, given by the library authors and core contributors who build the stuff you ship.</p><p>The big topics this year are React Server Components, the React Compiler and AI-assisted development.</p><p>And because this is The React Native Rewind, we have to point out there’s also a talk on building game UIs in Unreal Engine with React Native.</p><p>Want a last-minute discount? Reach out to Luke or Fran.</p><p>👉 Reserve your spot at <a href="https://reactadvanced.com/"><strong>reactadvanced.com</strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DkaiLBPb9_oDA1wx.jpg" /></figure><p>Some say every app eventually gets a support ticket that says “just show the PDF”.</p><p>And some say that the moment someone opens a 1,000-page scanned contract on a cheap Android phone, the app turns into a hand warmer.</p><p>All we know is, <a href="https://github.com/gmi-software/react-native-better-pdf">react-native-better-pdf</a> hit 1.0 on October 12, built by Jakub Kasprzyk (<a href="https://x.com/jkasprzyk17">@jkasprzyk17</a>) and the team at <a href="https://gmi.software/">GMI Software</a>.</p><p><strong>What’s wrong with the old one?</strong></p><p>For years, the default has been <a href="https://github.com/wonday/react-native-pdf">react-native-pdf</a>, which on Android ships its own PDF engine, <a href="https://pdfium.googlesource.com/pdfium/">PDFium</a>, inside your app.</p><p>That’s like towing a caravan to a drag race.</p><p>better-pdf ditches the caravan and uses the engines the phone already has: <a href="https://developer.apple.com/documentation/pdfkit">PDFKit</a> on iOS and <a href="https://developer.android.com/reference/android/graphics/pdf/PdfRenderer">PdfRenderer</a> on Android.</p><p>It’s built on <a href="https://nitro.margelo.com/docs/view-components">Nitro Views</a> from <a href="https://margelo.com/">Margelo</a>, so there’s no WebView and no JavaScript slowing down scrolling or zooming.</p><p>Only the pages on screen are kept in memory, no matter how long the lawyers chose to write.</p><pre>import { PdfView } from &#39;react-native-better-pdf&#39;;<br><br>export function Reader() {<br>  return (<br>    &lt;PdfView<br>      style={{ flex: 1 }}<br>      source={{ uri: &#39;https://example.com/report.pdf&#39; }}<br>      onLoad={({ pageCount }) =&gt;<br>        console.log(&#39;pages&#39;, pageCount)<br>      }<br>    /&gt;<br>  );<br>}</pre><p>That’s the entire reader.</p><p><strong>How fast are we talking?</strong></p><p>In the README’s latest Android benchmark, the 1,000-page scan opens in 56 ms instead of 622 ms.</p><p>It also peaks at 142 MB of memory instead of 898 MB.</p><p>POWERRRR.</p><p>The race below is a separate run, so its numbers differ a little, but the gap doesn’t.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*5Jol9VRCGHupso0l.gif" /></figure><p>In fairness, and we hate fairness, on iOS both libraries use PDFKit, so there the gap mostly vanishes.</p><p><strong>What else is in the box?</strong></p><p>Version 1.0 comes with search, fillable forms, offline caching and printing.</p><p>Search and forms answer two react-native-pdf feature requests that have been sitting open since <a href="https://github.com/wonday/react-native-pdf/issues/555">2021</a> and <a href="https://github.com/wonday/react-native-pdf/issues/763">2023</a>.</p><p>Here’s a form being filled in, straight from the launch video.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*RG4JfgUb_tWpsctQ.gif" /></figure><p>The catch is that you need the <a href="https://reactnative.dev/architecture/landing-page">New Architecture</a> and <a href="https://github.com/mrousavy/nitro">react-native-nitro-modules</a>.</p><p>But c’mon, at this point who hasn’t moved to the New Architecture?</p><p>Anybody? Raise your hand. Anybody? Anybody?</p><p>We’ll love you anyway, but unlike our love, updates aren’t unconditional.</p><p>There’s even an agent skill, so your coding agent can do the migration while we pretend to read the contract.</p><p>And on that bombshell…</p><p>👉 <a href="https://github.com/gmi-software/react-native-better-pdf">react-native-better-pdf</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*SArnt46MpD4dbJZ-.jpg" /></figure><p>Events now travel the web’s EventTarget path with real capture and bubbling, Text and TextInput get variable fonts through fontVariationSettings, and iOS picks up SceneDelegate support before Xcode 27 stops launching apps without it... and for the third time this year, no user-facing breaking changes.</p><p>Built for iOS 27 and React Native 0.88, with iPhone Duo support, a new expo-hinge package that tells you exactly how open your phone is, and expo-app-intents in alpha so Siri can finally tick off your onboarding checklist for you.</p><p>Cloud simulator sessions now default to signed-in preview links, and 25.2 adds eas simulator:control for poking a remote iOS simulator and moving files on and off it... the Mac under your desk is now officially someone else&#39;s problem.</p><p><strong>📦</strong> <a href="https://github.com/software-mansion/react-native-gesture-handler/releases/tag/v3.4.0">React Native Gesture Handler 3.4</a></p><p>Swift Package Manager builds on iOS, a new immediatePressOut prop for Touchable, and Android now fires onPressIn when the press actually starts... rather than whenever it got round to it.</p><p><strong>📦</strong> <a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0">React Native Screens 4.30</a></p><p>Stack v4 gets ready for iOS 27 and iPhone Duo and lays screens out properly under opaque headers on iOS 26+, though when the header bugs were reported, Apple simply pointed at its guidance against custom bar backgrounds… so maybe just go transparent.</p><p><strong>📦</strong> <a href="https://github.com/software-mansion-labs/react-native-nano-icons">React Native Nano Icons 1.0</a></p><p>The first stable release hot reloads edited SVGs through a Metro plugin, turns them into SF Symbols and VectorDrawables for native tab bars, and lets Reanimated animate their size and color… so nudging an icon no longer costs you a native rebuild.</p><p>Eight releases in five days land Skia m157, and Android phones without Vulkan now get pointed back to v2 instead of crashing… the Graphite herd leaves nobody behind on the savanna.</p><p>Nate (<a href="https://x.com/natebirdman">@natebirdman</a>) renders React Native components with GPUI, the GPU-accelerated Rust framework behind the Zed editor, straight into a Metal window on the Mac… no browser, no Electron, and Apple Silicon only for now.</p><p>Saurabh (<a href="https://x.com/saurra3h">@saurra3h</a>) brought 45 free animated components built on Reanimated, Gesture Handler and Uniwind, and npx beui-native add tabs copies one straight into your app... you own the code, and the bugs.</p><p>Priyanka (<a href="https://x.com/lassiecoder">@lassiecoder</a>) built an offline tool that reads your React Native or Expo build or crash log and tells you the real cause, with evidence and next steps… it reads the whole Gradle stack trace so you don’t have to.</p><p><strong>📦</strong> <a href="https://expo.dev/blog/teamreach-ota-updates-relaunch">Relaunching TeamReach</a></p><p>Gene Cornfield wrote up moving 5,000,000 active users to a rebuilt Expo app overnight, then shipping twelve OTA updates in three days to fix what testing missed… and the whole rescue cost about $4,000.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*7C0xyU0XMJN8IpR5.gif" /></figure><p><em>Originally published at </em><a href="https://thereactnativerewind.com/issues/a-butler-who-never-reads-the-diff-1-000-page-contracts-in-56-milliseconds-and-a-phone-that-knows-how-far-its-folded"><em>https://thereactnativerewind.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=48215cc637a6" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-butler-who-never-reads-the-diff-1-000-page-contracts-in-56-milliseconds-and-a-phone-that-knows-48215cc637a6">A Butler Who Never Reads the Diff, 1,000-Page Contracts in 56 Milliseconds, and a Phone That Knows…</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Great Graphite Migration, Derek Joins Fat Fighters, and a Leaderboard for Your Dependency Tree]]></title>
            <link>https://itnext.io/the-great-graphite-migration-derek-joins-fat-fighters-and-a-leaderboard-for-your-dependency-tree-f05dd1889faa?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/f05dd1889faa</guid>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[ios]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Tue, 13 Oct 2026 22:14:04 GMT</pubDate>
            <atom:updated>2026-11-07T10:28:09.544Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yTr3uxI67DeQz09rK6HnAg.jpeg" /></figure><p>You’re reading The React Native Rewind.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCYWrK5YlyY4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCYWrK5YlyY4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCYWrK5YlyY4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href">https://medium.com/media/74f6d74fc651ec22acc135fa784b11f3/href</a></iframe><p>Still reading here? <a href="https://thereactnativerewind.com/">Join the community</a> instead.</p><p>Get The React Native Rewind in your inbox, plus the welcome series.</p><h3>The Great Graphite Migration</h3><p>Out on the open plains of React Native, a great change is underway…</p><p>William Candillon (<a href="https://x.com/wcandillon">@wcandillon</a>) has released React Native Skia 3.0, and he announced it with a stream called Hello Graphite.</p><p>The renderer now runs on WebGPU ( <em>WebGL is a browser version of OpenGL, which is how web pages draw 3D graphics</em>).</p><p>OpenGL, the herd leader for decades, has been driven out of the group.</p><p>OpenGL is the old graphics API that phones have relied on to draw every pixel on screen for as long as anyone can remember.</p><p>Skia is the 2D graphics engine used by Chrome, Android and Flutter, and it is the engine of choice for some of the mightiest apps on the planet.</p><p><a href="https://github.com/wcandillon/react-native-skia">React Native Skia</a> brings that engine to React Native, so you can draw shapes, text, images and shaders onto a &lt;Canvas&gt; using ordinary React components.</p><p>Observe, here, a small shader, drawn with Skia’s web build (CanvasKit).</p><pre>const effect = CanvasKit.RuntimeEffect.Make(`<br>  uniform float2 size;<br>  uniform float time;<br>  half4 main(float2 xy) {<br>    float d = length(xy / size - 0.5);<br>    float rings = sin(d * 40.0 - time * 4.0) * 0.5 + 0.5;<br>    half3 orange = half3(0.973, 0.659, 0.137);<br>    return half4(orange * rings + half3(0.08) * (1.0 - rings), 1.0);<br>  }`);<br>paint.setShader(effect.makeShader([W, H, t]));<br>canvas.drawRect(CanvasKit.XYWHRect(0, 0, W, H), paint);<br>canvas.drawCircle(W / 2, H / 2, 60 + 30 * Math.sin(t * Math.PI), stroke);</pre><p>And there they are, rippling rings surrounding a pulsing circle, the wild rings of a wild developer.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/300/0*30KfAWU_CFNihLPA.gif" /></figure><p><strong>So what changed in 3.0?</strong></p><p>Skia’s backend, the part that converts “draw a circle” into GPU instructions, was once Ganesh, which is not the Hindu god, though it was also based on OpenGL.</p><p>Version 3.0 replaces Ganesh with <a href="https://skia.org/docs/user/graphite/">Graphite</a>.</p><p>Graphite runs on Dawn, Google’s WebGPU implementation, and Dawn talks to Metal on Apple devices and to Vulkan on Android.</p><p>As William points out, Graphite fixes the stability and performance problems of the OpenGL design, which had been struggling on the savanna for years.</p><p><strong>But why should a developer care?</strong></p><p>Because the first win is multithreading by default. Drawings can be recorded on any thread, and only the finished frame is allowed to reach the UI thread.</p><p>The second win is that Skia and <a href="https://github.com/wcandillon/react-native-webgpu">React Native WebGPU</a> now share the same GPU device.</p><p>A texture, an image held in GPU memory, passes between them without being copied, which is nothing short of a miracle in the GPU world.</p><p>The docs include a recipe for drawing a three.js scene inside a Skia canvas.</p><pre>const device = importDevice(Skia.getNativeDevice());<br>const target = makeOffscreenTarget(device, width, height);<br>const renderer = new THREE.WebGPURenderer({<br>  canvas: target.context.canvas,<br>  context: target.context,<br>  device,<br>});<br>await renderer.init();<br>renderer.setAnimationLoop(() =&gt; {<br>  renderer.render(scene, camera);<br>  const previous = image.value;<br>  // Same GPU device, so the frame is wrapped, not copied<br>  image.value = Skia.Image.MakeImageFromGPUTexture(target.texture);<br>  previous?.dispose();<br>});</pre><p>The scene arrives as a plain &lt;Image&gt; inside your &lt;Canvas&gt;, ready for blurs, shaders and text to be stacked on top.</p><p>Video and camera frames receive the same zero-copy treatment, which is kinder to the battery, and the battery is the most vulnerable creature in the whole ecosystem.</p><p>The community did not wait for permission.</p><p>Paul Nguyen (<a href="https://x.com/paulNguyenJS">@paulNguyenJS</a>) combined Skia v3, React Native WebGPU and Reanimated 4 to turn the Dynamic Island into a UFO.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*G1_363YRtrFx99XP.gif" /></figure><p><strong>Where did @shopify go?</strong></p><p>Version 3 is published as react-native-skia, while @shopify/react-native-skia stops at 2.14, like a pride of lions that has walked off the map.</p><p>The repository now lives on William’s GitHub, and the drawing API is unchanged, so most apps only need to rename imports and bump platform versions.</p><p>OpenGL had a long reign on the savanna…</p><p>But the Graphite herd has moved on, and nobody is going back to the water hole for it.</p><p>Goodbye, OpenGL.</p><p>👉 <a href="https://github.com/wcandillon/react-native-skia">React Native Skia</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZxGRSzg4D6BCdWBn.jpg" /></figure><h3>Derek, Welcome to Fat Fighters</h3><p>You asked React Native for a View…</p><p>And it sent 448 files, 80,000 lines of JavaScript, a Slider, a DatePicker, a Switch, and a Modal your app never used.</p><p>We didn’t break up with my exes to be dragging all that extra luggage around.</p><p>So come on now, that is a lot to carry for a single View.</p><p>Davyd NRB, who goes by <a href="https://x.com/tell_me_mur">@tell_me_mur</a> on X, wrote a Babel plugin called <a href="https://github.com/retyui/babel-plugin-react-native-direct-imports">babel-plugin-react-native-direct-imports</a>, which rewrites each react-native import so that importing View pulls in only the View file.</p><p><strong>Right, so what does that actually mean?</strong></p><p>The plugin changes every react-native import so that it points straight at the file where that component is defined.</p><p>Let’s look at the problem first, shall we?</p><p>When you write import { View } from &#39;react-native&#39;, you are importing from react-native/index.js, which is a barrel (one file that re-exports everything in the package).</p><p>That barrel uses CommonJS, with a lazy require() getter for each public API, so bundlers cannot tree-shake the barrel, which means they cannot drop the parts of React Native that your app never touches.</p><p>So one View drags all of React Native into your bundle, PushNotificationIOS included, and you never once asked for PushNotificationIOS.</p><p>Now, what does the plugin actually do about it?</p><p>At build time, the plugin swaps the barrel import for direct requires of the underlying modules.</p><pre>import { View, AppRegistry, Systrace } from &#39;react-native&#39;;<br><br>// ↓ becomes<br><br>const View = require(&#39;react-native/Libraries/Components/View/View&#39;).default;<br>const AppRegistry = require(&#39;react-native/Libraries/ReactNative/AppRegistry&#39;).AppRegistry;<br>const Systrace = require(&#39;react-native/Libraries/Performance/Systrace&#39;);</pre><p>When we ran version 1.1.0 with a three-name import and the 0.87.1 map, the result was:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1019/0*y5IKzhd--AyqnC9M.gif" /></figure><p>Now for the numbers, and yes, there are numbers.</p><p>The author built an iOS app that imports only ReactNativeVersion, then bundled it twice, once without the plugin and once with it.</p><p>Without the plugin, the bundle came to 711.93 KB.</p><p>With the plugin, the bundle shrank to 10.62 KB.</p><p>Here are the two bundle reports side by side.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*uYZ0NghR7GnJNjZ5.jpg" /></figure><p>It’s a toy app, so your real savings will be smaller, mostly because you’ll be importing more of React Native on purpose, hopefully.</p><p><strong>Right, how do you get on the plan?</strong></p><p>Install the plugin as a dev dependency, add it to your babel.config.js with the exact React Native version you have, and turn off the deep-import</p><pre>module.exports = {<br>  presets: [<br>    [&#39;module:@react-native/babel-preset&#39;, { disableDeepImportWarnings: true }],<br>  ],<br>  plugins: [<br>    process.env.NODE_ENV !== &#39;test&#39; &amp;&amp; [<br>      &#39;react-native-direct-imports&#39;,<br>      { reactNativeVersion: require(&#39;react-native/package.json&#39;).version },<br>    ],<br>  ].filter(Boolean),<br>};warnings in the preset.</pre><p>Then clear the Metro cache once, with either npx react-native start --reset-cache or npx expo start --clear.</p><p><strong>Any catches?</strong></p><p>Yes, and the catch is the upgrade.</p><p>The plugin writes React Native’s internal file paths into your build, and those paths change between releases.</p><p>Each version from 0.70.0 has its own map, and the build fails unless your React Native version matches one of those maps exactly.</p><p>So every React Native upgrade now needs two steps. Upgrade React Native, then upgrade babel-plugin-react-native-direct-imports to the matching version.</p><p>Skip the second step and the build fails with an error that never mentions the plugin, so you’ll spend an afternoon rereading your config.</p><p>Your bundle loses 700 KB, and your upgrade checklist gains a line.</p><p>Now, let’s all say it together…</p><p>Bye bye, fatty bundle!</p><p>👉 <a href="https://github.com/retyui/babel-plugin-react-native-direct-imports">babel-plugin-react-native-direct-imports</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*al4lYHxS_964kLXQ.jpg" /></figure><p>📦 <a href="https://github.com/react/react-native/releases/tag/v0.88.0-rc.4">React Native 0.88.0-rc.4</a></p><p>TypeScript module augmentation can now extend generated props and style types, and an Android Pressable that went half-untappable after being disabled and re-enabled finally gets its fingers back... stable 0.88 is scheduled for October 12, so this might be the final dress rehearsal.</p><p>📦 <a href="https://github.com/tamagui/tamagui/releases/tag/v3.0.0">Tamagui 3.0</a></p><p>A new C++ native runtime pushes theme changes straight to native views through Fabric without re-rendering React, plus flat style props, React Strict DOM and Tailwind classes… and the release notes politely suggest you hand the upgrade guide to your coding agent.</p><p>📦 <a href="https://github.com/wcandillon/react-native-skia/releases/tag/v3.4.0">React Native Skia 3.4</a></p><p>William Candillon (<a href="https://x.com/wcandillon">@wcandillon</a>) moved Skia 3 onto Graphite, so Android now draws with Vulkan instead of OpenGL (minSdk is 26), and 3.4 brings Graphite and Dawn to tvOS… so your living room can finally render shaders nobody asked for.</p><p><strong>📦</strong> <a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0">React Native Screens 4.29.0</a></p><p>iOS Tabs move to Apple’s UITab API on iOS 26.1+, picking up a search tab, sidebar placement for iOS 27 and custom tab icons… while Android fragments learn to leave the room without crashing.</p><p><strong>📦</strong> <a href="https://github.com/callstack/react-native-testing-library/releases/tag/v14.1.0">React Native Testing Library 14.1</a></p><p>Maciej Jastrzębski (<a href="https://x.com/mdj_dev">@mdj_dev</a>) shipped userEvent.pullToRefresh(), accessibilityAction(), fireEvent.layout() and a warning when your test pokes a disabled element... plus React Native 0.88 and React 19.3 support.</p><p>📦 <a href="https://github.com/jpudysz/react-native-unistyles/releases/tag/v3.5.0">Unistyles 3.5</a></p><p>A stability release where theme changes finally reach the components they were skipping, reload memory leaks get plugged, and unfreezing a screen no longer blocks JS for whole seconds.</p><p>📦 <a href="https://github.com/expo/eas-cli/releases/tag/v24.12.0">EAS CLI 24.12</a></p><p>eas update:view --json now hands back signed source map and asset map URLs, and 24.11 added browser device login with resumable commands for chat agents... so even your coding agent has to sign in now.</p><p><strong>📦</strong> <a href="https://github.com/callstack/react-native-brownfield/releases/tag/brownfield%405.3.0">React Native Brownfield 5.3</a></p><p>npm create @callstack/react-native-brownfield scaffolds packaging targets into an existing React Native CLI project, and 5.2 added Expo SDK 58 and AGP 9 support for the apps that only let React Native in through the side door.</p><p>📦 <a href="https://github.com/munimtechnologies/munim-maps">munim-maps</a></p><p>Sheehan Munim (<a href="https://x.com/sheehanmunim">@sheehanmunim</a>) put animated 3D cars, rockets, satellites and people on their actual floor onto Apple Maps with Nitro Modules… and it also speaks Google Maps, Mapbox, MapLibre and Cesium.</p><p>📦 <a href="https://github.com/SectionTN/react-native-inkpad">react-native-inkpad</a></p><p>Mohamed Rayen Sbai (<a href="https://x.com/WeskerTN">@WeskerTN</a>) built a native ink canvas on <a href="http://androidx.ink/">androidx.ink</a> and PencilKit with pen, marker, highlighter and eraser, and no WebView… coming from react-native-signature-canvas means changing one import.</p><p>📦 <a href="https://github.com/osuki-dev/skia-diagrams">skia-diagrams</a></p><p><a href="https://x.com/ryuhzk">@ryuhzk</a> renders Mermaid diagrams natively with Skia 3, with themes, animations and pan/zoom across 31 flowchart types… not a WebView in sight.</p><p><strong>📦</strong> <a href="https://reactnative.directory/">React Native Directory</a></p><p><a href="https://x.com/Simek">@Simek</a> added a /stats page, a list of which packages depend on a package, and <a href="http://agents.md/">AGENTS.md</a> previews… finally a leaderboard for your dependency tree.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/498/0*_WxQ82nafP8XefVO.gif" /></figure><p><em>Originally published at </em><a href="https://thereactnativerewind.com/issues/the-great-graphite-migration-derek-joins-fat-fighters-and-a-leaderboard-for-your-dependency-tree"><em>https://thereactnativerewind.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f05dd1889faa" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/the-great-graphite-migration-derek-joins-fat-fighters-and-a-leaderboard-for-your-dependency-tree-f05dd1889faa">The Great Graphite Migration, Derek Joins Fat Fighters, and a Leaderboard for Your Dependency Tree</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Cute Beret With Root Access]]></title>
            <link>https://itnext.io/a-cute-beret-with-root-access-10f2ad32ec77?source=rss-99c549b77dec------2</link>
            <guid isPermaLink="false">https://medium.com/p/10f2ad32ec77</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[openai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[The React Native Rewind]]></dc:creator>
            <pubDate>Mon, 12 Oct 2026 17:36:40 GMT</pubDate>
            <atom:updated>2026-10-12T22:50:23.483Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WvL5pF3OEYnlpKULwA1WVg.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8l2td1wOFO_Hba8a.jpg" /></figure><p>At OpenAI’s DevDay on September 29, there were many announcements.</p><p>But the one that will get the most screen time is a fluffy blob wearing a beret…</p><p>Because Silicon Valley has finally admitted its ideal coworker is a plush toy with root access.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Jzx1RZsCuXYhD5ch.jpg" /></figure><p><a href="https://openai.com/index/introducing-dots/">Dots</a> are always-on agents, driven by GPT-6 Astra, which work for you round the clock.</p><p>You name your dot, link your apps, and then talk to it as you would to a colleague who never logs off, never steals your milk, and never “circles back” after quietly doing nothing.</p><p><strong>Well, what is a dot then?</strong></p><p>Imagine OpenAI just copied <a href="https://x.ai/bot">Grok Bot</a>… well…</p><p>Each dot is given its own cloud computer together with its own browser, and is able to access more than 4,000 apps via OpenAI’s plugins.</p><p>You can message it through ChatGPT, Slack or Teams, or just call it when you are missing your ex whenever typing seems like too much of an effort.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*F-qCCcP67Gbn4J_K.jpg" /></figure><p>If you’re not talking to it, it carries out what OpenAI refers to as “proactive research” in the background…</p><p>Which is corporate for “it is already in your Calendar judging your life choices.”</p><p>It does this using read-only tools, so it can browse around your apps without sending any messages or making any changes.</p><p>Technically stalking… but with a compliance stamp.</p><p><strong>What does that mean for developers?</strong></p><p>OpenAI’s developer example is a dot that monitors customer feedback, identifies minor fixes, develops and tests them, and then brings you completed pull requests with videos attached.</p><p>Your backlog just got a new predator.</p><p>Below, a dot named Iggy notices that an app’s iOS beta checklist can no longer be found after the most recent deployment, offers to restore it, and has the fix ready for review before any code is merged.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*U15FiIzPVC94-gfz.jpg" /></figure><p>Meanwhile, your human teammate is still opening Jira…</p><p><strong>Who decides what it’s allowed to do?</strong></p><p>Before the dot carries out any action which could affect your accounts or involve sharing information, auto-review checks it against your instructions, your Custom Rules and OpenAI’s safety requirements.</p><p>You can see everything it does, including the background work, in Activity View, which is either transparency or a highlight reel of how replaceable you are.</p><p><strong>Can we get one?</strong></p><p>Dots are being made available to Pro and Business Premium users.</p><p>And Enterprise admins can turn on a beta… presumably after a 47-slide security review titled:</p><p>“What If The Beret Goes Rogue.”</p><p>OpenAI is also running trials of specialist dots for companies, each of which has its own identity and access, and bringing them to Microsoft Agent 365.</p><p>Because nothing says “future of work” like a fluffy blob inside a Microsoft admin centre.</p><p>If I get one, I’m picking the frog!</p><p>👉 <a href="https://openai.com/index/introducing-dots/">Dots</a></p><p><strong>Want more from The Agentic Rewind #1?</strong> The full issue also covers Callstack’s Apex (the Pixel Canary reveal) and this week’s pack of agent links.</p><p>👉 Subscribe free at <a href="https://theagenticrewind.com/">theagenticrewind.com</a> and get every issue in your inbox.</p><p><em>From The Agentic Rewind #1. Read the full issue </em><a href="https://www.theagenticrewind.com/issues/mystery-canaries-beret-wearing-blobs-and-an-opus-bill-filing-for-emotional-support"><em>here</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=10f2ad32ec77" width="1" height="1" alt=""><hr><p><a href="https://itnext.io/a-cute-beret-with-root-access-10f2ad32ec77">A Cute Beret With Root Access</a> was originally published in <a href="https://itnext.io/">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>