{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":75084211,"defaultBranch":"main","name":"gtad","ownerLogin":"quotient-im","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-11-29T13:31:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50824961?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1708636217.0","currentOid":""},"activityList":{"items":[{"before":"8989566d57f6f5dd8c38c90ddab7c720561e71d9","after":"08120006796f62db1441ab0eb08c7b260d698a23","ref":"refs/heads/main","pushedAt":"2024-08-26T11:15:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Printer: don't enclose path literals in quotes any more\n\nThis kind of adornment can easily be done in Mustache if passed the\nright data in the context. From now on, pathParts doesn't just include\na list of path parts for insertion but instead is formed as\n`pathParts: [ literal|variable ]`, with `literal` and `variable` being\nmutually exclusive and set to the value of the given path component only\nwhen it is of the respective kind. In other words, a path like\n\"/room/{roomId}/events\" will be translated into a sequence of 3 path\nparts as follows:\n```yaml\npathParts:\n literal: /room/\n variable: roomId\n literal: /events\n```","shortMessageHtmlLink":"Printer: don't enclose path literals in quotes any more"}},{"before":"07a7a92cc5ee9cbad8821a193459ca185cc9b9fa","after":"8989566d57f6f5dd8c38c90ddab7c720561e71d9","ref":"refs/heads/main","pushedAt":"2024-07-09T16:19:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"YamlContainer: treat null nodes as empty containers\n\nOtherwise you had to always write `section: {}` or `section: []`\nrespectively, instead of simply `section:`, when a container is\nexpected.","shortMessageHtmlLink":"YamlContainer: treat null nodes as empty containers"}},{"before":"342cc356b743b9afaf64b44976373d796b3255b9","after":"07a7a92cc5ee9cbad8821a193459ca185cc9b9fa","ref":"refs/heads/main","pushedAt":"2024-06-30T10:43:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Support endpoint deprecation\n\nThe new {{#deprecated?}} Mustache section is introduced, so far only for\ncalls; parameters deprecation will be introduced separately.","shortMessageHtmlLink":"Support endpoint deprecation"}},{"before":"70d25002b4ac8063c01be159b0d0bddb7589972d","after":"342cc356b743b9afaf64b44976373d796b3255b9","ref":"refs/heads/main","pushedAt":"2024-06-10T09:32:24.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Update documentation","shortMessageHtmlLink":"Update documentation"}},{"before":"0578bd33615c2b87547b9174a28db0ff26e0c44e","after":"70d25002b4ac8063c01be159b0d0bddb7589972d","ref":"refs/heads/main","pushedAt":"2024-05-25T20:42:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Cleanup and rangification","shortMessageHtmlLink":"Cleanup and rangification"}},{"before":"aeb88bd6beab92086f6c5c1816fca328527e5ce2","after":"0578bd33615c2b87547b9174a28db0ff26e0c44e","ref":"refs/heads/main","pushedAt":"2024-05-03T19:09:18.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"More cleanup","shortMessageHtmlLink":"More cleanup"}},{"before":"bba0d4e40d400228696bfa5bc16f0223e3a42088","after":"aeb88bd6beab92086f6c5c1816fca328527e5ce2","ref":"refs/heads/main","pushedAt":"2024-04-13T18:36:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Cleanup","shortMessageHtmlLink":"Cleanup"}},{"before":"4ca0280cf1a58d3ef6f5305a2ebaf88e15906866","after":"bba0d4e40d400228696bfa5bc16f0223e3a42088","ref":"refs/heads/main","pushedAt":"2024-04-13T00:37:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Rework $ref imports\n\n1. Local $refs are meant to participate in imports the same way external\n $refs do - instead of splicing the corresponding YAML object, it is\n analyzed as a schema and potentially referred to without inlining.\n2. $ref should be treated as an import instruction rather than another\n \"type\"; therefore all type attributes etc. should go to\n the respective type definition (schema, usually) instead of being\n defined under $ref. The contents of the $ref configuration section\n are moved to its own section under `analyzer`, called `references`,\n with much more restrictive rules to what should be defined under it\n (`types` was always meant to be extensible, but `references` is\n actually not, it only aims to list things that should be inlined\n and those that should be replaced, period).\n3. `schema`, respectively, gains special treatment for `title` attribute\n and contributes type attributes when a matching schema gets $ref'ed.","shortMessageHtmlLink":"Rework $ref imports"}},{"before":"a0eb23f00009b05ba2a9c2fd8fc040b7e64adaaf","after":"4ca0280cf1a58d3ef6f5305a2ebaf88e15906866","ref":"refs/heads/main","pushedAt":"2024-03-26T14:12:39.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Complete initial support for local $refs\n\nAs of this commit, GTAD should be able to resolve $refs pointing to\na component in the same file (those starting with `#`). Non-local $refs\nto fragments (that refer to another file and also have the # part) are\nstill not supported (Matrix API has none of those yet, anyway).\n\nWhat could still be improved is ability to have a common component\ndefined once in the generated code and referred to from other parts of\nthe generated code. This is clearly impossible for things like\nparameters but certainly possible for schemas.","shortMessageHtmlLink":"Complete initial support for local $refs"}},{"before":"991de60ef80130e83c3edcc6b528b70daf88df9c","after":"a0eb23f00009b05ba2a9c2fd8fc040b7e64adaaf","ref":"refs/heads/main","pushedAt":"2024-02-22T19:02:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Fix a regression that GTAD chokes on 'required' keys","shortMessageHtmlLink":"Fix a regression that GTAD chokes on 'required' keys"}},{"before":"d85aac3d64da1c44bd2b7cbb4ec138622fc4e03d","after":"991de60ef80130e83c3edcc6b528b70daf88df9c","ref":"refs/heads/main","pushedAt":"2024-02-22T13:57:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Make ApiSpec an enum (again)\n\nIt used to be an enum long ago, and the extensibility of a string-based\nsolution didn't really bring anything valuable.","shortMessageHtmlLink":"Make ApiSpec an enum (again)"}},{"before":"2c3802314d20f6d0a5e51ae427e7e991cd4c768c","after":"d85aac3d64da1c44bd2b7cbb4ec138622fc4e03d","ref":"refs/heads/main","pushedAt":"2024-02-22T07:49:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Code cleanup","shortMessageHtmlLink":"Code cleanup"}},{"before":"8a7c04569e9b6b37b5056be1c1cda072bb413e9f","after":"2c3802314d20f6d0a5e51ae427e7e991cd4c768c","ref":"refs/heads/main","pushedAt":"2024-02-21T16:15:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Printer: fix a regression\n\nSome files with no data definitions still got emitted after the previous\ncommit.","shortMessageHtmlLink":"Printer: fix a regression"}},{"before":"9e719a1e0f4a1b2a332e069a7a721258bcee92bf","after":"8a7c04569e9b6b37b5056be1c1cda072bb413e9f","ref":"refs/heads/main","pushedAt":"2024-02-21T15:10:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"setList: add even empty lists\n\nThis allows to disable untamed propagation of values from higher levels.\nAt the same time, turns out, that propagation is almost unused in\nthe current templates for Quotient.\n\nFun fact: the code that enabled that propagation seems to have been\na somewhat premature optimisation introduced about a year into\nthe project existence, back in 2017.\n\nCloses #50.","shortMessageHtmlLink":"setList: add even empty lists"}},{"before":"2c9586ff6dbbbc21c967ad3225a7069c8ce99d55","after":"9e719a1e0f4a1b2a332e069a7a721258bcee92bf","ref":"refs/heads/main","pushedAt":"2024-01-30T23:19:23.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Support OpenAPI 3\n\nCloses #44.","shortMessageHtmlLink":"Support OpenAPI 3"}},{"before":"90266dadfde15d0a79acff126741f97aa5607a36","after":"2c9586ff6dbbbc21c967ad3225a7069c8ce99d55","ref":"refs/heads/main","pushedAt":"2024-01-21T21:22:41.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":".clang-format: even more adjustments after some use\n\n[skip ci]","shortMessageHtmlLink":".clang-format: even more adjustments after some use"}},{"before":"a154ed0ac22dce802676ce531f53054b49d0a52f","after":"90266dadfde15d0a79acff126741f97aa5607a36","ref":"refs/heads/main","pushedAt":"2024-01-15T15:04:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Fix an incorrect setting in .clang-format\n\n[skip ci]","shortMessageHtmlLink":"Fix an incorrect setting in .clang-format"}},{"before":"bf5bd82aa705dc62c95a15489315f2284b6ffa45","after":"a154ed0ac22dce802676ce531f53054b49d0a52f","ref":"refs/heads/main","pushedAt":"2024-01-15T14:41:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Refresh .clang-format; add .clang-tidy","shortMessageHtmlLink":"Refresh .clang-format; add .clang-tidy"}},{"before":"3ca859e1aae53b77d1e1f3a9b363cd40fdef54ff","after":"bf5bd82aa705dc62c95a15489315f2284b6ffa45","ref":"refs/heads/main","pushedAt":"2024-01-14T14:48:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Update yaml-cpp submodule to 0.8.0","shortMessageHtmlLink":"Update yaml-cpp submodule to 0.8.0"}},{"before":"7fe47c3344e0921acf5659ceddf50486034135d9","after":"3ca859e1aae53b77d1e1f3a9b363cd40fdef54ff","ref":"refs/heads/main","pushedAt":"2023-06-04T20:10:55.813Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Partition both allParams and vars by 'required'\n\nPartitioning vars (allParams was partitioned before) became important\nwith libQuotient adding default initialisation of structure fields that\nare not required. Syntactically those structures would be correct even\nwith the order of fields as before; but initialisation of those\nstructures in the code becomes tricky as one has to carefully\nover-initialise even fields that have default values.","shortMessageHtmlLink":"Partition both allParams and vars by 'required'"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNlQxMToxNToyMy4wMDAwMDBazwAAAASkK4RK","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNlQxMToxNToyMy4wMDAwMDBazwAAAASkK4RK","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0wNFQyMDoxMDo1NS44MTM2NzBazwAAAAM6dQAF"}},"title":"Activity ยท quotient-im/gtad"}