Pains

2403 pains collected

Category:
Tech:
Severity:

Difficult and unintuitive access revocation UX

4

Users struggle to revoke application access if the revocation flow is not straightforward. Poor revocation UX reduces user control over permissions.

dxOAuth 2.0

Runtime type checking overhead without compile-time guarantees

4

Libraries that provide runtime type checking in Python add approximately 50% performance overhead while only catching errors at runtime. This creates a false trade-off where developers get stricter type checking but lose performance without gaining the compile-time safety of statically-typed languages.

performancePython

Phishing sites with valid SSL certificates

4

Attackers obtain valid SSL certificates for phishing domains, making malicious sites appear legitimately encrypted. This bypasses user trust signals and makes phishing campaigns more effective.

securitySSL/TLS

Store subscription prefix confusion ($store vs store)

4

Svelte stores require a $ prefix to access reactive values; forgetting it reads a snapshot instead of live values, creating a subtle correctness bug that's easy to miss during development.

dxSvelte

Vue Router complexity with nested routes and configuration

4

Setting up routes and nested routes in Vue Router is confusing and requires careful documentation study. The routing API introduces complexity, especially for developers unfamiliar with the framework.

docsVue.jsVue Router

Overwhelming onboarding and redundant tutorials confuse users

4

Tools like Looker Studio provide extensive multi-step tours and annotations that fight for user attention, even when the core interface is already intuitive. Users become confused about where to start or focus their efforts despite having clear navigation.

dxLooker Studio

Go version pinning in go.mod forces unnecessary updates

4

The go line in go.mod includes patch-level versioning instead of just language version, forcing cascading updates when libraries bump the version without meaningful feature usage or benefit.

configGo

TypeORM pattern confusion from supporting both Active Record and Data Mapper

4

TypeORM supports both Active Record and Data Mapper patterns simultaneously, creating confusion about which pattern to use and doubling the complexity of the API surface.

dxTypeORM

HTTPS-only redirect URI requirement hinders local development

4

Some OAuth providers (e.g., Box) require HTTPS for redirect URIs, making it difficult or impossible to test locally with HTTP URLs like `http://localhost:5001`.

dxOAuth 2.0

Vendoring creates compatibility issues, 37% still use it instead of modules

4

Despite Go modules being the recommended approach, 37% of developers still use vendoring which causes compatibility and portability issues. Lack of consistent version control with modules persists.

dependencyGo

Branch sprawl management complexity

4

Developers must implement strategies to manage and clean up unused database branches to avoid unnecessary storage costs, adding operational overhead to Neon projects.

configNeon

Lack of real-time test execution and poor test file organization

4

Swift testing does not support real-time test execution when files change. Tests must live in separate modules due to Objective-C conventions from 20 years ago, rather than alongside source files, creating organizational friction.

testingSwift

Svelte language syntax creates additional adoption risks

4

Svelte is its own language and not plain HTML+CSS+JS, which increases the risks of adoption. Developers must learn Svelte-specific syntax rather than using standard web technologies.

compatibilitySvelte

Embedded Swift Limitations Restrict Runtime Features

4

Embedded Swift disallows certain features including runtime reflection to meet constrained environment requirements, limiting expressiveness for embedded systems development.

compatibilitySwiftEmbedded Swift

Documentation Gaps

4

FastAPI's documentation lacks transparency and completeness in certain areas, causing developers to struggle finding information or handling issues, which affects their understanding and development efficiency.

docsFastAPI

Limited no-code and marketing tool connectors

4

Popular marketing tools like HubSpot and Mailchimp need custom integration work. The ecosystem offers fewer pre-built no-code solutions than competitors, despite API-first design.

ecosystemSupabaseHubSpotMailchimp

Misleading TypeScript type errors for valid code patterns

4

TypeScript reports compilation errors for hardcoded values that clearly match their expected types (e.g., a hardcoded string 'compact' matching the literal type 'compact'), causing false positive errors and frustration.

docsTypeScript

Outdated and broken documentation in email libraries

4

JavaScript email libraries maintain broken documentation with outdated links, 404 errors, and circular help pages, forcing developers to abandon the libraries and interact directly with APIs instead.

docsJavaScriptNode.jsemail libraries+1

Learning Curve for Advanced Reactive Programming

4

While Vue's basics are gentle, the shift from templates to advanced reactive programming overwhelms beginners; concepts like reactivity, watchers, Composition API, lifecycle hooks, and async data flows require substantial practice.

dxVue.js

Database query monitoring too basic for performance optimization

4

Sentry captures query spans with durations but lacks query plans, slow query analysis, and optimization suggestions. Insufficient for applications where performance bottlenecks are primarily database-related, requiring complementary tools.

monitoringSentrydatabases

Java's conservative evolution pace feels sluggish

4

Java's release cadence prioritizes long-term compatibility over rapid innovation, making evolutionary changes feel slow compared to more dynamic languages that frequently introduce expressive features. Developers seeking rapid language evolution may find this limiting.

ecosystemJava

Learning Prisma's schema DSL encourages developers to forget SQL fundamentals

4

The ease of Prisma's query builder comes at the cost of developers gradually losing familiarity with raw SQL. The trade-off between simplicity and flexibility means developers become dependent on the ORM abstraction and cannot effectively fall back to direct SQL when needed for complex queries or optimization.

dxPrismaSQL

Confusing API Naming and Homonym Inconsistency

4

TensorFlow uses homonyms and inconsistent function naming conventions across its API, making it difficult for users to understand and remember which implementation corresponds to which name, causing confusion when adopting single names for multiple different purposes.

dxTensorFlow

Advanced Nested Navigation Complexity

4

While basic routing in Flutter is straightforward, advanced nested navigation patterns present significant learning challenges and complexity for developers accustomed to simpler routing solutions.

dxFlutter