{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":246464154,"defaultBranch":"master","name":"electrodb","ownerLogin":"tywalch","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-03-11T03:20:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8660890?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715954116.0","currentOid":""},"activityList":{"items":[{"before":"94ef99888e947a9967c5bd1eb97738b997b07f5b","after":"773e0ba6a1d9c557608e7b731eeef80be9502f83","ref":"refs/heads/master","pushedAt":"2024-05-23T13:39:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"docs: fix misleading conditions example (#379)\n\nUpdate conditions.mdx","shortMessageHtmlLink":"docs: fix misleading conditions example (#379)"}},{"before":"e42fb342a3cd01f05ecaf21bd827e4a5e6d582dd","after":"94ef99888e947a9967c5bd1eb97738b997b07f5b","ref":"refs/heads/master","pushedAt":"2024-05-17T16:19:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Further fixes in service of Issue #366 (#384)\n\n* Further fixes in service of Issue #366\r\nA bug was discovered that the logic to validate the presence of an attribute was a simple falsey check instead of a check that the value was `undefined`. This caused empty strings, zero values, and the boolean value `false` to incorrectly be considered missing\r\n\r\n* Fixes test","shortMessageHtmlLink":"Further fixes in service of Issue #366 (#384)"}},{"before":"42382043491a9aa09293daafed3004ae83d5c6ed","after":"9e7238222469b6a099d9c72efea15876c6704d76","ref":"refs/heads/fix/invalid-falsey-value-check","pushedAt":"2024-05-17T15:28:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes test","shortMessageHtmlLink":"Fixes test"}},{"before":null,"after":"42382043491a9aa09293daafed3004ae83d5c6ed","ref":"refs/heads/fix/invalid-falsey-value-check","pushedAt":"2024-05-17T13:55:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Further fixes in service of Issue #366\nA bug was discovered that the logic to validate the presence of an attribute was a simple falsey check instead of a check that the value was `undefined`. This caused empty strings, zero values, and the boolean value `false` to incorrectly be considered missing","shortMessageHtmlLink":"Further fixes in service of Issue #366"}},{"before":"dbc9f49e039e26183c1bb50dac0e22ed47fa36e4","after":"e42fb342a3cd01f05ecaf21bd827e4a5e6d582dd","ref":"refs/heads/master","pushedAt":"2024-05-08T13:01:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fix incorrectly documented QueryResponse type in typescript.mdx (#381)","shortMessageHtmlLink":"Fix incorrectly documented QueryResponse type in typescript.mdx (#381)"}},{"before":"caffc1b5b07fb49100547c9d7038976fe72c4b4a","after":"dbc9f49e039e26183c1bb50dac0e22ed47fa36e4","ref":"refs/heads/master","pushedAt":"2024-05-02T21:25:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"[docs] Consistently use tabs within indexes.mdx (#378)","shortMessageHtmlLink":"[docs] Consistently use tabs within indexes.mdx (#378)"}},{"before":"320ae2cb32c1db81f66cf0a390fc3835cc8def67","after":"caffc1b5b07fb49100547c9d7038976fe72c4b4a","ref":"refs/heads/master","pushedAt":"2024-04-29T20:38:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes Issue 366 (#376)\n\n* Initial fix, prior to understanding logical issue with `update`, `patch`, and `upsert`.\r\n\r\nThe operations `update`, `patch`, and `upsert` will need to change their current behavior when encountering a `false` value from `condition`. In that case, these operations will actually need to `delete` the `pk` and `sk` for that index.\r\n\r\n* Solidifies new `condition` logic\r\n\r\nThe condition callback will be invoked only when a composite attribute associated with an index is set via an update, patch, or upsert. [existing behavior]\r\nThe condition callback is provided the attributes being set on that particular operation, including the item's identifying composite attributes. [existing behavior]\r\nIf the condition callback returns true, ElectroDB will attempt to create the index and all of its associated keys. If an index cannot be created because an update operation only has enough context for a partial key, ElectroDB will throw. [the original issue here, fixed]\r\nIf the condition callback returns false, the index and all of its associated keys will be removed from the item. [new behavior]\r\nItem #1 above is the key to solving the issue you bring up in your first comment, and it's actually what we do currently. This means that condition would only be called when an index must be recalculated. furthermore, as described in #3, ElectroDB will actually throw if your update operation (set and remove) lacks a full composite context and would result in a \"partial\" key. This would mean that all * -> true transitions are already validated to have all the composite parts necessary to recreate the complete index already.\r\n\r\n* Checkpoint commit\r\nCheckpointing initial pass at new condition tests, tests not passing.\r\n\r\n* All current tests working\r\n\r\n* Clean up and test fix\r\n\r\n* Clean up and test fix\r\n\r\n* Clean up and test fix\r\n\r\n* Clean up and test fix\r\n\r\n* Clean up and test fix\r\n\r\n* Clean up and adds new test cases\r\n\r\n* adds new test case\r\n\r\n* Adds changelog documentation\r\n\r\n* Fixes test that used dynamic datetime\r\n\r\n* Adds additional tests","shortMessageHtmlLink":"Fixes Issue 366 (#376)"}},{"before":"e79518f1479a757288086384d01675638b25aa16","after":"87521c4c15a1c41fb8ff976ae425a6b47f908382","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T19:03:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Adds additional tests","shortMessageHtmlLink":"Adds additional tests"}},{"before":"3e47188a5cd816029b6f50ca0a25a3e92b647a24","after":"e79518f1479a757288086384d01675638b25aa16","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T17:47:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes test that used dynamic datetime","shortMessageHtmlLink":"Fixes test that used dynamic datetime"}},{"before":"955dc277b53a41a4b4d89bcc33e5395c48af2ebf","after":"3e47188a5cd816029b6f50ca0a25a3e92b647a24","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T17:36:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Adds changelog documentation","shortMessageHtmlLink":"Adds changelog documentation"}},{"before":"1d5bf8edecaeb41e29a2881c44c9801d625f47a4","after":"955dc277b53a41a4b4d89bcc33e5395c48af2ebf","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T17:12:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"adds new test case","shortMessageHtmlLink":"adds new test case"}},{"before":"658e6a10790c0bc8a9efaed8d599e432d15df6f8","after":"1d5bf8edecaeb41e29a2881c44c9801d625f47a4","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T16:50:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and adds new test cases","shortMessageHtmlLink":"Clean up and adds new test cases"}},{"before":"a764a6d96341632765a64e34148074d7e22239c6","after":"658e6a10790c0bc8a9efaed8d599e432d15df6f8","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T13:49:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and test fix","shortMessageHtmlLink":"Clean up and test fix"}},{"before":"18554633fb9144dde07a4c269a65c1a1b459f78b","after":"a764a6d96341632765a64e34148074d7e22239c6","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T13:29:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and test fix","shortMessageHtmlLink":"Clean up and test fix"}},{"before":"0268faf9020f4c6d89626e5fb38f8272639333a1","after":"18554633fb9144dde07a4c269a65c1a1b459f78b","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T12:56:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and test fix","shortMessageHtmlLink":"Clean up and test fix"}},{"before":"d66962591e23247c00a6242f0897deca45fdb586","after":"0268faf9020f4c6d89626e5fb38f8272639333a1","ref":"refs/heads/issue/366","pushedAt":"2024-04-29T12:52:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and test fix","shortMessageHtmlLink":"Clean up and test fix"}},{"before":"8bb7bac941bf8f183cbcf3dd1482eb660910ba8a","after":"d66962591e23247c00a6242f0897deca45fdb586","ref":"refs/heads/issue/366","pushedAt":"2024-04-28T15:51:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Clean up and test fix","shortMessageHtmlLink":"Clean up and test fix"}},{"before":null,"after":"8bb7bac941bf8f183cbcf3dd1482eb660910ba8a","ref":"refs/heads/issue/366","pushedAt":"2024-04-28T15:42:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"All current tests working","shortMessageHtmlLink":"All current tests working"}},{"before":null,"after":"26e327e492cdf878fe927849692871ecb3783a80","ref":"refs/heads/issue/366-pre-fix-tests","pushedAt":"2024-04-22T17:21:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Adds tests for expected current behavior.\nThese tests will be used to prevent regression with the fix for gh issue 366","shortMessageHtmlLink":"Adds tests for expected current behavior."}},{"before":null,"after":"a6d6c9eaff3848c19f7a9dcc111741d94490a9f4","ref":"refs/heads/issue/362","pushedAt":"2024-03-28T20:08:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes 362\nThis branch fixes issue #362. The root cause of the issue was that one of the composite attributes was hidden. Because the cursor was created using the \"formatted\" return item, it was the hidden composite was not available to the cursor formatting function. We now check for this unique case and perform some additional calculations. Ideally this reduces the surface area of performance implications to only entities that have a hidden composite attribute defined.","shortMessageHtmlLink":"Fixes 362"}},{"before":"30b6765ffb6d79e04bff29735607c6bae09ef5c9","after":"320ae2cb32c1db81f66cf0a390fc3835cc8def67","ref":"refs/heads/master","pushedAt":"2024-02-28T19:08:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"docs: fixing wording on collections docs page, fixing dead links (#360)","shortMessageHtmlLink":"docs: fixing wording on collections docs page, fixing dead links (#360)"}},{"before":"c6d2332461bda37f7d81b8bd24f80f45d8a3e92b","after":"30b6765ffb6d79e04bff29735607c6bae09ef5c9","ref":"refs/heads/master","pushedAt":"2024-02-25T20:36:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Update pagination.mdx (#352)\n\nFix 404 for: https://electrodb.dev/en/core-concepts/execution-queries","shortMessageHtmlLink":"Update pagination.mdx (#352)"}},{"before":"1e1ae35d21a0fdaba108ade29b7969cb4aadbc4b","after":"c6d2332461bda37f7d81b8bd24f80f45d8a3e92b","ref":"refs/heads/master","pushedAt":"2024-02-25T20:35:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes flakey test (#359)\n\nTest used first element in test array as heuristic to determine a list was not equal. This lead to test flake and was never really that useful.","shortMessageHtmlLink":"Fixes flakey test (#359)"}},{"before":"b32eab42eb45d41e473839134c6af354465c523f","after":"1e1ae35d21a0fdaba108ade29b7969cb4aadbc4b","ref":"refs/heads/master","pushedAt":"2024-02-25T20:35:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fix the services intro (#318)\n\nCo-authored-by: Tyler W. Walch ","shortMessageHtmlLink":"Fix the services intro (#318)"}},{"before":"58ffe11de78d2412756e9e890d206841f22e62f4","after":"b32eab42eb45d41e473839134c6af354465c523f","ref":"refs/heads/master","pushedAt":"2024-02-25T20:33:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fix typo in indexes.mdx (#345)","shortMessageHtmlLink":"Fix typo in indexes.mdx (#345)"}},{"before":null,"after":"8e63461cf400d36b9452b55c44214b9da7eba4cb","ref":"refs/heads/fix/flakey-batchget-test-2","pushedAt":"2024-02-25T20:31:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes flakey test\nTest used first element in test array as heuristic to determine a list was not equal. This lead to test flake and was never really that useful.","shortMessageHtmlLink":"Fixes flakey test"}},{"before":null,"after":"aa88c1dd332e07af60afbe40ba4b2d2bec87bc6c","ref":"refs/heads/fix/flakey-batchget-test","pushedAt":"2024-02-25T19:56:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fixes flakey test\nTest used first element in test array as heuristic to determine a list was not equal. This lead to test flake and was never really that useful.","shortMessageHtmlLink":"Fixes flakey test"}},{"before":"a6cccce894d6095771e219d5cc188463e3e1076a","after":"58ffe11de78d2412756e9e890d206841f22e62f4","ref":"refs/heads/master","pushedAt":"2024-02-25T18:43:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Small grammar fix in indexes.mdx (#347)\n\n* Small grammar fix in indexes.mdx\r\n\r\n* Another indexes.mdx grammar fix","shortMessageHtmlLink":"Small grammar fix in indexes.mdx (#347)"}},{"before":"0081ecfd148a2a62aa5d99de173c4d42e64afb9b","after":"a6cccce894d6095771e219d5cc188463e3e1076a","ref":"refs/heads/master","pushedAt":"2024-02-25T18:41:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"Fix typos on services.mdx (#355)","shortMessageHtmlLink":"Fix typos on services.mdx (#355)"}},{"before":"8e1e638d98ee0cf9bc522161d6ac793f595e2ddd","after":"0081ecfd148a2a62aa5d99de173c4d42e64afb9b","ref":"refs/heads/master","pushedAt":"2024-02-25T18:41:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tywalch","name":"Tyler W. Walch","path":"/tywalch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8660890?s=80&v=4"},"commit":{"message":"fix typo in batch-put.mdx (#357)\n\nThe execution option to the go method to concurrently perform a mutation is `concurrency` and not `concurrent`.","shortMessageHtmlLink":"fix typo in batch-put.mdx (#357)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUhBTRQA","startCursor":null,"endCursor":null}},"title":"Activity ยท tywalch/electrodb"}