npx convex fails with “could not resolve ‘@auth/core’ using convex Auth + local run

Summary A local Convex development server failed to start because the bundler could not resolve @auth/core, even though Convex Auth was selected during project creation. The failure occurs during Convex’s component-definition bundling step, not during normal React/Vite execution. The root issue is a mismatch between Convex Auth’s server-side expectations and the local environment’s module resolution. … Read more

MicroChip mulltiple SERCOM to TCPIP sockets

Summary This postmortem analyzes a design failure encountered when attempting to bridge multiple SERCOM/UART interfaces on a Microchip PIC32CZ CA80 board to independent TCP/IP sockets. The issue stemmed from architectural assumptions about Harmony’s driver model, concurrency handling, and socket lifecycle management. The result was unstable UART‑to‑TCP bridging, dropped connections, and unpredictable data flow. Root Cause … Read more

Why does PyTorch GPU matmul give correct results without torch.cuda.synchronize()?

Summary This incident examines why PyTorch GPU matrix multiplication returns correct results even without calling torch.cuda.synchronize(). Although CUDA operations are asynchronous, PyTorch inserts implicit synchronization points during certain tensor transfers and operations, which is why the results appear correct. Root Cause The core reason is that PyTorch automatically synchronizes when transferring data from GPU to … Read more

Azure Foundry Agent OpenAPI connector: Cannot authenticate to Azure DevOps using PAT in OpenAPI spec

Summary A misconfigured OpenAPI security scheme caused Azure Foundry Agent to silently drop the Authorization header when calling Azure DevOps. Although the same Personal Access Token (PAT) worked via curl, the Foundry Agent’s OpenAPI connector rejected the header because Azure DevOps PAT authentication requires HTTP Basic Auth, not an apiKey header, and Foundry Agent enforces … Read more

Heroku declines all credit cards

Summary A user attempting to add a credit card to Heroku repeatedly encounters “card declined” errors, even after trying multiple cards and creating a new account. This postmortem explains why this happens, what the underlying system behaviors are, and how senior engineers typically resolve such issues. Root Cause The most common underlying causes in cases … Read more

NSTableViewDiffableDataSource bug? table view delegate method not called

Summary NSTableViewDiffableDataSource does not trigger the tableView(_:rowViewForRow:) delegate method when used, unlike traditional data source implementations. This behavior is due to the diffable data source’s internal handling of row views. Root Cause Diffable data source manages row views internally, bypassing the need to call tableView(_:rowViewForRow:). The method is not invoked because the diffable data source … Read more

Android (Studio) + Dragino LA66 USB

Summary Issue: Android app fails to transmit LoRa signals to an Arduino board via Dragino LA66 USB device. Key Symptoms: App recognizes USB device but no data appears on Arduino. Serial communication code (sendComm) does not reliably transmit data. Root Cause: Incorrect serial port configuration and missing flow control for LoRa communication. Root Cause Baud … Read more

Pyinstaller *.exe doesn’t work while *.py works in pycharm (.venv)

Summary The PyInstaller-generated .exe fails to execute correctly, while the .py script runs flawlessly in PyCharm’s virtual environment. The issue stems from incorrect handling of relative paths and resource bundling during the PyInstaller packaging process. Root Cause Relative Path Mismatch: PyInstaller bundles files into a temporary directory (sys._MEIPASS), but the application fails to locate templates … Read more

Migration to Expo SDK 54 and liquid glass header buttons

Summary This postmortem analyzes a regression introduced after migrating to Expo SDK 54 with Liquid Glass where header buttons became misaligned, incorrectly colored, and inconsistently rendered between Expo Go and TestFlight. The issue stemmed from a combination of React Navigation + react-native-screens behavioral changes, deprecated styling APIs, and legacy dependencies overriding new defaults. Root Cause … Read more