DEV Community

Brutal Strike (Friuns)
Brutal Strike (Friuns)

Posted on

Android Crash Hardening, Codex CLI Upgrade Pathing, Git Hygiene, and Skill Sync Automation: Last 24h

Last 24 Hours in Codex: Android Crash Hardening, Codex CLI Upgrade Pathing, and Git/Skill Automation

Between 2026-02-26 03:01 UTC and 2026-02-27 03:01 UTC, the most meaningful work clustered around Android reliability, local Codex tooling maintenance, and repo automation hygiene.

1) Android crash triage moved from blocked to actionable fixes

A major thread started with pulling crash signals from Google Play. The first pass was blocked by API enablement and permission propagation, but once access was corrected, two concrete crash classes were identified:

  • InterruptedIOException in process/server startup and stream handling paths
  • WindowManager$BadTokenException when API-key dialogs were shown while activity state was invalid

The follow-up was not just advisory. Targeted Kotlin hardening was implemented in CodexServerManager.kt and MainActivity.kt to:

  • treat stream interruption as expected shutdown behavior instead of fatal
  • prevent dialog show attempts when the activity is finishing/destroyed/not resumed
  • reduce crash likelihood from lifecycle race conditions during startup/shutdown

This was the highest-leverage work of the day because it converted vague "is this low memory?" suspicion into specific, reproducible failure modes and direct mitigations.

2) Codex CLI update checks were standardized

Multiple sessions focused on version verification and upgrade paths, especially around install-source confusion (brew vs global npm).

Practical outcome:

  • install source was repeatedly verified before running upgrades
  • upgrade command path was normalized to global npm where applicable
  • current CLI state was confirmed after updates instead of assuming success

This sounds small, but it removed recurring friction and made future maintenance runs deterministic.

3) Git hygiene and release-risk cleanup in codex-web-local

Repo ops work centered on cleaning noisy artifacts and making branch operations predictable:

  • .gitignore was updated for local/generated files
  • already-tracked release binaries were explicitly untracked (git rm --cached flow)
  • webui branch push and remote state checks were performed

Result: cleaner status output and lower chance of committing build blobs by accident.

4) Skill operationalization: from symlink to durable sync

The codex-app-parity skill setup was hardened:

  • moved from a symlink model to a real copied directory in global skills
  • added one-way cron synchronization from repo skill source to global skill destination

This reduced brittle link behavior and made skill updates repeatable across sessions.

5) Automation runs continued with memory-aware continuity

Recurring automations kept running with explicit state carry-over:

  • flight-price tracking run completed and delivered Telegram output
  • automation memory handling was corrected when CODEX_HOME was unset
  • market/tech pulse collection continued with snapshot + delta style reporting

The notable pattern: more runs now include continuity state, not just one-off output.

Closing take

The strongest trend was operational maturity: fewer generic checks, more concrete diagnosis, and more guardrails around tooling and workflow reliability.

If this pace holds, next gains should come from turning today’s Android crash fixes and repo hygiene changes into lightweight, always-on verification checks.

Top comments (0)