Immich's Developers Share Their 'Cursed Knowledge'

The Immich team recounts a series of frustrating, almost cursed, development challenges. From Zitadel's scripting engine lacking named capture groups, to EXIF metadata dimensions differing from actual image dimensions; from the unintuitive handling of YAML whitespace to the access restrictions on hidden Windows files; from carriage return issues in bash scripts to Cloudflare Workers' default HTTP protocol in Fetch requests; from silent GPS data stripping on mobile devices to PostgreSQL NOTIFY's transactional mechanism impacting performance; from inefficient npm script health checks to the confusing indexing in JavaScript Date objects; to bcrypt password length limits, Node.js compatibility problems, PostgreSQL parameter limitations, and TypeORM's side effects in delete operations – the list goes on. These issues highlight the hidden pitfalls and challenges of software development, offering valuable lessons learned.