Pains

2403 pains collected

Category:
Tech:
Severity:

Ignoring 'Accept All Edits' Mode and Requiring Excessive Human Intervention

7

Claude Code recently started ignoring 'accept all edits' mode, requiring human intervention at every turn even for allowlisted operations like reading files or listing directories. This breaks automation and requires constant user approval during planning phases.

dxClaude Code

Limited context handling for complex, multi-step coding tasks

7

Codex excels at simple boilerplate code but struggles with complex logic requiring deep contextual understanding across multiple steps. It frequently produces incomplete or incorrect code when handling lengthy functions or workflows.

dxOpenAI Codex

Desktop version consumes tokens much faster than CLI

7

Claude Code's desktop VS Code extension burns through token quota significantly faster than the CLI counterpart. A task consuming a small fraction on CLI can use 20%+ on desktop, triggering context compression and errors. This forces developers to manage tasks meticulously to preserve quota until end of day.

dxClaude CodeVS Code

Channel panic behavior and missing operations create footguns

7

Sending to a closed channel panics instead of returning an error or boolean. Channels also lack common blocking queue operations like peeking or fetching multiple items. Producers blocked on a closed channel panic, and improper usage easily leaks goroutines.

languageGo

SQLite lacks multi-threading support, limiting concurrent workload performance

7

SQLite generally does not use multiple threads, which limits its ability to handle concurrent operations efficiently. This is particularly problematic for OLAP workloads and applications with high concurrent write demands, as the database cannot parallelize query execution or leverage multi-core hardware capabilities.

performanceSQLite

Dependency management and go get don't support version pinning at scale

7

Go's go get and package structure don't support pinning dependencies to different versions, making reproducible builds and dependency management frustrating for projects with many dependencies. This is a critical gap for a language geared toward large-scale projects.

dependencyGo

Developers avoid AI for high-responsibility tasks due to accuracy concerns

7

76% of developers won't use AI for deployment/monitoring, and 69% avoid it for project planning. High-responsibility, systemic tasks carry too much risk for unverified AI outputs. This reflects both capability and trust gaps.

testingAI toolsdeploymentmonitoring

Limited enterprise features and SLA guarantees without paid plan

7

Hugging Face lacks enterprise-grade features, SLAs, audit logs, reproducibility guarantees, and compliance controls that enterprise customers require, forcing paid upgrades.

configHugging Face

TypeScript compile-time safety provides no runtime protection

7

TypeScript's type checking guarantees internal correctness but cannot protect against untrusted external API inputs, backend response drift, corrupted local storage, malformed environment variables, or user-generated content. At scale, this gap between compile-time and runtime safety becomes critical.

securityTypeScript

SwiftUI has unresolved stability and performance issues

7

Multiple reproducible bugs in SwiftUI persist across beta releases, indicating that stability and performance remain unaddressed top priorities. Developers encounter recurring issues that block reliable deployment of SwiftUI-based apps.

compatibilitySwiftUI

Reference counting and memory leak issues

7

Swift's ARC (Automatic Reference Counting) system is misunderstood and misused by developers, causing memory leaks and crashes. Incorrect reference counting in closures leads to objects being used outside their intended context, causing performance degradation or application crashes.

architectureSwift

Excessive Client-Side Payload Increases Parse Time

7

Large data passed to client components (e.g., 7 MB from getStaticProps) must be transferred and parsed by the browser even if unused by the UI, slowing down FCP and LCP.

performanceNext.jsReact

API Integration Without Proper Error Handling Causes Crashes

7

Applications without proper error management in API integration face a 40% higher chance of crashing. Comprehensive error handling with do-catch statements and logging mechanisms are required but often overlooked.

testingSwift

Build configuration issues cause SourceKit crashes

7

Accidental misconfigurations in build settings (e.g., duplicate HEADER_SEARCH_PATHS) don't prevent compilation but cause SourceKit to crash on every text edit. Debugging requires manual inspection of SOURCEKIT_LOGGING output.

configXcodeSourceKitSwift

Slow Incremental Builds and Preview System Performance

7

SwiftUI's preview system and dependency-heavy build graph often double or triple compile times compared to other frameworks. Large Swift packages sometimes require clean builds, significantly slowing iteration and delaying feature releases.

buildSwiftUIXcode

Skills shortage in Kubernetes and SRE expertise

7

Managing Kubernetes add-ons, cluster operations, and platform engineering requires cross-disciplinary talent (SRE, security, developers) that is in short supply. Teams struggle to staff and retain experienced Kubernetes operators and SREs, delaying critical work.

dxKubernetes

Limited generics support and type inference failures

7

Swift's compiler struggles with complex generics beyond simple cases. Type inference fails on complex generic code, forcing developers to add explicit type ascriptions throughout. The compiler may refuse to compile until code is broken apart and rewritten.

compatibilitySwift

Swift 6 Data Race Safety Migration Requires Significant Code Changes

7

Swift 6's data race safety features introduce warnings and errors about concurrency issues. Adopting the new language mode and ensuring thread-safe method access requires substantial changes to existing codebases.

migrationSwiftSwift 6

Extremely long build times on Linux with new Foundation

7

Building on Linux with the new Foundation requires compiling both swift-foundation and swift-syntax (due to macro usage), causing painful and lengthy build times that result in slow CI turnaround.

buildSwiftLinuxFoundation

S3-compatible services lack advanced management APIs

7

S3-compatible storage solutions don't implement advanced management features like Bucket Website Hosting, Analytics, Inventory, Logging, Replication, and Tagging. This creates operational vendor lock-in even when application code is portable, forcing developers to build custom workarounds for features that S3 handles natively.

compatibilityAmazon S3S3-compatible storage

Language complexity and cognitive overhead from advanced features

7

Swift has evolved from a practical, simple language into an academic exercise with layers of complexity. Features like async/await, actors, structured concurrency, @Sendable, property wrappers, result builders, and macros have created massive cognitive overhead, turning the language from a helpful partner into a "pedantic adversary" that demands extensive boilerplate and compiler appeasement rather than enabling feature development.

dxSwift

GitHub Actions security model is obscure with many pitfalls and exceptions

7

The security architecture contains too many edge cases and inconsistencies (e.g., not recommending self-hosted runners in public repos). This expanded attack surface makes it easy to introduce vulnerabilities inadvertently while setting up workflows.

securityGitHub Actions

S3 performance limitations strain developer productivity

7

As S3 usage evolved from archival to interactive workloads, performance constraints became friction points that distract developers from core work. Limitations force developers to implement workarounds rather than focus on building features.

performanceAmazon S3

GitHub Actions complexity leads to unmaintainable CI/CD spaghetti code

7

GitHub Actions encourages poor practices because common tasks (e.g., sending Slack messages) have convoluted official solutions. Developers end up hand-rolling scripts, creating an undocumented black box system that becomes unmaintainable at scale without external tooling like NX.

dxGitHub Actions