{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":222784916,"defaultBranch":"main","name":"go-dap","ownerLogin":"google","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-11-19T20:36:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1342004?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708980569.0","currentOid":""},"activityList":{"items":[{"before":"e7addf5783d774da7d3dac222a1af87bde2433d5","after":"69ae96dd1be582d05210c92e880b3d63a37b2cf7","ref":"refs/heads/main","pushedAt":"2024-02-22T16:17:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hyangah","name":"Hyang-Ah Hana Kim","path":"/hyangah","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4999471?s=80&v=4"},"commit":{"message":"Use the `any` alias for `interface{}` (#91)\n\nThis alias was added in go 1.18, which has been out for a while already.\r\n\r\nAs `strings.Title()` is deprecated this PR also implements\r\n`goFieldName()` with a hand-rolled implementation which handles unicode\r\ncorrectly.\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>","shortMessageHtmlLink":"Use the any alias for interface{} (#91)"}},{"before":"f1fa77f5134cc954ab111ce8a6205a39c131bfcc","after":"e7addf5783d774da7d3dac222a1af87bde2433d5","ref":"refs/heads/main","pushedAt":"2024-02-13T19:31:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Use json.RawMessage when polymorphic fields contain submessages (#88)\n\n* Use json.RawMessage when polymorphic fields contain submessages\r\n\r\nSo far, these fields were represented as `interface{}`, which means that\r\nthe JSON library parsed these fields. However, they contain opaque data,\r\nwhich makes it very inconvenient to work with such a message. Now,\r\nfields with a submessage are represented as json.RawMessage, so that\r\napplications can re-parse these submessages into the correct structure\r\nmore easily.\r\n\r\nIf the list of types only contains fundamental types, we stick with\r\n`interface{}`.\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>\r\n\r\n* Address review comments\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>\r\n\r\n---------\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>","shortMessageHtmlLink":"Use json.RawMessage when polymorphic fields contain submessages (#88)"}},{"before":"021ca719abe8f92332952e18a25ff6db976e016d","after":"f1fa77f5134cc954ab111ce8a6205a39c131bfcc","ref":"refs/heads/main","pushedAt":"2024-02-12T20:40:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Treat RestartRequest arguments identical to Launch/Attach arguments (#89)\n\nThe restart request contains the last launch or attach arguments and\r\nshould also be treated as an opaque embedded JSON message.\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>","shortMessageHtmlLink":"Treat RestartRequest arguments identical to Launch/Attach arguments (#89"}},{"before":"9079ba7da625621fc1457e3d67e0cf7f12e11c7f","after":"021ca719abe8f92332952e18a25ff6db976e016d","ref":"refs/heads/main","pushedAt":"2023-08-04T14:20:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hyangah","name":"Hyang-Ah Hana Kim","path":"/hyangah","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4999471?s=80&v=4"},"commit":{"message":"Move interface method to embedded type (#85)\n\nThis makes it easier to implement the\r\nResponseMessage/RequestMessage/EventMessage interface, because you only\r\nneed to embed Response/Request/Message, respectively.\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>","shortMessageHtmlLink":"Move interface method to embedded type (#85)"}},{"before":"9ced64ea8f19d093b24a314417e9001028d267b7","after":"9079ba7da625621fc1457e3d67e0cf7f12e11c7f","ref":"refs/heads/main","pushedAt":"2023-08-04T13:36:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hyangah","name":"Hyang-Ah Hana Kim","path":"/hyangah","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4999471?s=80&v=4"},"commit":{"message":"Include the raw message in the error (#86)\n\nWhen an error occurs, there is currently no good way to access the bad\r\nmessage, because the bytes have been consumed from the input stream and\r\nthe error does not include the raw message. This makes it hard to debug\r\nand makes logs less useful, because just the message type/command is\r\noften not enough.\r\n\r\nThis PR adds the raw bytes to DecodeProtocolMessageFieldError to make\r\nthis easier.\r\n\r\nSigned-off-by: Cornelius Weig <22861411+corneliusweig@users.noreply.github.com>","shortMessageHtmlLink":"Include the raw message in the error (#86)"}},{"before":"0d5ec83b8eaf4c33ac102a0efbce3daa522bef80","after":"9ced64ea8f19d093b24a314417e9001028d267b7","ref":"refs/heads/main","pushedAt":"2023-06-28T19:10:28.018Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Optimize message parsing (#79)\n\nSo far, the message was parsed three times:\r\n1) To determine if it is a request/response/event (->Type)\r\n2) To determine the command (->Command/Event/Success) to determine the\r\n right ctor\r\n3) A final pass with the right ctor\r\n\r\nSteps 1+2 can be combined into a single step by using a union type of\r\nthe fields that are required to determine the right ctor. This PR does\r\nexactly that. It combines steps 1+2 so that the message needs to be\r\nparsed only once to determine the ctor.\r\nThe final parsing step (3) with the right ctor can of course not be\r\nelided. So the number of parsing operations is reduced from 3 to 2. This\r\nis a big win, because JSON parsing is slow, especially for large\r\nmessages.","shortMessageHtmlLink":"Optimize message parsing (#79)"}},{"before":"2cac5521374548aec2229626e4a9b615f2b4b36a","after":"0d5ec83b8eaf4c33ac102a0efbce3daa522bef80","ref":"refs/heads/main","pushedAt":"2023-06-26T18:25:21.387Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Add a new `Codec` type that allows to register custom DAP commands (#70)\n\nRight now, go-dap supports vanilla DAP types, but it falls short when\r\nused for custom request types. This PR adds the `Codec` type with which\r\nusers can register new DAP messages. After registering the new type,\r\n`Codec` can also deserialize the custom DAP message.\r\n\r\nFixes #69","shortMessageHtmlLink":"Add a new Codec type that allows to register custom DAP commands (#70)"}},{"before":"bfa39afdbe780bc8964756fafb379b544a1d0989","after":"2cac5521374548aec2229626e4a9b615f2b4b36a","ref":"refs/heads/main","pushedAt":"2023-06-02T20:11:32.097Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"go.mod: retract v0.9.0 (#83)\n\nA tagged version was released with some incorrect types.\r\nRetract that version.\r\n\r\nFor #82","shortMessageHtmlLink":"go.mod: retract v0.9.0 (#83)"}},{"before":"d1322a70064e1fabb2ed53e2a576f1da5e1213fa","after":"bfa39afdbe780bc8964756fafb379b544a1d0989","ref":"refs/heads/main","pushedAt":"2023-06-02T18:04:46.970Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Fix type aliases being emitted as pointers (#81)\n\nThis fixes an unintentional change from #75. Type aliases to primitives\r\n(like string) do not need to be pointers, because their zero values\r\nwill be omitted during JSON serialization if omitempty is set.\r\n\r\nFixes #80","shortMessageHtmlLink":"Fix type aliases being emitted as pointers (#81)"}},{"before":"ba892a7ccda94a98ff35cd810df9bbd394cca0c6","after":"d1322a70064e1fabb2ed53e2a576f1da5e1213fa","ref":"refs/heads/main","pushedAt":"2023-05-30T20:19:57.904Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Add test case for StartDebugging request (#74)","shortMessageHtmlLink":"Add test case for StartDebugging request (#74)"}},{"before":"54fa52b8b0f188a06f139766e29839b6611d8024","after":"ba892a7ccda94a98ff35cd810df9bbd394cca0c6","ref":"refs/heads/main","pushedAt":"2023-05-30T19:43:53.945Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"Make omitempty structs pointers (#75)\n\nThis is needed so that unset JSON values get initialized to `nil` in Go\r\ninstead of the zero struct. The zero struct is indistinguishable from an\r\nexplicitly set struct with zero values, and will get serialized despite\r\n\"omitempty\". `nil` on the other hand will be dropped, as expected.\r\n\r\nFixes #72","shortMessageHtmlLink":"Make omitempty structs pointers (#75)"}},{"before":"f58c89471d7aab19dde025056a7e21d9ec4c0124","after":"54fa52b8b0f188a06f139766e29839b6611d8024","ref":"refs/heads/main","pushedAt":"2023-05-22T20:24:18.768Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":".github/workflows: update workflow target branch (#77)\n\n* .github/workflows: update worflow target branch\r\n\r\nThe default branch for google/go-dap is now main.\r\n\r\nFixes #76","shortMessageHtmlLink":".github/workflows: update workflow target branch (#77)"}},{"before":"c3d6893484e6e885d51667a11f2d6db468769538","after":"f58c89471d7aab19dde025056a7e21d9ec4c0124","ref":"refs/heads/main","pushedAt":"2023-04-10T18:44:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"suzmue","name":"Suzy Mueller","path":"/suzmue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6634754?s=80&v=4"},"commit":{"message":"cmd/gentypes: sync at DAP 1.59 (#71)","shortMessageHtmlLink":"cmd/gentypes: sync at DAP 1.59 (#71)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEAjRFoQA","startCursor":null,"endCursor":null}},"title":"Activity ยท google/go-dap"}