Architecture の記事
保存できたのに「保存失敗」になる — macOS Sandbox で atomic write 後の権限変更が落ちた
JSON は残っているのに保存失敗になる。macOS Sandbox で起きた atomic write 後の権限変更エラーを切り分けた。
5 min read並べかえの drag が取り残されて、React Native の Pressable まで全部効かなくなった
busy で onTap を付け外しするたびジェスチャーが再マウントされ、残った ACTIVE な handler が root で全タッチを飲んでいた。
5 min readLive Activity の古いボタンが、次の勤務を変更できないようにした
遅れて届いたロック画面 action を現在の勤務へ適用しないため、操作を表示の寿命へ束縛した。
5 min readadjustResize を書いたのに、Android 16 ではキーボードが入力欄を隠したままだった
タブバーごとキーボードの下に消えていた。adjustResize はマニフェストにあるのに、ウィンドウが縮んでいなかった。
6 min read勤怠の 22:00→02:00 を、日ごとの保存ではなく複数日一括置換で直した
範囲削除に巻き込まれる翌日の記録を再構成し、複数日の打刻を原子的に置き換えた。
5 min read通知権限を確認したら、React Native の AppState が無限に往復した
snapshot() の通知権限確認が Android の AppState 復帰を呼び、同じ snapshot() を繰り返していた。
5 min readAndroid の戻るボタンで、ダイアログではなくアプリが閉じた
Capacitor 本体は back を1行も処理していない。何も書かない状態は無反応ではなく、既定の終了だった。
5 min readServer Component に Context がないので、表示漏れの防止をビルドの手前に出した
Context が使えない Server Component で、コンポーネントの使い方をどう強制するか。
5 min readkind を増やしても表せない — discriminatedUnion の軸と、読者が知りたい軸は直交していた
分類の軸を増やしても表せないものがある。公開21件を数えたら、食べ物は kind を跨いでいた。
6 min readtext-pretty を日本語の本文に付けると、Safari だけ右が余る
本文カラム 350px のうち最大 78px が空いていた。Chrome では再現しない崩れだった。
5 min readopengraph-image を1枚置いても、OG 画像が付いたのはそのページだけだった
ビルドは通り、画像の URL も 200 を返す。それでも og:image は8ページ中2種類にしか出ていなかった。
9 min readミニ PC 1台の自宅サーバーに何を載せているか — 層の切り方と、状態の置き場所
自宅サーバー3部作の第1部。1台に何が乗っていて、リクエストが何を通り、状態がどこに置かれているかを図2枚で示す。
10 min readPostgreSQL から Cloudflare D1 へデータを移す専用ツールを書いた — 型の対応と、間違えたときに止まる仕組み
移行ツールが最初に見つける問題は、たいてい移行ツールのバグではなく移行元のデータのほうだった。
10 min readfail-closedで設定漏れを全遮断する管理画面の認証ゲート設計
その middleware が唯一の防壁なら落とす、他に本命があるなら通してよい。設定漏れを機能停止として可視化する設計の話。
9 min read動いている実装を作り直すとき、仕様ではなく byte 一致を検証手段にする
仕様は複数の実装を許すが、移行で求められているのはそのうちの1つとの一致。判定に解釈が入らない基準を置いた話。
10 min read