{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":745191044,"defaultBranch":"main","name":"tunarr","ownerLogin":"chrisbenincasa","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-18T20:21:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1640671?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717762532.0","currentOid":""},"activityList":{"items":[{"before":"94f9d33f8a599846120b32e66482a1c7741fb348","after":"763306c4127651df1a2b252b8df556f0fdc0ca00","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T17:15:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 8925ed1 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 8925ed1 with MkDocs version: 1.6.0"}},{"before":"cb10ba965dc4684b11d3080eabbd68369c6ffd2c","after":"8925ed179435167c59ccefcf93ccb1d680e4c5f7","ref":"refs/heads/main","pushedAt":"2024-06-07T17:15:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Fix Mac OS bundle. Fixes #471 (#491)\n\nAlso pegs better-sqlite3 dependency to a single version (the one used by\r\nmikro-orm and not pulled in from knex) which reduces our bundle size by\r\n~2mb","shortMessageHtmlLink":"Fix Mac OS bundle. Fixes #471 (#491)"}},{"before":"3a3b8a5f060892d5782fc8e2cf575eb22ac69131","after":"28b6bb255c7aa40e07a15385a91bb5ecf1337fdf","ref":"refs/heads/external-ids","pushedAt":"2024-06-07T15:51:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Save external_ids for programs using Plex provided \"Guid\" field\n\nThis is a rather large change to a do a relative simple thing: save IDs\nfor external sources, such as IMDB/TMDB/TVDB, using IDs provided from\nPlex.\n\nIt does a few things:\n\n* Creates a delineation in the program_external_id table between\n \"single\" and \"multi\" external IDs. Single IDs are global, while multi\nIDs are scoped to some external source (e.g. Plex server)\n* Starts the migration for Programs to be \"source agnostic\". Eventually,\n Programs should be a logical entity that has >=1 \"source\". An ideal\nend state would be for a Tunarr instance to have multiple \"sources\"\nwhere Programs are deduped across them, with the ability to pick the\nsource for each program per channel, have source fallbacks, and search\nfor desired settings (e.g. audio language, subtitles) _across_ sources\nfor a given program. Additionally, saving non-streaming-source external\nIDs opens up another avenue of metadata collection for Tunarr\n* Implements uniqueness in the program_external_id table using partial\n indexes. This made for a pretty messy change and I'm not super happy\nwith it.\n* Migrates some queries away from the source/external_key fields on\n Program to joins against the program_external_id table\n* Implements some backfill mechanisms for these IDs","shortMessageHtmlLink":"Save external_ids for programs using Plex provided \"Guid\" field"}},{"before":null,"after":"14126418f5e6445c66fe5da31c7a917c01d0334b","ref":"refs/heads/bug-471","pushedAt":"2024-06-07T12:15:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Fix Mac OS bundle. Fixes #471\n\nAlso pegs better-sqlite3 dependency to a single version (the one used by\nmikro-orm and not pulled in from knex) which reduces our bundle size by\n~2mb","shortMessageHtmlLink":"Fix Mac OS bundle. Fixes #471"}},{"before":"1b34e0f0a64f59ca97cc359478395bd30728aab3","after":"94f9d33f8a599846120b32e66482a1c7741fb348","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T02:00:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed cb10ba9 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed cb10ba9 with MkDocs version: 1.6.0"}},{"before":"809c20a4c417980cf34c2bd5bc14b2b109703084","after":null,"ref":"refs/heads/bug-485","pushedAt":"2024-06-07T02:00:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"}},{"before":"ba5b758e6e2ce44e404a067107e01d44274c0772","after":"cb10ba965dc4684b11d3080eabbd68369c6ffd2c","ref":"refs/heads/main","pushedAt":"2024-06-07T02:00:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Add PUT /api/custom-shows/:id API endpoint. Closes #485 (#488)","shortMessageHtmlLink":"Add PUT /api/custom-shows/:id API endpoint. Closes #485 (#488)"}},{"before":null,"after":"809c20a4c417980cf34c2bd5bc14b2b109703084","ref":"refs/heads/bug-485","pushedAt":"2024-06-07T01:58:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Add PUT /api/custom-shows/:id API endpoint. Closes #485","shortMessageHtmlLink":"Add PUT /api/custom-shows/:id API endpoint. Closes #485"}},{"before":"923e055ffac5cfbac22504d3e569b597de6d4718","after":"1b34e0f0a64f59ca97cc359478395bd30728aab3","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T01:32:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed ba5b758 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed ba5b758 with MkDocs version: 1.6.0"}},{"before":"d339af48df57831638df8919c127a4601197e2b1","after":"ba5b758e6e2ce44e404a067107e01d44274c0772","ref":"refs/heads/main","pushedAt":"2024-06-07T01:32:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Attempt at reapplying origin fix for #484. Updated the lockfile for some reason. Fies #484 (#487)","shortMessageHtmlLink":"Attempt at reapplying origin fix for #484. Updated the lockfile for s…"}},{"before":"607004968135aa771cffd654a96f5161dfa9c775","after":"87fa38a99665419bcf62172f0a22bea29f1c013a","ref":"refs/heads/bug-484","pushedAt":"2024-06-07T01:30:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Attempt at reapplying origin fix for #484. Updated the lockfile for some reason. Fies #484","shortMessageHtmlLink":"Attempt at reapplying origin fix for #484. Updated the lockfile for s…"}},{"before":null,"after":"607004968135aa771cffd654a96f5161dfa9c775","ref":"refs/heads/bug-484","pushedAt":"2024-06-07T01:29:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Attempt at reapplying origin fix for #484. Updated the lockfile for some reason. Fies #484","shortMessageHtmlLink":"Attempt at reapplying origin fix for #484. Updated the lockfile for s…"}},{"before":"ebe8b2b870519aaee7817134f0b89ee71874fbf4","after":"923e055ffac5cfbac22504d3e569b597de6d4718","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T01:25:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed d339af4 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed d339af4 with MkDocs version: 1.6.0"}},{"before":"4b19bebe216922b5f49b10874154d53657671aa7","after":"d339af48df57831638df8919c127a4601197e2b1","ref":"refs/heads/main","pushedAt":"2024-06-07T01:25:21.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Revert \"Mark another Plex field as optional. Fixes #484\"\n\nThis reverts commit 61a8b71b83ea48c9705fe582d00cd8891d317a3b.","shortMessageHtmlLink":"Revert \"Mark another Plex field as optional. Fixes #484\""}},{"before":"542ce51006338a50193c908af60c992d5bf0ef51","after":"ebe8b2b870519aaee7817134f0b89ee71874fbf4","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T01:20:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 4b19beb with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 4b19beb with MkDocs version: 1.6.0"}},{"before":"9ab121e358545ca74346bfc408b7c911b94f4807","after":"4b19bebe216922b5f49b10874154d53657671aa7","ref":"refs/heads/main","pushedAt":"2024-06-07T01:20:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Update lockfile","shortMessageHtmlLink":"Update lockfile"}},{"before":"3a587818eaca8b7117759e907556667afeddf7dd","after":"542ce51006338a50193c908af60c992d5bf0ef51","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T01:15:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 9ab121e with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 9ab121e with MkDocs version: 1.6.0"}},{"before":"61a8b71b83ea48c9705fe582d00cd8891d317a3b","after":"9ab121e358545ca74346bfc408b7c911b94f4807","ref":"refs/heads/main","pushedAt":"2024-06-07T01:15:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Don't know what is going on here. PNPM is fun until it's not","shortMessageHtmlLink":"Don't know what is going on here. PNPM is fun until it's not"}},{"before":"2a62947d4994024b374316dae6c95f7f739a8cd5","after":"3a587818eaca8b7117759e907556667afeddf7dd","ref":"refs/heads/gh-pages","pushedAt":"2024-06-07T00:15:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 61a8b71 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 61a8b71 with MkDocs version: 1.6.0"}},{"before":"c088be443b39508bb6213b675bb7c17b8223292a","after":"61a8b71b83ea48c9705fe582d00cd8891d317a3b","ref":"refs/heads/main","pushedAt":"2024-06-07T00:15:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Mark another Plex field as optional. Fixes #484","shortMessageHtmlLink":"Mark another Plex field as optional. Fixes #484"}},{"before":"0f575f44bcd850ff851a0e08be41d8d23ad33dca","after":"2a62947d4994024b374316dae6c95f7f739a8cd5","ref":"refs/heads/gh-pages","pushedAt":"2024-06-06T19:45:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed c088be4 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed c088be4 with MkDocs version: 1.6.0"}},{"before":"f2934343bbdfbc41e433e3e0fb2c2453b427d11d","after":null,"ref":"refs/heads/backups","pushedAt":"2024-06-06T19:45:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"}},{"before":"03bcc699429e7c9550eb2cd16f046b8b71ac1b1c","after":"c088be443b39508bb6213b675bb7c17b8223292a","ref":"refs/heads/main","pushedAt":"2024-06-06T19:45:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Implement basic database backup mechanism (#483)\n\n* Implement basic database backup mechanism\r\n\r\nCloses #182\r\n\r\nThis commit implements a MVP of Tunarr database backup, with the\r\nfollowing features:\r\n\r\n* Future-looking schema for backup configuration. Multiple backup\r\n \"configurations\" are supported, each with >=1 \"outputs\". Each\r\nconfiguration runs on a singluar schedule. Currently only one output\r\ntype, archive file, is supported.\r\n* Full SQLite DB backup\r\n* Support for zip, tar, and tar.gz output\r\n* UI for configuring backup location, format, rotation, and schedule\r\n\r\n* Add feature to README","shortMessageHtmlLink":"Implement basic database backup mechanism (#483)"}},{"before":"db6d1af2224d09d1ceedafa85ba4ca95d0c244f5","after":"f2934343bbdfbc41e433e3e0fb2c2453b427d11d","ref":"refs/heads/backups","pushedAt":"2024-06-06T19:41:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Add feature to README","shortMessageHtmlLink":"Add feature to README"}},{"before":"d736c1c9026c691356a84d771ef9f46008841feb","after":"db6d1af2224d09d1ceedafa85ba4ca95d0c244f5","ref":"refs/heads/backups","pushedAt":"2024-06-06T19:40:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Add feature to README","shortMessageHtmlLink":"Add feature to README"}},{"before":"6c641cc00c655c854b19c91d9cabb1ccb708c579","after":"d736c1c9026c691356a84d771ef9f46008841feb","ref":"refs/heads/backups","pushedAt":"2024-06-06T19:39:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Implement basic database backup mechanism\n\nCloses #182\n\nThis commit implements a MVP of Tunarr database backup, with the\nfollowing features:\n\n* Future-looking schema for backup configuration. Multiple backup\n \"configurations\" are supported, each with >=1 \"outputs\". Each\nconfiguration runs on a singluar schedule. Currently only one output\ntype, archive file, is supported.\n* Full SQLite DB backup\n* Support for zip, tar, and tar.gz output\n* UI for configuring backup location, format, rotation, and schedule","shortMessageHtmlLink":"Implement basic database backup mechanism"}},{"before":"99e28ce94bc1ca45c6d571930ac9c509e604aac7","after":"0f575f44bcd850ff851a0e08be41d8d23ad33dca","ref":"refs/heads/gh-pages","pushedAt":"2024-06-06T19:04:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 03bcc69 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 03bcc69 with MkDocs version: 1.6.0"}},{"before":"7ecba0232c31f6e7ec28ab45153c8bce2834dddd","after":"03bcc699429e7c9550eb2cd16f046b8b71ac1b1c","ref":"refs/heads/main","pushedAt":"2024-06-06T19:03:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Implement 'select all' functionality in program selector (#482)\n\nCloses #481\r\n\r\nThis adds new functionality to 'select all' of the visible items in the\r\nprogram selector. The use-case here is to execute a Plex search/filter\r\nand then add all of the results at once\r\n\r\nAlso includes the following changes:\r\n* Refactor giant plex hooks file into multiple smaller files\r\n* Breakout some common plex search queries into new hooks\r\n* Use FixedList in the selected programming list drawer - I noticed a\r\n slowdown after implementing select all; this helps.\r\n* Refactor the way the SelectedProgrammingList component works a bit.\r\n We're no longer mounting this in App with hard-coded paths -- there's\r\nmore fixes here, though. Now we have a temporary drawer with various\r\ntoggle states, etc etc. This should free up the viewport to view content\r\n* Fixes a bug in Plex search/filtering for TV shows\r\n* Enables the use of path aliases in imports using \"@/\", since we're\r\n starting to deal with a lot of files in many nested directories. This\r\ncleans things up a bit","shortMessageHtmlLink":"Implement 'select all' functionality in program selector (#482)"}},{"before":"2c1da9f19129dc655ea1c95e077f9e33882d439d","after":"6747a9de4b706b0db8dab2873e0f49117f7a2ada","ref":"refs/heads/bug-481","pushedAt":"2024-06-06T18:47:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Implement 'select all' functionality in program selector\n\nCloses #481\n\nThis adds new functionality to 'select all' of the visible items in the\nprogram selector. The use-case here is to execute a Plex search/filter\nand then add all of the results at once\n\nAlso includes the following changes:\n* Refactor giant plex hooks file into multiple smaller files\n* Breakout some common plex search queries into new hooks\n* Use FixedList in the selected programming list drawer - I noticed a\n slowdown after implementing select all; this helps.\n* Refactor the way the SelectedProgrammingList component works a bit.\n We're no longer mounting this in App with hard-coded paths -- there's\nmore fixes here, though. Now we have a temporary drawer with various\ntoggle states, etc etc. This should free up the viewport to view content\n* Fixes a bug in Plex search/filtering for TV shows\n* Enables the use of path aliases in imports using \"@/\", since we're\n starting to deal with a lot of files in many nested directories. This\ncleans things up a bit","shortMessageHtmlLink":"Implement 'select all' functionality in program selector"}},{"before":"0eeabeab13071f16a47be8b3271bb96271f5b334","after":"2c1da9f19129dc655ea1c95e077f9e33882d439d","ref":"refs/heads/bug-481","pushedAt":"2024-06-06T18:21:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chrisbenincasa","name":"Christian Benincasa","path":"/chrisbenincasa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1640671?s=80&v=4"},"commit":{"message":"Implement 'select all' functionality in program selector\n\nCloses #481\n\nThis adds new functionality to 'select all' of the visible items in the\nprogram selector. The use-case here is to execute a Plex search/filter\nand then add all of the results at once\n\nAlso includes the following changes:\n* Refactor giant plex hooks file into multiple smaller files\n* Breakout some common plex search queries into new hooks\n* Use FixedList in the selected programming list drawer - I noticed a\n slowdown after implementing select all; this helps.\n* Refactor the way the SelectedProgrammingList component works a bit.\n We're no longer mounting this in App with hard-coded paths -- there's\nmore fixes here, though. Now we have a temporary drawer with various\ntoggle states, etc etc. This should free up the viewport to view content\n* Fixes a bug in Plex search/filtering for TV shows\n* Enables the use of path aliases in imports using \"@/\", since we're\n starting to deal with a lot of files in many nested directories. This\ncleans things up a bit","shortMessageHtmlLink":"Implement 'select all' functionality in program selector"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEX3KSEgA","startCursor":null,"endCursor":null}},"title":"Activity · chrisbenincasa/tunarr"}