{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":76334905,"defaultBranch":"main","name":"mini_mime","ownerLogin":"discourse","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-12-13T07:40:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3220138?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1691487990.0","currentOid":""},"activityList":{"items":[{"before":"ad29352bf7b8fa547ea3058f2e97f3e8496f034a","after":"574c3bee73eba30db388f3dc0225311dcf303770","ref":"refs/heads/main","pushedAt":"2023-08-31T23:41:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Silence \"instance variable @db not initialized\" warning","shortMessageHtmlLink":"Silence \"instance variable @db not initialized\" warning"}},{"before":"37426cbfe8262d94f975f78a842f034faf931d9f","after":null,"ref":"refs/heads/update-types","pushedAt":"2023-08-08T09:46:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"}},{"before":"165e7f0b0a426bcff12b968b8f03d7285b06bd95","after":"ad29352bf7b8fa547ea3058f2e97f3e8496f034a","ref":"refs/heads/main","pushedAt":"2023-08-08T09:46:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Update mime types from upstream and bump","shortMessageHtmlLink":"Update mime types from upstream and bump"}},{"before":null,"after":"37426cbfe8262d94f975f78a842f034faf931d9f","ref":"refs/heads/update-types","pushedAt":"2023-08-08T09:32:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Update mime types from upstream and bump","shortMessageHtmlLink":"Update mime types from upstream and bump"}},{"before":"242f6f0cd303064c6a6ee7958285fa74a7871bd9","after":null,"ref":"refs/heads/bump","pushedAt":"2023-08-08T05:08:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"}},{"before":"d7df855464031358014618f9964ce9b99bebd81c","after":"165e7f0b0a426bcff12b968b8f03d7285b06bd95","ref":"refs/heads/main","pushedAt":"2023-08-08T05:08:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Version bump","shortMessageHtmlLink":"Version bump"}},{"before":null,"after":"242f6f0cd303064c6a6ee7958285fa74a7871bd9","ref":"refs/heads/bump","pushedAt":"2023-08-08T01:38:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Version bump","shortMessageHtmlLink":"Version bump"}},{"before":"6fbb687dddb86a596f2231c6ba9d2ca672e8bec3","after":"d7df855464031358014618f9964ce9b99bebd81c","ref":"refs/heads/main","pushedAt":"2023-08-08T01:35:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Handle MIME::Types differences on Windows","shortMessageHtmlLink":"Handle MIME::Types differences on Windows"}},{"before":"64562a1aafb2e1c7671287ccee7ebea10eaf0b81","after":null,"ref":"refs/heads/fork-safety","pushedAt":"2023-08-04T00:01:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"}},{"before":"f67eef65cfc987e476998f71ed7ee265cf0a1f8e","after":"6fbb687dddb86a596f2231c6ba9d2ca672e8bec3","ref":"refs/heads/main","pushedAt":"2023-08-04T00:01:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Version bump","shortMessageHtmlLink":"Version bump"}},{"before":null,"after":"64562a1aafb2e1c7671287ccee7ebea10eaf0b81","ref":"refs/heads/fork-safety","pushedAt":"2023-08-03T23:56:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Version bump","shortMessageHtmlLink":"Version bump"}},{"before":"4fd65d8eb004886c0e08bbfcf4fc338ab0c64033","after":"f67eef65cfc987e476998f71ed7ee265cf0a1f8e","ref":"refs/heads/main","pushedAt":"2023-08-03T23:53:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SamSaffron","name":"Sam","path":"/SamSaffron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5213?s=80&v=4"},"commit":{"message":"Make the library fork safe and drop the mutex\n\nWhen forking, file descriptors are inherited and their state shared.\n\nIn the context of MiniMime this means that the offset of the file\nopened by RandomAccessDb is shared across processes, so the\n`seek + read` combo is subject to inter-process race conditions.\n\nOf course that file is lazily opened, so assuming most applications\ndon't query MiniMime before fork, it's not a big problem.\n\nHowever when reforking post boot (e.g. https://github.com/Shopify/pitchfork)\nthis becomes an issue.\n\nAdditionally, even if the file descriptor isn't shared across processes,\nthe file position is still process global requiring a Mutex.\n\nBy using `pread` instead of `seek + read` we can both make the library\nfork safe and get rid of the need to synchronize accesses.\n\nThis also happens to fix an outstanding JRuby issue.\n\nFix: https://github.com/discourse/mini_mime/issues/37\nFix: https://github.com/discourse/mini_mime/pull/38","shortMessageHtmlLink":"Make the library fork safe and drop the mutex"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOC0zMVQyMzo0MTozMi4wMDAwMDBazwAAAAN3CoLo","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOC0zMVQyMzo0MTozMi4wMDAwMDBazwAAAAN3CoLo","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOC0wM1QyMzo1MzozMi4wMDAwMDBazwAAAANjnJqS"}},"title":"Activity ยท discourse/mini_mime"}