{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":636403980,"defaultBranch":"main","name":"thermidity","ownerLogin":"gitdode","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-04T19:18:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11530253?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1697400001.0","currentOid":""},"activityList":{"items":[{"before":"4a4605fcfb803a56d4ae9e451bb1928901b6f2f2","after":"fabe3848e52a83c67e9ac86a81d6ed6f9cd417ab","ref":"refs/heads/use-glyph-lookup-tables","pushedAt":"2023-10-24T21:34:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"Auto-generate lookup tables for unifont.c and dejavu.c.\nThe generated lookup tables are included by these C files and pointed-to\nby the new field Font.code_to_id which has type const __flash uint8_t*.\nThe auto-generated files unifont-lookup.h and dejavu-lookup.h\nare generated on the fly by the new Python script gen-lookup.py.\n\nfont.c::getGlyphAddress() uses the lookup table to speed up glyph lookup,\nprovided font->code_to_id is non-NULL -- which is always the case for now.\nThis means that the binary search in getGlyphAddress() is actually dead code.\n\nThe type of Font.code has been changed from uint16_t to code_t, which\nmakes it easier to switch char codes from a 16-bit type to an 8-bit type.\ncode_t is typedef'ed to uint16_t.\n\nCode sizes with avr-gcc v8 are:\n* 17022 bytes with code_t = uint16_t\n* 16784 bytes with code_t = uint8_t\nwhich is a difference of 238 bytes. unifontFont contains 190 gyphs, and\ndejaVuFont contains 28 glyphs, hence the expected gain of switching\ncode_t from uint16_t to uint8_t is 218 bytes at leat.\n\nthermidity.elf depends on all headers, so respective dependencies were added\nin the Makefile.\n\nthermidity-avr/\n\t* gen-lookup.py: New Python script.\n\n\t* Makefile ($(TARGET).elf): Depend on: Makefile, bitmaps.h, dejavu.h,\n\tdisplay.h, eink.h, font.h, meter.h, pins.h, spi.h, sram.h, unifont.h,\n\tusart.h, utils.h, unifont-lookup.h, dejavu-lookup.h.\n\t(unifont-lookup.h): New rule to auto-generate it from unifont.c.\n\t(dejavu-lookup.h): New rule to auto-generate it from dejavu.c.\n\t(clean): Add unifont-lookup.h dejavu-lookup.h.\n\n\t* font.h (code_t): New typedef to uint16_t.\n\t(Font) [code]: Change element type to code_t.\n\t[code_to_id]: New element pointing to uint8_t[256] lookup, or NULL.\n\t(getGlyphAddress) [code]: Change param type to code_t.\n\n\t* font.c (getGlyphAddress): Use lookup table font->code_to_id if\n\tavailable.\n\t[code]: Change param type to code_t.\n\n\t* dejavu.c (dejavu-lookup.h): New include.\n\t(dejaVuFont): Add 4th element lookup_dejavu to initilizer.\n\n\t* unifont.c (unifont-lookup.h): New include.\n\t(unifontFont): Add 4th element lookup_unifont to initilizer.\n\n\t* display.c (writeGlyph) [code]: Change param type to code_t.\n\t(writeString): Pass code as code_t to writeGlyph.","shortMessageHtmlLink":"Auto-generate lookup tables for unifont.c and dejavu.c."}},{"before":"b815f4cc6f2b963425e5d23df086bdf7afb57d94","after":null,"ref":"refs/heads/action-test","pushedAt":"2023-10-10T13:34:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"2f4ebb5e6deafe52330e12efdf6fb6b2b2b5e5b8","after":"b815f4cc6f2b963425e5d23df086bdf7afb57d94","ref":"refs/heads/action-test","pushedAt":"2023-10-10T13:31:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"Create justatest.txt","shortMessageHtmlLink":"Create justatest.txt"}},{"before":null,"after":"2f4ebb5e6deafe52330e12efdf6fb6b2b2b5e5b8","ref":"refs/heads/action-test","pushedAt":"2023-10-10T13:29:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"update to KiCad 7.0, add PDF for schematic and PCB (#47)","shortMessageHtmlLink":"update to KiCad 7.0, add PDF for schematic and PCB (#47)"}},{"before":"f533675a1f4cf39fbd5cc9c4856e69ad86d7da08","after":null,"ref":"refs/heads/kicad","pushedAt":"2023-10-09T22:01:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"9edd883d553f2ac1178188a000daad49fe3adcda","after":"2f4ebb5e6deafe52330e12efdf6fb6b2b2b5e5b8","ref":"refs/heads/main","pushedAt":"2023-10-09T22:01:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"update to KiCad 7.0, add PDF for schematic and PCB (#47)","shortMessageHtmlLink":"update to KiCad 7.0, add PDF for schematic and PCB (#47)"}},{"before":null,"after":"f533675a1f4cf39fbd5cc9c4856e69ad86d7da08","ref":"refs/heads/kicad","pushedAt":"2023-10-09T22:00:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"update to KiCad 7.0, add PDF for schematic and PCB","shortMessageHtmlLink":"update to KiCad 7.0, add PDF for schematic and PCB"}},{"before":"c750f7e3c2ee722e690c69ea95edb6b9d95f67d2","after":null,"ref":"refs/heads/freecad","pushedAt":"2023-10-08T20:31:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"1276a499775a6eeeb63a40a6719f003890a50729","after":"9edd883d553f2ac1178188a000daad49fe3adcda","ref":"refs/heads/main","pushedAt":"2023-10-08T20:31:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"add STEP for whole frame, update PDF (#46)","shortMessageHtmlLink":"add STEP for whole frame, update PDF (#46)"}},{"before":null,"after":"c750f7e3c2ee722e690c69ea95edb6b9d95f67d2","ref":"refs/heads/freecad","pushedAt":"2023-10-08T20:28:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"add STEP for whole frame, update PDF","shortMessageHtmlLink":"add STEP for whole frame, update PDF"}},{"before":"06ee5234b8301491dafb3163eddd4eb86e71105d","after":"1276a499775a6eeeb63a40a6719f003890a50729","ref":"refs/heads/main","pushedAt":"2023-10-07T10:06:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"update NetBeans project configuration","shortMessageHtmlLink":"update NetBeans project configuration"}},{"before":"233fbc83d6132afedec61c83f14abc3d864675d0","after":"4a4605fcfb803a56d4ae9e451bb1928901b6f2f2","ref":"refs/heads/use-glyph-lookup-tables","pushedAt":"2023-10-06T15:58:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"Auto-generate lookup tables for unifont.c and dejavu.c.\nThe generated lookup tables are included by these C files and pointed-to\nby the new field Font.code_to_id which has type const __flash uint8_t*.\nThe auto-generated files unifont-lookup.h and dejavu-lookup.h\nare generated on the fly by the new Python script gen-lookup.py.\n\nfont.c::getGlyphAddress() uses the lookup table to speed up glyph lookup,\nprovided font->code_to_id is non-NULL -- which is always the case for now.\nThis means that the binary search in getGlyphAddress() is actually dead code.\n\nThe type of Font.code has been changed from uint16_t to code_t, which\nmakes it easier to switch char codes from a 16-bit type to an 8-bit type.\ncode_t is typedef'ed to uint16_t.\n\nCode sizes with avr-gcc v8 are:\n* 17022 bytes with code_t = uint16_t\n* 16784 bytes with code_t = uint8_t\nwhich is a difference of 238 bytes. unifontFont contains 190 gyphs, and\ndejaVuFont contains 28 glyphs, hence the expected gain of switching\ncode_t from uint16_t to uint8_t is 218 bytes at leat.\n\nthermidity.elf depends on all headers, so respective dependencies were added\nin the Makefile.\n\nthermidity-avr/\n\t* gen-lookup.py: New Python script.\n\n\t* Makefile ($(TARGET).elf): Depend on: Makefile, bitmaps.h, dejavu.h,\n\tdisplay.h, eink.h, font.h, meter.h, pins.h, spi.h, sram.h, unifont.h,\n\tusart.h, utils.h, unifont-lookup.h, dejavu-lookup.h.\n\t(unifont-lookup.h): New rule to auto-generate it from unifont.c.\n\t(dejavu-lookup.h): New rule to auto-generate it from dejavu.c.\n\t(clean): Add unifont-lookup.h dejavu-lookup.h.\n\n\t* font.h (code_t): New typedef to uint16_t.\n\t(Font) [code]: Change element type to code_t.\n\t[code_to_id]: New element pointing to uint8_t[256] lookup, or NULL.\n\t(getGlyphAddress) [code]: Change param type to code_t.\n\n\t* font.c (getGlyphAddress): Use lookup table font->code_to_id if\n\tavailable.\n\t[code]: Change param type to code_t.\n\n\t* dejavu.c (dejavu-lookup.h): New include.\n\t(dejaVuFont): Add 4th element lookup_dejavu to initilizer.\n\n\t* unifont.c (unifont-lookup.h): New include.\n\t(unifontFont): Add 4th element lookup_unifont to initilizer.\n\n\t* display.c (writeGlyph) [code]: Change param type to code_t.\n\t(writeString): Pass code as code_t to writeGlyph.","shortMessageHtmlLink":"Auto-generate lookup tables for unifont.c and dejavu.c."}},{"before":"ac0fe395f9645ef03d91aa6f87e5c3b43af76fce","after":null,"ref":"refs/heads/pointer-to-const","pushedAt":"2023-10-06T15:39:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"8c24f968a58d0e95ced6286de8c4ab558e6b6cc7","after":"06ee5234b8301491dafb3163eddd4eb86e71105d","ref":"refs/heads/main","pushedAt":"2023-10-06T15:39:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"make pointed-to objects const that are not supposed to be changed (#45)","shortMessageHtmlLink":"make pointed-to objects const that are not supposed to be changed (#45)"}},{"before":null,"after":"ac0fe395f9645ef03d91aa6f87e5c3b43af76fce","ref":"refs/heads/pointer-to-const","pushedAt":"2023-10-06T15:38:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"make pointed-to objects const that are not supposed to be changed","shortMessageHtmlLink":"make pointed-to objects const that are not supposed to be changed"}},{"before":"c5c49f5829ae888fb335df7a84685cdc8e2223ce","after":"233fbc83d6132afedec61c83f14abc3d864675d0","ref":"refs/heads/use-glyph-lookup-tables","pushedAt":"2023-09-21T22:31:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"Auto-generate lookup tables for unifont.c and dejavu.c.\nThe generated lookup tables are included by these C files and pointed-to\nby the new field Font.code_to_id which has type const __flash uint8_t*.\nThe auto-generated files unifont-lookup.h and dejavu-lookup.h\nare generated on the fly by the new Python script gen-lookup.py.\n\nfont.c::getGlyphAddress() uses the lookup table to speed up glyph lookup,\nprovided font->code_to_id is non-NULL -- which is always the case for now.\nThis means that the binary search in getGlyphAddress() is actually dead code.\n\nThe type of Font.code has been changed from uint16_t to code_t, which\nmakes it easier to switch char codes from a 16-bit type to an 8-bit type.\ncode_t is typedef'ed to uint16_t.\n\nCode sizes with avr-gcc v8 are:\n* 17022 bytes with code_t = uint16_t\n* 16784 bytes with code_t = uint8_t\nwhich is a difference of 238 bytes. unifontFont contains 190 gyphs, and\ndejaVuFont contains 28 glyphs, hence the expected gain of switching\ncode_t from uint16_t to uint8_t is 218 bytes at leat.\n\nthermidity.elf depends on all headers, so respective dependencies were added\nin the Makefile.\n\nthermidity-avr/\n\t* gen-lookup.py: New Python script.\n\n\t* Makefile ($(TARGET).elf): Depend on: Makefile, bitmaps.h, dejavu.h,\n\tdisplay.h, eink.h, font.h, meter.h, pins.h, spi.h, sram.h, unifont.h,\n\tusart.h, utils.h, unifont-lookup.h, dejavu-lookup.h.\n\t(unifont-lookup.h): New rule to auto-generate it from unifont.c.\n\t(dejavu-lookup.h): New rule to auto-generate it from dejavu.c.\n\t(clean): Add unifont-lookup.h dejavu-lookup.h.\n\n\t* font.h (code_t): New typedef to uint16_t.\n\t(Font) [code]: Change element type to code_t.\n\t[code_to_id]: New element pointing to uint8_t[256] lookup, or NULL.\n\t(getGlyphAddress) [code]: Change param type to code_t.\n\n\t* font.c (getGlyphAddress): Use lookup table font->code_to_id if\n\tavailable.\n\t[code]: Change param type to code_t.\n\n\t* dejavu.c (dejavu-lookup.h): New include.\n\t(dejaVuFont): Add 4th element lookup_dejavu to initilizer.\n\n\t* unifont.c (unifont-lookup.h): New include.\n\t(unifontFont): Add 4th element lookup_unifont to initilizer.\n\n\t* display.c (writeGlyph) [code]: Change param type to code_t.\n\t(writeString): Pass code as code_t to writeGlyph.","shortMessageHtmlLink":"Auto-generate lookup tables for unifont.c and dejavu.c."}},{"before":"ac428b896a71bcd8fd284abdb35fdd630a7e35f5","after":null,"ref":"refs/heads/pass-structs-by-reference-binary-search","pushedAt":"2023-09-20T21:52:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"829d826e621e3a27f3eeeb5a3c8288532fd7df0a","after":null,"ref":"refs/heads/ratiometric-temperature","pushedAt":"2023-09-20T21:52:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"14b9ebe39e9943d01651db56db5a492422f1b77f","after":null,"ref":"refs/heads/powersave-watchdog","pushedAt":"2023-09-20T21:52:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"cfc8bb1c4f33cefb89c9d2fb3643b47affe79f4b","after":null,"ref":"refs/heads/powersave-timer2-async","pushedAt":"2023-09-20T21:52:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"2d57805bb44eea94c4314a50f3d0c2e91f781cf0","after":null,"ref":"refs/heads/clear-sequential","pushedAt":"2023-09-20T18:05:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"b8b57428bfec8f1d84863f3e41f31210006e8639","after":"8c24f968a58d0e95ced6286de8c4ab558e6b6cc7","ref":"refs/heads/main","pushedAt":"2023-09-20T18:05:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"set frame in SRAM sequential mode, saving more power (#43)","shortMessageHtmlLink":"set frame in SRAM sequential mode, saving more power (#43)"}},{"before":"b3e894bd3597c210abd986fe7a81b5c21e071a5f","after":"2d57805bb44eea94c4314a50f3d0c2e91f781cf0","ref":"refs/heads/clear-sequential","pushedAt":"2023-09-20T18:03:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"set frame in SRAM sequential mode, saving more power","shortMessageHtmlLink":"set frame in SRAM sequential mode, saving more power"}},{"before":"f1f13c4a49604805dc4081606aa08a40f9542bfb","after":null,"ref":"refs/heads/types","pushedAt":"2023-09-20T18:00:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"}},{"before":"2f68970a55eecdd466003beb8f2b76e4937860c8","after":"b8b57428bfec8f1d84863f3e41f31210006e8639","ref":"refs/heads/main","pushedAt":"2023-09-20T18:00:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"more optimizations on types (#41)","shortMessageHtmlLink":"more optimizations on types (#41)"}},{"before":null,"after":"b3e894bd3597c210abd986fe7a81b5c21e071a5f","ref":"refs/heads/clear-sequential","pushedAt":"2023-09-20T17:54:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"set frame in SRAM sequential mode, saving more power","shortMessageHtmlLink":"set frame in SRAM sequential mode, saving more power"}},{"before":"2f68970a55eecdd466003beb8f2b76e4937860c8","after":"f1f13c4a49604805dc4081606aa08a40f9542bfb","ref":"refs/heads/types","pushedAt":"2023-09-19T16:47:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"more optimizations on types","shortMessageHtmlLink":"more optimizations on types"}},{"before":null,"after":"2f68970a55eecdd466003beb8f2b76e4937860c8","ref":"refs/heads/types","pushedAt":"2023-09-19T16:45:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"add types.h to Makefile","shortMessageHtmlLink":"add types.h to Makefile"}},{"before":"b9b9f8625748a927511e9ad922d229ee3ed0a2aa","after":"2f68970a55eecdd466003beb8f2b76e4937860c8","ref":"refs/heads/main","pushedAt":"2023-09-17T20:03:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"add types.h to Makefile","shortMessageHtmlLink":"add types.h to Makefile"}},{"before":"790016f0500c0424865c42b2349ea31e1924cefc","after":"b9b9f8625748a927511e9ad922d229ee3ed0a2aa","ref":"refs/heads/main","pushedAt":"2023-09-17T19:58:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gitdode","name":"Torsten Römer","path":"/gitdode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11530253?s=80&v=4"},"commit":{"message":"fix typo, add types.h to Makefile","shortMessageHtmlLink":"fix typo, add types.h to Makefile"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADnugNAAA","startCursor":null,"endCursor":null}},"title":"Activity · gitdode/thermidity"}