{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":193107159,"defaultBranch":"master","name":"exportify","ownerLogin":"pavelkomarov","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-06-21T13:58:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5639551?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1666472374.933104","currentOid":""},"activityList":{"items":[{"before":"9ca34ce743a4bcab069408cc28a3b74f33b30a20","after":"d3db122f06cd2f1fbd3f8b04fcf205589151932b","ref":"refs/heads/master","pushedAt":"2024-09-12T21:58:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"simpler math expression","shortMessageHtmlLink":"simpler math expression"}},{"before":"33275f574ee8af41b7edd582db78537c98ddbb25","after":"9ca34ce743a4bcab069408cc28a3b74f33b30a20","ref":"refs/heads/master","pushedAt":"2024-09-12T21:51:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"can't math today. Fixed.","shortMessageHtmlLink":"can't math today. Fixed."}},{"before":"64be94a34889a65756f93849c741322eab164362","after":"33275f574ee8af41b7edd582db78537c98ddbb25","ref":"refs/heads/master","pushedAt":"2024-09-12T21:41:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"done goofed. 100ms between subsequent playlist endpoint calls now","shortMessageHtmlLink":"done goofed. 100ms between subsequent playlist endpoint calls now"}},{"before":"eb45f126925c52ca1a33584e868cef57c995faa4","after":"64be94a34889a65756f93849c741322eab164362","ref":"refs/heads/master","pushedAt":"2024-09-12T21:37:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Merge branch 'master' of github.com:pavelkomarov/exportify","shortMessageHtmlLink":"Merge branch 'master' of github.com:pavelkomarov/exportify"}},{"before":"8f37f60e40a0de3917f41e2fe6bb4a140af5d589","after":"eb45f126925c52ca1a33584e868cef57c995faa4","ref":"refs/heads/master","pushedAt":"2024-09-12T20:06:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Update FUNDING.yml","shortMessageHtmlLink":"Update FUNDING.yml"}},{"before":"dce30da2e41cbb5b9660069fff8edb808d5b4fec","after":"8f37f60e40a0de3917f41e2fe6bb4a140af5d589","ref":"refs/heads/master","pushedAt":"2024-09-11T00:18:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"the order of ids in the row was such that I was popping off the wrong ones, now that I'm keeping track IDs, so the IDs were the album IDs, not the track IDs. Oops.","shortMessageHtmlLink":"the order of ids in the row was such that I was popping off the wrong…"}},{"before":"f0dc2133340eeeed5f2728ee86b56115a9440b72","after":"dce30da2e41cbb5b9660069fff8edb808d5b4fec","ref":"refs/heads/master","pushedAt":"2024-09-11T00:03:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added a couple question marks for null checking, in case a song doesn't have any listed artists","shortMessageHtmlLink":"added a couple question marks for null checking, in case a song doesn…"}},{"before":"b4cf03eb096de24b2f08104160e5ca19718539ce","after":"f0dc2133340eeeed5f2728ee86b56115a9440b72","ref":"refs/heads/master","pushedAt":"2024-09-10T19:15:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added back track ID at request of a user with a neat use case","shortMessageHtmlLink":"added back track ID at request of a user with a neat use case"}},{"before":"3b1de77859dbfd2707a5c58785569a3cebbceb95","after":"b4cf03eb096de24b2f08104160e5ca19718539ce","ref":"refs/heads/master","pushedAt":"2024-09-06T20:30:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Implemented backoff. It works by simply fishing the Retry-After out of 429 responses and making a recursive call from that block in apiCall(). I've gone through trying to use async/await in a few more places to keep from getting entire barrages of 429 responses back, but that means sending off one request at a time from numerous places in csvData(), waiting for a response, checking it isn't 429, sending off the next request, etc., instead of sending volleys. That ends up being *really slow* for large playlists. Machine-gunning requests with a short delay between each simply works better, especially since I have to make 4 subsequent volleys per playlist (songs from playlist, unique artists, unique albums, song audio features). As a bonus of this process, I realized I don't really need to use delay when I'm fetching the list of playlists, since I already each response, which builds in a delay just due to message transit time to and from the server, and then I realized I could elmininate an unnecessary variable.","shortMessageHtmlLink":"Implemented backoff. It works by simply fishing the Retry-After out o…"}},{"before":"e6bbe720dd28ee0e1ecdef80125ecbce94a20445","after":"3b1de77859dbfd2707a5c58785569a3cebbceb95","ref":"refs/heads/master","pushedAt":"2024-09-05T16:36:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"updated screenshot link so it forwards to the web app","shortMessageHtmlLink":"updated screenshot link so it forwards to the web app"}},{"before":"7bd6fa26aa43ea57418740d263c3be1d5b67ee09","after":"e6bbe720dd28ee0e1ecdef80125ecbce94a20445","ref":"refs/heads/master","pushedAt":"2024-09-05T16:34:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"updated screenshot to reflect changes to the UI","shortMessageHtmlLink":"updated screenshot to reflect changes to the UI"}},{"before":"d14119d53c2f08092767541085c6ada4aca9b532","after":"7bd6fa26aa43ea57418740d263c3be1d5b67ee09","ref":"refs/heads/master","pushedAt":"2024-09-05T16:32:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"moved a method and a comment","shortMessageHtmlLink":"moved a method and a comment"}},{"before":"abf6fd92b950f28eff25b136a463d668b9e73f05","after":"d14119d53c2f08092767541085c6ada4aca9b532","ref":"refs/heads/master","pushedAt":"2024-09-05T16:28:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"updated readme to reflect current set of features","shortMessageHtmlLink":"updated readme to reflect current set of features"}},{"before":"ec1d7c76218a9bcfbacf1fe45f39f20e244268cc","after":"abf6fd92b950f28eff25b136a463d668b9e73f05","ref":"refs/heads/master","pushedAt":"2024-09-04T21:34:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added a slightly longer delay between queries to the albums endpoint, because I am encountering rate limiting","shortMessageHtmlLink":"added a slightly longer delay between queries to the albums endpoint,…"}},{"before":"13affd6f3fa5d6c03f0412f6cad9594b32095406","after":"ec1d7c76218a9bcfbacf1fe45f39f20e244268cc","ref":"refs/heads/master","pushedAt":"2024-09-04T21:21:13.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Merge pull request #60 from ChinoUkaegbu/feat/add-album-info\n\nextract additional album info","shortMessageHtmlLink":"Merge pull request #60 from ChinoUkaegbu/feat/add-album-info"}},{"before":"af508437156b0e2ee99d0aab91f5a96156b44739","after":"13affd6f3fa5d6c03f0412f6cad9594b32095406","ref":"refs/heads/master","pushedAt":"2024-09-04T19:27:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"improved error printout UI and removed seemingly arbitrary number","shortMessageHtmlLink":"improved error printout UI and removed seemingly arbitrary number"}},{"before":"cc02a0df2ed552e2f15d2aa4fac726288e38aea2","after":"af508437156b0e2ee99d0aab91f5a96156b44739","ref":"refs/heads/master","pushedAt":"2024-08-30T19:05:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added explanation for a seemingly magic number","shortMessageHtmlLink":"added explanation for a seemingly magic number"}},{"before":"2ed9084a3c8f5ce0e897f5fe44f3791361110b6c","after":"cc02a0df2ed552e2f15d2aa4fac726288e38aea2","ref":"refs/heads/master","pushedAt":"2024-08-30T18:58:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"the let us know error message was pointing to a particular issue","shortMessageHtmlLink":"the let us know error message was pointing to a particular issue"}},{"before":"3f2202f03d45e6d7f0f7160a54720d57dacfd4d9","after":"2ed9084a3c8f5ce0e897f5fe44f3791361110b6c","ref":"refs/heads/master","pushedAt":"2024-08-30T18:56:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"updated comment","shortMessageHtmlLink":"updated comment"}},{"before":"e0710087f2dadebe7b88f59ac8bb8f66b416178a","after":"3f2202f03d45e6d7f0f7160a54720d57dacfd4d9","ref":"refs/heads/master","pushedAt":"2024-08-30T16:16:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Update requirements.txt","shortMessageHtmlLink":"Update requirements.txt"}},{"before":"3a0fb9e56e05476c6001b7edbbe6424d94a7ed1b","after":"e0710087f2dadebe7b88f59ac8bb8f66b416178a","ref":"refs/heads/master","pushedAt":"2024-08-29T19:40:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"discovered spotify's web api endpoint for user playlists is returning bad public flag info, so nixed that column and the collaborative column for good measure","shortMessageHtmlLink":"discovered spotify's web api endpoint for user playlists is returning…"}},{"before":"115600a5814df9a92c9cccc7fa441bbea547e5fa","after":"3a0fb9e56e05476c6001b7edbbe6424d94a7ed1b","ref":"refs/heads/master","pushedAt":"2024-08-27T19:58:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"fixed logout functionality, because evidently opening logout page in an iframe no longer works","shortMessageHtmlLink":"fixed logout functionality, because evidently opening logout page in …"}},{"before":"846ec311b9d3fb9f543b0f073ce0a0e73d8d7643","after":"115600a5814df9a92c9cccc7fa441bbea547e5fa","ref":"refs/heads/master","pushedAt":"2024-08-27T18:33:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"changed order of things I did in readme and added something I think","shortMessageHtmlLink":"changed order of things I did in readme and added something I think"}},{"before":"8f2b132615649e20602eb60278e7c922ad79e944","after":"846ec311b9d3fb9f543b0f073ce0a0e73d8d7643","ref":"refs/heads/master","pushedAt":"2024-08-26T18:38:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added a few s I forgot that Chino noticed","shortMessageHtmlLink":"added a few s I forgot that Chino noticed"}},{"before":"3b12701479d05ddabb113c792348c815a94d76d4","after":"8f2b132615649e20602eb60278e7c922ad79e944","ref":"refs/heads/master","pushedAt":"2024-08-26T18:27:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"returned to my unreadable ternary style (sorry)","shortMessageHtmlLink":"returned to my unreadable ternary style (sorry)"}},{"before":"4358336f4bb71436569f1fa400e92641442bc30c","after":"3b12701479d05ddabb113c792348c815a94d76d4","ref":"refs/heads/master","pushedAt":"2024-08-26T18:18:11.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"Merge pull request #53 from ChinoUkaegbu/bug/fix-sort-by-tracks\n\nbugfix: Modify sorting logic","shortMessageHtmlLink":"Merge pull request #53 from ChinoUkaegbu/bug/fix-sort-by-tracks"}},{"before":"e97a206abb99f1c363858e4e40fa689a66d10821","after":"4358336f4bb71436569f1fa400e92641442bc30c","ref":"refs/heads/master","pushedAt":"2024-08-23T17:38:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"updated to Eli Grey's latest FileSaver.js","shortMessageHtmlLink":"updated to Eli Grey's latest FileSaver.js"}},{"before":"d4901c6deed9ed421da93f99e610d16ed3b66c16","after":"e97a206abb99f1c363858e4e40fa689a66d10821","ref":"refs/heads/master","pushedAt":"2024-08-21T20:46:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added github discussion links to foster community","shortMessageHtmlLink":"added github discussion links to foster community"}},{"before":"e45ac7f58a156753a169bf404ee28fe8161fe604","after":"d4901c6deed9ed421da93f99e610d16ed3b66c16","ref":"refs/heads/master","pushedAt":"2024-08-21T18:33:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"made readme less catty lol","shortMessageHtmlLink":"made readme less catty lol"}},{"before":"17dd66f5bae895e2d044856fe07312537271cbe3","after":"e45ac7f58a156753a169bf404ee28fe8161fe604","ref":"refs/heads/master","pushedAt":"2024-08-21T18:25:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pavelkomarov","name":"Pavel Komarov","path":"/pavelkomarov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5639551?s=80&v=4"},"commit":{"message":"added a screenshot of my own","shortMessageHtmlLink":"added a screenshot of my own"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMlQyMTo1ODowMS4wMDAwMDBazwAAAAS04rUp","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMVQxODoyNTowNy4wMDAwMDBazwAAAASggycg"}},"title":"Activity · pavelkomarov/exportify"}