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

D8 fails while dexing gradle-api-8.11.1.jar during Android instrumented tests

Summary This postmortem analyzes a failure where D8 crashes while dexing gradle-api-8.11.1.jar during Android instrumented tests. The issue appears only in connectedDebugAndroidTest and is caused by Gradle’s own internal Multi‑Release JAR leaking onto the androidTest runtime classpath, where D8/Desugar cannot process it correctly. Root Cause The underlying problem is that gradle-api-8.11.1.jar is being added to … Read more

Conditionally send email ONLY if query returns no data at all [Oracle PUBLISHER – Reports]

Summary The issue arises when attempting to conditionally send an email only if a query returns no data in Oracle BI Publisher Reports. The query was intentionally designed to return no results by including AND 1 = 0, but the email was not triggered as expected. The root cause lies in how BI Publisher evaluates … Read more

Are there standard C# formatting conventions recommended for Unity development?

Summary A Unity team adopted inconsistent C# formatting practices, leading to unreadable scripts, merge conflicts, and subtle logic bugs. The absence of standardized conventions, enforced tooling, and shared team guidelines caused code quality to degrade as the project grew. Root Cause No unified formatting standard across the team. Lack of .editorconfig or analyzer enforcement, allowing … Read more

Replacing an existing Swift iOS app with a cross-platform rewrite (same bundle id): will App Store update work and will user data persist?

Summary This postmortem analyzes what happens when a native Swift iOS app is replaced with a cross‑platform rewrite (React Native) while keeping the same bundle identifier and shipping it as a standard App Store update. The focus is on data persistence, Keychain continuity, and App Store acceptance. The short answer: yes, this works, but only … Read more

MongoDb Connection failed : Error: querySrv ECONNREFUSED

Summary The MongoDB connection failure with Error: querySrv ECONNREFUSED occurred due to network connectivity issues between the Node.js application and MongoDB Atlas. The root cause was a misconfiguration in MongoDB Atlas network access settings, preventing the application from establishing a connection. Root Cause Network Access Misconfiguration: MongoDB Atlas had 0.0.0.0/0 as the allowed IP address, … Read more

Twilio inbound call routing using webhooks — returning agent phone number via TwiML (backend-only MVP)

Summary Twilio inbound call routing via webhooks in a backend-only MVP using FastAPI + PostgreSQL encountered a critical issue: inconsistent call routing due to missing agent availability checks. This led to dropped calls and poor customer experience. Root Cause Missing agent availability check: The system routed calls to agents without verifying their availability, leading to … Read more

Managing user roles & permissions on multiple applications

Summary This incident analyzes a multi‑application user‑management architecture where authentication is centralized, but authorization (roles & permissions) is unclear and inconsistently implemented. The lack of a clear ownership model for authorization caused confusion, duplicated logic, and operational delays when onboarding users. Root Cause The core issue was mixing authentication concerns with authorization concerns across multiple … Read more

Difference between mongo-c-driver 2.2.1 and 1.30.6 + how to get 2.2.1 DLLs on Windows

Summary This postmortem analyzes the practical differences between mongo-c-driver 2.2.1 and 1.30.6, why Windows developers struggle to obtain official 2.x DLLs, and what senior engineers typically do to resolve these issues. The findings are based on publicly available release notes and repository information. Root Cause The core issue stems from two independent but interacting factors: … Read more