{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":39005786,"defaultBranch":"main","name":"couchdb","ownerLogin":"cloudant","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2015-07-13T10:27:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/44642?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710860193.0","currentOid":""},"activityList":{"items":[{"before":"77c541894379237b6b85e5e51cb526a5f15ba959","after":"5064af1d430206ef3a6770123f8facaf25eb828f","ref":"refs/heads/test-khash","pushedAt":"2024-03-19T14:58:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Change server instance to cluster for UUID docs\n\nServer instance is easily misunderstood. It can be interpreted as if there should be a unique UUID per node.","shortMessageHtmlLink":"Change server instance to cluster for UUID docs"}},{"before":null,"after":"77c541894379237b6b85e5e51cb526a5f15ba959","ref":"refs/heads/test-khash","pushedAt":"2024-03-19T14:56:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Fix case clause error in replicator _scheduler/docs response\n\nWhen a job is completing, there is a period of time when the document isn't\nupdated yet with the state, and it's also not present in the scheduler ets\ntable. In that case we return `nil`, but we don't account for that case in the\n_scheduler/docs fabric calls.\n\nTo fix it, account for `nil` whenever we get the doc state.","shortMessageHtmlLink":"Fix case clause error in replicator _scheduler/docs response"}},{"before":"77c541894379237b6b85e5e51cb526a5f15ba959","after":"2a2f735b4753a485566502c14c3cefb9a3dd216c","ref":"refs/heads/test-changes2","pushedAt":"2024-03-19T14:40:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Avoid read docs twice when filtered `_changes` is triggered (#4862)\n\n* Add more tests for couch_changes and fabric changes\n\nAdd more tests to ensure the response is the same before and after\nthe code change.\n\nCode coverage improvements\n- chttpd_changes_test.erl: 99% -> 100%\n- couch_changes.erl: 80% -> 82%\n- fabric_rpc.erl: 56% -> 61%\n\n* Verify the number of calls to `open_doc/3` when requesting `_changes`\n\n* Avoid read docs twice when filtered _changes is triggered\n\n- When filered `_changes` is triggered, `open_revs()` will\nread docs. If request parameter has `include_docs=true`,\nthen `doc_member()` will also read docs.\n\nTo avoid the above behavior, changed `filter/3` to `filter/5`.\n\n- When using filtered `_changes` with `style=all_docs`,\n`conflicts=true` and `include_docs=true`, the response should\ncontain the `_conflicts` field.\n\nAdd `open_all_revs_include_doc/2` to include `_conflicts` field.\n\n- If conflicted docs contain a deleted doc, the deleted `rev` value\nshould not appear in the `doc` field.\n\nAdd `Doc#doc.deleted =:= false` filter to avoid this behaviour.\n\n* Update tests to verify the number of calls to `open_doc/3`","shortMessageHtmlLink":"Avoid read docs twice when filtered _changes is triggered (apache#4862"}},{"before":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","after":"77c541894379237b6b85e5e51cb526a5f15ba959","ref":"refs/heads/test-changes2","pushedAt":"2024-03-19T14:38:18.000Z","pushType":"push","commitsCount":198,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Fix case clause error in replicator _scheduler/docs response\n\nWhen a job is completing, there is a period of time when the document isn't\nupdated yet with the state, and it's also not present in the scheduler ets\ntable. In that case we return `nil`, but we don't account for that case in the\n_scheduler/docs fabric calls.\n\nTo fix it, account for `nil` whenever we get the doc state.","shortMessageHtmlLink":"Fix case clause error in replicator _scheduler/docs response"}},{"before":null,"after":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","ref":"refs/heads/test-changes2","pushedAt":"2024-03-19T14:35:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Add new HTTP endpoint `/_node/_local/_smoosh/status`. (#4766)\n\nIntroduce a new HTTP endpoint `/_node/_local/_smoosh/status`\r\nto get status information from the CouchDB auto-compaction daemon.\r\nPreviously, this was only possible by starting a `remsh` session\r\nand manually calling the `smoosh:status/1` function.\r\n\r\nThe internal data structures of `smoosh:status/1` are migrated\r\ninto Erlang maps to send them directly as json to the client.\r\n\r\nTo add more status information to smoosh in the future, the available\r\ninformation will be stored under the json key `channels`.\r\n\r\nExample:\r\n\r\n{\r\n \"channels\": {\r\n \"ratio_dbs\": { ... },\r\n \"slack_dbs\": { ... },\r\n ...\r\n}","shortMessageHtmlLink":"Add new HTTP endpoint /_node/_local/_smoosh/status. (apache#4766)"}},{"before":"1252e657a20ac9574a35c5f65e89ff20eef0cd76","after":"a9910523022600b6f9a2124e2c118130921d4a85","ref":"refs/heads/test-changes","pushedAt":"2024-02-29T20:51:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Remove deleted revs from `_conflicts` field","shortMessageHtmlLink":"Remove deleted revs from _conflicts field"}},{"before":null,"after":"1252e657a20ac9574a35c5f65e89ff20eef0cd76","ref":"refs/heads/test-changes","pushedAt":"2024-02-29T20:49:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Remove deleted revs from `_conflicts` field","shortMessageHtmlLink":"Remove deleted revs from _conflicts field"}},{"before":"f53e70b2ede08ff06c93ba8508fc81e46bd4b72c","after":null,"ref":"refs/heads/test-changes","pushedAt":"2024-02-29T20:49:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"}},{"before":null,"after":"f53e70b2ede08ff06c93ba8508fc81e46bd4b72c","ref":"refs/heads/test-changes","pushedAt":"2024-02-29T20:45:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Merge pull request #4996 from GMishx/fix/doc/nouveau\n\nfix(doc): fix sample _nouveau_info api request","shortMessageHtmlLink":"Merge pull request apache#4996 from GMishx/fix/doc/nouveau"}},{"before":"b39a9e19402d14e13a4d4ec0a8a532b18d4b438b","after":null,"ref":"refs/heads/debug-clouseau-src-build","pushedAt":"2024-02-13T23:52:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"}},{"before":"fde926836d7d776f9170f9594b09c39a3db5c416","after":"b39a9e19402d14e13a4d4ec0a8a532b18d4b438b","ref":"refs/heads/debug-clouseau-src-build","pushedAt":"2024-02-13T19:28:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"},"commit":{"message":"Attempt to print mvn compile process to stdout","shortMessageHtmlLink":"Attempt to print mvn compile process to stdout"}},{"before":null,"after":"fde926836d7d776f9170f9594b09c39a3db5c416","ref":"refs/heads/debug-clouseau-src-build","pushedAt":"2024-02-12T19:43:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"},"commit":{"message":"Include exception in raised StartupError","shortMessageHtmlLink":"Include exception in raised StartupError"}},{"before":"0eca498ed1fa9286746dc9a8667cf7174b15c350","after":"5cc698a07a2bb7f01bd666e3d4b593b07a904306","ref":"refs/heads/dbcore-1.13.2.0","pushedAt":"2023-12-12T15:16:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"couch_passwords:verify should always return false for bad inputs","shortMessageHtmlLink":"couch_passwords:verify should always return false for bad inputs"}},{"before":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","after":"0eca498ed1fa9286746dc9a8667cf7174b15c350","ref":"refs/heads/dbcore-1.13.2.0","pushedAt":"2023-12-12T15:13:39.000Z","pushType":"push","commitsCount":120,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Remove support for delete markers\n\nCurrently, `config:reload()` ignores so-called \"delete markers\" [1],\ndenoted by a a key and equal sign, but no value on the right hand\nside, e.g.\n\n```ini\nkey =\n```\n\nHowever, when the `config` application starts, and it parses the\n`.ini` files in order, it deletes any existing value from the `ets`\ntable with that key when it encounters a delete marker. This has the\neffect of *overriding* any defaults with `undefined`, which some\npeople find surprising. [2]\n\nLuckily, the origin of delete markers is not lost to time, and the\noriginal developer has admitted they were essentially a work-around\n[3] for not having a proper `.ini` file parser.\n\nThis change removes support for delete markers. A persistent call to\n`config:delete` no longer writes a delete marker, but instead deletes\nthe entire line. When parsing `.ini` files, any existing delete\nmarkers are ignored.\n\nAdditionally, this change improves consistency after `config:delete`\nby loading any values from `.ini` files into the `ets` table\nsubsequent to the deletion.\n\n[1] https://github.com/apache/couchdb/issues/4892\n[2] https://github.com/apache/couchdb/issues/1624\n[3] https://couchdb.slack.com/archives/C01TBE2J197/p1701718345541559?thread_ts=1701712487.990349&cid=C01TBE2J197","shortMessageHtmlLink":"Remove support for delete markers"}},{"before":null,"after":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","ref":"refs/heads/dbcore-1.13.2.0","pushedAt":"2023-12-12T15:12:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Add new HTTP endpoint `/_node/_local/_smoosh/status`. (#4766)\n\nIntroduce a new HTTP endpoint `/_node/_local/_smoosh/status`\r\nto get status information from the CouchDB auto-compaction daemon.\r\nPreviously, this was only possible by starting a `remsh` session\r\nand manually calling the `smoosh:status/1` function.\r\n\r\nThe internal data structures of `smoosh:status/1` are migrated\r\ninto Erlang maps to send them directly as json to the client.\r\n\r\nTo add more status information to smoosh in the future, the available\r\ninformation will be stored under the json key `channels`.\r\n\r\nExample:\r\n\r\n{\r\n \"channels\": {\r\n \"ratio_dbs\": { ... },\r\n \"slack_dbs\": { ... },\r\n ...\r\n}","shortMessageHtmlLink":"Add new HTTP endpoint /_node/_local/_smoosh/status. (apache#4766)"}},{"before":"876fa877ce8b0af95a276fda0813e78f61a3319d","after":null,"ref":"refs/heads/dbcore-1.13.2.0","pushedAt":"2023-12-12T15:12:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"}},{"before":null,"after":"876fa877ce8b0af95a276fda0813e78f61a3319d","ref":"refs/heads/dbcore-1.13.2.0","pushedAt":"2023-12-12T15:07:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"couch_passwords:verify should always return false for bad inputs","shortMessageHtmlLink":"couch_passwords:verify should always return false for bad inputs"}},{"before":"bb0eb8fd3064ef8eaa7fc6a633e9d825e046427e","after":null,"ref":"refs/heads/config-delete-reload","pushedAt":"2023-10-21T00:48:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"}},{"before":"4610d12d851829a3e04561a33689eb90b9f5e137","after":"bb0eb8fd3064ef8eaa7fc6a633e9d825e046427e","ref":"refs/heads/config-delete-reload","pushedAt":"2023-10-19T05:19:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"},"commit":{"message":"fixup: move reload after write","shortMessageHtmlLink":"fixup: move reload after write"}},{"before":"4610d12d851829a3e04561a33689eb90b9f5e137","after":null,"ref":"refs/heads/config-delete-reload-ini","pushedAt":"2023-10-19T00:51:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"}},{"before":null,"after":"4610d12d851829a3e04561a33689eb90b9f5e137","ref":"refs/heads/config-delete-reload","pushedAt":"2023-10-19T00:51:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"},"commit":{"message":"Reload default config value from disk on delete\n\nWhen a key is deleted, reload any default back into memory.\n\nThis breaks the existing semantics as demonstrated by how the test\nmust change in order to pass now.","shortMessageHtmlLink":"Reload default config value from disk on delete"}},{"before":null,"after":"4610d12d851829a3e04561a33689eb90b9f5e137","ref":"refs/heads/config-delete-reload-ini","pushedAt":"2023-10-19T00:50:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jaydoane","name":"Jay Doane","path":"/jaydoane","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51209?s=80&v=4"},"commit":{"message":"Reload default config value from disk on delete\n\nWhen a key is deleted, reload any default back into memory.\n\nThis breaks the existing semantics as demonstrated by how the test\nmust change in order to pass now.","shortMessageHtmlLink":"Reload default config value from disk on delete"}},{"before":null,"after":"be8427986dc67ec70b5916db186f2fb0dcdcacbf","ref":"refs/heads/339-changes-feed-resource-usage","pushedAt":"2023-10-11T00:03:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chewbranca","name":"Russell Branca","path":"/chewbranca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5326?s=80&v=4"},"commit":{"message":"PoC couch_stats local resource usage tracking","shortMessageHtmlLink":"PoC couch_stats local resource usage tracking"}},{"before":null,"after":"de93bc0a0e061e7e29d16548a2dbaaa181cdbb42","ref":"refs/heads/339-changes-feed-cost-accounting-rebase","pushedAt":"2023-10-10T23:44:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chewbranca","name":"Russell Branca","path":"/chewbranca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5326?s=80&v=4"},"commit":{"message":"No more couch_stats.hrl","shortMessageHtmlLink":"No more couch_stats.hrl"}},{"before":"b0975696185a7c2d23d5db03d90553048c1c6bb5","after":"91f41907bfb54cd07f1bc5b94ef327bf38976afc","ref":"refs/heads/339-changes-feed-cost-accounting","pushedAt":"2023-10-09T23:00:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chewbranca","name":"Russell Branca","path":"/chewbranca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5326?s=80&v=4"},"commit":{"message":"Proof of concept couch_stats local cost tracking","shortMessageHtmlLink":"Proof of concept couch_stats local cost tracking"}},{"before":"b89d666cf89cffe5f7d992995a2a79857120c9e6","after":null,"ref":"refs/heads/dbcore-1.11.0.0","pushedAt":"2023-10-05T21:15:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"}},{"before":"acd88aeaed5da81fd5dc741553dc1a876e47b918","after":"b89d666cf89cffe5f7d992995a2a79857120c9e6","ref":"refs/heads/dbcore-1.11.0.0","pushedAt":"2023-10-05T15:36:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Send compatible AuthSession cookie when possible.\n\nTo smooth cluster upgrades, send the original format of AuthSession cookie if\nMustMatchBasic is false (i.e, when generating a Cookie from a successful\ncookie_auth_handler call).\n\nPrior to this (and after 50c69a0c68), during an upgrade, a cookie issued by\nthe basic auth handler from an upgraded node will not be parseable by\nnot-upgraded nodes.\n\nWith this change a cookie issued by the cookie_auth_handler retains its\noriginal format. Only cookies issued by the default_auth_handler will\nbe the new format.\n\nRelates to https://github.com/apache/couchdb/pull/4702","shortMessageHtmlLink":"Send compatible AuthSession cookie when possible."}},{"before":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","after":"acd88aeaed5da81fd5dc741553dc1a876e47b918","ref":"refs/heads/dbcore-1.11.0.0","pushedAt":"2023-10-05T15:35:07.000Z","pushType":"push","commitsCount":30,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Merge pull request #4798 from apache/send-original-cookie-format\n\nSend compatible AuthSession cookie when possible.","shortMessageHtmlLink":"Merge pull request apache#4798 from apache/send-original-cookie-format"}},{"before":null,"after":"b6ea325ccb1e3de45f8541ca4fde225ac75f7d54","ref":"refs/heads/dbcore-1.11.0.0","pushedAt":"2023-10-05T15:34:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiahuili430","name":"Jiahui Li","path":"/jiahuili430","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54631519?s=80&v=4"},"commit":{"message":"Add new HTTP endpoint `/_node/_local/_smoosh/status`. (#4766)\n\nIntroduce a new HTTP endpoint `/_node/_local/_smoosh/status`\r\nto get status information from the CouchDB auto-compaction daemon.\r\nPreviously, this was only possible by starting a `remsh` session\r\nand manually calling the `smoosh:status/1` function.\r\n\r\nThe internal data structures of `smoosh:status/1` are migrated\r\ninto Erlang maps to send them directly as json to the client.\r\n\r\nTo add more status information to smoosh in the future, the available\r\ninformation will be stored under the json key `channels`.\r\n\r\nExample:\r\n\r\n{\r\n \"channels\": {\r\n \"ratio_dbs\": { ... },\r\n \"slack_dbs\": { ... },\r\n ...\r\n}","shortMessageHtmlLink":"Add new HTTP endpoint /_node/_local/_smoosh/status. (apache#4766)"}},{"before":"cf00dc26447ed44d3a8be0d77e4923367b02bb6b","after":"bd45d9bcd113d35b08ff20ea68abecab5299280d","ref":"refs/heads/master","pushedAt":"2023-09-27T09:06:03.000Z","pushType":"push","commitsCount":1567,"pusher":{"login":"smithsz","name":"Sam Smith","path":"/smithsz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5632401?s=80&v=4"},"commit":{"message":"Remove master content, point to main (#3224)","shortMessageHtmlLink":"Remove master content, point to main (apache#3224)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEGb0PgQA","startCursor":null,"endCursor":null}},"title":"Activity ยท cloudant/couchdb"}