{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":234954873,"defaultBranch":"master","name":"internetarchive","ownerLogin":"JustAnotherArchivist","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-01-19T19:40:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/29556373?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711045414.0","currentOid":""},"activityList":{"items":[{"before":"093a6a91512e9944e9f6cd9b45d77ab0af0a23b7","after":"174c6badb2c6f7253589e74822bf28700f41fecc","ref":"refs/heads/test-ujson","pushedAt":"2024-03-21T23:16:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Remove circular reference check on item metadata hashing\n\nUnless someone actively tries to break things by passing a crafted object, it should not generally be possible for there to be circular references. In addition, if someone were to do that, things would break in many other places, e.g. `MetadataPreparedRequest`, anyway. Guarding against a crash on hashing in that specific unusual scenario does not seem worthwhile and breaks when ujson is in use.\n\nFixes #540","shortMessageHtmlLink":"Remove circular reference check on item metadata hashing"}},{"before":"857492a6639401185cc53b64dadee3b14124dfb9","after":"093a6a91512e9944e9f6cd9b45d77ab0af0a23b7","ref":"refs/heads/test-ujson","pushedAt":"2024-03-21T22:56:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Remove circular reference check on item metadata hashing\n\nUnless someone actively tries to break things by passing a crafted object, it should not generally be possible for there to be circular references. In addition, if someone were to do that, things would break in many other places, e.g. `MetadataPreparedRequest`, anyway. Guarding against a crash on hashing in that specific unusual scenario does not seem worthwhile and breaks when ujson is in use.","shortMessageHtmlLink":"Remove circular reference check on item metadata hashing"}},{"before":"cd8d963da92f78f4baa67000282532f9111394ed","after":"857492a6639401185cc53b64dadee3b14124dfb9","ref":"refs/heads/test-ujson","pushedAt":"2024-03-21T22:24:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Attempt to get ujson test working","shortMessageHtmlLink":"Attempt to get ujson test working"}},{"before":"40122c2b9b19880144b14fa7a8b2e69d218d9f7a","after":"cd8d963da92f78f4baa67000282532f9111394ed","ref":"refs/heads/test-ujson","pushedAt":"2024-03-21T18:24:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Disable other versions","shortMessageHtmlLink":"Disable other versions"}},{"before":null,"after":"40122c2b9b19880144b14fa7a8b2e69d218d9f7a","ref":"refs/heads/test-ujson","pushedAt":"2024-03-21T18:23:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Test with ujson","shortMessageHtmlLink":"Test with ujson"}},{"before":null,"after":"5affdf9a6173cb47b06deda195ad024545d3b86c","ref":"refs/heads/test-pypy-bump","pushedAt":"2024-03-20T08:19:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Bump PyPy tests to current versions\n\nPyPy 3.7 and PyPy 3.8 are EOL and unsupported (although CPython 3.8 is not yet).","shortMessageHtmlLink":"Bump PyPy tests to current versions"}},{"before":null,"after":"3e650f7e3e634c1a64831d3698650d951866f792","ref":"refs/heads/fix-actions-node16-deprecation","pushedAt":"2024-02-14T18:05:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Bump actions/checkout to v4\n\nv3 uses Node 16, which is deprecated in GitHub Actions: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/","shortMessageHtmlLink":"Bump actions/checkout to v4"}},{"before":null,"after":"67523b49db2eb7b4ccd920286d139815797e2a59","ref":"refs/heads/fix-linting","pushedAt":"2024-02-13T22:11:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Fix linting: disable mypy --install-types\n\n`pip install .[all]` already installs the third-party hints, and `--install-types` prompts for confirmation, breaking the CI.","shortMessageHtmlLink":"Fix linting: disable mypy --install-types"}},{"before":"ecdd7fc1e030b512bbb7d0074c89be0d1f57dd0d","after":"8b9842df653ae3de273e47cdbc1353d1cf8c4539","ref":"refs/heads/fucking-mypy","pushedAt":"2024-02-13T22:07:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Attempt 3","shortMessageHtmlLink":"Attempt 3"}},{"before":"cb2ea11fda4a992e01deaa21d42d16c228e8c0bb","after":"ecdd7fc1e030b512bbb7d0074c89be0d1f57dd0d","ref":"refs/heads/fucking-mypy","pushedAt":"2024-02-13T22:06:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Attempt 2","shortMessageHtmlLink":"Attempt 2"}},{"before":null,"after":"cb2ea11fda4a992e01deaa21d42d16c228e8c0bb","ref":"refs/heads/fucking-mypy","pushedAt":"2024-02-13T22:05:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Attempt","shortMessageHtmlLink":"Attempt"}},{"before":null,"after":"4357a0e67931aac7c99b18daa5c5af031d93d159","ref":"refs/heads/test-312-pypy310","pushedAt":"2024-02-13T21:24:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Bump test suite to current versions\n\nCPython 3.7, PyPy 3.7, and PyPy 3.8 are EOL and unsupported.","shortMessageHtmlLink":"Bump test suite to current versions"}},{"before":"3047d3929aa62e43dfbbaf04eca7dd503daa2aa2","after":"1c4e9c53a530ae68539db61551d5476fa1eecbde","ref":"refs/heads/fix-upload-size-hint","pushedAt":"2024-02-13T20:51:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Fix automatic size hint on uploads\n\nWhen uploading without a size hint (via headers or `--size-hint`), a x-archive-size-hint header is added automatically. However, prior to this commit, the value was the individual file size on each file's `PUT` request. This effectively made the size hint useless because it does not, in fact, provide a size hint for the total item size to the S3 backend at item creation time.\n\nNotes on detailed changes to implement this:\n\n* Rename `internetarchive.utils.recursive_file_count` to `recursive_file_count_and_size`, adding a wrapper for backwards compatibility\n* Add support for paths (rather than only file-like objects) to `internetarchive.utils.get_file_size`\n* Add a `internetarchive.utils.is_filelike_obj` helper function\n* Fix a bug introduced by 62c85133090e21659f09964fedd4c18ae4a27483 where `total_files` would never be `None` and so `recursive_file_count` was never called, possibly leading to incorrect derive queueing.\n* Add tests for the fixed behaviour","shortMessageHtmlLink":"Fix automatic size hint on uploads"}},{"before":null,"after":"3047d3929aa62e43dfbbaf04eca7dd503daa2aa2","ref":"refs/heads/fix-upload-size-hint","pushedAt":"2024-02-13T20:44:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JustAnotherArchivist","name":null,"path":"/JustAnotherArchivist","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29556373?s=80&v=4"},"commit":{"message":"Fix automatic size hint on uploads\n\nWhen uploading without a size hint (via headers or `--size-hint`), a x-archive-size-hint header is added automatically. However, prior to this commit, the value was the individual file size on each file's `PUT` request. This effectively made the size hint useless because it does not, in fact, provide a size hint for the total item size to the S3 backend at item creation time.\n\nNotes on detailed changes to implement this:\n\n* Rename `internetarchive.utils.recursive_file_count` to `recursive_file_count_and_size`, adding a wrapper for backwards compatibility\n* Add support for paths (rather than only file-like objects) to `internetarchive.utils.get_file_size`\n* Add a `internetarchive.utils.is_filelike_obj` helper function\n* Fix a bug introduced by 62c85133090e21659f09964fedd4c18ae4a27483 where `total_files` would never be `None` and so `recursive_file_count` was never called, possibly leading to incorrect derive queueing.\n* Add tests for the fixed behaviour","shortMessageHtmlLink":"Fix automatic size hint on uploads"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEHD-HAAA","startCursor":null,"endCursor":null}},"title":"Activity ยท JustAnotherArchivist/internetarchive"}