{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":414260312,"defaultBranch":"main","name":"js-clients","ownerLogin":"gadget-inc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-10-06T15:06:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/52673445?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717535554.0","currentOid":""},"activityList":{"items":[{"before":"886f76a5495eb2d12b4b22a104fd418566e416db","after":null,"ref":"refs/heads/append-url-params","pushedAt":"2024-06-04T21:12:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"}},{"before":"930ff378795b6a4cc132d5abd31af7a4d2133f66","after":"3c1fb926a9a56b9743a81382c19f2007f89e5ffb","ref":"refs/heads/main","pushedAt":"2024-06-04T21:12:33.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Merge pull request #418 from gadget-inc/append-url-params\n\nEnsure adding more url params to a websocket endpoint correctly appends them","shortMessageHtmlLink":"Merge pull request #418 from gadget-inc/append-url-params"}},{"before":null,"after":"886f76a5495eb2d12b4b22a104fd418566e416db","ref":"refs/heads/append-url-params","pushedAt":"2024-06-04T19:59:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Ensure adding more url params to a websocket endpoint correctly appends them\n\nIf the base websocket endpoint already had url params, the naive approach we were using before incorrectly appended `?` twice. This uses the browser builtin for adding url params that we actually already have code for to do so.","shortMessageHtmlLink":"Ensure adding more url params to a websocket endpoint correctly appen…"}},{"before":"f88e2fea8e4d27b6951008b2047503a688d5ae8a","after":"930ff378795b6a4cc132d5abd31af7a4d2133f66","ref":"refs/heads/main","pushedAt":"2024-05-30T20:05:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"Merge pull request #417 from gadget-inc/use-action-form-rich-types\n\nuseActionFormm supports rich field types like RichText, StoredFiled a…","shortMessageHtmlLink":"Merge pull request #417 from gadget-inc/use-action-form-rich-types"}},{"before":"000b6ff836cc180ccb13b66e0c099c5e1aa50131","after":null,"ref":"refs/heads/use-action-form-rich-types","pushedAt":"2024-05-30T20:05:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"}},{"before":"183c51fc1f989f9b712c2df77555bea0c34d14d3","after":"000b6ff836cc180ccb13b66e0c099c5e1aa50131","ref":"refs/heads/use-action-form-rich-types","pushedAt":"2024-05-29T18:22:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"useActionFormm supports rich field types like RichText, StoredFiled and Date","shortMessageHtmlLink":"useActionFormm supports rich field types like RichText, StoredFiled a…"}},{"before":"944497ba915f9f6199973b6ed7a9c97a906130ad","after":"183c51fc1f989f9b712c2df77555bea0c34d14d3","ref":"refs/heads/use-action-form-rich-types","pushedAt":"2024-05-29T18:19:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"useActionFormm supports rich field types like RichText, StoredFiled and Date","shortMessageHtmlLink":"useActionFormm supports rich field types like RichText, StoredFiled a…"}},{"before":null,"after":"944497ba915f9f6199973b6ed7a9c97a906130ad","ref":"refs/heads/use-action-form-rich-types","pushedAt":"2024-05-29T17:49:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"useActionFormm supports rich field types like RichText, StoredFiled and Date","shortMessageHtmlLink":"useActionFormm supports rich field types like RichText, StoredFiled a…"}},{"before":"97a9f0856727052b05ad587c21d7b94a22b53d41","after":null,"ref":"refs/heads/refactor-use-action-form","pushedAt":"2024-05-29T17:46:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"}},{"before":"392f77d22a9b42f5cb5d9c0c82a557b14db162d3","after":"f88e2fea8e4d27b6951008b2047503a688d5ae8a","ref":"refs/heads/main","pushedAt":"2024-05-29T17:46:36.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"Merge pull request #416 from gadget-inc/refactor-use-action-form\n\nmodularize useActionForm","shortMessageHtmlLink":"Merge pull request #416 from gadget-inc/refactor-use-action-form"}},{"before":null,"after":"97a9f0856727052b05ad587c21d7b94a22b53d41","ref":"refs/heads/refactor-use-action-form","pushedAt":"2024-05-29T17:06:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"infiton","name":"Kyle Tate","path":"/infiton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368488?s=80&v=4"},"commit":{"message":"modularize useActionForm","shortMessageHtmlLink":"modularize useActionForm"}},{"before":"0c98dbf51bb506aed80851252216377446499bab","after":null,"ref":"refs/heads/implement-hasmanythrough","pushedAt":"2024-05-29T16:42:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pistachiobaby","name":"Nicholas Heggart-Richer","path":"/pistachiobaby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9285612?s=80&v=4"}},{"before":"7a12173354a8f37b83dec76cc6b0dc5b7d0bfbb0","after":"392f77d22a9b42f5cb5d9c0c82a557b14db162d3","ref":"refs/heads/main","pushedAt":"2024-05-29T16:42:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"pistachiobaby","name":"Nicholas Heggart-Richer","path":"/pistachiobaby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9285612?s=80&v=4"},"commit":{"message":"Merge pull request #413 from gadget-inc/implement-hasmanythrough\n\nImplement hasmanythrough","shortMessageHtmlLink":"Merge pull request #413 from gadget-inc/implement-hasmanythrough"}},{"before":"17c621b523620bae40d321f9f3744f78bf5ea188","after":"0c98dbf51bb506aed80851252216377446499bab","ref":"refs/heads/implement-hasmanythrough","pushedAt":"2024-05-29T16:42:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pistachiobaby","name":"Nicholas Heggart-Richer","path":"/pistachiobaby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9285612?s=80&v=4"},"commit":{"message":"adding a few more hasManyThrough tests","shortMessageHtmlLink":"adding a few more hasManyThrough tests"}},{"before":"62f4b30337de3ccb4bdc5719843a0b8dd9cbda06","after":"7a12173354a8f37b83dec76cc6b0dc5b7d0bfbb0","ref":"refs/heads/main","pushedAt":"2024-05-29T14:40:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Merge pull request #415 from gadget-inc/simpler-gadget-record\n\nSimpler/smaller/more performant GadgetRecord","shortMessageHtmlLink":"Merge pull request #415 from gadget-inc/simpler-gadget-record"}},{"before":"0f7eddd3a404cfb93a9eed11bbdd2a04b02dfc34","after":null,"ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-29T14:40:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"}},{"before":"8a2d5ae15e71cbe9199f5e51154c72b3155b3b7d","after":"62f4b30337de3ccb4bdc5719843a0b8dd9cbda06","ref":"refs/heads/main","pushedAt":"2024-05-29T13:53:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Add a couple tests proving that calling global actions with or without params in background actions works ok","shortMessageHtmlLink":"Add a couple tests proving that calling global actions with or withou…"}},{"before":"9aed4340f6c73bab8774525826d0f3b66f9cb57d","after":"0f7eddd3a404cfb93a9eed11bbdd2a04b02dfc34","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T19:41:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Use symbols to store private state on GadgetRecord for one less object allocation","shortMessageHtmlLink":"Use symbols to store private state on GadgetRecord for one less objec…"}},{"before":"5fd2f95b631b03d449cf713cf95515018adf5c07","after":"9aed4340f6c73bab8774525826d0f3b66f9cb57d","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T19:41:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Use symbols to store private state on GadgetRecord for one less object allocation","shortMessageHtmlLink":"Use symbols to store private state on GadgetRecord for one less objec…"}},{"before":"4d36a54bc57bcc2b0948d7b6cffb4528424c8002","after":null,"ref":"refs/heads/cleaner-changes","pushedAt":"2024-05-28T19:39:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"}},{"before":"fb5336fbebe57c15b34c8c071e0f177bc5c9d740","after":"8a2d5ae15e71cbe9199f5e51154c72b3155b3b7d","ref":"refs/heads/main","pushedAt":"2024-05-28T19:39:36.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Merge pull request #414 from gadget-inc/cleaner-changes\n\nPrevent semantically meaningless change reporting","shortMessageHtmlLink":"Merge pull request #414 from gadget-inc/cleaner-changes"}},{"before":"e5905dad1247c4bfee5a966bf43c300fd509b05c","after":"5fd2f95b631b03d449cf713cf95515018adf5c07","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T16:19:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Remove complicated kSelf in favour of bind-on-access\n\nThis has poor runtime performance, but, these functions are not called that often in regular processing, and it avoids eagerly binding them at construction time, using up more memory than necessary","shortMessageHtmlLink":"Remove complicated kSelf in favour of bind-on-access"}},{"before":"17285009eac5f86de76d51a4f67a7ca28e41d7e4","after":"e5905dad1247c4bfee5a966bf43c300fd509b05c","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T16:19:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Remove complicated kSelf in favour of bind-on-access\n\nThis has poor runtime performance, but, these functions are not called that often in regular processing, and it avoids eagerly binding them at construction time, using up more memory than necessary","shortMessageHtmlLink":"Remove complicated kSelf in favour of bind-on-access"}},{"before":"8e0f616c5adf111d59df07c29e3f30f668cbd24f","after":"17285009eac5f86de76d51a4f67a7ca28e41d7e4","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T15:58:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Simplify field tracking to only use one set","shortMessageHtmlLink":"Simplify field tracking to only use one set"}},{"before":"26ebb54c5d090735247d03ef6e0b13c90afcb42d","after":"4d36a54bc57bcc2b0948d7b6cffb4528424c8002","ref":"refs/heads/cleaner-changes","pushedAt":"2024-05-28T15:55:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Ensure that semantically meaningless changes to dates or belongsto fields aren't reported as such\n\nThere's a bug where GadgetRecord reports changes to fields when the object changed identity but not value. In the case of dates, this happens with assigning dates that are the same instant but from different moments in time, and in the case of BelongsTo fields, this happens when setting `record.shopId = { _link: \"123\" }`, when the prior value was just \"123\". In these instances, we change our definition of equality to ensure these are considered the same value.\n\nFor dates, this was actually already the case, but I think what's happening Gadget side is the value is showing up as a string, and so they are not equal. The bug was real for belongstos though.\n\nPartly fixes GGT-6392","shortMessageHtmlLink":"Ensure that semantically meaningless changes to dates or belongsto fi…"}},{"before":null,"after":"8e0f616c5adf111d59df07c29e3f30f668cbd24f","ref":"refs/heads/simpler-gadget-record","pushedAt":"2024-05-28T15:55:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Ensure that semantically meaningless changes to dates or belongsto fields aren't reported as such\n\nThere's a bug where GadgetRecord reports changes to fields when the object changed identity but not value. In the case of dates, this happens with assigning dates that are the same instant but from different moments in time, and in the case of BelongsTo fields, this happens when setting `record.shopId = { _link: \"123\" }`, when the prior value was just \"123\". In these instances, we change our definition of equality to ensure these are considered the same value.\n\nFor dates, this was actually already the case, but I think what's happening Gadget side is the value is showing up as a string, and so they are not equal. The bug was real for belongstos though.\n\nPartly fixes GGT-6392","shortMessageHtmlLink":"Ensure that semantically meaningless changes to dates or belongsto fi…"}},{"before":"d2ae422401af1caab95a9569922a8f843c4c4276","after":"26ebb54c5d090735247d03ef6e0b13c90afcb42d","ref":"refs/heads/cleaner-changes","pushedAt":"2024-05-28T15:53:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Ensure that semantically meaningless changes to dates or belongsto fields aren't reported as such\n\nThere's a bug where GadgetRecord reports changes to fields when the object changed identity but not value. In the case of dates, this happens with assigning dates that are the same instant but from different moments in time, and in the case of BelongsTo fields, this happens when setting `record.shopId = { _link: \"123\" }`, when the prior value was just \"123\". In these instances, we change our definition of equality to ensure these are considered the same value.\n\nFor dates, this was actually already the case, but I think what's happening Gadget side is the value is showing up as a string, and so they are not equal. The bug was real for belongstos though.\n\nPartly fixes GGT-6392","shortMessageHtmlLink":"Ensure that semantically meaningless changes to dates or belongsto fi…"}},{"before":"16f62be1fedd969c088f852c3a468d2cc086fe99","after":"d2ae422401af1caab95a9569922a8f843c4c4276","ref":"refs/heads/cleaner-changes","pushedAt":"2024-05-28T15:44:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Use symbols to store private state on GadgetRecord for one less object allocation","shortMessageHtmlLink":"Use symbols to store private state on GadgetRecord for one less objec…"}},{"before":null,"after":"16f62be1fedd969c088f852c3a468d2cc086fe99","ref":"refs/heads/cleaner-changes","pushedAt":"2024-05-28T15:17:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"airhorns","name":"Harry Brundage","path":"/airhorns","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/158950?s=80&v=4"},"commit":{"message":"Use symbols to store private state on GadgetRecord for one less object allocation","shortMessageHtmlLink":"Use symbols to store private state on GadgetRecord for one less objec…"}},{"before":"ce546541ca4ce8f3a98d405108b7d3253184f34a","after":null,"ref":"refs/heads/background-action-types","pushedAt":"2024-05-27T20:24:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"garymardell","name":"Gary Mardell","path":"/garymardell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70303?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXHes2wA","startCursor":null,"endCursor":null}},"title":"Activity · gadget-inc/js-clients"}