{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":23262,"defaultBranch":"master","name":"yokadi","ownerLogin":"agateau","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2008-06-07T19:24:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3575?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725460666.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"491c75a790713bf4b315034c89f2a75935002b86","ref":"refs/heads/colored-keywords","pushedAt":"2024-09-04T14:37:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Write keywords as colored `@k1 @k2`\n\nThis is more readable and more compact than the existing `(k1, k2)`\nformat.","shortMessageHtmlLink":"Write keywords as colored @k1 @k2"}},{"before":"8fbf062324473001ec2b25293e403ede855e3621","after":"a490e51085b08579b2ee47815fc721eaed1db3c8","ref":"refs/heads/dev","pushedAt":"2024-09-03T06:41:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"testTaskDoneMapping: fix wrong date type being used","shortMessageHtmlLink":"testTaskDoneMapping: fix wrong date type being used"}},{"before":"c6bf84be85d411495e223ccc55cc9eb622440238","after":"d91338929091ab29e92b1624fd812a3db07d3bc8","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-09-03T06:41:42.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Merge branch 'dev' into sqlalchemy-2.0","shortMessageHtmlLink":"Merge branch 'dev' into sqlalchemy-2.0"}},{"before":"f2379cf85f72c59ecef5ced90d0a9150454c3ede","after":"5982266888720b136784e4422926c97fed43a736","ref":"refs/heads/sync","pushedAt":"2024-09-03T06:41:35.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Merge branch 'sqlalchemy-2.0' into sync","shortMessageHtmlLink":"Merge branch 'sqlalchemy-2.0' into sync"}},{"before":"b2004c74a283acf88f3372a2ab2bdd532da4b6f8","after":"f2379cf85f72c59ecef5ced90d0a9150454c3ede","ref":"refs/heads/sync","pushedAt":"2024-09-03T06:38:14.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Merge branch 'sqlalchemy-2.0' into sync","shortMessageHtmlLink":"Merge branch 'sqlalchemy-2.0' into sync"}},{"before":"4c725039376a561b00af1c1c2ea97e0e20e4e59d","after":"c6bf84be85d411495e223ccc55cc9eb622440238","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-16T07:25:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Update SQLAlchemy to 2.0.32","shortMessageHtmlLink":"Update SQLAlchemy to 2.0.32"}},{"before":"0b058f667b8c869a236457067c7095d35eeca731","after":"8fbf062324473001ec2b25293e403ede855e3621","ref":"refs/heads/dev","pushedAt":"2024-08-16T07:24:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Add test for setVersion(), fix deprecated code","shortMessageHtmlLink":"Add test for setVersion(), fix deprecated code"}},{"before":"9279f96e0ab2c1c5443a087ffdd2a8e895be0862","after":"4c725039376a561b00af1c1c2ea97e0e20e4e59d","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-13T07:08:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"08dfe0e2023f9ce42f383258dd5adb96656d6567","after":"0b058f667b8c869a236457067c7095d35eeca731","ref":"refs/heads/dev","pushedAt":"2024-08-13T07:07:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Add extra check in ical test","shortMessageHtmlLink":"Add extra check in ical test"}},{"before":"839ba257a7e6e3010298cdb27bb77760ea99c0a5","after":"9279f96e0ab2c1c5443a087ffdd2a8e895be0862","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-12T20:00:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"56c6a9f957b7ee47a0db39732a0860296ffdb2f5","after":"08dfe0e2023f9ce42f383258dd5adb96656d6567","ref":"refs/heads/dev","pushedAt":"2024-08-12T19:58:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Add tests for IcalHttpRequestHandler","shortMessageHtmlLink":"Add tests for IcalHttpRequestHandler"}},{"before":"564c3a80222fbffeb9a0c34b5f78354452651bfa","after":"839ba257a7e6e3010298cdb27bb77760ea99c0a5","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-12T06:42:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"a1cadd31fdf6655d39d9bdf48f2006c3ad07c631","after":"56c6a9f957b7ee47a0db39732a0860296ffdb2f5","ref":"refs/heads/dev","pushedAt":"2024-08-12T06:42:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"TaskTestCase: Fix test getting covered by another one","shortMessageHtmlLink":"TaskTestCase: Fix test getting covered by another one"}},{"before":"5ae18ddd4cd39fe8803cc8ba152ff29eda085a14","after":"564c3a80222fbffeb9a0c34b5f78354452651bfa","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-02T17:59:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"4e5e94f6380166c916b1b47e5263f22f8bdc854f","after":"a1cadd31fdf6655d39d9bdf48f2006c3ad07c631","ref":"refs/heads/dev","pushedAt":"2024-08-02T17:55:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Make coverage script generate HTML report","shortMessageHtmlLink":"Make coverage script generate HTML report"}},{"before":"2e8b9aa769e7a62b3cae6b4d90bd2b9168845696","after":"b2004c74a283acf88f3372a2ab2bdd532da4b6f8","ref":"refs/heads/sync","pushedAt":"2024-08-02T17:25:04.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Merge branch 'dev' into sync","shortMessageHtmlLink":"Merge branch 'dev' into sync"}},{"before":"8677c249dfcb1de91c3e539ab211ae8233d7c2f1","after":"5ae18ddd4cd39fe8803cc8ba152ff29eda085a14","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-02T17:23:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"93c4eeac26ebbe214a3e7223d6f4fa9a095d1a0c","after":"4e5e94f6380166c916b1b47e5263f22f8bdc854f","ref":"refs/heads/dev","pushedAt":"2024-08-02T17:17:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Remove usage of Session.merge()\n\nSession.merge() is useful to update an instance which is already in the\nsession with a newly created instance, but we never do that.\n\nWhen we need the ID of a newly created instance, call Session.flush()\ninstead.\n\nChanging this fixes issues with SQLAlchemy 2.0.","shortMessageHtmlLink":"Remove usage of Session.merge()"}},{"before":null,"after":"8677c249dfcb1de91c3e539ab211ae8233d7c2f1","ref":"refs/heads/sqlalchemy-2.0","pushedAt":"2024-08-02T07:11:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix all SQLAlchemy 2.0 warnings\n\nWhen running tests like this:\n\n```\nSQLALCHEMY_WARN_20=1 \\\n python -W error::DeprecationWarning -m pytest yokadi/tests/tests.py\n```\n\nThey pass without failing.","shortMessageHtmlLink":"Fix all SQLAlchemy 2.0 warnings"}},{"before":"f92f8c33eb7880803ad512ed253d506f698f2d56","after":"93c4eeac26ebbe214a3e7223d6f4fa9a095d1a0c","ref":"refs/heads/dev","pushedAt":"2024-08-02T06:59:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Bump coverage, flake8 and pytest to latest versions","shortMessageHtmlLink":"Bump coverage, flake8 and pytest to latest versions"}},{"before":"89b40d795c6d9d31c6e6f2e9ede8415f6fa0c0d3","after":"f92f8c33eb7880803ad512ed253d506f698f2d56","ref":"refs/heads/dev","pushedAt":"2024-08-02T06:56:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Make CI run icalendar tests","shortMessageHtmlLink":"Make CI run icalendar tests"}},{"before":"02d6f74f21cf8c0d97e28611bacf66163af3023b","after":"89b40d795c6d9d31c6e6f2e9ede8415f6fa0c0d3","ref":"refs/heads/dev","pushedAt":"2024-08-02T06:55:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Fix fail to import test suite when icalendar is available\n\nRunning the test suite would fail with:\n\n```\n___________________________________________________________________________________ ERROR collecting yokadi/tests/tests.py ___________________________________________________________________________________\nyokadi/tests/tests.py:17: in \n import icalendar # noqa: F401\n.venv/lib/python3.10/site-packages/icalendar/__init__.py:1: in \n from icalendar.cal import (\n.venv/lib/python3.10/site-packages/icalendar/cal.py:9: in \n from icalendar.parser import Contentline\n.venv/lib/python3.10/site-packages/icalendar/parser.py:371: in \n from icalendar.prop import vText\n.venv/lib/python3.10/site-packages/icalendar/prop.py:151: in \n class vBoolean(int):\n.venv/lib/python3.10/site-packages/icalendar/prop.py:154: in vBoolean\n BOOL_MAP = CaselessDict(true=True, false=False)\n.venv/lib/python3.10/site-packages/icalendar/caselessdict.py:32: in __init__\n for key, value in self.items():\nE RuntimeError: dictionary keys changed during iteration\n```\n\nBump icalendar to 3.7.","shortMessageHtmlLink":"Fix fail to import test suite when icalendar is available"}},{"before":"b5661b0ef264e99d6a0c3694e520637050fad820","after":"02d6f74f21cf8c0d97e28611bacf66163af3023b","ref":"refs/heads/dev","pushedAt":"2024-07-31T06:46:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Make flake8 ignore .venv dir","shortMessageHtmlLink":"Make flake8 ignore .venv dir"}},{"before":"73237113da0f4cba114d97aaf1dc9c224bd97649","after":"b5661b0ef264e99d6a0c3694e520637050fad820","ref":"refs/heads/dev","pushedAt":"2024-07-31T06:44:07.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"agateau","name":"Aurélien Gâteau","path":"/agateau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3575?s=80&v=4"},"commit":{"message":"Make flake8 ignore .venv dir","shortMessageHtmlLink":"Make flake8 ignore .venv dir"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wNFQxNDozNzo0Ni4wMDAwMDBazwAAAASs09HE","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0zMVQwNjo0NDowNy4wMDAwMDBazwAAAASNuMF2"}},"title":"Activity · agateau/yokadi"}