{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":261247499,"defaultBranch":"master","name":"candid","ownerLogin":"dfinity","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-05-04T17:10:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/59101585?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726533735.0","currentOid":""},"activityList":{"items":[{"before":"c88ee951f2539f72124abe68eb96abd91d80af30","after":null,"ref":"refs/heads/fix-d3","pushedAt":"2024-09-17T00:42:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"}},{"before":"5234523fca11d4cbc75f6bdca21c704918361387","after":"829343f682c727639386d5f306783008c6f07a45","ref":"refs/heads/master","pushedAt":"2024-09-17T00:42:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"fix d3 url to bypass CORS (#574)\n\n* fix d3 url to bypass CORS\r\n\r\n* bump agent-js","shortMessageHtmlLink":"fix d3 url to bypass CORS (#574)"}},{"before":"dcf906cf1c1dac85a62a9a77ef96d01399659440","after":"c88ee951f2539f72124abe68eb96abd91d80af30","ref":"refs/heads/fix-d3","pushedAt":"2024-09-14T04:23:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"bump agent-js","shortMessageHtmlLink":"bump agent-js"}},{"before":null,"after":"dcf906cf1c1dac85a62a9a77ef96d01399659440","ref":"refs/heads/fix-d3","pushedAt":"2024-09-14T02:19:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"fix d3 url to bypass CORS","shortMessageHtmlLink":"fix d3 url to bypass CORS"}},{"before":"f49d1a2cb8d976c67bf5af41e082b75ed1e5cdca","after":null,"ref":"refs/heads/ui-header","pushedAt":"2024-09-09T18:15:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"}},{"before":"8c20762b734316613792226fb247a2aabd8fb823","after":"5234523fca11d4cbc75f6bdca21c704918361387","ref":"refs/heads/master","pushedAt":"2024-09-09T18:15:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"add cross-origin header for candid UI (#572)","shortMessageHtmlLink":"add cross-origin header for candid UI (#572)"}},{"before":null,"after":"f49d1a2cb8d976c67bf5af41e082b75ed1e5cdca","ref":"refs/heads/ui-header","pushedAt":"2024-09-08T23:55:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"add cross-origin header for candid UI","shortMessageHtmlLink":"add cross-origin header for candid UI"}},{"before":"0a861ae2d65378d72a53c7056e906ffb585a741f","after":null,"ref":"refs/heads/mraszyk/candid-ui-asset-certification","pushedAt":"2024-08-30T05:22:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mraszyk","name":null,"path":"/mraszyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31483726?s=80&v=4"}},{"before":"0ed73c1448a07d00a1aa2d21bb2bd92208afd81a","after":"8c20762b734316613792226fb247a2aabd8fb823","ref":"refs/heads/master","pushedAt":"2024-08-30T05:22:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mraszyk","name":null,"path":"/mraszyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31483726?s=80&v=4"},"commit":{"message":"feat(didjs): skip asset certification in Candid UI canister (#571)\n\n* feat(didjs): asset certification in Candid UI canister\r\n\r\n* skip certification","shortMessageHtmlLink":"feat(didjs): skip asset certification in Candid UI canister (#571)"}},{"before":"6cbe3e31d437ac2fc6729978fde6ab9c191dbfa9","after":"0a861ae2d65378d72a53c7056e906ffb585a741f","ref":"refs/heads/mraszyk/candid-ui-asset-certification","pushedAt":"2024-08-28T07:47:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mraszyk","name":null,"path":"/mraszyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31483726?s=80&v=4"},"commit":{"message":"Merge branch 'master' into mraszyk/candid-ui-asset-certification","shortMessageHtmlLink":"Merge branch 'master' into mraszyk/candid-ui-asset-certification"}},{"before":"765f91815fecffb413699a70252fcf1d30c75603","after":"6cbe3e31d437ac2fc6729978fde6ab9c191dbfa9","ref":"refs/heads/mraszyk/candid-ui-asset-certification","pushedAt":"2024-08-28T07:40:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mraszyk","name":null,"path":"/mraszyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31483726?s=80&v=4"},"commit":{"message":"skip certification","shortMessageHtmlLink":"skip certification"}},{"before":"73e60aaf0cc7b7d38469010dfffdd759bb6e7df4","after":null,"ref":"refs/heads/frankdavid/opt","pushedAt":"2024-08-27T07:39:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"}},{"before":"cfa7b54c2552fbaff0029c10d24fa37925e42b02","after":"0ed73c1448a07d00a1aa2d21bb2bd92208afd81a","ref":"refs/heads/master","pushedAt":"2024-08-27T07:39:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Add size hints in order to optimize allocation during deserialization (#570)","shortMessageHtmlLink":"Add size hints in order to optimize allocation during deserialization ("}},{"before":"84ab45597692eca29311cf112f5b5a1a6a7cd64a","after":"73e60aaf0cc7b7d38469010dfffdd759bb6e7df4","ref":"refs/heads/frankdavid/opt","pushedAt":"2024-08-26T20:18:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"Merge branch 'master' into frankdavid/opt","shortMessageHtmlLink":"Merge branch 'master' into frankdavid/opt"}},{"before":null,"after":"765f91815fecffb413699a70252fcf1d30c75603","ref":"refs/heads/mraszyk/candid-ui-asset-certification","pushedAt":"2024-08-26T17:09:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mraszyk","name":null,"path":"/mraszyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31483726?s=80&v=4"},"commit":{"message":"feat(didjs): asset certification in Candid UI canister","shortMessageHtmlLink":"feat(didjs): asset certification in Candid UI canister"}},{"before":"e10f947387fca1f5729aadc0a33c163416badc88","after":"84ab45597692eca29311cf112f5b5a1a6a7cd64a","ref":"refs/heads/frankdavid/opt","pushedAt":"2024-08-26T12:02:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Format","shortMessageHtmlLink":"Format"}},{"before":"8b916527c6184ee8f47972a3cc1371ed798d3cf2","after":"e10f947387fca1f5729aadc0a33c163416badc88","ref":"refs/heads/frankdavid/opt","pushedAt":"2024-08-26T11:59:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Format","shortMessageHtmlLink":"Format"}},{"before":null,"after":"8b916527c6184ee8f47972a3cc1371ed798d3cf2","ref":"refs/heads/frankdavid/opt","pushedAt":"2024-08-26T11:55:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Add size hints in order to optimize allocation during deserialization","shortMessageHtmlLink":"Add size hints in order to optimize allocation during deserialization"}},{"before":"584b2085694dfe84cbc905f998205eb353e42db6","after":null,"ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T16:25:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"}},{"before":"f324a1686d6f2bd4fba9307a37f8e3f90cc7222b","after":"cfa7b54c2552fbaff0029c10d24fa37925e42b02","ref":"refs/heads/master","pushedAt":"2024-08-21T16:25:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Optimize the performance of deserializing types containing options (#568)\n\nThe recoverable_visit_some method needs to clone the Deserializer in order to backtrack in case of errors. This cloning is a very expensive operation which this PR optimizes.\r\n\r\n1. Wrap the TypeEnv in an Rc. Since the TypeEnv is a heavy object and is barely updated after the Deserializer is constructed, it makes sense to keep a single instance of it so cloning becomes cheap.\r\n2. Make the happy path in recoverable_visit_some as cheap as possible by recursing on self instead of the clone. In case of an error, we reset the state from the clone.","shortMessageHtmlLink":"Optimize the performance of deserializing types containing options (#568"}},{"before":"f47c80a925d1a7bebba7702939fdc0834627e6ec","after":"584b2085694dfe84cbc905f998205eb353e42db6","ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T16:15:38.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"Merge branch 'master' into frankdavid/optimize-deser-option","shortMessageHtmlLink":"Merge branch 'master' into frankdavid/optimize-deser-option"}},{"before":"47ee9d6d8ed562a0d086baf627364b8e4bbfe4b6","after":"f47c80a925d1a7bebba7702939fdc0834627e6ec","ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T10:40:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Linter","shortMessageHtmlLink":"Linter"}},{"before":"da2bf69547514443c9054a7ac5e33c45f3e4cc1b","after":"47ee9d6d8ed562a0d086baf627364b8e4bbfe4b6","ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T10:35:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Formatting","shortMessageHtmlLink":"Formatting"}},{"before":"d6931d687e3c952b7e2067edea44be59d7ba5e81","after":"da2bf69547514443c9054a7ac5e33c45f3e4cc1b","ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T10:30:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"fix imports","shortMessageHtmlLink":"fix imports"}},{"before":null,"after":"d6931d687e3c952b7e2067edea44be59d7ba5e81","ref":"refs/heads/frankdavid/optimize-deser-option","pushedAt":"2024-08-21T10:25:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"},"commit":{"message":"Optimize the performance of deserializing types containing options\n\nThe recoverable_visit_some method needs to clone the Deserializer in order to backtrack in case of errors. This cloning is a very expensive operation which this PR optimizes.\n\n1. Wrap the TypeEnv in an Rc. Since the TypeEnv is a heavy object and is barely updated after the Deserializer is constructed, it makes sense to keep a single instance of it so cloning becomes cheap.\n2. Make the happy path in recoverable_visit_some as cheap as possible by recursing on self instead of the clone. In case of an error, we reset the state from the clone.","shortMessageHtmlLink":"Optimize the performance of deserializing types containing options"}},{"before":"416e2ea17bf3c05e61380c24ed61438fe4251b60","after":null,"ref":"refs/heads/spec-config","pushedAt":"2024-08-15T16:22:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"}},{"before":"bba0b53d47ba3a14bc7da0b2b11119f8afcea37e","after":"f324a1686d6f2bd4fba9307a37f8e3f90cc7222b","ref":"refs/heads/master","pushedAt":"2024-08-15T16:22:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"spec: candid type selector (#555)\n\n* spec: candid type selector\r\n\r\n* s/method/func/\r\n\r\n* no scoped path for bindgen\r\n\r\n* clarify about use_type\r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: Claudio Russo \r\n\r\n---------\r\n\r\nCo-authored-by: Claudio Russo ","shortMessageHtmlLink":"spec: candid type selector (#555)"}},{"before":"2add4e25514565b9ca1a034a9c1c2f41bfa7d9cc","after":"416e2ea17bf3c05e61380c24ed61438fe4251b60","ref":"refs/heads/spec-config","pushedAt":"2024-08-15T15:54:08.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"chenyan-dfinity","name":"Yan Chen","path":"/chenyan-dfinity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48968912?s=80&v=4"},"commit":{"message":"Merge branch 'master' into spec-config","shortMessageHtmlLink":"Merge branch 'master' into spec-config"}},{"before":null,"after":"5eafd4551eb5350efef043b8d33a88a0c766b035","ref":"refs/heads/@anchpop/support-serde","pushedAt":"2024-08-15T01:52:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"anchpop","name":"Andre Popovitch","path":"/anchpop","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3711047?s=80&v=4"},"commit":{"message":"fix derive","shortMessageHtmlLink":"fix derive"}},{"before":"ff8bf0ce7a2af47d40a969a0b386745e3d99b6e8","after":null,"ref":"refs/heads/frankdavid/optimize-copy","pushedAt":"2024-08-09T16:03:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"frankdavid","name":"David Frank","path":"/frankdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1530970?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QwMDo0MjoxNS4wMDAwMDBazwAAAAS3_z4T","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QwMDo0MjoxNS4wMDAwMDBazwAAAAS3_z4T","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wOVQxNjowMzowOC4wMDAwMDBazwAAAASWbyhE"}},"title":"Activity · dfinity/candid"}