{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":469720093,"defaultBranch":"main","name":"micropython-microbit-v2-simulator","ownerLogin":"microbit-foundation","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-03-14T12:18:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21085506?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724845164.0","currentOid":""},"activityList":{"items":[{"before":"fdf0e347bbf3d7742086e27679c1d316c44d0212","after":null,"ref":"refs/heads/resample","pushedAt":"2024-08-28T11:39:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"}},{"before":"677585fd32ac1f46c9108d13cd795cff7d12bfe7","after":"ab075280ff84612b498a246e31d6090626128f03","ref":"refs/heads/beta-updates","pushedAt":"2024-08-28T11:39:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resample via a libsamplerate (#117)\n\nWe need to do this for recording as we can't specify a rate.\r\n\r\nWe need to do this for playback for sample rates outside of the\r\nbrowser's supported range. That includes the current default rate for\r\nFirefox and older Safari.\r\n\r\nUses a resampler build that doesn't support medium/best to save on\r\nbundle size.\r\n\r\nI've also increased the buffer size so I can play a 44k sample in an\r\nOK-ish way. Maybe 256 will be needed.\r\n\r\nWe know Firefox on Windows still performs poorly. It did badly with\r\naudio before these changes.\r\n\r\nAnother significant issue is that it can take 3 seconds to call getUserMedia on Desktop Safari.","shortMessageHtmlLink":"Resample via a libsamplerate (#117)"}},{"before":"5721ef5c47144f3db6c7e8c71c9bca1c7333249f","after":"fdf0e347bbf3d7742086e27679c1d316c44d0212","ref":"refs/heads/resample","pushedAt":"2024-08-28T10:00:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resample via a libsamplerate\n\nWe need to do this for recording as we can't specify a rate.\n\nWe need to do this for playback for sample rates outside of the\nbrowser's supported range. That includes the current default rate for\nFirefox and older Safari.\n\nUses a resampler build that doesn't support medium/best to save on\nbundle size.\n\nI've also increased the buffer size so I can play a 44k sample in an\nOK-ish way. Maybe 256 will be needed.\n\nWe know Firefox on Windows still performs poorly. It did badly with\naudio before these changes.","shortMessageHtmlLink":"Resample via a libsamplerate"}},{"before":"ba30b51d6767db01abd9782fe9df3dcbb9b8b6a5","after":"5721ef5c47144f3db6c7e8c71c9bca1c7333249f","ref":"refs/heads/resample","pushedAt":"2024-08-28T09:56:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resample via a libsamplerate\n\nWe need to do this for recording as we can't specify a rate.\n\nWe need to do this for playback for sample rates outside of the\nbrowser's supported range. That includes the current default rate for\nFirefox and older Safari.\n\nUses a resampler build that doesn't support medium/best to save on\nbundle size.\n\nI've also increased the buffer size so I can play a 44k sample in an\nOK-ish way. Maybe 256 will be needed.\n\nWe know Firefox on Windows still performs poorly. It did badly with\naudio before these changes.","shortMessageHtmlLink":"Resample via a libsamplerate"}},{"before":"abe1bfb12655bea333704dd726ffe5607ea8986c","after":"ba30b51d6767db01abd9782fe9df3dcbb9b8b6a5","ref":"refs/heads/resample","pushedAt":"2024-08-28T09:54:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resample via a libsamplerate\n\nWe need to do this for recording as we can't specify a rate.\n\nWe need to do this for playback for sample rates outside of the\nbrowser's supported range. That includes the current default rate for\nFirefox and older Safari.\n\nUses a resampler build that doesn't support medium/best to save on\nbundle size.\n\nI've also increased the buffer size so I can play a 44k sample in an\nOK-ish way. Maybe 256 will be needed.\n\nWe know Firefox on Windows still performs poorly. It did badly with\naudio before these changes.","shortMessageHtmlLink":"Resample via a libsamplerate"}},{"before":"73c035e1bca55a1daa724cca46fbd4e5be4d85d1","after":"abe1bfb12655bea333704dd726ffe5607ea8986c","ref":"refs/heads/resample","pushedAt":"2024-08-27T13:50:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Safer","shortMessageHtmlLink":"Safer"}},{"before":"c1f389c87f789452ff186a364ee41d27ac663557","after":"73c035e1bca55a1daa724cca46fbd4e5be4d85d1","ref":"refs/heads/resample","pushedAt":"2024-08-27T13:18:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Seems likely MicroPython will land here\n\nSo let's try that for perf testing.","shortMessageHtmlLink":"Seems likely MicroPython will land here"}},{"before":"3365d06ca1663934010720fcfa43ae1b101b67bb","after":"c1f389c87f789452ff186a364ee41d27ac663557","ref":"refs/heads/resample","pushedAt":"2024-08-27T11:32:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Tidy up and add a background recording demo\n\nThere are still Firefox/Safari issues that we're trying to understand.","shortMessageHtmlLink":"Tidy up and add a background recording demo"}},{"before":"55ad437e2f5dc0745498397c903d302f1ba01c23","after":"3365d06ca1663934010720fcfa43ae1b101b67bb","ref":"refs/heads/resample","pushedAt":"2024-08-24T14:05:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Let's go with an \"always resample\" version for now.\n\nWe're resampling anyway, it's just that Web Audio is doing it sometimes.\nThis way we can get more experience with the SRC and understand its\nperformance impact.","shortMessageHtmlLink":"Let's go with an \"always resample\" version for now."}},{"before":"51ad8f82f57d52a9530f83092d694ca15b6c85f0","after":"55ad437e2f5dc0745498397c903d302f1ba01c23","ref":"refs/heads/resample","pushedAt":"2024-08-24T11:37:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resampler build that doesn't support medium/best\n\nThis saves much space because of all the cofficients","shortMessageHtmlLink":"Resampler build that doesn't support medium/best"}},{"before":null,"after":"51ad8f82f57d52a9530f83092d694ca15b6c85f0","ref":"refs/heads/resample","pushedAt":"2024-08-22T15:43:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Resample to audio context rate for playback\n\nFor now we do this only for samples Web Audio can't cope with. I suspect\nwe need to reduce the range that we defer to Web Audio for FF and old\nSafari.\n\nThis works in Chrome but nowhere else, which is a shame because\neverywhere else needs it more urgently than Chrome... Puzzling over\nthis.","shortMessageHtmlLink":"Resample to audio context rate for playback"}},{"before":"7d84c589ce2c5491176b52920162a6eab10a4b60","after":"677585fd32ac1f46c9108d13cd795cff7d12bfe7","ref":"refs/heads/beta-updates","pushedAt":"2024-08-21T16:09:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Update MicroPython","shortMessageHtmlLink":"Update MicroPython"}},{"before":"34e45b30e00685aabcf9632c3981661ca6f6ab66","after":"7d84c589ce2c5491176b52920162a6eab10a4b60","ref":"refs/heads/beta-updates","pushedAt":"2024-08-19T16:30:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Update MicroPython\n\nAdjust build and samples for record/playback\nNo HAL changes but the API has changed","shortMessageHtmlLink":"Update MicroPython"}},{"before":"8d05414ecde19515d0c01e1745a9d55a76a25f51","after":null,"ref":"refs/heads/tidy-sw-unreg","pushedAt":"2024-05-29T15:17:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"}},{"before":"9d8153846e0262462e99839f49418c3f3a380a65","after":"07b1ed74fc1ca1fb3414d22082fccaf63d004441","ref":"refs/heads/main","pushedAt":"2024-05-29T15:17:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Change the SW clean-up (#116)\n\nWe can just remove the SW for our scope.","shortMessageHtmlLink":"Change the SW clean-up (#116)"}},{"before":"db73918292c1d8022e9f7d809ca5e9c31a1ac64e","after":"8d05414ecde19515d0c01e1745a9d55a76a25f51","ref":"refs/heads/tidy-sw-unreg","pushedAt":"2024-05-29T13:11:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Change the SW clean-up\n\nWe can just remove the SW for our scope.","shortMessageHtmlLink":"Change the SW clean-up"}},{"before":null,"after":"db73918292c1d8022e9f7d809ca5e9c31a1ac64e","ref":"refs/heads/tidy-sw-unreg","pushedAt":"2024-05-29T13:01:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"We only want to unregister our scoped sw","shortMessageHtmlLink":"We only want to unregister our scoped sw"}},{"before":"a1c8cff6d0c45f0ef0c750d4585fcd2432c7aac5","after":null,"ref":"refs/heads/service-worker","pushedAt":"2024-05-28T12:31:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"}},{"before":"6204a0b1f3bded71fb423e287c03dc514c3f6079","after":"9d8153846e0262462e99839f49418c3f3a380a65","ref":"refs/heads/main","pushedAt":"2024-05-28T12:31:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Add service worker for offline compatibility (#115)\n\nFor the moment this is opt in via flag=sw on the URL so existing embedders won't be affected.\r\n\r\nThe main motivation here is to experiment with PWA support in micro:bit Python Editor which is being worked on separately.","shortMessageHtmlLink":"Add service worker for offline compatibility (#115)"}},{"before":"e35db801c8b7710302ad7623dd839107bd8016e2","after":"a1c8cff6d0c45f0ef0c750d4585fcd2432c7aac5","ref":"refs/heads/service-worker","pushedAt":"2024-05-28T12:17:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Move navigator.serviceWorker check","shortMessageHtmlLink":"Move navigator.serviceWorker check"}},{"before":"6134ebd9c25f4794ffc8bec46c963b745ad2458d","after":"e35db801c8b7710302ad7623dd839107bd8016e2","ref":"refs/heads/service-worker","pushedAt":"2024-05-28T10:01:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Add code to unregister service worker if flag is not used","shortMessageHtmlLink":"Add code to unregister service worker if flag is not used"}},{"before":"b887f22626622c9bf7ca2ee4630697ddb26f34fa","after":"34e45b30e00685aabcf9632c3981661ca6f6ab66","ref":"refs/heads/beta-updates","pushedAt":"2024-05-28T09:43:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Update MicroPython to fix silent frames issue\n\nRemove our workaround","shortMessageHtmlLink":"Update MicroPython to fix silent frames issue"}},{"before":"2063919a3156d7363c8e8ffe0a6518b26558a3d8","after":"6134ebd9c25f4794ffc8bec46c963b745ad2458d","ref":"refs/heads/service-worker","pushedAt":"2024-05-28T09:27:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Additional check on cache name before deletion.\n\nCo-authored-by: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com>","shortMessageHtmlLink":"Additional check on cache name before deletion."}},{"before":"1331423d2b0b1050e4b06908560d8571a12f65e6","after":"2063919a3156d7363c8e8ffe0a6518b26558a3d8","ref":"refs/heads/service-worker","pushedAt":"2024-05-28T09:26:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Add firmware.wasm to service worker assets list","shortMessageHtmlLink":"Add firmware.wasm to service worker assets list"}},{"before":"06b4549b2a987ca49559ac0a5a05f6f3c2e39116","after":"b887f22626622c9bf7ca2ee4630697ddb26f34fa","ref":"refs/heads/beta-updates","pushedAt":"2024-05-24T10:57:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Audio fixes\n\n- Use smaller buffer to avoid too much audio after wait=True\n- Don't reset nextStartTime to avoid overlapping audio\n- Add indirection to callback so we can clear it properly to avoid\n calling it when audio finishes after MicroPython has terminated","shortMessageHtmlLink":"Audio fixes"}},{"before":"4da3f33b88394e170592bc700bca5e525b85cfe0","after":"06b4549b2a987ca49559ac0a5a05f6f3c2e39116","ref":"refs/heads/beta-updates","pushedAt":"2024-05-23T14:53:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"microbit-matt-hillsdon","name":"Matt Hillsdon","path":"/microbit-matt-hillsdon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/44397098?s=80&v=4"},"commit":{"message":"Tweak AUDIO_OUTPUT_BUFFER_SIZE and document","shortMessageHtmlLink":"Tweak AUDIO_OUTPUT_BUFFER_SIZE and document"}},{"before":"aea79377b34c4b03f2b7022e5f0c6c7be8d0c0a1","after":"4da3f33b88394e170592bc700bca5e525b85cfe0","ref":"refs/heads/beta-updates","pushedAt":"2024-05-03T14:13:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"microbit-grace","name":"Grace","path":"/microbit-grace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/145345672?s=80&v=4"},"commit":{"message":"Add microphone.set_sensitivity example and js hal","shortMessageHtmlLink":"Add microphone.set_sensitivity example and js hal"}},{"before":"1524cb88f6eb6b52bd1d03cd2f7b241b3423d08b","after":"1331423d2b0b1050e4b06908560d8571a12f65e6","ref":"refs/heads/service-worker","pushedAt":"2024-05-03T08:49:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Nicer version parsing","shortMessageHtmlLink":"Nicer version parsing"}},{"before":"5dbbe0cab85577bb98f60ae3420b92120b245b5d","after":"1524cb88f6eb6b52bd1d03cd2f7b241b3423d08b","ref":"refs/heads/service-worker","pushedAt":"2024-04-30T15:40:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Fix version code again","shortMessageHtmlLink":"Fix version code again"}},{"before":"328948b7935aed2cd3f567ffb5961be31175cf2c","after":"5dbbe0cab85577bb98f60ae3420b92120b245b5d","ref":"refs/heads/service-worker","pushedAt":"2024-04-30T15:20:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"microbit-robert","name":"Robert Knight","path":"/microbit-robert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95928279?s=80&v=4"},"commit":{"message":"Build fix regarding version","shortMessageHtmlLink":"Build fix regarding version"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQxMTozOToyNC4wMDAwMDBazwAAAASmbHf7","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQxMTozOToyNC4wMDAwMDBazwAAAASmbHf7","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0zMFQxNToyMDoxOS4wMDAwMDBazwAAAAQ-KMRh"}},"title":"Activity ยท microbit-foundation/micropython-microbit-v2-simulator"}