{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":460207376,"defaultBranch":"main","name":"multi-core-indexer","ownerLogin":"digidem","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-02-16T23:04:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/405221?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714574679.0","currentOid":""},"activityList":{"items":[{"before":"3ccc38722bc1f812d7719a337f03886bb84b6f92","after":"2537f7d7426e9d6c1c9f88a23d88d901bec740a0","ref":"refs/heads/feat/entry-discovery-id","pushedAt":"2024-09-24T10:03:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gmaclennan","name":"Gregor MacLennan","path":"/gmaclennan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/290457?s=80&v=4"},"commit":{"message":"feat!: discoveryId instead of key for entries\n\nBREAKING CHANGE: this changes the type of `Entry` to have the core\ndiscoveryId (the discovery key as a hex string) instead of the core key.\n\nSince our mapeo-core code changed to using the discovery key for version\nids, we need to calculate the discovery key for each entry, which has a\nperformance cost (it's a hash operation). This change avoids the need\nfor any hashing when processing entries.","shortMessageHtmlLink":"feat!: discoveryId instead of key for entries"}},{"before":"f56037a752887b02a9ddb92cec5c39993dab5461","after":"f2bd6d151883412ea8e24328bae3b2f371305cb8","ref":"refs/heads/main","pushedAt":"2024-05-01T14:44:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore(release): 1.0.0-alpha.10","shortMessageHtmlLink":"chore(release): 1.0.0-alpha.10"}},{"before":"d32e778d04e524ef18805cdede7dbfb78d4ac966","after":null,"ref":"refs/heads/throw-if-not-in-correct-closed-state","pushedAt":"2024-04-15T21:38:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"c87f8fbd55dca131dd45770012369c6f28cf5d4b","after":"f56037a752887b02a9ddb92cec5c39993dab5461","ref":"refs/heads/main","pushedAt":"2024-04-15T21:38:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"feat: reject if closed state is incorrect (#42)\n\nSome methods, like `addCore()`, now throw if called after calling\r\n`close()`. `unlink()` is the opposite, and should only be called after\r\nthe indexer is closed.\r\n\r\nThis is arguably a breaking change, but I feel that changing undefined\r\nbehavior is not breaking.","shortMessageHtmlLink":"feat: reject if closed state is incorrect (#42)"}},{"before":"bc566d8fb69bbf73f840b9f7144ec7eeeed4b368","after":"d32e778d04e524ef18805cdede7dbfb78d4ac966","ref":"refs/heads/throw-if-not-in-correct-closed-state","pushedAt":"2024-04-15T21:34:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Update docs for .close()","shortMessageHtmlLink":"Update docs for .close()"}},{"before":"c7bb6ee54b2b77966df3193a27eb2b547bb3f3ed","after":"bc566d8fb69bbf73f840b9f7144ec7eeeed4b368","ref":"refs/heads/throw-if-not-in-correct-closed-state","pushedAt":"2024-04-15T21:33:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Fix code coverage for ExhaustivenessError","shortMessageHtmlLink":"Fix code coverage for ExhaustivenessError"}},{"before":null,"after":"c7bb6ee54b2b77966df3193a27eb2b547bb3f3ed","ref":"refs/heads/throw-if-not-in-correct-closed-state","pushedAt":"2024-04-05T02:20:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"feat: reject if closed state is incorrect\n\nSome methods, like `addCore()`, now throw if called after calling\n`close()`. `unlink()` is the opposite, and should only be called after\nthe indexer is closed.\n\nThis is arguably a breaking change, but I feel that changing undefined\nbehavior is not breaking.","shortMessageHtmlLink":"feat: reject if closed state is incorrect"}},{"before":"9445e5ae4743236415f032e1b93ce7fc0cb125fe","after":null,"ref":"refs/heads/drop-node-16","pushedAt":"2024-03-13T17:29:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"0c4004ddd3354a30f7f6d206eb1872b6b8d06f33","after":"c87f8fbd55dca131dd45770012369c6f28cf5d4b","ref":"refs/heads/main","pushedAt":"2024-03-13T17:29:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore!: drop Node 16 support (#40)\n\nThis removes Node 16 support, given that (1) it is deprecated (2) it\r\n[is no longer used in CoMapeo][0].\r\n\r\n[0]: https://github.com/digidem/CoMapeo-mobile/pull/194","shortMessageHtmlLink":"chore!: drop Node 16 support (#40)"}},{"before":"676e06a26adf3801272a62efec33775453ae22f7","after":null,"ref":"refs/heads/remove-unused-bitfield-clear-method","pushedAt":"2024-03-13T17:28:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"9b81ec1510b6b22b776fb03e27f95eeedc37d1db","after":"0c4004ddd3354a30f7f6d206eb1872b6b8d06f33","ref":"refs/heads/main","pushedAt":"2024-03-13T17:28:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: remove unused method from Bitfield class (#41)\n\n`Bitfield.prototype.clear` was never used, so we can remove it.","shortMessageHtmlLink":"chore: remove unused method from Bitfield class (#41)"}},{"before":"7cd3aafa70f2894042a5ac9929eb6ad083ad4177","after":"9b81ec1510b6b22b776fb03e27f95eeedc37d1db","ref":"refs/heads/main","pushedAt":"2024-03-12T15:34:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: switch from tap to node:test and Borp (#39)\n\nTo do this, I:\r\n\r\n- Uninstalled `tap` and replaced it with `borp`\r\n- Used `c8` for test coverage\r\n - This changed the way coverage was detected around the `??=`\r\n operator, so I had to write an additional unit test\r\n- Wrote a [jscodeshift] codemod (below)\r\n- Dropped Node 16 support, which `node:test` requires\r\n- Made a few small manual tweaks\r\n\r\nHere's the jscodeshift transformer:\r\n\r\n```typescript\r\nimport type {\r\n Transform,\r\n Expression,\r\n FunctionExpression,\r\n ArrowFunctionExpression,\r\n} from 'jscodeshift'\r\n\r\nconst isFunctionExpression = (\r\n expression: Readonly\r\n): expression is FunctionExpression | ArrowFunctionExpression =>\r\n expression.type === 'FunctionExpression' ||\r\n expression.type === 'ArrowFunctionExpression'\r\n\r\nconst transform: Transform = (fileInfo, api) => {\r\n const { j } = api\r\n const root = j(fileInfo.source)\r\n\r\n // Update imports\r\n\r\n {\r\n const commonJsImport = (varName: string, moduleName: string) =>\r\n j.variableDeclaration('const', [\r\n j.variableDeclarator(\r\n j.identifier(varName),\r\n j.callExpression(j.identifier('require'), [\r\n j.stringLiteral(moduleName),\r\n ])\r\n ),\r\n ])\r\n\r\n const tapImport = root.find(j.VariableDeclaration, {\r\n declarations: [\r\n {\r\n init: {\r\n callee: { name: 'require' },\r\n arguments: [\r\n {\r\n value: 'tap',\r\n },\r\n ],\r\n },\r\n },\r\n ],\r\n })\r\n\r\n tapImport.insertBefore(commonJsImport('test', 'node:test'))\r\n tapImport.insertBefore(commonJsImport('assert', 'node:assert/strict'))\r\n\r\n tapImport.remove()\r\n }\r\n\r\n // Drop args from test callback\r\n\r\n root\r\n .find(j.CallExpression, { callee: { name: 'test' } })\r\n .forEach((callExpression) => {\r\n for (const arg of callExpression.value.arguments) {\r\n if (!isFunctionExpression(arg)) continue\r\n arg.params = []\r\n }\r\n })\r\n\r\n // Drop t.pass\r\n\r\n root\r\n .find(j.ExpressionStatement, {\r\n expression: {\r\n callee: {\r\n type: 'MemberExpression',\r\n object: { name: 't' },\r\n property: { name: 'pass' },\r\n },\r\n },\r\n })\r\n .remove()\r\n\r\n // Simple replacements of various calls\r\n\r\n {\r\n const toReplace: Map = new Map([\r\n ['comment', 'console.log'],\r\n ['equal', 'assert.equal'],\r\n ['fail', 'assert.fail'],\r\n ['not', 'assert.notEqual'],\r\n ['ok', 'assert.ok'],\r\n ['same', 'assert.deepEqual'],\r\n ])\r\n for (const [tMethod, memberExpressionString] of toReplace) {\r\n const [newObj, newProp] = memberExpressionString.split('.')\r\n root\r\n .find(j.MemberExpression, {\r\n object: { name: 't' },\r\n property: { name: tMethod },\r\n })\r\n .forEach((memberExpression) => {\r\n memberExpression.value.object = j.identifier(newObj)\r\n memberExpression.value.property = j.identifier(newProp)\r\n })\r\n }\r\n }\r\n\r\n // Replace `t.notOk(x)` with `assert.equal(x, false)`.\r\n // Doesn't always work, but works how we use it.\r\n\r\n root\r\n .find(j.CallExpression, {\r\n callee: {\r\n type: 'MemberExpression',\r\n object: { name: 't' },\r\n property: { name: 'notOk' },\r\n },\r\n })\r\n .forEach((callExpression) => {\r\n callExpression.value.callee = j.memberExpression(\r\n j.identifier('assert'),\r\n j.identifier('equal')\r\n )\r\n callExpression.value.arguments = [\r\n callExpression.value.arguments[0],\r\n j.booleanLiteral(false),\r\n ...callExpression.value.arguments.slice(1),\r\n ]\r\n })\r\n\r\n // All done!\r\n\r\n return root.toSource()\r\n}\r\n\r\nexport default transform\r\n```\r\n\r\n[jscodeshift]: https://github.com/facebook/jscodeshift","shortMessageHtmlLink":"chore: switch from tap to node:test and Borp (#39)"}},{"before":"c275c9ba96c93c2708324f503ae12d1412c99c36","after":null,"ref":"refs/heads/tap-2-nodetest","pushedAt":"2024-03-12T15:34:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":null,"after":"676e06a26adf3801272a62efec33775453ae22f7","ref":"refs/heads/remove-unused-bitfield-clear-method","pushedAt":"2024-03-07T03:25:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: remove unused method from Bitfield class\n\n`Bitfield.prototype.clear` was never used, so we can remove it.","shortMessageHtmlLink":"chore: remove unused method from Bitfield class"}},{"before":null,"after":"9445e5ae4743236415f032e1b93ce7fc0cb125fe","ref":"refs/heads/drop-node-16","pushedAt":"2024-03-04T19:45:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore!: drop Node 16 support\n\nThis removes Node 16 support, given that (1) it is deprecated (2) it\n[is no longer used in CoMapeo][0].\n\n[0]: https://github.com/digidem/CoMapeo-mobile/pull/194","shortMessageHtmlLink":"chore!: drop Node 16 support"}},{"before":"19a5ac24ba534b9dd24752e5f05169d329a3f5cd","after":"c275c9ba96c93c2708324f503ae12d1412c99c36","ref":"refs/heads/tap-2-nodetest","pushedAt":"2024-03-02T18:43:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Test unlink before open","shortMessageHtmlLink":"Test unlink before open"}},{"before":"82b2869bea821d725cb0e0eb0166d0066b056722","after":"19a5ac24ba534b9dd24752e5f05169d329a3f5cd","ref":"refs/heads/tap-2-nodetest","pushedAt":"2024-03-02T18:33:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Use c8 directly for test coverage","shortMessageHtmlLink":"Use c8 directly for test coverage"}},{"before":"487487b6679cb99854b906e0f193a640af3d7426","after":"82b2869bea821d725cb0e0eb0166d0066b056722","ref":"refs/heads/tap-2-nodetest","pushedAt":"2024-02-28T22:28:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: switch from tap to node:test and Borp\n\nTo do this, I:\n\n- Uninstalled `tap` and replaced it with `borp`\n- Wrote a [jscodeshift] codemod (below)\n- Updated `instanbul` references to `c8`, which Borp uses internally\n- Dropped Node 16 support, which `node:test` requires\n- Made a few small manual tweaks\n\nHere's the jscodeshift transformer:\n\n```typescript\nimport type {\n Transform,\n Expression,\n FunctionExpression,\n ArrowFunctionExpression,\n} from 'jscodeshift'\n\nconst isFunctionExpression = (\n expression: Readonly\n): expression is FunctionExpression | ArrowFunctionExpression =>\n expression.type === 'FunctionExpression' ||\n expression.type === 'ArrowFunctionExpression'\n\nconst transform: Transform = (fileInfo, api) => {\n const { j } = api\n const root = j(fileInfo.source)\n\n // Update imports\n\n {\n const commonJsImport = (varName: string, moduleName: string) =>\n j.variableDeclaration('const', [\n j.variableDeclarator(\n j.identifier(varName),\n j.callExpression(j.identifier('require'), [\n j.stringLiteral(moduleName),\n ])\n ),\n ])\n\n const tapImport = root.find(j.VariableDeclaration, {\n declarations: [\n {\n init: {\n callee: { name: 'require' },\n arguments: [\n {\n value: 'tap',\n },\n ],\n },\n },\n ],\n })\n\n tapImport.insertBefore(commonJsImport('test', 'node:test'))\n tapImport.insertBefore(commonJsImport('assert', 'node:assert/strict'))\n\n tapImport.remove()\n }\n\n // Drop args from test callback\n\n root\n .find(j.CallExpression, { callee: { name: 'test' } })\n .forEach((callExpression) => {\n for (const arg of callExpression.value.arguments) {\n if (!isFunctionExpression(arg)) continue\n arg.params = []\n }\n })\n\n // Drop t.pass\n\n root\n .find(j.ExpressionStatement, {\n expression: {\n callee: {\n type: 'MemberExpression',\n object: { name: 't' },\n property: { name: 'pass' },\n },\n },\n })\n .remove()\n\n // Simple replacements of various calls\n\n {\n const toReplace: Map = new Map([\n ['comment', 'console.log'],\n ['equal', 'assert.equal'],\n ['fail', 'assert.fail'],\n ['not', 'assert.notEqual'],\n ['ok', 'assert.ok'],\n ['same', 'assert.deepEqual'],\n ])\n for (const [tMethod, memberExpressionString] of toReplace) {\n const [newObj, newProp] = memberExpressionString.split('.')\n root\n .find(j.MemberExpression, {\n object: { name: 't' },\n property: { name: tMethod },\n })\n .forEach((memberExpression) => {\n memberExpression.value.object = j.identifier(newObj)\n memberExpression.value.property = j.identifier(newProp)\n })\n }\n }\n\n // Replace `t.notOk(x)` with `assert.equal(x, false)`.\n // Doesn't always work, but works how we use it.\n\n root\n .find(j.CallExpression, {\n callee: {\n type: 'MemberExpression',\n object: { name: 't' },\n property: { name: 'notOk' },\n },\n })\n .forEach((callExpression) => {\n callExpression.value.callee = j.memberExpression(\n j.identifier('assert'),\n j.identifier('equal')\n )\n callExpression.value.arguments = [\n callExpression.value.arguments[0],\n j.booleanLiteral(false),\n ...callExpression.value.arguments.slice(1),\n ]\n })\n\n // All done!\n\n return root.toSource()\n}\n\nexport default transform\n```\n\n[jscodeshift]: https://github.com/facebook/jscodeshift","shortMessageHtmlLink":"chore: switch from tap to node:test and Borp"}},{"before":null,"after":"487487b6679cb99854b906e0f193a640af3d7426","ref":"refs/heads/tap-2-nodetest","pushedAt":"2024-02-28T22:25:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: switch from tap to node:test and Borp\n\nTo do this, I:\n\n- Uninstalled `tap` and replaced it with `borp`\n- Wrote a [jscodeshift] codemod (below)\n- Updated `instanbul` references to `c8`, which Borp uses internally\n- Made a few small manual tweaks\n\nHere's the jscodeshift transformer:\n\n```typescript\nimport type {\n Transform,\n Expression,\n FunctionExpression,\n ArrowFunctionExpression,\n} from 'jscodeshift'\n\nconst isFunctionExpression = (\n expression: Readonly\n): expression is FunctionExpression | ArrowFunctionExpression =>\n expression.type === 'FunctionExpression' ||\n expression.type === 'ArrowFunctionExpression'\n\nconst transform: Transform = (fileInfo, api) => {\n const { j } = api\n const root = j(fileInfo.source)\n\n // Update imports\n\n {\n const commonJsImport = (varName: string, moduleName: string) =>\n j.variableDeclaration('const', [\n j.variableDeclarator(\n j.identifier(varName),\n j.callExpression(j.identifier('require'), [\n j.stringLiteral(moduleName),\n ])\n ),\n ])\n\n const tapImport = root.find(j.VariableDeclaration, {\n declarations: [\n {\n init: {\n callee: { name: 'require' },\n arguments: [\n {\n value: 'tap',\n },\n ],\n },\n },\n ],\n })\n\n tapImport.insertBefore(commonJsImport('test', 'node:test'))\n tapImport.insertBefore(commonJsImport('assert', 'node:assert/strict'))\n\n tapImport.remove()\n }\n\n // Drop args from test callback\n\n root\n .find(j.CallExpression, { callee: { name: 'test' } })\n .forEach((callExpression) => {\n for (const arg of callExpression.value.arguments) {\n if (!isFunctionExpression(arg)) continue\n arg.params = []\n }\n })\n\n // Drop t.pass\n\n root\n .find(j.ExpressionStatement, {\n expression: {\n callee: {\n type: 'MemberExpression',\n object: { name: 't' },\n property: { name: 'pass' },\n },\n },\n })\n .remove()\n\n // Simple replacements of various calls\n\n {\n const toReplace: Map = new Map([\n ['comment', 'console.log'],\n ['equal', 'assert.equal'],\n ['fail', 'assert.fail'],\n ['not', 'assert.notEqual'],\n ['ok', 'assert.ok'],\n ['same', 'assert.deepEqual'],\n ])\n for (const [tMethod, memberExpressionString] of toReplace) {\n const [newObj, newProp] = memberExpressionString.split('.')\n root\n .find(j.MemberExpression, {\n object: { name: 't' },\n property: { name: tMethod },\n })\n .forEach((memberExpression) => {\n memberExpression.value.object = j.identifier(newObj)\n memberExpression.value.property = j.identifier(newProp)\n })\n }\n }\n\n // Replace `t.notOk(x)` with `assert.equal(x, false)`.\n // Doesn't always work, but works how we use it.\n\n root\n .find(j.CallExpression, {\n callee: {\n type: 'MemberExpression',\n object: { name: 't' },\n property: { name: 'notOk' },\n },\n })\n .forEach((callExpression) => {\n callExpression.value.callee = j.memberExpression(\n j.identifier('assert'),\n j.identifier('equal')\n )\n callExpression.value.arguments = [\n callExpression.value.arguments[0],\n j.booleanLiteral(false),\n ...callExpression.value.arguments.slice(1),\n ]\n })\n\n // All done!\n\n return root.toSource()\n}\n\nexport default transform\n```\n\n[jscodeshift]: https://github.com/facebook/jscodeshift","shortMessageHtmlLink":"chore: switch from tap to node:test and Borp"}},{"before":"05d6ece06971c5a64472dee30da11b666d9ae245","after":null,"ref":"refs/heads/nonready-docs","pushedAt":"2024-02-22T20:46:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"98a0e2537fa7f77ce4e99de9298acfc805549a10","after":"7cd3aafa70f2894042a5ac9929eb6ad083ad4177","ref":"refs/heads/main","pushedAt":"2024-02-22T20:46:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"fix: docs shouldn't require ready cores (#29)\n\nWe no longer require cores to be ready as of\r\n89ac7ae4551b75713ca2a13c3a5e2eb741eb4519 ([pull request #24][0]). This\r\nupdates the docs to reflect that.\r\n\r\n[0]: https://github.com/digidem/multi-core-indexer/pull/24","shortMessageHtmlLink":"fix: docs shouldn't require ready cores (#29)"}},{"before":"b4b04028df46ddb46dea5f711fef4feb89e8a4a9","after":"05d6ece06971c5a64472dee30da11b666d9ae245","ref":"refs/heads/nonready-docs","pushedAt":"2024-02-22T20:46:46.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Merge branch 'main' into nonready-docs","shortMessageHtmlLink":"Merge branch 'main' into nonready-docs"}},{"before":"5fd314890625390b04b5ab866c124dc39ad89a80","after":null,"ref":"refs/heads/unlink","pushedAt":"2024-01-30T15:00:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"71f3f4974f64e6291f92eb80f56718e75322b412","after":"98a0e2537fa7f77ce4e99de9298acfc805549a10","ref":"refs/heads/main","pushedAt":"2024-01-30T15:00:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"feat: add method to unlink storage (#34)\n\nThis adds `MultiCoreIndexer.prototype.unlink()` which unlinks all the\r\nindex storage.\r\n\r\nCloses #26.","shortMessageHtmlLink":"feat: add method to unlink storage (#34)"}},{"before":"c15017066e7f581825dd11eb1ffa31619b072df2","after":"5fd314890625390b04b5ab866c124dc39ad89a80","ref":"refs/heads/unlink","pushedAt":"2024-01-29T19:18:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Merge branch 'main' into unlink","shortMessageHtmlLink":"Merge branch 'main' into unlink"}},{"before":"62d562894dcf1fa11552a59a509fed21d02e0c93","after":null,"ref":"refs/heads/@types/nanobench","pushedAt":"2024-01-25T18:35:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}},{"before":"b85c3b6f782a23a6cbbec2ebedf663fea955d66e","after":"71f3f4974f64e6291f92eb80f56718e75322b412","ref":"refs/heads/main","pushedAt":"2024-01-25T18:35:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"chore: add types for nanobench (#38)\n\nTypes for nanobench were [recently added to DefinitelyTyped][0], so we\r\ncan use them.\r\n\r\nThe `benchmarks` directory is not currently type-checked, so this change\r\nprimarily impacts editor tools.\r\n\r\nSimilar to [another change in mapeo-core-next][1].\r\n\r\n[0]: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/68221\r\n[1]: https://github.com/digidem/mapeo-core-next/pull/441","shortMessageHtmlLink":"chore: add types for nanobench (#38)"}},{"before":"07ef013aa65599dc10261b4b8752a757d5769118","after":"c15017066e7f581825dd11eb1ffa31619b072df2","ref":"refs/heads/unlink","pushedAt":"2024-01-19T13:42:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"feat: add method to unlink storage\n\nThis adds `MultiCoreIndexer.prototype.unlink()` which unlinks all the\nindex storage.\n\nAddresses #26.","shortMessageHtmlLink":"feat: add method to unlink storage"}},{"before":"4d8c94a91fa375d82f7b014f37d0bfbf92f6951d","after":"07ef013aa65599dc10261b4b8752a757d5769118","ref":"refs/heads/unlink","pushedAt":"2024-01-19T13:41:45.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"},"commit":{"message":"Merge branch 'main' into unlink","shortMessageHtmlLink":"Merge branch 'main' into unlink"}},{"before":"925bc5de0ce625baf995524b5c931f50ab3d94be","after":null,"ref":"refs/heads/update-node-versions","pushedAt":"2024-01-19T13:41:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EvanHahn","name":"Evan Hahn","path":"/EvanHahn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/777712?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNFQxMDowMzozNS4wMDAwMDBazwAAAAS--nYu","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNFQxMDowMzozNS4wMDAwMDBazwAAAAS--nYu","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0xOVQxMzo0MToxOC4wMDAwMDBazwAAAAPkBnlM"}},"title":"Activity ยท digidem/multi-core-indexer"}