{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":703270202,"defaultBranch":"main","name":"web-forms","ownerLogin":"getodk","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-10T23:43:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6222985?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720123726.0","currentOid":""},"activityList":{"items":[{"before":"3280c5ea0df7e0689f805cf2b66797a4e489ae7a","after":"af5131c9b3a3643fe7a4ef90a6f3c0cb7286fc3d","ref":"refs/heads/features/select-appearances","pushedAt":"2024-07-04T20:41:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sadiqkhoja","name":"Sadiq Khoja","path":"/sadiqkhoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/447837?s=80&v=4"},"commit":{"message":"remove v-full-width","shortMessageHtmlLink":"remove v-full-width"}},{"before":"2baf72aa065fd0ed889da115650f34140b7398bd","after":"3280c5ea0df7e0689f805cf2b66797a4e489ae7a","ref":"refs/heads/features/select-appearances","pushedAt":"2024-07-04T20:25:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"sadiqkhoja","name":"Sadiq Khoja","path":"/sadiqkhoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/447837?s=80&v=4"},"commit":{"message":"remove v-full-width","shortMessageHtmlLink":"remove v-full-width"}},{"before":null,"after":"db711a894d6c9ef646c7e0d0f327faad6bafaff6","ref":"refs/heads/explore/scenario-explicit-repeat-creation","pushedAt":"2024-07-04T20:08:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Explore: warn on missing repeats, add explicit creation when missing\n\nFollowup from [this discussion](https://github.com/getodk/web-forms/pull/150#discussion_r1665960350)\n\nThe idea here is:\n\n1. Explicit repeat creation in tests will improve test clarity\n\n2. Introduce a clear way to make similar changes in JavaRosa as they come up\n\n3. Detect missing repeats (with a still naive approach[^1], albeit now recursive) and **log with a stack trace** so explicit calls can be introduced (conditionally, with parameterization like many other cases where we make adjustments to the JavaRosa direct port)\n\n4. Add a new proposed `Scenario` method which…\n\n - Makes clear where explicit repeat creation calls are added, in a way that can be traced directly in test source, whenever convenient\n\n - Assumes the call occurs in such a sub-suite parameterizing whether to explicitly add repeats as detected; adds repeats as explicitly specified in the true condition, suppresses logging in the false condition\n\nThis approach already detected one test which would have passed if adding repeats had been explicit. The test is updated here to demonstrate that.\n\nNotice that the test’s **PORTING NOTES** have also been removed. This is because the notes were wrong! This is an excellent example of how misleading it is that tests fail for lack of this implicit behavior! The actual test logic is not substantially noisier or more complex as a result. This feels like a clear win to me.\n\n[^1]: Keeping this naive seems fine for the limited scope of usage. The reference expressions which reach this point are limited to `Scenario.answer` calls with an explicit reference. If we’re using references of arbitrary complexity in those calls, I think we’ve got much bigger problems than this functionality being so narrowly scoped.","shortMessageHtmlLink":"Explore: warn on missing repeats, add explicit creation when missing"}},{"before":"01afabc2acd6d592b09c879b48d9f57b8ed68aa0","after":"4792e36b216edd81060f12faa61cde438d228e60","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-02T17:30:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Add changeset for `constraint` and `required` validation","shortMessageHtmlLink":"Add changeset for constraint and required validation"}},{"before":"7ff0ec2dc79cd902237e151f8b3735c02d1f708e","after":"01afabc2acd6d592b09c879b48d9f57b8ed68aa0","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-02T16:07:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Create tasty-hornets-fix.md","shortMessageHtmlLink":"Create tasty-hornets-fix.md"}},{"before":"75675dc45a1644eb2c3e33e2d95313ba83b832c1","after":"7ff0ec2dc79cd902237e151f8b3735c02d1f708e","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-02T16:06:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Add tests for validation messages\n\n- Form-specified constraintMsg, requiredMsg\n- Default/fallback messages for both conditions, as provided by the engine","shortMessageHtmlLink":"Add tests for validation messages"}},{"before":"8ef324a1be3056b3db97f67853977d06a32ac10f","after":"75675dc45a1644eb2c3e33e2d95313ba83b832c1","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-02T00:09:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"“Fix” misused repeat label definition","shortMessageHtmlLink":"“Fix” misused repeat label definition"}},{"before":"a95ba8ce66a97319c22a8624a04aa1fdeb3691f1","after":"8ef324a1be3056b3db97f67853977d06a32ac10f","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-01T23:53:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"“Fix” misused repeat label definition","shortMessageHtmlLink":"“Fix” misused repeat label definition"}},{"before":"e6d2a80b2c5dcc784d5c52e69d03d5afe03ccd96","after":"a95ba8ce66a97319c22a8624a04aa1fdeb3691f1","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-01T23:49:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Update other tests now passing with boolean cast fix","shortMessageHtmlLink":"Update other tests now passing with boolean cast fix"}},{"before":"c70b676ede93f47048876de77e9714c59a2d448c","after":"e6d2a80b2c5dcc784d5c52e69d03d5afe03ccd96","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-01T23:43:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Update other tests now passing with boolean cast fix","shortMessageHtmlLink":"Update other tests now passing with boolean cast fix"}},{"before":null,"after":"c70b676ede93f47048876de77e9714c59a2d448c","ref":"refs/heads/features/constraint-required-validation","pushedAt":"2024-07-01T23:32:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Update other tests now passing with boolean cast fix","shortMessageHtmlLink":"Update other tests now passing with boolean cast fix"}},{"before":null,"after":"9f085ecc039d46c38fe6bf03f6ec41247d44a564","ref":"refs/heads/fix/combine-css-with-js","pushedAt":"2024-06-28T22:42:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sadiqkhoja","name":"Sadiq Khoja","path":"/sadiqkhoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/447837?s=80&v=4"},"commit":{"message":"fix: include css in the built js file","shortMessageHtmlLink":"fix: include css in the built js file"}},{"before":"ff9fe165bf31ccf6574bd5466752823a2a1749d0","after":"a781d922313d70db28d84de8568e445fc049984f","ref":"refs/heads/features/indexed-repeat-xpath-fn","pushedAt":"2024-06-27T20:50:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Changeset: `indexed-repeat`","shortMessageHtmlLink":"Changeset: indexed-repeat"}},{"before":"95e866fb57cd8c426579c1bf031a1783188c4101","after":"d121679df62a8dcb04879f7367e9c0f328b20902","ref":"refs/heads/main","pushedAt":"2024-06-27T20:49:01.000Z","pushType":"pr_merge","commitsCount":12,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Merge pull request #135 from getodk/bugs/repeats-grab-bag\n\nSeveral repeat-related fixes","shortMessageHtmlLink":"Merge pull request #135 from getodk/bugs/repeats-grab-bag"}},{"before":"ae84d4e5388f919adccb4d64b718d67123713f8b","after":"46bf4ec708145eea1c327a13176773952b814d2c","ref":"refs/heads/bugs/repeats-grab-bag","pushedAt":"2024-06-27T20:41:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Update porting notes for passing repeat dependency update test","shortMessageHtmlLink":"Update porting notes for passing repeat dependency update test"}},{"before":"fa955b4510839360e161293f30d89a43f8bc2800","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/braces-3.0.3","pushedAt":"2024-06-27T20:40:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"52d50445090e3c0c32b4e99cbe2bc903e5c6ca38","after":"95e866fb57cd8c426579c1bf031a1783188c4101","ref":"refs/heads/main","pushedAt":"2024-06-27T20:40:26.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Merge pull request #149 from getodk/dependabot/npm_and_yarn/braces-3.0.3\n\nBump braces from 3.0.2 to 3.0.3","shortMessageHtmlLink":"Merge pull request #149 from getodk/dependabot/npm_and_yarn/braces-3.0.3"}},{"before":"3c574b69c718b54210555e6236332b11665e6f00","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/follow-redirects-1.15.6","pushedAt":"2024-06-27T20:34:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"0a6fe490906915c12e67efcd295e5839e89e78e8","after":"52d50445090e3c0c32b4e99cbe2bc903e5c6ca38","ref":"refs/heads/main","pushedAt":"2024-06-27T20:34:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Merge pull request #148 from getodk/dependabot/npm_and_yarn/follow-redirects-1.15.6\n\nBump follow-redirects from 1.15.5 to 1.15.6","shortMessageHtmlLink":"Merge pull request #148 from getodk/dependabot/npm_and_yarn/follow-re…"}},{"before":"6ba1d3badf4f951871108ce538cccaaa90fec096","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/vite-5.3.1","pushedAt":"2024-06-27T20:31:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"d70c0c2d27898a4dcaffe633959e62295b5a8d31","after":"0a6fe490906915c12e67efcd295e5839e89e78e8","ref":"refs/heads/main","pushedAt":"2024-06-27T20:31:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Merge pull request #145 from getodk/dependabot/npm_and_yarn/vite-5.3.1\n\nBump vite from 5.1.5 to 5.3.1","shortMessageHtmlLink":"Merge pull request #145 from getodk/dependabot/npm_and_yarn/vite-5.3.1"}},{"before":"0a2fba0abeb07efc2a15efdcaab82e28f180cfb8","after":"ae84d4e5388f919adccb4d64b718d67123713f8b","ref":"refs/heads/bugs/repeats-grab-bag","pushedAt":"2024-06-27T20:30:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Update porting notes for passing repeat dependency update test","shortMessageHtmlLink":"Update porting notes for passing repeat dependency update test"}},{"before":"1e6d9c1fedf4229196eb03e0d54682e0fcf823e1","after":"ff9fe165bf31ccf6574bd5466752823a2a1749d0","ref":"refs/heads/features/indexed-repeat-xpath-fn","pushedAt":"2024-06-27T18:03:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"Changeset: `indexed-repeat`","shortMessageHtmlLink":"Changeset: indexed-repeat"}},{"before":"3c2d74dc4138444512eac6622df4f5403beca618","after":"1e6d9c1fedf4229196eb03e0d54682e0fcf823e1","ref":"refs/heads/features/indexed-repeat-xpath-fn","pushedAt":"2024-06-27T17:02:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"scenario: update tests for `indexed-repeat` support\n\n- Direct test of function implementation in form context has minor modification to omit superfluous answer expression position predicates (and PORTING NOTES updated accordingly)\n\n- Child Vaccination smoke test updates to reflect progress based on ability to evaluate `indexed-repeat` function call. It is now blocked on lack of support for repeats with `jr:count`. It seems likely that functionality will allow significantly more progress through this smoke test.","shortMessageHtmlLink":"scenario: update tests for indexed-repeat support"}},{"before":"638a6a37c787dd20b0f05a570d7a2b64e1215168","after":"3c2d74dc4138444512eac6622df4f5403beca618","ref":"refs/heads/features/indexed-repeat-xpath-fn","pushedAt":"2024-06-27T15:49:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"scenario: update tests for `indexed-repeat` support\n\n- Direct test of function implementation in form context has minor modification to omit superfluous answer expression position predicates (and PORTING NOTES updated accordingly)\n\n- Child Vaccination smoke test updates to reflect progress based on ability to evaluate `indexed-repeat` function call. It is now blocked on lack of support for repeats with `jr:count`. It seems likely that functionality will allow significantly more progress through this smoke test.","shortMessageHtmlLink":"scenario: update tests for indexed-repeat support"}},{"before":null,"after":"fa955b4510839360e161293f30d89a43f8bc2800","ref":"refs/heads/dependabot/npm_and_yarn/braces-3.0.3","pushedAt":"2024-06-27T15:00:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump braces from 3.0.2 to 3.0.3\n\nBumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: braces\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump braces from 3.0.2 to 3.0.3"}},{"before":null,"after":"3c574b69c718b54210555e6236332b11665e6f00","ref":"refs/heads/dependabot/npm_and_yarn/follow-redirects-1.15.6","pushedAt":"2024-06-27T15:00:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump follow-redirects from 1.15.5 to 1.15.6\n\nBumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.\n- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)\n- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)\n\n---\nupdated-dependencies:\n- dependency-name: follow-redirects\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump follow-redirects from 1.15.5 to 1.15.6"}},{"before":"a3d8291c2074b2e0a421e3193ff6df22f1c395fc","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/ws-8.17.1","pushedAt":"2024-06-27T14:47:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"bab392450ef7780fbbabb7a054882615b03eb811","after":"d70c0c2d27898a4dcaffe633959e62295b5a8d31","ref":"refs/heads/main","pushedAt":"2024-06-27T14:47:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sadiqkhoja","name":"Sadiq Khoja","path":"/sadiqkhoja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/447837?s=80&v=4"},"commit":{"message":"Bump ws from 8.16.0 to 8.17.1 (#144)\n\nBumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.\r\n- [Release notes](https://github.com/websockets/ws/releases)\r\n- [Commits](https://github.com/websockets/ws/compare/8.16.0...8.17.1)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: ws\r\n dependency-type: indirect\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump ws from 8.16.0 to 8.17.1 (#144)"}},{"before":null,"after":"638a6a37c787dd20b0f05a570d7a2b64e1215168","ref":"refs/heads/features/indexed-repeat-xpath-fn","pushedAt":"2024-06-26T22:16:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eyelidlessness","name":null,"path":"/eyelidlessness","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/199830?s=80&v=4"},"commit":{"message":"scenario: update tests for `indexed-repeat` support\n\n- Direct test of function implementation in form context has minor modification to omit superfluous answer expression position predicates (and PORTING NOTES updated accordingly)\n\n- Child Vaccination smoke test updates to reflect progress based on ability to evaluate `indexed-repeat` function call. It is now blocked on lack of support for repeats with `jr:count`. It seems likely that functionality will allow significantly more progress through this smoke test.","shortMessageHtmlLink":"scenario: update tests for indexed-repeat support"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEdz5P4AA","startCursor":null,"endCursor":null}},"title":"Activity · getodk/web-forms"}