◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SONNET 4.5 — Retires on the Claude API on 11/30, 27 days left. If your app calls it, check the migration target●SDK 58 — Moves to React Native 0.88. R8 is now on by default in Android release builds, and iOS prebuild generates a SceneDelegate●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SONNET 4.5 — Retires on the Claude API on 11/30, 27 days left. If your app calls it, check the migration target●SDK 58 — Moves to React Native 0.88. R8 is now on by default in Android release builds, and iOS prebuild generates a SceneDelegate●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
ARTICLES

All Articles

All (1103)◈ Getting Started (108)⬡ Dev Tools (547)◉ AI Models (126)⟐ Business (197)◇ App Dev (125)
⬡ Dev Tools/2026-10-30Intermediate

It runs in development but the iOS Release build dies on launch — checking whether a missing scheme is the cause

In an expo-router app, an app.json with no scheme can crash only the iOS Release build at launch. Why Debug and Android survive, the two ways to fix it, how to think about leaving the scheme out on purpose, and a pre-submission check.

⬡ Dev Tools/2026-10-29Intermediate

When DevTools Stays Silent in Expo Go on Android, Suspect the Runtime Before Your Code

In Expo Go on Android, React Native DevTools can open but never evaluate anything in the Console, and the Sources tab stays empty. Three quick checks to tell it apart from a bug in your own code, how to switch to a development build, and what to do if you can't.

⬡ Dev Tools/2026-10-28Advanced

Users Told Me They Could Not Close a Fullscreen Ad. The Entry Points Were Scattered, So I Put the Show-or-Not Check and a Safety Net in One Place

An unclosable fullscreen ad came from calls that ignored foreground state, a clash with a permission dialog, and no safety net. A single entry-point component, tested in Node.

⬡ Dev Tools/2026-10-27Beginner

Claude Sonnet 4.5 Leaves the API on November 30. Find the Model IDs Hard-Coded in Your App First

Claude Sonnet 4.5 is scheduled to retire from the API on November 30, 2026. A small script finds the model IDs written into your app's code and config, so you can replace them and check again.

⬡ Dev Tools/2026-10-27Intermediate

Your EAS Update Opens in Expo Go on iPhone but Stops on Android with "Failed to download remote update". The 403 You Get Even When Signed In

An EAS Update that opens in Expo Go on iOS but stops on Android (SDK 57) with Failed to download remote update. The cause is a sign-in token saved in one place and read from another, and the fix sits on the SDK 58 side. The order to check things in, and what to run yourself.

⬡ Dev Tools/2026-10-25Intermediate

Fullscreen Ads Stopped Showing After Going Back and Forth Between Screens — The Ad Holder Was Still Holding a Closed Screen

Fullscreen ads vanished after reopening a screen because a reused ad holder kept notifying a closed screen. A holder that swaps only its listener target, tested in Node.

⬡ Dev Tools/2026-10-25Intermediate

Sound Effects Stop at Play #40 — With expo-audio's createAudioPlayer, remove() Alone Isn't Cleanup

Creating a createAudioPlayer instance per play in expo-audio can leave Android silent after about 40 plays, with didJustFinish never arriving. What remove() and release() each do, three ways to restructure, and how to notice when it happens.

⬡ Dev Tools/2026-10-24Intermediate

The ANR Was Coming From Cleanup When a Screen Closed: Classifying the Blocking Line From Traces

A Python script that reads Android ANR traces and classifies the line that blocked the main thread, such as billing client teardown or synchronous image decoding. Two causes I found in my wallpaper apps, and the thinking behind the fixes.

⬡ Dev Tools/2026-10-23Beginner

Failed to resolve plugin for module: Check the Spelling, the Install, the File, Then the Contents

You add one line to plugins in app.json and Expo stops with PluginError: Failed to resolve plugin for module. I reproduced the causes behind that one message in a blank Expo SDK 58 project and put them in the order I now check them, using a single command.

⬡ Dev Tools/2026-10-22Intermediate

A Video Fails to Save with "Not Enough Space" — Check Whether the File Is Over 2GB Before Blaming Storage

On Android, a 2.2GB video won't save to the gallery and the error says "Not enough space", even with plenty of free storage. I read the public Expo issue and reproduced the same boundary on Linux. Here is a size check to add before saving, and the idea of copying in pieces.

⬡ Dev Tools/2026-10-21Intermediate

A Widget That Updates on Time in iOS Stays on "Initial" in Android

In expo-widgets, updateTimeline does nothing on Android and the generated XML hardcodes updatePeriodMillis to 0. How to recognize it, what updateSnapshot can cover, and a script to check your project.

⬡ Dev Tools/2026-10-20Advanced

Why Redeploying Doesn't Fix the Application Error You See Right After a Deploy

Right after I swapped a secret, every page showed Application error. Stale HTML was calling a JS file that no longer existed. Here are a detection script, a build-version check for the edge cache, and a once-only auto-reload, all run and verified.