{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1314200,"defaultBranch":"main","name":"pgxn-api","ownerLogin":"pgxn","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-01-31T23:23:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/702668?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710457455.0","currentOid":""},"activityList":{"items":[{"before":"a789df9c5b27de03d911e13e3ac1c1e2f0b20552","after":"6a3fec7090a7f543f2c08ad123bc25cbf7a13d5b","ref":"refs/heads/main","pushedAt":"2024-03-15T16:54:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v0.20.3","shortMessageHtmlLink":"Increment to v0.20.3"}},{"before":"7f77cd7fbc9ea2b4c1abd640e00d7f8bb142a4ef","after":"a789df9c5b27de03d911e13e3ac1c1e2f0b20552","ref":"refs/heads/main","pushedAt":"2024-03-14T23:03:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Timestmap v0.20.2","shortMessageHtmlLink":"Timestmap v0.20.2"}},{"before":"7f77cd7fbc9ea2b4c1abd640e00d7f8bb142a4ef","after":null,"ref":"refs/heads/symlinks","pushedAt":"2024-03-14T23:02:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"3658cbd0a6c1e583ce8b2368ce208f877f01314a","after":"7f77cd7fbc9ea2b4c1abd640e00d7f8bb142a4ef","ref":"refs/heads/main","pushedAt":"2024-03-14T23:02:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Fix handling of symlinks extracted from zip files\n\nSetting unix attributes was breaking the detection of symlinks by\nArchive::Zip, so it was just writing out a file with the name of the\nlinked file in it.\n\nFix it by instead removing an existing file if it exists and not setting\npermissions for symlinks. This allows Arhive::Zip to always create a\nproper symlink. While at it, change the permissions for files to we\nwritable by the owner, so as to avoid any other permissions issues when\nre-indexing an archive, which needs to replace existing files.\n\nFinallky, don't abandon unzipping a file on error, but just move on to\nthe next file.","shortMessageHtmlLink":"Fix handling of symlinks extracted from zip files"}},{"before":null,"after":"7f77cd7fbc9ea2b4c1abd640e00d7f8bb142a4ef","ref":"refs/heads/symlinks","pushedAt":"2024-03-14T22:35:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Fix handling of symlinks extracted from zip files\n\nSetting unix attributes was breaking the detection of symlinks by\nArchive::Zip, so it was just writing out a file with the name of the\nlinked file in it.\n\nFix it by instead removing an existing file if it exists and not setting\npermissions for symlinks. This allows Arhive::Zip to always create a\nproper symlink. While at it, change the permissions for files to we\nwritable by the owner, so as to avoid any other permissions issues when\nre-indexing an archive, which needs to replace existing files.\n\nFinallky, don't abandon unzipping a file on error, but just move on to\nthe next file.","shortMessageHtmlLink":"Fix handling of symlinks extracted from zip files"}},{"before":"49dea7e02c9fb78af2e1083b6cfaf055be1eca43","after":"3658cbd0a6c1e583ce8b2368ce208f877f01314a","ref":"refs/heads/main","pushedAt":"2024-02-15T22:21:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v0.20.2","shortMessageHtmlLink":"Increment to v0.20.2"}},{"before":"360a4224cea1986029d6402709abe650490d6284","after":"49dea7e02c9fb78af2e1083b6cfaf055be1eca43","ref":"refs/heads/main","pushedAt":"2024-02-15T22:17:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Timestamp v0.20.1","shortMessageHtmlLink":"Timestamp v0.20.1"}},{"before":"d4b4f487440aead0b87a59fed3edb29943600d7f","after":"360a4224cea1986029d6402709abe650490d6284","ref":"refs/heads/main","pushedAt":"2024-02-15T20:24:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Parse plain text files as documentation\n\n`README` files were always recognized as documentation for any and all\nextension; now the indexer also recognizes and indexes files ending in\n`.text` or `.txt`. It registers the Text::Markup::None parser to format\nthem; their contents will be saved in a `
` block in the resulting\nHTML file. Closes #13.","shortMessageHtmlLink":"Parse plain text files as documentation"}},{"before":"d2cb6b706b8cd0c89ecbfc7cbe42a92cb5c80732","after":"d4b4f487440aead0b87a59fed3edb29943600d7f","ref":"refs/heads/main","pushedAt":"2024-02-15T18:54:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"More testing or stable indexing and updates\n\nBe sure to use the testing abstract and version for extension indexing\ninformation when there is no stable version, or the unstable data when\nthere is no testing. Also prevents passing undefined values to the\nLucy::Index::Indexer.\n\nSimilarly, update a user's JSON information with a testing release when\nthere is no stable release, or the unstable release when no testing.\nThis way the most recent release is always associated with the user,\nrather than no release when there are no existing stable releases!","shortMessageHtmlLink":"More testing or stable indexing and updates"}},{"before":"638ae86604f3232e9bef27b6a57608bd239321ac","after":"d2cb6b706b8cd0c89ecbfc7cbe42a92cb5c80732","ref":"refs/heads/main","pushedAt":"2024-02-09T20:14:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v0.20.1","shortMessageHtmlLink":"Increment to v0.20.1"}},{"before":"638ae86604f3232e9bef27b6a57608bd239321ac","after":null,"ref":"refs/heads/prep-release","pushedAt":"2024-02-09T02:12:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"3e6d1c9d3a46b2dfb1b018fc4472493e6e9c4bb1","after":"638ae86604f3232e9bef27b6a57608bd239321ac","ref":"refs/heads/main","pushedAt":"2024-02-09T02:12:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Add workflows and prep for release\n\nAdd a CI GitHub workflow to test on all supported versions of Perl, and\ndrop the old Travis config.\n\nAlso add a release workflow and the Build.PL stuff to support GitHub\nreleases.\n\nRequire PGXN::API::Searcher v0.11.1 to ensure #23 and #26 stay fixed,\nand fix the CPAN meta merging to properly generate a v2 `MYMETA.json`\nfile.\n\nIncrement version to v0.20.0 and update the copyright year.\n\nDrop support for Perl 5.10 and 5.12.\n\nFlesh out the README a bit.","shortMessageHtmlLink":"Add workflows and prep for release"}},{"before":"cd19d0fa131b1ac5149ea82b275f31e4cb6d5b87","after":"638ae86604f3232e9bef27b6a57608bd239321ac","ref":"refs/heads/prep-release","pushedAt":"2024-02-09T00:33:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Add workflows and prep for release\n\nAdd a CI GitHub workflow to test on all supported versions of Perl, and\ndrop the old Travis config.\n\nAlso add a release workflow and the Build.PL stuff to support GitHub\nreleases.\n\nRequire PGXN::API::Searcher v0.11.1 to ensure #23 and #26 stay fixed,\nand fix the CPAN meta merging to properly generate a v2 `MYMETA.json`\nfile.\n\nIncrement version to v0.20.0 and update the copyright year.\n\nDrop support for Perl 5.10 and 5.12.\n\nFlesh out the README a bit.","shortMessageHtmlLink":"Add workflows and prep for release"}},{"before":"7a4c742681eef69f4e8865b42725a1b34617d8da","after":"cd19d0fa131b1ac5149ea82b275f31e4cb6d5b87","ref":"refs/heads/prep-release","pushedAt":"2024-02-08T23:56:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Add workflows and prep for release\n\nAdd a CI GitHub workflow to test on all supported versions of Perl, and\ndrop the old Travis config.\n\nAlso add a release workflow and the Build.PL stuff to support GitHub\nreleases.\n\nRequire PGXN::API::Searcher v0.11.1 to ensure #23 and #26 stay fixed,\nand fix the CPAN meta merging to properly generate a v2 `MYMETA.json`\nfile.\n\nIncrement version to v0.20.0 and update the copyright year.\n\nDrop support for Perl 5.10.\n\nFlesh out the README a bit.","shortMessageHtmlLink":"Add workflows and prep for release"}},{"before":null,"after":"7a4c742681eef69f4e8865b42725a1b34617d8da","ref":"refs/heads/prep-release","pushedAt":"2024-02-08T23:46:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Add workflows and prep for release\n\nAdd a CI GitHub workflow to test on all supported versions of Perl, and\ndrop the old Travis config.\n\nAlso add a release workflow and the Build.PL stuff to support GitHub\nreleases.\n\nRequire PGXN::API::Searcher v0.11.1 to ensure #23 and #26 stay fixed,\nand fix the CPAN meta merging to properly generate a v2 `MYMETA.json`\nfile.\n\nIncrement version to v0.20.0 and update the copyright year.\n\nDrop support for Perl 5.10.\n\nFlesh out the README a bit.","shortMessageHtmlLink":"Add workflows and prep for release"}},{"before":"3e6d1c9d3a46b2dfb1b018fc4472493e6e9c4bb1","after":null,"ref":"refs/heads/fix-perms","pushedAt":"2024-02-08T23:36:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"d69e0f40a9fb1e51345d660613cc88b712e990d2","after":"3e6d1c9d3a46b2dfb1b018fc4472493e6e9c4bb1","ref":"refs/heads/main","pushedAt":"2024-02-08T23:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Always set member perms when unzipping\n\nRe-create `t/root/dist/pair/0.1.1/pair-0.1.1.zip` with no permissions\nfor groups or others to any file or directory and add tests to make sure\nthey are readable by all and that directories are executable by all.\nThis causes failures!\n\nChange `unzip` to *always* set file permissions, with different values\nfor directories (which must be executable) and files (which need not be\nexecutable for serving by the API). Fixes #15.\n\nAs a result of the re-organization of `pair-0.1.1.zip`, change the\n`find_docs` tests to sort results before comparing them. Apparently\ndifferent zip files can index their members in different orders. So just\navoid the problem for the future.","shortMessageHtmlLink":"Always set member perms when unzipping"}},{"before":"305a151954b9baeaae059f0ae548f0514ca34443","after":"3e6d1c9d3a46b2dfb1b018fc4472493e6e9c4bb1","ref":"refs/heads/fix-perms","pushedAt":"2024-02-08T23:35:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Always set member perms when unzipping\n\nRe-create `t/root/dist/pair/0.1.1/pair-0.1.1.zip` with no permissions\nfor groups or others to any file or directory and add tests to make sure\nthey are readable by all and that directories are executable by all.\nThis causes failures!\n\nChange `unzip` to *always* set file permissions, with different values\nfor directories (which must be executable) and files (which need not be\nexecutable for serving by the API). Fixes #15.\n\nAs a result of the re-organization of `pair-0.1.1.zip`, change the\n`find_docs` tests to sort results before comparing them. Apparently\ndifferent zip files can index their members in different orders. So just\navoid the problem for the future.","shortMessageHtmlLink":"Always set member perms when unzipping"}},{"before":"7194e3845e52a859cb199ad39a5fdd2b94e6fe68","after":null,"ref":"refs/heads/restart","pushedAt":"2024-02-08T22:57:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"d69e0f40a9fb1e51345d660613cc88b712e990d2","after":null,"ref":"refs/heads/semver-regex","pushedAt":"2024-02-08T22:57:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"2db9ef5afc7f0615362e5e6fb6db8b1c15fe2d51","after":"d69e0f40a9fb1e51345d660613cc88b712e990d2","ref":"refs/heads/main","pushedAt":"2024-02-08T22:57:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use official semver regex\n\nResolves #16.","shortMessageHtmlLink":"Use official semver regex"}},{"before":null,"after":"305a151954b9baeaae059f0ae548f0514ca34443","ref":"refs/heads/fix-perms","pushedAt":"2024-02-08T22:57:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Always set member perms when unzipping\n\nRe-create `t/root/dist/pair/0.1.1/pair-0.1.1.zip` with no permissions\nfor groups or others to any file or directory and add tests to make sure\nthey are readable by all and that directories are executable by all.\nThis causes failures!\n\nChange `unzip` to *always* set file permissions, with different values\nfor directories (which must be executable) and files (which need not be\nexecutable for serving by the API). Fixes #15.","shortMessageHtmlLink":"Always set member perms when unzipping"}},{"before":"2db9ef5afc7f0615362e5e6fb6db8b1c15fe2d51","after":null,"ref":"refs/heads/index-non-stable","pushedAt":"2024-02-08T22:07:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"c13c746d3cdc534b5ad69a7401e4d7ef23f81a43","after":"2db9ef5afc7f0615362e5e6fb6db8b1c15fe2d51","ref":"refs/heads/main","pushedAt":"2024-02-08T22:07:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Selectively index non-stable releases\n\nPGXN::API has traditionally indexed only stable releases. This meant\nthat a search returned no results for distributions that have no stable\nreleases, even if the search query is relevant.\n\nWith this change, if a release's status is `testing` and there are no\nexisting stable releases then add it to the index. If its status is\n`unstable` and there are no stable or testing releases then add it to\nthe index.\n\nThis will make early releases easier to find via search queries.\n\nDone by a bit of trickery with `local` and a field in the Indexer.\n`add_distribution` makes it `local`, and then `merge_distmeta` actually\nsets it once it has the relevant release history to make the assessment.\nThat setting then sticks for the remaining methods `add_distribution`\ncalls, but resets when it completes its work. This ensures it's set\ncorrectly for the specific release passed to each call to\n`add_distribution`.\n\nResolves #2.\n\nWhile at it, update the `Changes` info about the removal of old\ndeployment files and note the attention paid to `docfile` added in\nc13c746 (#32).","shortMessageHtmlLink":"Selectively index non-stable releases"}},{"before":null,"after":"d69e0f40a9fb1e51345d660613cc88b712e990d2","ref":"refs/heads/semver-regex","pushedAt":"2024-02-08T22:06:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use official semver regex\n\nResolves #16.","shortMessageHtmlLink":"Use official semver regex"}},{"before":"0fd811c66fac2b512bfe7679b2f48cea74549b5f","after":"2db9ef5afc7f0615362e5e6fb6db8b1c15fe2d51","ref":"refs/heads/index-non-stable","pushedAt":"2024-02-08T21:48:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Selectively index non-stable releases\n\nPGXN::API has traditionally indexed only stable releases. This meant\nthat a search returned no results for distributions that have no stable\nreleases, even if the search query is relevant.\n\nWith this change, if a release's status is `testing` and there are no\nexisting stable releases then add it to the index. If its status is\n`unstable` and there are no stable or testing releases then add it to\nthe index.\n\nThis will make early releases easier to find via search queries.\n\nDone by a bit of trickery with `local` and a field in the Indexer.\n`add_distribution` makes it `local`, and then `merge_distmeta` actually\nsets it once it has the relevant release history to make the assessment.\nThat setting then sticks for the remaining methods `add_distribution`\ncalls, but resets when it completes its work. This ensures it's set\ncorrectly for the specific release passed to each call to\n`add_distribution`.\n\nResolves #2.\n\nWhile at it, update the `Changes` info about the removal of old\ndeployment files and note the attention paid to `docfile` added in\nc13c746 (#32).","shortMessageHtmlLink":"Selectively index non-stable releases"}},{"before":"c13c746d3cdc534b5ad69a7401e4d7ef23f81a43","after":null,"ref":"refs/heads/respect-docfile","pushedAt":"2024-02-08T21:43:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"8fdbe904e18fadfb40ee65380ff6fb13f85af72d","after":"c13c746d3cdc534b5ad69a7401e4d7ef23f81a43","ref":"refs/heads/main","pushedAt":"2024-02-08T21:43:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Always respect the docfile field\n\nThe indexer wasn't really paying attention to the `docfile` field in\n`provides` objects, other than to be sure its value was a file to try\nto index. Instead is just looked for doc files where the file name was\nthe same as the extension name. This works okay for distributions that\nfollow that rule strictly. But many distributions point to the\n`README` as the doc file (as mentioned in #12), and others point to\ncompletely different file (as in #10).\n\nSo capture much earlier that an extension has pointed to a specific\ndoc file, and track that relationship throughout the indexing process.\nAdd test cases to be sure it works.\n\nResolves #10.","shortMessageHtmlLink":"Always respect the docfile field"}},{"before":null,"after":"0fd811c66fac2b512bfe7679b2f48cea74549b5f","ref":"refs/heads/index-non-stable","pushedAt":"2024-02-08T21:43:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Selectively index non-stable releases\n\nPGXN::API has traditionally indexed only stable releases. This meant\nthat a search returned no results for distributions that have no stable\nreleases, even if the search query is relevant.\n\nWith this change, if a release's status is `testing` and there are no\nexisting stable releases then add it to the index. If its status is\n`unstable` and there are no stable or testing releases then add it to\nthe index.\n\nThis will make early releases easier to find via search queries.\n\nDone by a bit of trickery with `local` and a field in the Indexer.\n`add_distribution` makes it `local`, and then `merge_distmeta` actually\nsets it once it has the relevant release history to make the assessment.\nThat setting then sticks for the remaining methods `add_distribution`\ncalls, but resets when it completes its work. This ensures it's set\ncorrectly for the specific release passed to each call to\n`add_distribution`.\n\nResolves #2.\n\nWhile at it, update the `Changes` info about the removal of old\ndeployment files and note the attention paid to `docfile` added in\nc13c746 (#32).","shortMessageHtmlLink":"Selectively index non-stable releases"}},{"before":"8fdbe904e18fadfb40ee65380ff6fb13f85af72d","after":null,"ref":"refs/heads/index-readme","pushedAt":"2024-02-08T21:31:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEFuOYPwA","startCursor":null,"endCursor":null}},"title":"Activity ยท pgxn/pgxn-api"}