{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1072996,"defaultBranch":"main","name":"openacs-core","ownerLogin":"openacs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-11-11T22:31:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/440711?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1675781913.53441","currentOid":""},"activityList":{"items":[{"before":"d957989ce433cf19ee04083a89cbb6c7c86d1426","after":"66fa9ea5f0efb7027dcdf5edb8c4c3d79846fc65","ref":"refs/heads/oacs-5-10","pushedAt":"2024-05-23T05:12:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"whitespace changes","shortMessageHtmlLink":"whitespace changes"}},{"before":"8d3d6d88b3358d7236d09b51e61d1ae88c42a39b","after":"d957989ce433cf19ee04083a89cbb6c7c86d1426","ref":"refs/heads/oacs-5-10","pushedAt":"2024-05-22T09:27:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"fix typo","shortMessageHtmlLink":"fix typo"}},{"before":"e5325c54522c088cef85ccacf9cbd1793f3ccdc0","after":"8d3d6d88b3358d7236d09b51e61d1ae88c42a39b","ref":"refs/heads/oacs-5-10","pushedAt":"2024-05-18T05:10:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Permit \"lang::message::cache\" in acs::clusterwide operations","shortMessageHtmlLink":"Permit \"lang::message::cache\" in acs::clusterwide operations"}},{"before":"bd154d2addf31d4d386505162fa010fd05781a46","after":"e5325c54522c088cef85ccacf9cbd1793f3ccdc0","ref":"refs/heads/oacs-5-10","pushedAt":"2024-05-07T07:12:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Fallback to the editor from parameter in the generic api, rather than the widget, so fallback will work also outside of ad_form","shortMessageHtmlLink":"Fallback to the editor from parameter in the generic api, rather than…"}},{"before":"7142b4dd98f8756be19569ee40ee1cdc8225d580","after":"bd154d2addf31d4d386505162fa010fd05781a46","ref":"refs/heads/oacs-5-10","pushedAt":"2024-05-06T15:00:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Introduce for richtext editors the concept of \"preset\"\n\nA preset is an abstract set configurations designed to address a specific use case.\nAn example could be a preset for a \"minimal\" richtext editor, used in those forms where we want to limit the features a user should have access to. Other presets could address specific usages or applications.\n\nDownstream developers can provide a set of ::richtext::$editor::preset::$preset procs, returning an options dict. This set of options will be merged other local configurations.\nThe same approach works in ad_forms and xowiki forms.\n\nThis also enables the use-case of switching to a different editor maintaining the existing application-specific configurations consistent.","shortMessageHtmlLink":"Introduce for richtext editors the concept of \"preset\""}},{"before":"1ac3ec8523b0a3150e8e2d28ae321143db2bab0b","after":"7142b4dd98f8756be19569ee40ee1cdc8225d580","ref":"refs/heads/oacs-5-10","pushedAt":"2024-04-29T14:29:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Harden the page contract and ensure that:\n\n - for chat rooms in the chat package, only the chat class enforcing permissions is used\n - for other chat ids, either the id is an object the user can read, or the user can at least read on the current connection package","shortMessageHtmlLink":"Harden the page contract and ensure that:"}},{"before":"3abfee6b1607273723bad78cdf3e49da272eb10d","after":"1ac3ec8523b0a3150e8e2d28ae321143db2bab0b","ref":"refs/heads/oacs-5-10","pushedAt":"2024-04-26T05:12:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Make test more robust in setups where we cache permissions","shortMessageHtmlLink":"Make test more robust in setups where we cache permissions"}},{"before":"3f2642617647f6c2150a3976ee92f23a75913625","after":"3abfee6b1607273723bad78cdf3e49da272eb10d","ref":"refs/heads/oacs-5-10","pushedAt":"2024-04-25T05:12:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Only allow valid privileges in the privs parameter","shortMessageHtmlLink":"Only allow valid privileges in the privs parameter"}},{"before":"719a4a4fe58dd082e7dccfaed805125337b10d41","after":"3f2642617647f6c2150a3976ee92f23a75913625","ref":"refs/heads/oacs-5-10","pushedAt":"2024-04-24T05:12:47.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Prevent sneaking symlinks in the content repository\n\nMany thanks to Thomas Rennner and Günter Ernst for analyzing the issue","shortMessageHtmlLink":"Prevent sneaking symlinks in the content repository"}},{"before":"879c51f59beebe595beedf50709eed8bf706b380","after":"719a4a4fe58dd082e7dccfaed805125337b10d41","ref":"refs/heads/oacs-5-10","pushedAt":"2024-04-06T05:12:40.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"added link to cluster info to acs-admin main page when cluster is enabled","shortMessageHtmlLink":"added link to cluster info to acs-admin main page when cluster is ena…"}},{"before":"41f2b501764dba31955f44115dfc32e6f5f2c4e2","after":"879c51f59beebe595beedf50709eed8bf706b380","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-30T06:12:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Made .xql file more consistent by using dot notation\n\nOpenACS for PostgreSQL uses since the release of 5.10.0 the dot\nnotation for the SQL function acs_permission.permission_p() to ease\nportability with Oracle.\n\nIn general, one has to be careful that during an upgrade from an older\nOpenACS version (e.g. 5.9.*) directly to 5.10.1 to upgrade process\ndoes not depend on the dot notation, otherwise the upgrade will fail.\nOne should be safe for most UI functions in this respect.","shortMessageHtmlLink":"Made .xql file more consistent by using dot notation"}},{"before":"b8001d370a7dd3286b1f2e28e92fc4024344fdad","after":"41f2b501764dba31955f44115dfc32e6f5f2c4e2","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-28T06:12:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Expand permission test suite to include definition of custom privileges in a couple of setups","shortMessageHtmlLink":"Expand permission test suite to include definition of custom privileg…"}},{"before":"ccc807503746b75f001a72db7d8779e248beb45c","after":"b8001d370a7dd3286b1f2e28e92fc4024344fdad","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-27T06:12:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Provide an automated test of \"advanced\" permission features: permission inheritance via group, or via the permission context","shortMessageHtmlLink":"Provide an automated test of \"advanced\" permission features: permissi…"}},{"before":"232ad45eb5b36d516c2b06fef78661dd317c10e8","after":"ccc807503746b75f001a72db7d8779e248beb45c","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-20T06:12:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Untangle if logics","shortMessageHtmlLink":"Untangle if logics"}},{"before":"bcb7c36d97e06c6f95aa3c78619733cf9e3b49ef","after":"232ad45eb5b36d516c2b06fef78661dd317c10e8","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-19T06:12:34.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Harden page contract","shortMessageHtmlLink":"Harden page contract"}},{"before":"c95a1b8842741987b4218e78f7673d54ae637825","after":"bcb7c36d97e06c6f95aa3c78619733cf9e3b49ef","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-12T09:34:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Add new extension mjs, for Javascript modules, to the Javascript mime type","shortMessageHtmlLink":"Add new extension mjs, for Javascript modules, to the Javascript mime…"}},{"before":"44133cd9867bda7c934f7e2aeb38657518d75663","after":"c95a1b8842741987b4218e78f7673d54ae637825","ref":"refs/heads/oacs-5-10","pushedAt":"2024-03-01T06:12:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Update italian localization","shortMessageHtmlLink":"Update italian localization"}},{"before":"d9f931a1303a55682fc9ff59ae6bd5c86059639f","after":"44133cd9867bda7c934f7e2aeb38657518d75663","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-28T06:12:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Remove duplicated entry","shortMessageHtmlLink":"Remove duplicated entry"}},{"before":"0f1c91ae0f205564eb8a4c8f8e85a471971ef33c","after":"d9f931a1303a55682fc9ff59ae6bd5c86059639f","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-27T06:12:35.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"removed legacy code from apm_transfer_file\n\nutil::http::get should be everywhere available","shortMessageHtmlLink":"removed legacy code from apm_transfer_file"}},{"before":"5fb9938063a947eafb037725cdf5855afe52c859","after":"0f1c91ae0f205564eb8a4c8f8e85a471971ef33c","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-26T06:12:47.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Cleanup of external binaries: always use \"util::which\" to resolve binaries\n\nBackground: it is important to always use the same binaries of some\nprograms. This is important for security reasons, consistency, and\nconfigurability (some operating systems have read-only file systems,\nwhich might be on the path and should be avoided for some operations).","shortMessageHtmlLink":"Cleanup of external binaries: always use \"util::which\" to resolve bin…"}},{"before":"8837281cb72cf02cfac6fa21526d5d71ec8c9855","after":"5fb9938063a947eafb037725cdf5855afe52c859","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-24T06:12:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Improve test:\n\nwhether the html filter will accept or not a script tag is configuration-dependent. We now enforce that the outcome is consistent with the security check for HTML used in the filter itself.","shortMessageHtmlLink":"Improve test:"}},{"before":"8020c57bd21fbb75743b77ec586dccb1c8acc264","after":"8837281cb72cf02cfac6fa21526d5d71ec8c9855","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-17T06:12:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Flush the whole key pattern, now that the key can end either in true or false\n\nFixes locale__test_lang_conn_browser_locale automated test","shortMessageHtmlLink":"Flush the whole key pattern, now that the key can end either in true …"}},{"before":"6f91fdde0daf9b4f793d8e98fecd880f78502847","after":"8020c57bd21fbb75743b77ec586dccb1c8acc264","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-16T13:52:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Manually replace the \":\" entity to prevent attempts at disguising \"javascript:\" links","shortMessageHtmlLink":"Manually replace the \":\" entity to prevent attempts at disguisi…"}},{"before":"b50c12d90f63d156cfa5acd83162738ef9612cd1","after":"6f91fdde0daf9b4f793d8e98fecd880f78502847","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-16T06:12:37.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"page filters with NUL value\n\nPrefer \"string first\" over \"regexp\" since this is twice as fast.","shortMessageHtmlLink":"page filters with NUL value"}},{"before":"77f90a0be6d7f566121521a5eccac99bfec7298c","after":"b50c12d90f63d156cfa5acd83162738ef9612cd1","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-14T06:12:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Reform of error handling in ad_page_contract when template recursion is detected\n\nA \"complaint recursion\" happens if a validation error takes place in one of the templates used while rendering the error page (for instance, anything we include in the master template or the master template itself).\nPreviously, we would give up complaining after 10 recursions were detected. This had the consequence that after 10 attempt, the failing template involved in rendering the complaint would be fed the invalid data we were trying to reject.\n\nNow, we complain and stop the execution as soon as a recursion is detected. The error will be rendered in a very basic way that overrides the templating system, so that we can exit the recursion cycle.\n\nIn practice, only malicious page manipulation attempts should be affected by this change.","shortMessageHtmlLink":"Reform of error handling in ad_page_contract when template recursion …"}},{"before":"e8e88de647d59d3a6bad0af4fc45826fde944e90","after":"77f90a0be6d7f566121521a5eccac99bfec7298c","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-13T06:12:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"improved portability: some versions of \"gzip\" do not support option \"-S\"","shortMessageHtmlLink":"improved portability: some versions of \"gzip\" do not support option \"-S\""}},{"before":"3951ae3a27407eef1fe49cb4bcc53eaa436179a3","after":"e8e88de647d59d3a6bad0af4fc45826fde944e90","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-09T06:12:37.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"improved spelling","shortMessageHtmlLink":"improved spelling"}},{"before":"208eea7a0ad14d3f9b108c9a3f72c882ea6cfc16","after":"3951ae3a27407eef1fe49cb4bcc53eaa436179a3","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-08T06:12:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Adapt test to current timezones","shortMessageHtmlLink":"Adapt test to current timezones"}},{"before":"c2cd28e90746780580545f7ca3fac9a2aa482634","after":"208eea7a0ad14d3f9b108c9a3f72c882ea6cfc16","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-06T06:12:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"improved spelling","shortMessageHtmlLink":"improved spelling"}},{"before":"828ab0bd43e902cf3faf56752ef02dec1c3d08e5","after":"c2cd28e90746780580545f7ca3fac9a2aa482634","ref":"refs/heads/oacs-5-10","pushedAt":"2024-02-05T06:12:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vguerra","name":"Victor Guerra","path":"/vguerra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23291?s=80&v=4"},"commit":{"message":"Upgrade timezone data to tzdb-2024a (Released 2024-02-01) from IANA\n\nThe last update of the timezone data of OpenACS happened on Sep 29,\n2015 in the release process of OpenACS 5.9.0. The new timezone data is\nbased on the newest released data from IANA reflecting the changes\nmade by political bodies to time zone boundaries, UTC offsets, and\ndaylight-saving rules. The procedures to update the database are\ndescribed in RFC 6557 (https://www.rfc-editor.org/rfc/rfc6557.html)\nand contains data for e.g. Europe up to the year 2499.","shortMessageHtmlLink":"Upgrade timezone data to tzdb-2024a (Released 2024-02-01) from IANA"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUZ0v6AA","startCursor":null,"endCursor":null}},"title":"Activity · openacs/openacs-core"}