diff --git a/docs/src/pages/cursed-knowledge.tsx b/docs/src/pages/cursed-knowledge.tsx index 638868bec5..55bb3d4cee 100644 --- a/docs/src/pages/cursed-knowledge.tsx +++ b/docs/src/pages/cursed-knowledge.tsx @@ -1,16 +1,20 @@ import { + mdiBug, mdiCalendarToday, mdiCrosshairsOff, + mdiDatabase, mdiLeadPencil, mdiLockOff, mdiLockOutline, + mdiSecurity, mdiSpeedometerSlow, + mdiTrashCan, mdiWeb, mdiWrap, } from '@mdi/js'; import Layout from '@theme/Layout'; import React from 'react'; -import { Item as TimelineItem, Timeline } from '../components/timeline'; +import { Timeline, Item as TimelineItem } from '../components/timeline'; const withLanguage = (date: Date) => (language: string) => date.toLocaleDateString(language); @@ -96,6 +100,51 @@ const items: Item[] = [ link: { url: 'https://github.com/immich-app/immich/pull/6787', text: '#6787' }, date: new Date(2024, 0, 31), }, + { + icon: mdiBug, + iconColor: 'green', + title: 'ESM imports are cursed', + description: + 'Prior to Node.js v20.8 using --experimental-vm-modules in a CommonJS project that imported an ES module that imported a CommonJS modules would create a segfault and crash Node.js', + link: { + url: 'https://github.com/immich-app/immich/pull/6719', + text: '#6179', + }, + date: new Date(2024, 0, 9), + }, + { + icon: mdiDatabase, + iconColor: 'gray', + title: 'PostgreSQL parameters are cursed', + description: `PostgresSQL has a limit of ${Number(65535).toLocaleString()} parameters, so bulk inserts can fail with large datasets.`, + link: { + url: 'https://github.com/immich-app/immich/pull/6034', + text: '#6034', + }, + date: new Date(2023, 11, 28), + }, + { + icon: mdiSecurity, + iconColor: 'gold', + title: 'Secure contexts are cursed', + description: `Some web features like the clipboard API only work in "secure contexts" (ie. https or localhost)`, + link: { + url: 'https://github.com/immich-app/immich/issues/2981', + text: '#2981', + }, + date: new Date(2023, 5, 26), + }, + { + icon: mdiTrashCan, + iconColor: 'gray', + title: 'TypeORM deletes are cursed', + description: `The remove implementation in TypeORM mutates the input, deleting the id property from the original object.`, + link: { + url: 'https://github.com/typeorm/typeorm/issues/7024#issuecomment-948519328', + text: 'typeorm#6034', + }, + date: new Date(2023, 1, 23), + }, ]; export default function CursedKnowledgePage(): JSX.Element {