Spa Blank Screen Inertia Usepage Url Debugging

SPA Blank Screen After Deploy: Inertia.js usePage().url is a String

After deploying a Rails + Inertia.js + Svelte app, visiting the URL showed a completely blank screen. The server was responding normally and all assets were loading fine — but nothing was rendering. This post covers the full investigation, root cause, fix, and patterns to prevent this from happening again. Symptoms Blank screen (white background only) when accessing the deployed URL Works fine on the local development server No error page displayed — just silence No anomalies in the server logs (200 responses, normal request handling) What makes this situation particularly frustrating is that from the server’s perspective, everything is working perfectly. HTTP status code 200, no error logs, normal response times. The problem exists only inside the browser. ...

2025-11-22 · 8 min read · Seunghan
Rails Stimulus Controllers Lookbook Debug

Rails + Stimulus: Implementing 11 Controllers — Scroll, Carousel, Text Animation

When building a component library with Rails + ViewComponent + Lookbook, I ran into a situation where all my Stimulus controllers were stubs — empty shells. Out of 13 controllers, only 3 were actually working; the remaining 10 were single-line connect() {} placeholders. This post documents the debugging process and implementation decisions for all 11 controllers I built out. The focus here is not just on the code itself, but on why I chose each approach, what problems came up, and how I solved them. ...

2025-11-18 · 15 min read · Seunghan
Rails Inertia Svelte Pet Avatar Image Color

Rails + Inertia + Svelte 5: Avatar Image/Color Selection Feature Implementation Struggles

This documents the problems encountered while implementing a pet profile avatar selection feature (image or color) on a Rails 8 + Inertia.js + Svelte 5 stack. Problem 1: Colors Were Not Stored in the DB Symptoms Looking at the initial code, pet card colors were displayed like this: const PET_COLORS = ['#f3caa1', '#b7ddf9', '#d3c8ff', '#c5d5f4', '#ffd9aa'] function petColor(index: number): string { return PET_COLORS[index % PET_COLORS.length] } Colors were determined by the order (index) in which pets were created. Since colors were not stored in the DB at all, even if a user changed a color, it would revert to the original on refresh. ...

2025-11-15 · 4 min read · Seunghan
Rails8 Deploy Lessons

5 Issues from First Rails 8 Deployment: Security, Migration, Compatibility

During the first cloud deployment of a Rails 8 project, I ran into five separate problems in a single day. Each one looked independent at the time, but the pattern was clear: fix one issue and the next one surfaces. Rails 8’s newly introduced Solid Suite with its multi-database structure added extra unfamiliarity even for seasoned Rails developers. Here is a chronological account of what went wrong and how each issue was resolved. ...

2025-11-11 · 8 min read · Seunghan
Flutter Store Beta Mode Purchase Logic

Flutter IAP Store Beta Mode Design and Purchase Logic Hardening

When implementing IAP (In-App Purchase) in a Flutter app and running an open beta, gaps like “it is beta but the store shows paid prices” or “credits are duplicated on Restore” start to surface. Here are the issues I encountered and how they were resolved. 1. The Contradiction Between Beta Mode and the Store Problem // constants.dart static const bool isOpenBeta = true; When isOpenBeta = true, spendCredits() does not deduct credits. This means AI features are free. ...

2025-11-08 · 5 min read · Seunghan
Flutter Ipa No Codesign Api Key Testflight

Fix: flutter build ipa Fails Without Dev Cert — Use --no-codesign + API Key for TestFlight

When managing Flutter iOS apps across multiple Apple accounts, you may find that make testflight works perfectly in one project but the same Makefile fails in another. Here is a case I ran into today. Symptoms Error (Xcode): No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "XXXXXXXX" with a private key was found. Running flutter build ipa fails with this error. The Distribution certificate is in the Keychain, but it says the Development certificate is missing. ...

2025-11-04 · 5 min read · Seunghan
Flutter Ios Build Dark Mode Logout Debugging

Flutter iOS Build Broke Before TestFlight — 5 Errors, Dark Mode & Logout Bug Fixed

I was trying to push a build when multiple issues hit at once. The code generator failed, files were missing, the build number got rejected, UI had hardcoded dark mode colors, and logout wasn’t clearing tokens. Going through them one by one. 1. Retrofit Optional Parameter Syntax Error -> .g.dart Generation Failure Symptoms When running dart run build_runner build, some API service files produce: Expected to find ')' Cause Wrong placement of optional parameters ({}) in Retrofit abstract methods. ...

2025-11-01 · 6 min read · Seunghan
Chrome Extension Insurance Autofill Playwright Gif

Chrome Extension Content Script — Korean Insurance Auto-Fill, HTML Mock Screenshots, MOV to GIF

Notes from extending the form auto-fill feature in a browser extension and the various struggles along the way. 1. Direct Car Insurance Site Content Script Auto-Fill Problem: Can’t Read Form Structure via WebFetch on JS-Rendered Sites Korean insurance company direct sites mostly use SPA/RIA architecture. Samsung Fire: SFMI proprietary RIA framework Hyundai Marine, DB Insurance: Spring MVC .do URL patterns KB Insurance, Meritz: Separate mobile/PC domains Scraping URLs with WebFetch doesn’t yield form field structures. I chose to cover common industry field name patterns instead of manually checking each site via DevTools. ...

2025-10-28 · 5 min read · Seunghan
Apple Sso 403 Email Verified Type Mismatch

Apple Sign-In 403 Error: email_verified Type Mismatch and 3 Copy-Paste Bugs

Apple Sign-In was failing with 403 Forbidden while Google Sign-In worked perfectly fine. Since Apple login worked correctly in another project using the same stack (Rails 8 + Flutter), I did a comparative analysis to find the root cause. The short answer: three independent bugs existed simultaneously, and all three originated from copy-pasting the Google SSO implementation to create the Apple SSO implementation. Symptoms Apple login: 403 Forbidden Google login: works fine Error message: "Email not verified by Apple" Reproducible in production only, not in development (Apple test account quirk) Background: Apple and Google JWTs Are Not the Same The OAuth 2.0 / OIDC specification says the email_verified claim should be a boolean. In practice, Apple sometimes returns this field as the string "true" instead of the boolean true. This edge case is not clearly documented in Apple’s official developer documentation. ...

2025-10-25 · 7 min read · Seunghan
Rails Missing Migration Sessions Table

Production DB Missing Table: schema.rb and Migration File Mismatch Incident

I received a report that sign-up and login were completely broken. The app just repeated “An unexpected error occurred.” Symptoms Sign-up attempt -> 500 Internal Server Error Login attempt -> same 500 Health check API -> 200 OK, DB connection normal The server was alive and DB was connected, but all authentication features were dead. Investigation Process Step 1: Check Server Status SSH in and check the Rails environment. rails runner "puts Rails.env" # => production rails runner "puts User.count" # => 13 Server normal, DB connection normal, user data exists. ...

2025-10-18 · 5 min read · Seunghan
Privacy Policy Terms Disclaimer Contact