{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":488364431,"defaultBranch":"master","name":"md2googleslides","ownerLogin":"bootstrapworld","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-05-03T21:11:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1819394?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720275128.0","currentOid":""},"activityList":{"items":[{"before":"30d5457d3684c251d7ff22052a84f778afa4bea7","after":"7309f95bd642e68d0b7a9a9cee9d1b11a86e252d","ref":"refs/heads/master","pushedAt":"2024-07-24T01:44:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"move parse5 from devDependencies to dependencies","shortMessageHtmlLink":"move parse5 from devDependencies to dependencies"}},{"before":"06e2712f28619d2c79ae215964d1d1b33ef4073a","after":"30d5457d3684c251d7ff22052a84f778afa4bea7","ref":"refs/heads/master","pushedAt":"2024-07-23T15:15:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update to a newer and hopefully more installable canvas package","shortMessageHtmlLink":"update to a newer and hopefully more installable canvas package"}},{"before":"50549eb6ab4ed43fbc4f47c169f5dc02401c0058","after":"06e2712f28619d2c79ae215964d1d1b33ef4073a","ref":"refs/heads/master","pushedAt":"2024-07-23T14:23:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update deps","shortMessageHtmlLink":"update deps"}},{"before":"5c3209a4489e6e388a7152ed6f5fe59573d2ee10","after":"50549eb6ab4ed43fbc4f47c169f5dc02401c0058","ref":"refs/heads/master","pushedAt":"2024-07-06T14:38:28.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"get upstream commits","shortMessageHtmlLink":"get upstream commits"}},{"before":"473fd955d0ffa5cb07e5f8faa2aef5c703400fe5","after":null,"ref":"refs/heads/update-deps","pushedAt":"2024-07-06T14:12:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"}},{"before":"a296b672ea9ea29dc3b1bd114e228d32171b218e","after":"5c3209a4489e6e388a7152ed6f5fe59573d2ee10","ref":"refs/heads/master","pushedAt":"2024-05-31T13:28:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update markdown module (#28)\n\nBump markdown-it from 14.0.1 to 14.1.0","shortMessageHtmlLink":"update markdown module (#28)"}},{"before":"228716f13932dda88bd86e314d2c102ccae3980b","after":"473fd955d0ffa5cb07e5f8faa2aef5c703400fe5","ref":"refs/heads/update-deps","pushedAt":"2024-05-31T13:27:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update yarn","shortMessageHtmlLink":"update yarn"}},{"before":null,"after":"228716f13932dda88bd86e314d2c102ccae3980b","ref":"refs/heads/update-deps","pushedAt":"2024-05-31T13:25:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update markdown module","shortMessageHtmlLink":"update markdown module"}},{"before":"474bbe04cf3277b7a1eb7686a127e1ccaca58c4b","after":null,"ref":"refs/heads/remove-lodash","pushedAt":"2024-05-02T18:06:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"}},{"before":"8b2e4308487aa5a2403d6dde0f1051ac1b39f5ce","after":"a296b672ea9ea29dc3b1bd114e228d32171b218e","ref":"refs/heads/master","pushedAt":"2024-05-02T14:11:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"better error handling for image upload failures","shortMessageHtmlLink":"better error handling for image upload failures"}},{"before":"3184247f58f87bd7789c6f13aa27d413c62ba404","after":"8b2e4308487aa5a2403d6dde0f1051ac1b39f5ce","ref":"refs/heads/master","pushedAt":"2024-04-28T16:41:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update yarn.lock","shortMessageHtmlLink":"update yarn.lock"}},{"before":"69aeaa9e158519e6b7b3c7b3fc69f28d94fcda1f","after":"3184247f58f87bd7789c6f13aa27d413c62ba404","ref":"refs/heads/master","pushedAt":"2024-04-28T16:40:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"Remove lodash (#26)\n\nLodash is a monster library and woefully out of date. This commit replaces the few instances where it's used with a combination of targeted node packages, native ES6 functions, and node functionality","shortMessageHtmlLink":"Remove lodash (#26)"}},{"before":"d1293c5d1aeb848f3ceb254e485a1a16e584360d","after":"474bbe04cf3277b7a1eb7686a127e1ccaca58c4b","ref":"refs/heads/remove-lodash","pushedAt":"2024-04-28T16:35:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"_.find -> ES6 find, _.matches -> node isDeepStrictEqual","shortMessageHtmlLink":"_.find -> ES6 find, _.matches -> node isDeepStrictEqual"}},{"before":"eb768e048d945eb85bac25a04de38088038c0295","after":"d1293c5d1aeb848f3ceb254e485a1a16e584360d","ref":"refs/heads/remove-lodash","pushedAt":"2024-04-28T15:59:19.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"merge from master","shortMessageHtmlLink":"merge from master"}},{"before":"efe3508e5ef8639a25309b02ef3310b37e39cb6b","after":"69aeaa9e158519e6b7b3c7b3fc69f28d94fcda1f","ref":"refs/heads/master","pushedAt":"2024-04-28T15:57:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update library imports/use","shortMessageHtmlLink":"update library imports/use"}},{"before":"29e86da144675795d425403edb5f12fd31fe71fb","after":"efe3508e5ef8639a25309b02ef3310b37e39cb6b","ref":"refs/heads/master","pushedAt":"2024-04-27T22:42:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update most dependencies","shortMessageHtmlLink":"update most dependencies"}},{"before":"e2d4c231a425c3af13a0e3c3a0c21becb52bfefe","after":"29e86da144675795d425403edb5f12fd31fe71fb","ref":"refs/heads/master","pushedAt":"2024-04-27T22:10:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update node engine requirements","shortMessageHtmlLink":"update node engine requirements"}},{"before":"881270f7b4c0d76631a2cc11821c6dc39d51b338","after":"e2d4c231a425c3af13a0e3c3a0c21becb52bfefe","ref":"refs/heads/master","pushedAt":"2024-04-27T22:04:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"update sharp library to 0.33.3","shortMessageHtmlLink":"update sharp library to 0.33.3"}},{"before":"e47aa73b490a82dc2cda955356bb6558da019358","after":"881270f7b4c0d76631a2cc11821c6dc39d51b338","ref":"refs/heads/master","pushedAt":"2024-04-26T19:38:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"switch code font to courier prime","shortMessageHtmlLink":"switch code font to courier prime"}},{"before":"0faff97aa71c44d9aa344296ed537eef6c613d10","after":"13fa493265563e47a96ba151b209fcd34b80c563","ref":"refs/heads/paragraph-styles","pushedAt":"2024-04-26T19:35:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"switch code font to courier prime","shortMessageHtmlLink":"switch code font to courier prime"}},{"before":null,"after":"0faff97aa71c44d9aa344296ed537eef6c613d10","ref":"refs/heads/paragraph-styles","pushedAt":"2024-03-27T19:58:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"first working paragraph markers","shortMessageHtmlLink":"first working paragraph markers"}},{"before":"d282469c1a69bf684667eac9a5ad95dff0098fdb","after":"e47aa73b490a82dc2cda955356bb6558da019358","ref":"refs/heads/master","pushedAt":"2024-03-15T15:21:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"Throttling for image uploading!\n - file.io has a max of 8 req/sec\n - we've been avoiding this by shoving needlessly long sleep() states in between ever image\n\nThis commit shortens those state by almost half, so slides with <7 images upload incredibly fast. For slides with more images, we throttle by inserting a 500ms wait every 7 images.\n\nThis also adds a better error message for situations where the 8req/sec limit is blown due to multiple, simultaneous users.","shortMessageHtmlLink":"Throttling for image uploading!"}},{"before":"962dcd8ad3679d16aab246808d8555d986e0e51a","after":"d282469c1a69bf684667eac9a5ad95dff0098fdb","ref":"refs/heads/master","pushedAt":"2024-03-12T16:51:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"change chunking algorithm to preserve order","shortMessageHtmlLink":"change chunking algorithm to preserve order"}},{"before":"5e7f36faf096c00f57299c1528924341d0389fb7","after":"962dcd8ad3679d16aab246808d8555d986e0e51a","ref":"refs/heads/master","pushedAt":"2024-03-12T15:20:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"sledgehammer","shortMessageHtmlLink":"sledgehammer"}},{"before":"1fcb584136f65a19464e85176690934ca3435ded","after":"5e7f36faf096c00f57299c1528924341d0389fb7","ref":"refs/heads/master","pushedAt":"2024-03-12T15:19:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"try waiting longer between file uploads to file.io, since in some cases no URL is returned (??)","shortMessageHtmlLink":"try waiting longer between file uploads to file.io, since in some cas…"}},{"before":"0ec5a9e0e7fe1d35410605733d3b7e96ccbb86bd","after":"1fcb584136f65a19464e85176690934ca3435ded","ref":"refs/heads/master","pushedAt":"2024-03-12T13:32:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"improve progressbar output","shortMessageHtmlLink":"improve progressbar output"}},{"before":"975c1b7a258349199fc691d7cdda2884cfb4c37b","after":"0ec5a9e0e7fe1d35410605733d3b7e96ccbb86bd","ref":"refs/heads/master","pushedAt":"2024-03-12T13:02:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"IMAGE THROTTLING FOR FILE.IO\n\nmd2googleslides works by sending a single, massive, batch request when updating or creating slides, which Google's servers process quickly. If a slide deck pulls 100 images from another server, Google's servers will send 100 requests to that server.\n\nAccording to the (undocumented) File.io API, they only allow 8 image requests from a host each second. So when slides.google.com asks for 100 images, File.io refuses if more than 8 of those requests happen in a single second.\n\nThis commit splits image requests (and the altText requests that depend on them) out of the batch request, so non-throttled things happen all at once. For images, we now split those requests into a safe number (<8 imgs) and send those one at a time, inserting a delay (>1 sec) between each one.","shortMessageHtmlLink":"IMAGE THROTTLING FOR FILE.IO"}},{"before":"de0a02f354e0055ba98a1489986d709dd372d99c","after":"975c1b7a258349199fc691d7cdda2884cfb4c37b","ref":"refs/heads/master","pushedAt":"2024-03-12T03:31:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"resolve security warning with lodash","shortMessageHtmlLink":"resolve security warning with lodash"}},{"before":null,"after":"eb768e048d945eb85bac25a04de38088038c0295","ref":"refs/heads/remove-lodash","pushedAt":"2024-03-12T03:30:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"start removing lodash","shortMessageHtmlLink":"start removing lodash"}},{"before":"976fd12e4a8235e9c4900f979da1b49b04a394a6","after":"de0a02f354e0055ba98a1489986d709dd372d99c","ref":"refs/heads/master","pushedAt":"2024-03-12T03:12:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"schanzer","name":"Emmanuel Schanzer","path":"/schanzer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77126?s=80&v=4"},"commit":{"message":"image-positioning bugfix: make sure all non-placeholder images appear at the center of each slide (see #23)","shortMessageHtmlLink":"image-positioning bugfix: make sure all non-placeholder images appear…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yNFQwMTo0NDowMC4wMDAwMDBazwAAAASHb2Gv","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yNFQwMTo0NDowMC4wMDAwMDBazwAAAASHb2Gv","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0xMlQwMzoxMjo0OS4wMDAwMDBazwAAAAQS7yon"}},"title":"Activity · bootstrapworld/md2googleslides"}