{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":476395291,"defaultBranch":"main","name":"rs-wnfs","ownerLogin":"wnfs-wg","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-03-31T16:46:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/99910177?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715590296.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"80bfa4bc9f9fac5163c58e427ebfe6258c2a56a0","ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/uint8arrays-5.1.0","pushedAt":"2024-05-13T08:51:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(npm)(deps-dev): bump uint8arrays from 5.0.3 to 5.1.0 in /wnfs-wasm\n\nBumps [uint8arrays](https://github.com/achingbrain/uint8arrays) from 5.0.3 to 5.1.0.\n- [Release notes](https://github.com/achingbrain/uint8arrays/releases)\n- [Changelog](https://github.com/achingbrain/uint8arrays/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/achingbrain/uint8arrays/compare/v5.0.3...v5.1.0)\n\n---\nupdated-dependencies:\n- dependency-name: uint8arrays\n dependency-type: direct:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(npm)(deps-dev): bump uint8arrays from 5.0.3 to 5.1.0 in /wnfs-wasm"}},{"before":"cd30e74e08425328d47aae23aba10d433749cb9c","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/playwright/test-1.43.1","pushedAt":"2024-05-13T08:51:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"9dc6004d172fc56ec4df469c6040ae0d32e45a24","ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/playwright/test-1.44.0","pushedAt":"2024-05-13T08:51:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(npm)(deps-dev): bump @playwright/test in /wnfs-wasm\n\nBumps [@playwright/test](https://github.com/microsoft/playwright) from 1.43.0 to 1.44.0.\n- [Release notes](https://github.com/microsoft/playwright/releases)\n- [Commits](https://github.com/microsoft/playwright/compare/v1.43.0...v1.44.0)\n\n---\nupdated-dependencies:\n- dependency-name: \"@playwright/test\"\n dependency-type: direct:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(npm)(deps-dev): bump @playwright/test in /wnfs-wasm"}},{"before":"25e49aa3181712bf66d2a839c28fba42b1778c75","after":"bf4401a4a106bf3175c12e908280416747eeda36","ref":"refs/heads/gh-pages","pushedAt":"2024-04-25T15:12:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"add Rust Benchmark (cargo) benchmark result for e265c94a2cb7b7f785570bd18ef21946ad5a7fa9","shortMessageHtmlLink":"add Rust Benchmark (cargo) benchmark result for e265c94"}},{"before":"0d17d90a4bf8e0decda837cb0a4fb41ae422caae","after":null,"ref":"refs/heads/matheus23/fix-public-reconciliation-case","pushedAt":"2024-04-25T15:08:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"}},{"before":"abfefefbb63aec99633811c45fe33343c976ff73","after":"e265c94a2cb7b7f785570bd18ef21946ad5a7fa9","ref":"refs/heads/main","pushedAt":"2024-04-25T15:08:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"fix: Public reconciliation of a concurrent write and remove (of independent paths) (#432)\n\n* chore: Write failing test case\r\n\r\nAlso: Add better debug impls for `PublicFile`, `PublicFile`, `PublicLink`, etc.\r\n\r\n* fix: Concurrent write and remove should reconcile correctly","shortMessageHtmlLink":"fix: Public reconciliation of a concurrent write and remove (of indep…"}},{"before":null,"after":"0d17d90a4bf8e0decda837cb0a4fb41ae422caae","ref":"refs/heads/matheus23/fix-public-reconciliation-case","pushedAt":"2024-04-25T14:57:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"fix: Concurrent write and remove should reconcile correctly","shortMessageHtmlLink":"fix: Concurrent write and remove should reconcile correctly"}},{"before":"e1b66de715128ea71809cf7e3e650bc53d6e1069","after":"25e49aa3181712bf66d2a839c28fba42b1778c75","ref":"refs/heads/gh-pages","pushedAt":"2024-04-25T14:05:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"add Rust Benchmark (cargo) benchmark result for abfefefbb63aec99633811c45fe33343c976ff73","shortMessageHtmlLink":"add Rust Benchmark (cargo) benchmark result for abfefef"}},{"before":"41b105aac8acef4f960b3b933ee869a598f31f5a","after":null,"ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T14:00:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"}},{"before":"a0bf23c0b5ac3956ec4120e008d920f9f109e4b7","after":"abfefefbb63aec99633811c45fe33343c976ff73","ref":"refs/heads/main","pushedAt":"2024-04-25T14:00:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"feat: Implement conflict reconciliation for private directories (#431)\n\n* feat: Implement conflict reconciliation for private directories\r\n\r\n* fix: Make `header` public again\r\n\r\n* chore: write basic reconciliation unit tests\r\n\r\n* chore: Write proptest state machine utilities & proptest private reconciliation\r\n\r\n* chore: Write better `Debug` impls\r\n\r\n* feat: Prioritize directories over files during private directory merge\r\n\r\n* chore: Try extracting out a failing testcase\r\n\r\n* fix: Regression test & mock file system merge\r\n\r\n* chore: Found failing test case\r\n\r\n* chore: Try associating replicas with a vector clock\r\n\r\n* refactor: Don't try to state machine proptest private reconciliation\r\n\r\n* refactor: Remove unused dependency\r\n\r\n* feat: Commit `Cargo.lock` and update lockfile\r\n\r\n* chore: docs","shortMessageHtmlLink":"feat: Implement conflict reconciliation for private directories (#431)"}},{"before":"13bcec91312df6e40b8d0d6ecbea9388a0266b95","after":"41b105aac8acef4f960b3b933ee869a598f31f5a","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T13:59:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"chore: docs","shortMessageHtmlLink":"chore: docs"}},{"before":"1c25fd42b32127b982863c985709917933eced6c","after":"13bcec91312df6e40b8d0d6ecbea9388a0266b95","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T13:31:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"feat: Commit `Cargo.lock` and update lockfile","shortMessageHtmlLink":"feat: Commit Cargo.lock and update lockfile"}},{"before":"1b4e430f8aa67ebf4ab92640d595e9d0d7adc1c0","after":"1c25fd42b32127b982863c985709917933eced6c","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T13:09:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"refactor: Remove unused dependency","shortMessageHtmlLink":"refactor: Remove unused dependency"}},{"before":"66ca1287361429df0349902b7e3835360f6ae974","after":"1b4e430f8aa67ebf4ab92640d595e9d0d7adc1c0","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T12:51:17.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"refactor: Don't try to state machine proptest private reconciliation","shortMessageHtmlLink":"refactor: Don't try to state machine proptest private reconciliation"}},{"before":"b5d1e2020dd3786e34a5786dde4ca60b1d6848fc","after":"66ca1287361429df0349902b7e3835360f6ae974","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-25T09:44:15.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"chore: Try extracting out a failing testcase","shortMessageHtmlLink":"chore: Try extracting out a failing testcase"}},{"before":"b6475c5b8a89c971077fe28964712d7413513b98","after":"b5d1e2020dd3786e34a5786dde4ca60b1d6848fc","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-23T19:31:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"fix: Make `header` public again","shortMessageHtmlLink":"fix: Make header public again"}},{"before":"aa3da03c86701dd74b0cbdc8f9181491bf3b72fd","after":"e1b66de715128ea71809cf7e3e650bc53d6e1069","ref":"refs/heads/gh-pages","pushedAt":"2024-04-23T14:42:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"add Rust Benchmark (cargo) benchmark result for a0bf23c0b5ac3956ec4120e008d920f9f109e4b7","shortMessageHtmlLink":"add Rust Benchmark (cargo) benchmark result for a0bf23c"}},{"before":"76a6c08395bd3162c7079ce7ac4aae9a7379c923","after":"b6475c5b8a89c971077fe28964712d7413513b98","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-23T14:38:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"feat: Implement conflict reconciliation for private directories","shortMessageHtmlLink":"feat: Implement conflict reconciliation for private directories"}},{"before":"dc0785a907b2c2fe80e3e3130fe660c1f5ab4c01","after":"a0bf23c0b5ac3956ec4120e008d920f9f109e4b7","ref":"refs/heads/main","pushedAt":"2024-04-23T14:38:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"fix: Public conflict reconciliation edge case on files with equal content but different metadata (#430)\n\n* chore: Improve public dir proptests to cover metadata\r\n\r\n* fix: generate better file system cases in public dire proptests\r\n\r\n* fix: public directory merge commutativity test case\r\n\r\nThe failing case was having two files with identical content, but\r\ndifferent metadata were merging non-commutativiely.\r\n\r\n* refactor: Extract out `PublicFile::merge` from `PublicDirectory::merge_helper`\r\n\r\n* chore: Avoid deprecated chrono functions\r\n\r\n* fix: `File::set_content` parameter order","shortMessageHtmlLink":"fix: Public conflict reconciliation edge case on files with equal con…"}},{"before":"0a7f9f7d93bc1d0619e91a8ec8d8b0490d782480","after":null,"ref":"refs/heads/matheus23/public-reconciliation-fixes","pushedAt":"2024-04-23T14:38:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"}},{"before":"eec8e12d5e236d4ef3731a0490eda074c4ff510c","after":"0a7f9f7d93bc1d0619e91a8ec8d8b0490d782480","ref":"refs/heads/matheus23/public-reconciliation-fixes","pushedAt":"2024-04-23T14:28:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"fix: `File::set_content` parameter order","shortMessageHtmlLink":"fix: File::set_content parameter order"}},{"before":"8fb48ed3919b75b8b287de138c7c210d78791718","after":"eec8e12d5e236d4ef3731a0490eda074c4ff510c","ref":"refs/heads/matheus23/public-reconciliation-fixes","pushedAt":"2024-04-23T11:22:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"chore: Avoid deprecated chrono functions","shortMessageHtmlLink":"chore: Avoid deprecated chrono functions"}},{"before":null,"after":"76a6c08395bd3162c7079ce7ac4aae9a7379c923","ref":"refs/heads/matheus23/private-conflict-reconciliation","pushedAt":"2024-04-23T11:13:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"feat: Implement conflict reconciliation for private directories","shortMessageHtmlLink":"feat: Implement conflict reconciliation for private directories"}},{"before":null,"after":"8fb48ed3919b75b8b287de138c7c210d78791718","ref":"refs/heads/matheus23/public-reconciliation-fixes","pushedAt":"2024-04-23T11:12:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"refactor: Extract out `PublicFile::merge` from `PublicDirectory::merge_helper`","shortMessageHtmlLink":"refactor: Extract out PublicFile::merge from `PublicDirectory::merg…"}},{"before":null,"after":"cd30e74e08425328d47aae23aba10d433749cb9c","ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/playwright/test-1.43.1","pushedAt":"2024-04-22T09:02:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(npm)(deps-dev): bump @playwright/test in /wnfs-wasm\n\nBumps [@playwright/test](https://github.com/microsoft/playwright) from 1.43.0 to 1.43.1.\n- [Release notes](https://github.com/microsoft/playwright/releases)\n- [Commits](https://github.com/microsoft/playwright/compare/v1.43.0...v1.43.1)\n\n---\nupdated-dependencies:\n- dependency-name: \"@playwright/test\"\n dependency-type: direct:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(npm)(deps-dev): bump @playwright/test in /wnfs-wasm"}},{"before":null,"after":"3130115ffeeec9e030e27182e47066c91a448963","ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/style-loader-4.0.0","pushedAt":"2024-04-22T09:01:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(npm)(deps-dev): bump style-loader in /wnfs-wasm\n\nBumps [style-loader](https://github.com/webpack-contrib/style-loader) from 3.3.4 to 4.0.0.\n- [Release notes](https://github.com/webpack-contrib/style-loader/releases)\n- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/webpack-contrib/style-loader/compare/v3.3.4...v4.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: style-loader\n dependency-type: direct:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(npm)(deps-dev): bump style-loader in /wnfs-wasm"}},{"before":null,"after":"b2efa96e895dbf9e2444f60e4cab345d06f70f69","ref":"refs/heads/dependabot/npm_and_yarn/wnfs-wasm/main/css-loader-7.1.1","pushedAt":"2024-04-22T09:01:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(npm)(deps-dev): bump css-loader from 6.10.0 to 7.1.1 in /wnfs-wasm\n\nBumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.10.0 to 7.1.1.\n- [Release notes](https://github.com/webpack-contrib/css-loader/releases)\n- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.10.0...v7.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: css-loader\n dependency-type: direct:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(npm)(deps-dev): bump css-loader from 6.10.0 to 7.1.1 in /wnfs-wasm"}},{"before":"e8996ec8743c3fabf57042bdcd7b8bffbf982f4b","after":"aa3da03c86701dd74b0cbdc8f9181491bf3b72fd","ref":"refs/heads/gh-pages","pushedAt":"2024-04-18T13:15:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"add Rust Benchmark (cargo) benchmark result for dc0785a907b2c2fe80e3e3130fe660c1f5ab4c01","shortMessageHtmlLink":"add Rust Benchmark (cargo) benchmark result for dc0785a"}},{"before":"3ee27b48fd83810d3a361a25033dabcb89428e6a","after":null,"ref":"refs/heads/matheus23/conflict-reconciliation","pushedAt":"2024-04-18T13:11:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"}},{"before":"4201130c7c49f6a1fdbbcc7dd242ea9ae732412e","after":"dc0785a907b2c2fe80e3e3130fe660c1f5ab4c01","ref":"refs/heads/main","pushedAt":"2024-04-18T13:11:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matheus23","name":"Philipp Krüger","path":"/matheus23","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1430958?s=80&v=4"},"commit":{"message":"feat: implement `PublicDirectory` conflict reconciliation (#426)\n\nThis implements three functions:\r\n- `PublicDirectory::reconcile` which takes two directories & reconciles all changes between them. Think of this as similar to `get pull`, but where conflicts in files are merged automatically via a simple tie-breaking mechanism on the file hash. The return value indicates whether and which files were affected by the automatic merge, if at all.\r\n- `PublicDirectory::merge`, the underlying function for `reconcile`, but which doesn't take into account if one of the directories may have been \"ahead\" in history. Use only if you know what you're doing, otherwise opt for `reconcile`.\r\n- `PublicNode::causal_compare`, the underlying function in `reconcile` that figures out whether one version of a node is \"ahead\" of another or behind, or if they're two conflicting versions and need to be merged.\r\n\r\n---\r\n\r\n* feat: Conflict reconciliation for PublicDirectory (first draft)\r\n\r\n* fix: Use `async_recursion`\r\n\r\n* refactor: Use more `prop_assert`\r\n\r\n* chore: Write proptests for `causal_compare`\r\n\r\n* chore: Write tests for `PublicDirectory::merge`\r\n\r\n* chore: Write documentation\r\n\r\n* fix: Consistently merge metadata between nodes\r\n\r\n* fix: Test types\r\n\r\n* chore: Remove unused imports\r\n\r\n* fix: Bugs in merge implementation\r\n\r\nSpecifically:\r\n- trivially merge exactly equal nodes without creating a history entry\r\n- correctly reset `persisted_as` when creating a merge node\r\n- always advance the history entry when creating a merge node\r\n\r\n* fix: Don't merge equal files","shortMessageHtmlLink":"feat: implement PublicDirectory conflict reconciliation (#426)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESC8cNwA","startCursor":null,"endCursor":null}},"title":"Activity · wnfs-wg/rs-wnfs"}