{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":2500559,"defaultBranch":"master","name":"selfoss","ownerLogin":"fossar","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-10-02T18:30:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/23532424?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726104045.0","currentOid":""},"activityList":{"items":[{"before":"ffe0752612d5783417bce9c1303c2cfe9be035be","after":"58d1d30e66d70269c9122905826310c25b4c0f91","ref":"refs/heads/master","pushedAt":"2024-09-19T20:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"weblate","name":"Weblate (bot)","path":"/weblate","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1607653?s=80&v=4"},"commit":{"message":"Translated using Weblate (Ukrainian)\n\nCurrently translated at 100.0% (119 of 119 strings)\n\nTranslation: selfoss/Translations\nTranslate-URL: https://hosted.weblate.org/projects/selfoss/translations/uk/","shortMessageHtmlLink":"Translated using Weblate (Ukrainian)"}},{"before":null,"after":"399adb46d3f6fdae87e5fa023af268a7fac55b83","ref":"refs/heads/dependabot/npm_and_yarn/client/path-to-regexp-1.9.0","pushedAt":"2024-09-12T01:20:45.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":"build(deps): bump path-to-regexp from 1.8.0 to 1.9.0 in /client\n\nBumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 1.8.0 to 1.9.0.\n- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)\n- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)\n- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v1.8.0...v1.9.0)\n\n---\nupdated-dependencies:\n- dependency-name: path-to-regexp\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump path-to-regexp from 1.8.0 to 1.9.0 in /client"}},{"before":"ea92aec79fb51f970702efd39314967d8e96f7b5","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/client/multi-be58494012","pushedAt":"2024-09-10T06:32:14.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":null,"after":"ea92aec79fb51f970702efd39314967d8e96f7b5","ref":"refs/heads/dependabot/npm_and_yarn/client/multi-be58494012","pushedAt":"2024-09-10T04:15:47.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":"build(deps): bump path-to-regexp and react-router-dom in /client\n\nRemoves [path-to-regexp](https://github.com/pillarjs/path-to-regexp). It's no longer used after updating ancestor dependency [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom). These dependencies need to be updated together.\n\n\nRemoves `path-to-regexp`\n\nUpdates `react-router-dom` from 5.3.4 to 6.26.2\n- [Release notes](https://github.com/remix-run/react-router/releases)\n- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)\n- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.2/packages/react-router-dom)\n\n---\nupdated-dependencies:\n- dependency-name: path-to-regexp\n dependency-type: indirect\n- dependency-name: react-router-dom\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump path-to-regexp and react-router-dom in /client"}},{"before":"1c197f716acacfb3c914e70dbee862e8b5b790cf","after":"ffe0752612d5783417bce9c1303c2cfe9be035be","ref":"refs/heads/master","pushedAt":"2024-08-28T07:20:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"weblate","name":"Weblate (bot)","path":"/weblate","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1607653?s=80&v=4"},"commit":{"message":"Translated using Weblate (Catalan)\n\nCurrently translated at 100.0% (119 of 119 strings)\n\nTranslation: selfoss/Translations\nTranslate-URL: https://hosted.weblate.org/projects/selfoss/translations/ca/","shortMessageHtmlLink":"Translated using Weblate (Catalan)"}},{"before":null,"after":"ecef79ae422cafaf1b0a158a323168e05d5952d0","ref":"refs/heads/php84","pushedAt":"2024-08-27T21:09:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"ci: Test on PHP 8.4 beta","shortMessageHtmlLink":"ci: Test on PHP 8.4 beta"}},{"before":"1c197f716acacfb3c914e70dbee862e8b5b790cf","after":null,"ref":"refs/heads/docs-status","pushedAt":"2024-07-21T11:21:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"}},{"before":"f75240b200f8d56478d245fcb8e648229ccd241d","after":"1c197f716acacfb3c914e70dbee862e8b5b790cf","ref":"refs/heads/master","pushedAt":"2024-07-21T11:21:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"docs: clarify project status\n\nHaving read Hintjens’s Social Architecture book, I want to try to build\na community around selfoss, so that I am not the sole developer forever.\n\nUntil then, I need to document the current state so that people do not\nexpect more than I have the capacity to provide.","shortMessageHtmlLink":"docs: clarify project status"}},{"before":"4ed59896899da496c21da3931a9968099988dc24","after":"1c197f716acacfb3c914e70dbee862e8b5b790cf","ref":"refs/heads/docs-status","pushedAt":"2024-07-21T01:17:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"docs: clarify project status\n\nHaving read Hintjens’s Social Architecture book, I want to try to build\na community around selfoss, so that I am not the sole developer forever.\n\nUntil then, I need to document the current state so that people do not\nexpect more than I have the capacity to provide.","shortMessageHtmlLink":"docs: clarify project status"}},{"before":null,"after":"4ed59896899da496c21da3931a9968099988dc24","ref":"refs/heads/docs-status","pushedAt":"2024-07-21T00:56:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"docs: clarify project status","shortMessageHtmlLink":"docs: clarify project status"}},{"before":"f75240b200f8d56478d245fcb8e648229ccd241d","after":null,"ref":"refs/heads/python-maint","pushedAt":"2024-07-11T21:17:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"}},{"before":"2cbecf96f7f2d2f71c26d97bc92916b5fe1a4b72","after":"f75240b200f8d56478d245fcb8e648229ccd241d","ref":"refs/heads/master","pushedAt":"2024-07-11T21:17:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Format Python helpers\n\nAlso add the tooling to `package.json` scripts section and run it on CI.\n\nI opted for creating `npm run check:all` and `npm run fix:all` rather\nthan running the new `npm run check:helpers` and `npm run fix:helpers`\nby the regular `check` and `fix` scripts because the files are\nonly rarely changed.","shortMessageHtmlLink":"Format Python helpers"}},{"before":"7d5b1078fd5caeb39bffad2d6a5a72ded68a7c4b","after":"f75240b200f8d56478d245fcb8e648229ccd241d","ref":"refs/heads/python-maint","pushedAt":"2024-07-11T09:47:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Format Python helpers\n\nAlso add the tooling to `package.json` scripts section and run it on CI.\n\nI opted for creating `npm run check:all` and `npm run fix:all` rather\nthan running the new `npm run check:helpers` and `npm run fix:helpers`\nby the regular `check` and `fix` scripts because the files are\nonly rarely changed.","shortMessageHtmlLink":"Format Python helpers"}},{"before":null,"after":"7d5b1078fd5caeb39bffad2d6a5a72ded68a7c4b","ref":"refs/heads/python-maint","pushedAt":"2024-07-11T09:03:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"build: Adapt npm script names to match client\n\nThis will make them slightly more consistent.","shortMessageHtmlLink":"build: Adapt npm script names to match client"}},{"before":"2cbecf96f7f2d2f71c26d97bc92916b5fe1a4b72","after":null,"ref":"refs/heads/prettier","pushedAt":"2024-07-11T08:49:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"}},{"before":"ad588fd51e55c4a1704f99af5a870aad411c498e","after":"2cbecf96f7f2d2f71c26d97bc92916b5fe1a4b72","ref":"refs/heads/master","pushedAt":"2024-07-11T08:49:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"client: Use prettier for formatting\n\nI do not like the formatting very much but at least it is consistent and supports TypeScript.\nhttps://typescript-eslint.io/troubleshooting/formatting/\n\nAlso replace `lint:js` npm script in the `client/` directory with `check:js:lint`\nand add `check:js` which runs that in addition to newly introduced `check:js:prettify`.\nThis matches how the stylesheet scripts are structured.\n\nAdding `eslint-config-prettier` disables stylistic rules that would fight with Prettier.\nAdditionally, I had to remove some clashing from our ESLint config.\n\nWe are using `eslint-config-prettier` instead of `eslint-plugin-prettier`,\nthe latter would run prettier as part of ESLint but we are already running it separately.","shortMessageHtmlLink":"client: Use prettier for formatting"}},{"before":"a79d10b4aa0eef2348532cec6ffcd47d2fe9ede1","after":"2cbecf96f7f2d2f71c26d97bc92916b5fe1a4b72","ref":"refs/heads/prettier","pushedAt":"2024-07-11T08:44:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"client: Use prettier for formatting\n\nI do not like the formatting very much but at least it is consistent and supports TypeScript.\nhttps://typescript-eslint.io/troubleshooting/formatting/\n\nAlso replace `lint:js` npm script in the `client/` directory with `check:js:lint`\nand add `check:js` which runs that in addition to newly introduced `check:js:prettify`.\nThis matches how the stylesheet scripts are structured.\n\nAdding `eslint-config-prettier` disables stylistic rules that would fight with Prettier.\nAdditionally, I had to remove some clashing from our ESLint config.\n\nWe are using `eslint-config-prettier` instead of `eslint-plugin-prettier`,\nthe latter would run prettier as part of ESLint but we are already running it separately.","shortMessageHtmlLink":"client: Use prettier for formatting"}},{"before":null,"after":"a79d10b4aa0eef2348532cec6ffcd47d2fe9ede1","ref":"refs/heads/prettier","pushedAt":"2024-07-11T08:38:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"client: Use prettier for formatting\n\nI do not like the formatting very much but at least it is consistent and supports TypeScript.\nhttps://typescript-eslint.io/troubleshooting/formatting/\n\nAlso replace `lint:js` npm script in the `client/` directory with `check:js:lint`\nand add `check:js` which runs that in addition to newly introduced `check:js:prettify`.\nThis matches how the stylesheet scripts are structured.\n\nAdding `eslint-config-prettier` disables stylistic rules that would fight with Prettier.\nAdditionally, I had to remove some clashing from our ESLint config.\n\nWe are using `eslint-config-prettier` instead of `eslint-plugin-prettier`,\nthe latter would run prettier as part of ESLint but we are already running it separately.","shortMessageHtmlLink":"client: Use prettier for formatting"}},{"before":null,"after":"d6f70e769740dd009786575c811b6e81a4e28612","ref":"refs/heads/just","pushedAt":"2024-07-11T08:15:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Use just for development instead on npm run\n\nThis behaves slightly more sensibly when calling it recursively.","shortMessageHtmlLink":"Use just for development instead on npm run"}},{"before":"9a83804228862c9027aa9a388f1a6c645b8896b0","after":"25c78e1521aa98ef9600d6dc2f9729aa5aff166e","ref":"refs/heads/ts","pushedAt":"2024-07-11T07:12:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"client: Fix more type check issues","shortMessageHtmlLink":"client: Fix more type check issues"}},{"before":"58d86642024d961493f076fde98bf4835b74364b","after":"a36d70623dc1794785c5e955d0aef7a9712c0ccb","ref":"refs/heads/auth","pushedAt":"2024-07-11T01:42:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Port the rest to new Authentication system","shortMessageHtmlLink":"Port the rest to new Authentication system"}},{"before":"90afd8200074cd6cf6383e03ba7ea19243e24859","after":"58d86642024d961493f076fde98bf4835b74364b","ref":"refs/heads/auth","pushedAt":"2024-07-11T00:34:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Port the rest to new Authentication system","shortMessageHtmlLink":"Port the rest to new Authentication system"}},{"before":"1aaf22266fcf50d79e3f0b8d0908aa6c187c623a","after":"90afd8200074cd6cf6383e03ba7ea19243e24859","ref":"refs/heads/auth","pushedAt":"2024-07-11T00:20:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Switch rest to new Authentication modules","shortMessageHtmlLink":"Switch rest to new Authentication modules"}},{"before":null,"after":"1aaf22266fcf50d79e3f0b8d0908aa6c187c623a","ref":"refs/heads/auth","pushedAt":"2024-07-10T23:49:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Rework Authentication into separate services\n\nThis is a from-scratch rewrite, moving a bit closer to Single Responsibility Principle.\n\nWe split handling of credentials-in-config and always-open authentication systems.\nIn the future, we will be able implement more methods this way.\n\nThis was motivated by session code being called in constructor would break in CLI with Tracy strict mode.\n\nAdditionally:\n\n- Session verification now also checks if the credentials in the config did not change.\n- Requests from local IP now give full access to all operations, not just update.","shortMessageHtmlLink":"Rework Authentication into separate services"}},{"before":"07b6cfb198c2581962ad83ae4f4de87a6ebee9f1","after":"559a15221a1cc73c1cc1601624f01c7535170e41","ref":"refs/heads/console-up","pushedAt":"2024-07-09T08:08:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"Add a selfossctl CLI tool\n\nThis replaces the `cliupdate.php` script with a `symfony/console` based entry point:\n\n php bin/selfossctl update\n\nIn the future we are going to introduce more commands.\n\nWe are creating `LazyCommand`s manually because `Symfony\\Component\\Console\\CommandLoader\\ContainerCommandLoader` does not support lazy loading of commands.\nThat appears to only be supported through Symfony’s DI container:\nhttps://symfony.com/blog/new-in-symfony-5-3-lazy-command-description\nSpecifically, regular commands are getting turned to lazy ones in `Symfony\\Component\\Console\\DependencyInjection\\AddConsoleCommandPass`.\n\nThe individual commands cannot be more lazy so `selfossctl help update` will still connect to database.","shortMessageHtmlLink":"Add a selfossctl CLI tool"}},{"before":"175c6b2396dff650fc2e08df979a93f5119fab8b","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/client/braces-3.0.3","pushedAt":"2024-07-09T07:48:05.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":"7ba724ae8baeac886a6478f35621f915505ee87c","after":"ad588fd51e55c4a1704f99af5a870aad411c498e","ref":"refs/heads/master","pushedAt":"2024-07-09T07:47:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"client: Update dependencies\n\n- @fortawesome/react-fontawesome: 0.2.0 → 0.2.2\n- core-js: 3.37.0 → 3.37.1\n- eslint-plugin-react: 7.34.1 → 7.34.3\n- postcss: 8.4.38 → 8.4.39\n- prettier: 3.2.5 → 3.3.2\n- ramda: 0.30.0 → 0.30.1\n- stylelint: 16.5.0 → 16.6.1\n- yet-another-react-lightbox: 3.18.0 → 3.21.1","shortMessageHtmlLink":"client: Update dependencies"}},{"before":"7ba724ae8baeac886a6478f35621f915505ee87c","after":null,"ref":"refs/heads/sqlite-string-literals","pushedAt":"2024-07-06T08:15:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"}},{"before":"6189bf347bee5b963bdc2e7d3cda2dcc2a127780","after":"7ba724ae8baeac886a6478f35621f915505ee87c","ref":"refs/heads/master","pushedAt":"2024-07-06T08:15:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"daos: Avoid double quotes for string literals\n\nSQLite (https://www.sqlite.org/quirks.html#dblquote),\nMySQL (https://dev.mysql.com/doc/refman/5.7/en/string-literals.html)\nbut not PostgreSQL (https://dev.mysql.com/doc/refman/5.7/en/string-literals.html)\nsupport using double quotes for string literals in some places.\nThis is generally considered a bad practice and SQLite recommends disabling the feature:\nhttps://www.sqlite.org/compile.html#recommended_compile_time_options\nwhich FreeBSD does, resulting in an error on startup:\n\n no such column: table\n\nLet’s fix the syntax to use ANSI SQL quoting style.","shortMessageHtmlLink":"daos: Avoid double quotes for string literals"}},{"before":"d810e0645f234aa4580b21a28f149e521367bf6f","after":"7ba724ae8baeac886a6478f35621f915505ee87c","ref":"refs/heads/sqlite-string-literals","pushedAt":"2024-07-06T08:07:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtojnar","name":"Jan Tojnar","path":"/jtojnar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/705123?s=80&v=4"},"commit":{"message":"daos: Avoid double quotes for string literals\n\nSQLite (https://www.sqlite.org/quirks.html#dblquote),\nMySQL (https://dev.mysql.com/doc/refman/5.7/en/string-literals.html)\nbut not PostgreSQL (https://dev.mysql.com/doc/refman/5.7/en/string-literals.html)\nsupport using double quotes for string literals in some places.\nThis is generally considered a bad practice and SQLite recommends disabling the feature:\nhttps://www.sqlite.org/compile.html#recommended_compile_time_options\nwhich FreeBSD does, resulting in an error on startup:\n\n no such column: table\n\nLet’s fix the syntax to use ANSI SQL quoting style.","shortMessageHtmlLink":"daos: Avoid double quotes for string literals"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu003agA","startCursor":null,"endCursor":null}},"title":"Activity · fossar/selfoss"}