{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":8498842,"defaultBranch":"master","name":"civicrm-core","ownerLogin":"totten","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2013-03-01T10:09:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1336047?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726793142.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"b6106763bb3f487cbf5356088e060a23acfaf62a","ref":"refs/heads/master-page-token-b","pushedAt":"2024-09-20T00:45:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(WIP) Allow _aff to be used to authenticate the main page-load","shortMessageHtmlLink":"(WIP) Allow _aff to be used to authenticate the main page-load"}},{"before":null,"after":"39d1d5a6676d7c71691e4da49513267c24698db9","ref":"refs/heads/master-page-token-prep","pushedAt":"2024-09-20T00:39:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(REF) MockPublicFormTest - Reorganize/simplify tests\n\nBefore: Separate tests for different permutations of token-name/output-media\n\nAfter: One test checks consistency across token-names/output-media -- asserting\n that they all point to the same URL.\n\n Another test checks whether that URL behaves corectly.","shortMessageHtmlLink":"(REF) MockPublicFormTest - Reorganize/simplify tests"}},{"before":"dd67b1819eb3ab40af063e5de5cffa0a312235b3","after":null,"ref":"refs/heads/master-setting-helper","pushedAt":"2024-09-18T17:56:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":"aa341210fd1b9d922c20dd437ccb19fafcbf2307","after":null,"ref":"refs/heads/master-url-test","pushedAt":"2024-09-15T21:45:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":"a0a6963d6e88d33775cb642e8cdc4bbc47818d9f","after":"aa341210fd1b9d922c20dd437ccb19fafcbf2307","ref":"refs/heads/master-url-test","pushedAt":"2024-09-13T05:18:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"WidgetTest - Fix mistaken assertion\n\nThis test constructs a URL for `extern/widget.php` and then fetches it.\n\nTo construct the URL, it used `CRM_Core_Resources::getUrl()`. However, this\nmethod signature does not guarantee whether the result will be absolute or\nrelative. Consequently, the test is overly sensitive to environment.","shortMessageHtmlLink":"WidgetTest - Fix mistaken assertion"}},{"before":"efafd8ffdb3106bfbe8f5bc05a5c652248834783","after":"a0a6963d6e88d33775cb642e8cdc4bbc47818d9f","ref":"refs/heads/master-url-test","pushedAt":"2024-09-13T03:00:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(REF) Swap renamed phpunit function","shortMessageHtmlLink":"(REF) Swap renamed phpunit function"}},{"before":"53294bfe93417031cd05d38e6e581ba828ea9d6b","after":"a345655527ce337794408d882b59bcb8dc8c5232","ref":"refs/heads/master-page-token","pushedAt":"2024-09-06T09:42:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(WIP) Allow _aff to be used to authenticate the main page-load","shortMessageHtmlLink":"(WIP) Allow _aff to be used to authenticate the main page-load"}},{"before":null,"after":"4731cb271fd07220f3ebdaa903b1558229cae486","ref":"refs/heads/master-page-token-2","pushedAt":"2024-09-05T23:31:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"PageTokenCredential - Admit more fields for APIv4 Autocomplete","shortMessageHtmlLink":"PageTokenCredential - Admit more fields for APIv4 Autocomplete"}},{"before":"b997399f49a5cd1b919b016075d6d6fbc7d49d23","after":null,"ref":"refs/heads/master-setup-users","pushedAt":"2024-09-05T22:48:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":"cdf7cc94efc5dd5433f43515945b60f684bb8f82","after":null,"ref":"refs/heads/master-invoke","pushedAt":"2024-09-05T22:46:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":null,"after":"cdf7cc94efc5dd5433f43515945b60f684bb8f82","ref":"refs/heads/master-invoke","pushedAt":"2024-09-05T19:01:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(REF) CRM_Core_Invoke - Cleanup old experiment circa Symfony 2\n\nThe _invoke() implementation has an optional code-path that specifically\ninvolves Symfony `AppKernel`. This is left-over from an ancient experiment\ntrying to bring Symfony 2 full-stack into cross-CMS usage. We eventually\npivoted to using Symfony Components piece-wise. So this code-path is\neffectively dead.\n\nSome of the code talks about Request/Response objects, and IMHO\nCRM_Core_Invoke should have support for these. (*They are pretty standard\nfor modern PHP.*)\n\nHowever, the S2 AppKernel stuff is distracting. Better to remove the dead\nbranch, get a clearer view, and then add live code with Request/Respose\nsupport.","shortMessageHtmlLink":"(REF) CRM_Core_Invoke - Cleanup old experiment circa Symfony 2"}},{"before":"f8025c1752ff721f675686098c3f5114d4e242da","after":"b997399f49a5cd1b919b016075d6d6fbc7d49d23","ref":"refs/heads/master-setup-users","pushedAt":"2024-09-05T18:19:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users\n\nBefore\n------\n\n* The \"Installation Guide\" must tell the site-builder to manually synchronize users.\n* Each civibuild configuration must explicitly add a step to synchronize users.\n\nAfter\n-----\n\n* By default, the installer will automatically call `synchronizeUsers()`.\n* For web-based installation, there's a checkbox to opt-out.\n* For CLI-based installation, you can opt-out with the extra argument:\n\n ```\n cv core:install -m syncUsers=0\n ```","shortMessageHtmlLink":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users"}},{"before":null,"after":"4db073be8b41bf3cea765f34fa35ea4d8d58b0db","ref":"refs/heads/5.76-bump3","pushedAt":"2024-09-05T05:53:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"Add release-notes/5.76.3.md","shortMessageHtmlLink":"Add release-notes/5.76.3.md"}},{"before":"193b55cbe783316f9046784cc8cd06a12961f3bc","after":null,"ref":"refs/heads/master-nfc-unsub","pushedAt":"2024-09-05T03:48:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":"3a411d2bfc7a99dabb3c18f1f95c07387620ae7e","after":null,"ref":"refs/heads/master-afform-scanner","pushedAt":"2024-09-05T00:33:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":null,"after":"193b55cbe783316f9046784cc8cd06a12961f3bc","ref":"refs/heads/master-nfc-unsub","pushedAt":"2024-09-04T23:56:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(NFC) testHttpUnsubscribe - Add more comments","shortMessageHtmlLink":"(NFC) testHttpUnsubscribe - Add more comments"}},{"before":"b03d1845f867055912fe8c6d606c0a2c4aecd213","after":"f8025c1752ff721f675686098c3f5114d4e242da","ref":"refs/heads/master-setup-users","pushedAt":"2024-09-04T09:15:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users\n\nBefore\n------\n\n* The \"Installation Guide\" must tell the site-builder to manually synchronize users.\n* Each civibuild configuration must explicitly add a step to synchronize users.\n\nAfter\n-----\n\n* By default, the installer will automatically call `synchronizeUsers()`.\n* For web-based installation, there's a checkbox to opt-out.\n* For CLI-based installation, you can opt-out with the extra argument:\n\n ```\n cv core:install -m syncUsers=0\n ```","shortMessageHtmlLink":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users"}},{"before":null,"after":"b03d1845f867055912fe8c6d606c0a2c4aecd213","ref":"refs/heads/master-setup-users","pushedAt":"2024-09-04T09:11:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users\n\nBefore\n------\n\n* The \"Installation Guide\" must tell the site-builder to manually synchronize users.\n* Each civibuild configuration must explicitly add a step to synchronize users.\n\nAfter\n-----\n\n* By default, the installer will automatically call `synchronizeUsers()`.\n* For web-based installation, there's a checkbox to opt-out.\n* For CLI-based installation, you can opt-out with the extra argument:\n\n ```\n cv core:install -m syncUsers=0\n ```","shortMessageHtmlLink":"(dev/core#5434) Installer - Automatically synchronize contacts<=>users"}},{"before":null,"after":"3a411d2bfc7a99dabb3c18f1f95c07387620ae7e","ref":"refs/heads/master-afform-scanner","pushedAt":"2024-09-04T08:56:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(dev/core#4267) Afform - Move registration of scanner service\n\nOverview\n---------\n\nThis is a twofer. For one, it simplifies code (removes boilerplate).\nAdditionally, it fixes a highly reproducible variation of the error `You\nhave requested a non-existent service \"afform_scanner\".` It was observed\nwhile adding support for user-sync to the installer.\n\nUse-Case\n-------\n\nUpdate the installer to call `CRM_Utils_System::synchronizeUsers()`.\n\nWhen it gets to this step, it tries to resolve default values for some\ntoken-based fields -- which eventually means that `civi.afform.tokens` is loaded.\n\nBefore\n------\n\n(1) The service `afform_scanner` is registered in an older way (`hook_civicrm_container`).\n\n(2) The use-case fails with error:\n\n`You have requested a non-existent service \"afform_scanner\".`\n\nIn exploring the backtrace for this exception, we find an oddity:\n\n* The service `civi.afform.tokens` has been instantiated.\n* It's trying to access the sibling service `afform_scanner`.\n* But that service is unknown/undeclared.\n\nBoth services are defined by `ext/afform/core`. Why is one valid while the\nother invalid?\n\nPart of the answer is that they have been declared in slightly different ways.\n\n* `civi.afform.tokens` uses `@service` (-working-)\n* `afform_scanner` uses the `hook_civicrm_container` (-not working-)\n\nAfter\n-----\n\n(1) The service `afform_scanner` is registered in a newer way (`@servce`) which matches\nthe other service (`civi.afform.tokens`).\n\n(2) The use-case works.","shortMessageHtmlLink":"(dev/core#4267) Afform - Move registration of scanner service"}},{"before":"4f24f48cf1279bcc9765f05cacdf76abb95797df","after":null,"ref":"refs/heads/5.77-font","pushedAt":"2024-09-04T07:36:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"}},{"before":null,"after":"4f24f48cf1279bcc9765f05cacdf76abb95797df","ref":"refs/heads/5.77-font","pushedAt":"2024-09-04T07:23:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"Fatal Errors - Fix display of error icon (FontAwesome 6)","shortMessageHtmlLink":"Fatal Errors - Fix display of error icon (FontAwesome 6)"}},{"before":"a4b4bc50f01f31c65c95561ee8d5af57bd2857ce","after":"efafd8ffdb3106bfbe8f5bc05a5c652248834783","ref":"refs/heads/master-url-test","pushedAt":"2024-09-04T03:31:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"Civi::url() - Fix inconsistent generation of absolute URLs","shortMessageHtmlLink":"Civi::url() - Fix inconsistent generation of absolute URLs"}},{"before":"01fd3a501326133fa14a448d76314215762a21bb","after":"7313fed273a393bacb1c97df6feecc20c05475dd","ref":"refs/heads/master-dompdf-formula","pushedAt":"2024-08-30T05:21:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"dompdf - Configurable paths should accept path variables\n\nBefore: The values in `dompdf_font_dir`, `dompdf_log_output_file` must be set to an absolute path.\n\nAfter: The values in `dompdf_font_dir`, `dompdf_log_output_file` may be absolute, or they may use path-variables.","shortMessageHtmlLink":"dompdf - Configurable paths should accept path variables"}},{"before":"c759586e2a32dcc438f29194d761c493ac193fa3","after":"01fd3a501326133fa14a448d76314215762a21bb","ref":"refs/heads/master-dompdf-formula","pushedAt":"2024-08-30T05:16:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"dompdf - Configurable paths should accept path variables\n\nBefore: The values in `dompdf_font_dir`, `dompdf_log_output_file` must be set to an absolute path.\n\nAfter: The values in `dompdf_font_dir`, `dompdf_log_output_file` may be absolute, or they may use path-variables.","shortMessageHtmlLink":"dompdf - Configurable paths should accept path variables"}},{"before":null,"after":"c759586e2a32dcc438f29194d761c493ac193fa3","ref":"refs/heads/master-dompdf-formula","pushedAt":"2024-08-30T05:14:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"dompdf - Configurable paths should accept path variables\n\nBefore: The values in `dompdf_font_dir`, `dompdf_log_output_file` must be set to an absolute path.\n\nAfter: The values in `dompdf_font_dir`, `dompdf_log_output_file` may be absolute, or they may use path-variables.","shortMessageHtmlLink":"dompdf - Configurable paths should accept path variables"}},{"before":"a3a435cb4b8cef9eed055d08f32e1dc068aacd95","after":"a4b4bc50f01f31c65c95561ee8d5af57bd2857ce","ref":"refs/heads/master-url-test","pushedAt":"2024-08-29T23:54:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"Civi::url() - Fix inconsistent generation of absolute URLs","shortMessageHtmlLink":"Civi::url() - Fix inconsistent generation of absolute URLs"}},{"before":"92200382e45379656750e67b8949d7dedad33ae7","after":"a3a435cb4b8cef9eed055d08f32e1dc068aacd95","ref":"refs/heads/master-url-test","pushedAt":"2024-08-29T23:46:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"Civi::url() - Fix inconsistent generation of absolute URLs","shortMessageHtmlLink":"Civi::url() - Fix inconsistent generation of absolute URLs"}},{"before":"c7ab082b45c3d21f1a00accf1ed60e4a0a95378a","after":"92200382e45379656750e67b8949d7dedad33ae7","ref":"refs/heads/master-url-test","pushedAt":"2024-08-29T21:22:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(WIP) UrlFacadeTest - Start using RemoteTestFunction","shortMessageHtmlLink":"(WIP) UrlFacadeTest - Start using RemoteTestFunction"}},{"before":"e8297fcf157f090f067d1db90d961317925243b1","after":"c7ab082b45c3d21f1a00accf1ed60e4a0a95378a","ref":"refs/heads/master-url-test","pushedAt":"2024-08-29T21:02:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(WIP) UrlFacadeTest - Start using RemoteTestFunction","shortMessageHtmlLink":"(WIP) UrlFacadeTest - Start using RemoteTestFunction"}},{"before":"400fde39842e0dda2f0a96dea9e5238ce82ea132","after":"e8297fcf157f090f067d1db90d961317925243b1","ref":"refs/heads/master-url-test","pushedAt":"2024-08-29T18:34:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"totten","name":"Tim Otten","path":"/totten","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336047?s=80&v=4"},"commit":{"message":"(WIP) UrlFacadeTest - Start using RemoteTestFunction","shortMessageHtmlLink":"(WIP) UrlFacadeTest - Start using RemoteTestFunction"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu3Aw5gA","startCursor":null,"endCursor":null}},"title":"Activity ยท totten/civicrm-core"}