{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"sugarlabs","name":"musicblocks-v4","updatedAt":"2026-10-11T05:39:32.983Z","coveredSince":"2025-10-04T15:16:41.996Z","facts":{"owner":"sugarlabs","name":"musicblocks-v4","description":"A complete overhaul of Music Blocks","stars":125,"forks":272,"archived":false,"isFork":false,"license":"AGPL-3.0","defaultBranch":"develop","pushedAt":"2026-10-10T11:12:41Z","createdAt":"2020-11-29T04:48:18Z","topics":["typescript","react"],"languages":{"TypeScript":2817845,"SCSS":23512,"CSS":15443,"HTML":5036,"JavaScript":3355,"Dockerfile":999,"Shell":402},"frameworks":["React","TypeScript","Vite","Vitest"],"commits90d":294,"releases365d":0,"lastReleaseAt":"2022-03-05T01:57:55Z","gettingStarted":{"contributing":true,"codeOfConduct":true,"issueTemplates":true,"devcontainer":false,"cla":"none","channels":[{"kind":"matrix","url":"https://matrix.to/#/!DEkxujYDjfCQImeMBM:matrix.org?via=matrix.org"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:39:32.983Z","outsidePulls":{"cohort":{"n":34,"merged":17,"closedUnmerged":17,"open":0,"mergeRate":0.5,"openShare":0,"evidence":{"merged":[832,831,823,822,821,816,774,646,634,623,622,621,619,615,596,594,591],"closedUnmerged":[833,817,793,789,784,771,765,764,763,742,723,718,691,690,666,620,608],"open":[]}},"firstTimers":{"n":23,"merged":12,"closedUnmerged":11,"open":0,"mergeRate":0.5217391304347826,"openShare":0,"evidence":{"merged":[832,831,823,822,821,816,774,646,634,622,615,591],"closedUnmerged":[833,817,789,765,763,742,723,718,690,666,608],"open":[]}},"year":{"n":77,"merged":17,"closedUnmerged":60,"open":0,"mergeRate":0.22077922077922077,"openShare":0,"evidence":{"merged":[832,831,823,822,821,816,774,646,634,623,622,621,619,615,596,594,591],"closedUnmerged":[833,817,793,789,784,771,765,764,763,742,723,718,691,690,666,620,608,544,543,528],"open":[]}}},"pullFirstResponse":{"n":34,"answered":30,"waiting":4,"medianHours":16.40277777777778,"p75Hours":525.9630555555556,"within48h":0.5588235294117648,"within7d":0.7058823529411765,"curve":[{"hours":0.3,"waiting":0.9705882352941176},{"hours":0.32555555555555554,"waiting":0.9411764705882353},{"hours":0.5455555555555556,"waiting":0.9117647058823529},{"hours":0.7058333333333333,"waiting":0.8823529411764706},{"hours":1.9544444444444444,"waiting":0.8529411764705882},{"hours":2.823888888888889,"waiting":0.8235294117647058},{"hours":2.873611111111111,"waiting":0.7941176470588235},{"hours":3.2602777777777776,"waiting":0.7647058823529411},{"hours":3.7375,"waiting":0.7352941176470588},{"hours":4.087777777777778,"waiting":0.7058823529411764},{"hours":7.1627777777777775,"waiting":0.676470588235294},{"hours":9.27111111111111,"waiting":0.6470588235294117},{"hours":10.268055555555556,"waiting":0.6176470588235293},{"hours":12.2975,"waiting":0.588235294117647},{"hours":15.497777777777777,"waiting":0.5588235294117646},{"hours":15.846388888888889,"waiting":0.5294117647058822},{"hours":16.40277777777778,"waiting":0.4999999999999999},{"hours":31.824444444444445,"waiting":0.47058823529411753},{"hours":44.61361111111111,"waiting":0.44117647058823517},{"hours":49.41777777777778,"waiting":0.4117647058823528},{"hours":79.91388888888889,"waiting":0.3823529411764705},{"hours":89.86333333333333,"waiting":0.3529411764705882},{"hours":101.38333333333334,"waiting":0.32352941176470584},{"hours":139.49666666666667,"waiting":0.2941176470588235},{"hours":408.1072222222222,"waiting":0.2647058823529411},{"hours":525.9630555555556,"waiting":0.23529411764705876},{"hours":802.8622222222223,"waiting":0.2058823529411764},{"hours":1301.8591666666666,"waiting":0.17647058823529407},{"hours":1330.7577777777778,"waiting":0.14705882352941174},{"hours":1385.7125,"waiting":0.1176470588235294}],"evidence":{"answered":[833,832,831,823,822,821,817,816,793,789,784,774,771,765,742,723,718,666,646,634],"waiting":[764,763,691,690]}},"timeToMerge":{"n":34,"merged":17,"medianHours":809.2813888888888,"evidence":[832,831,823,822,821,816,774,646,634,623,622,621,619,615,596,594,591]},"issueFirstResponse":{"n":96,"answered":33,"waiting":63,"medianHours":null,"p75Hours":null,"within48h":0.25,"within7d":0.27083333333333326,"curve":[{"hours":0.06027777777777778,"waiting":0.9895833333333334},{"hours":0.07166666666666667,"waiting":0.9791666666666666},{"hours":0.13555555555555557,"waiting":0.96875},{"hours":0.2075,"waiting":0.9583333333333334},{"hours":1.9447222222222222,"waiting":0.9479166666666666},{"hours":3.104722222222222,"waiting":0.9375},{"hours":4.163888888888889,"waiting":0.9270833333333334},{"hours":5.613611111111111,"waiting":0.9166666666666666},{"hours":6.485555555555556,"waiting":0.90625},{"hours":7.329722222222222,"waiting":0.8958333333333334},{"hours":8.811111111111112,"waiting":0.8854166666666666},{"hours":10.849166666666667,"waiting":0.875},{"hours":11.28111111111111,"waiting":0.8645833333333334},{"hours":11.567222222222222,"waiting":0.8541666666666666},{"hours":11.841388888888888,"waiting":0.84375},{"hours":12.05861111111111,"waiting":0.8333333333333333},{"hours":12.473888888888888,"waiting":0.8229166666666666},{"hours":13.294722222222223,"waiting":0.8125},{"hours":15.017777777777777,"waiting":0.8020833333333334},{"hours":16.23777777777778,"waiting":0.7916666666666667},{"hours":17.920277777777777,"waiting":0.78125},{"hours":19.691388888888888,"waiting":0.7708333333333334},{"hours":30.767777777777777,"waiting":0.7604166666666667},{"hours":31.11888888888889,"waiting":0.75},{"hours":67.32888888888888,"waiting":0.7395833333333334},{"hours":116.57444444444444,"waiting":0.7291666666666667},{"hours":190.57805555555555,"waiting":0.7187500000000001},{"hours":243.57916666666668,"waiting":0.7083333333333335},{"hours":270.3208333333333,"waiting":0.6979166666666669},{"hours":368.58694444444444,"waiting":0.6875000000000001},{"hours":384.0488888888889,"waiting":0.6770833333333335},{"hours":438.0372222222222,"waiting":0.6666666666666669},{"hours":548.5252777777778,"waiting":0.6562500000000002}],"evidence":{"answered":[830,829,828,820,819,818,814,813,812,811,810,809,808,807,806,805,801,798,797,796],"waiting":[778,777,776,770,769,768,767,766,755,754,750,749,748,745,744,735,713,712,708,707]}},"starter":{"counts":{"available":1,"claimed":2,"in-progress":15,"stale":5},"helpWantedAvailable":3,"issues":[{"n":898,"title":"Masonry: no test covers a full drag from palette to connection","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:03:25Z","updatedAt":"2026-10-01T18:18:00Z"},{"n":897,"title":"Masonry: add an error boundary around the workspace brick list","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:24Z","updatedAt":"2026-10-01T10:51:31Z"},{"n":895,"title":"Masonry: two playground apps with no indication which one is current","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:03:19Z","updatedAt":"2026-10-01T10:53:33Z"},{"n":894,"title":"Masonry: the textbox brick width is guessed from character count and can overflow","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:17Z","updatedAt":"2026-10-01T10:53:50Z"},{"n":893,"title":"Masonry: statement bricks configured with input widgets render no widget","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:15Z","updatedAt":"2026-10-03T14:52:24Z"},{"n":892,"title":"Masonry: the trash target is hidden from assistive technology","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:13Z","updatedAt":"2026-10-01T10:54:32Z"},{"n":891,"title":"Masonry: validate the brick geometry constants in development","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:11Z","updatedAt":"2026-10-01T10:54:56Z"},{"n":890,"title":"Masonry: add a margins field to BrickOutlineOutput for notch protrusion","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:03:09Z","updatedAt":"2026-09-23T06:01:24Z"},{"n":889,"title":"Masonry: getConnectorCoords can report a groove that was never drawn","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:02:58Z","updatedAt":"2026-10-06T05:31:19Z"},{"n":888,"title":"Masonry: tower ids can collide, unify id generation across the module","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:02:56Z","updatedAt":"2026-10-07T05:58:35Z"},{"n":887,"title":"Masonry: a drop near the palette edge discards the brick with no feedback","state":"available","label":"help-wanted","createdAt":"2026-09-21T18:02:54Z","updatedAt":"2026-10-05T16:07:19Z"},{"n":886,"title":"Masonry: the palette drag probe mutates store state directly and can leak","state":"available","label":"help-wanted","createdAt":"2026-09-21T18:02:52Z","updatedAt":"2026-10-04T18:51:33Z"},{"n":885,"title":"Masonry: the palette drag rebuilds a probe brick model on every frame","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:02:50Z","updatedAt":"2026-09-29T18:58:37Z"},{"n":884,"title":"Masonry: connection resolution runs twice on every drag frame","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:02:48Z","updatedAt":"2026-10-01T11:23:25Z"},{"n":883,"title":"Masonry: connectors outside the fixed 4000 by 4000 collision space are dropped silently","state":"available","label":"help-wanted","createdAt":"2026-09-21T18:02:46Z","updatedAt":"2026-09-25T09:50:37Z"},{"n":882,"title":"Masonry: dragging onto an occupied socket shows no feedback","state":"claimed","label":"help-wanted","createdAt":"2026-09-21T18:02:44Z","updatedAt":"2026-09-28T15:03:14Z"},{"n":881,"title":"Masonry: the snap preview applies the brick scale twice","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:02:42Z","updatedAt":"2026-10-08T22:30:59Z"},{"n":880,"title":"Masonry: the palette drag ghost ignores the workspace zoom","state":"in-progress","label":"help-wanted","createdAt":"2026-09-21T18:02:40Z","updatedAt":"2026-10-03T09:49:57Z"},{"n":878,"title":"Masonry: remove the dependencies nothing imports","state":"claimed","label":"beginner","createdAt":"2026-09-21T18:02:28Z","updatedAt":"2026-10-09T02:41:07Z"},{"n":877,"title":"Masonry: stale doc comment on Palette describes a component that no longer exists","state":"available","label":"beginner","createdAt":"2026-09-21T18:02:26Z","updatedAt":"2026-09-23T05:45:56Z"},{"n":876,"title":"Masonry: the snap distance does not follow the workspace zoom","state":"in-progress","label":"beginner","createdAt":"2026-09-21T18:02:24Z","updatedAt":"2026-10-06T18:15:18Z"},{"n":875,"title":"Masonry: the snap preview brick is hardcoded to scale level 2","state":"in-progress","label":"beginner","createdAt":"2026-09-21T18:02:22Z","updatedAt":"2026-09-27T14:37:08Z"},{"n":874,"title":"Masonry: the variant brick dropdown discards the selected option","state":"in-progress","label":"beginner","createdAt":"2026-09-21T18:02:20Z","updatedAt":"2026-09-23T06:20:55Z"},{"n":873,"title":"Masonry: the detach flash animation is defined in CSS but never applied","state":"claimed","label":"beginner","createdAt":"2026-09-21T18:02:18Z","updatedAt":"2026-10-10T22:20:28Z"},{"n":872,"title":"Masonry: snap animation never plays because triggerBrickAnimation queries the wrong attribute","state":"in-progress","label":"beginner","createdAt":"2026-09-21T18:02:16Z","updatedAt":"2026-09-29T09:55:48Z"},{"n":868,"title":"Bricks remain selected after drag-and-drop instead of only on click","state":"in-progress","label":"beginner","createdAt":"2026-09-20T15:32:26Z","updatedAt":"2026-09-20T18:13:17Z"},{"n":842,"title":"Palette previews follow the workspace zoom","state":"in-progress","label":"beginner","createdAt":"2026-09-14T17:34:14Z","updatedAt":"2026-09-17T08:55:11Z"},{"n":841,"title":"Make palette slots keyboard reachable","state":"in-progress","label":"beginner","createdAt":"2026-09-14T17:32:52Z","updatedAt":"2026-09-15T17:41:47Z"},{"n":830,"title":"Search across every classification","state":"in-progress","label":"beginner","createdAt":"2026-09-10T07:33:25Z","updatedAt":"2026-09-13T16:27:51Z"},{"n":829,"title":"Collapse the palette","state":"in-progress","label":"beginner","createdAt":"2026-09-10T07:32:46Z","updatedAt":"2026-10-05T11:11:45Z"},{"n":820,"title":"Replace a filled argument slot","state":"in-progress","label":"beginner","createdAt":"2026-09-08T17:06:29Z","updatedAt":"2026-09-12T09:56:39Z"},{"n":814,"title":"As a user I can have a Grid overlay on the canvas","state":"in-progress","label":"beginner","createdAt":"2026-09-06T08:20:08Z","updatedAt":"2026-09-17T06:25:39Z"},{"n":811,"title":"I should have a  Clean: tidy every tower into a grid","state":"in-progress","label":"beginner","createdAt":"2026-09-06T08:16:03Z","updatedAt":"2026-09-10T07:17:15Z"},{"n":810,"title":"As a user I can have Keyboard navigation of the canvas","state":"in-progress","label":"beginner","createdAt":"2026-09-06T08:14:00Z","updatedAt":"2026-10-03T04:54:57Z"},{"n":808,"title":"As a user I can Scroll the canvas with the wheel and trackpad","state":"in-progress","label":"beginner","createdAt":"2026-09-06T08:10:11Z","updatedAt":"2026-10-01T17:56:46Z"},{"n":685,"title":"Show tooltip when hovering over Bricks in the Palette","state":"stale","label":"beginner","createdAt":"2026-07-09T15:04:15Z","updatedAt":"2026-07-09T15:04:49Z"},{"n":681,"title":"Add support for pie menu Brick widgets","state":"stale","label":"beginner","createdAt":"2026-07-08T23:43:43Z","updatedAt":"2026-07-08T23:50:04Z"},{"n":679,"title":"Improve Palette component styling","state":"in-progress","label":"beginner","createdAt":"2026-07-08T23:42:34Z","updatedAt":"2026-10-10T20:11:35Z"},{"n":678,"title":"Make quality of life improvements in the Masonry module","state":"stale","label":"beginner","createdAt":"2026-07-08T23:40:35Z","updatedAt":"2026-07-08T23:49:02Z"},{"n":631,"title":"Evaluate changes to Brick design/styling","state":"stale","label":"beginner","createdAt":"2026-06-26T12:34:01Z","updatedAt":"2026-07-09T21:14:42Z"},{"n":628,"title":"Add support for tight padding variation in Brick path generation utility","state":"stale","label":"beginner","createdAt":"2026-06-24T19:58:02Z","updatedAt":"2026-07-09T00:04:24Z"}]},"responseWindow":{"hours":[0,0,0,0,0,3,2,1,0,1,0,0,0,0,1,1,3,6,0,0,0,0,0,0,0,0,0,0,2,6,3,2,1,1,1,0,0,0,0,2,2,2,0,1,3,0,0,0,0,0,0,0,0,3,9,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,3,1,4,7,7,6,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,9,0,0,0,1,0,0,7,0,0,0,0,0,0,0,1,1,0,0,0,1,0,2,0,7,4,7,11,3,3,0,5,2,3,0,0,0,0,0,0,0,0,0,0,1,4,1,1,0,3,0,0,0,2,0,0,0,0,0,0,0,0],"people":3,"replies":183},"activeMaintainers":4},"series":[{"week":"2025-10-12","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-10-19","opened":2,"merged":0,"answered7d":0,"activity":3},{"week":"2025-10-26","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-02","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-09","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-11-16","opened":1,"merged":0,"answered7d":0,"activity":3},{"week":"2025-11-23","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2025-11-30","opened":4,"merged":0,"answered7d":1,"activity":7},{"week":"2025-12-07","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2025-12-14","opened":4,"merged":0,"answered7d":0,"activity":5},{"week":"2025-12-21","opened":2,"merged":0,"answered7d":0,"activity":2},{"week":"2025-12-28","opened":3,"merged":0,"answered7d":0,"activity":4},{"week":"2026-01-04","opened":0,"merged":0,"answered7d":0,"activity":2},{"week":"2026-01-11","opened":1,"merged":0,"answered7d":0,"activity":1},{"week":"2026-01-18","opened":1,"merged":0,"answered7d":0,"activity":2},{"week":"2026-01-25","opened":4,"merged":0,"answered7d":0,"activity":4},{"week":"2026-02-01","opened":3,"merged":0,"answered7d":0,"activity":4},{"week":"2026-02-08","opened":4,"merged":0,"answered7d":0,"activity":5},{"week":"2026-02-15","opened":2,"merged":0,"answered7d":1,"activity":3},{"week":"2026-02-22","opened":5,"merged":0,"answered7d":2,"activity":6},{"week":"2026-03-01","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-03-08","opened":4,"merged":0,"answered7d":0,"activity":4},{"week":"2026-03-15","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-03-22","opened":0,"merged":0,"answered7d":0,"activity":3},{"week":"2026-03-29","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-05","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2026-04-12","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-19","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-26","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-03","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-10","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-17","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-24","opened":0,"merged":0,"answered7d":0,"activity":1},{"week":"2026-05-31","opened":0,"merged":0,"answered7d":0,"activity":4},{"week":"2026-06-07","opened":2,"merged":0,"answered7d":0,"activity":15},{"week":"2026-06-14","opened":4,"merged":3,"answered7d":4,"activity":28},{"week":"2026-06-21","opened":7,"merged":6,"answered7d":7,"activity":53},{"week":"2026-06-28","opened":1,"merged":1,"answered7d":1,"activity":37},{"week":"2026-07-05","opened":3,"merged":0,"answered7d":1,"activity":22},{"week":"2026-07-12","opened":1,"merged":0,"answered7d":0,"activity":11},{"week":"2026-07-19","opened":1,"merged":0,"answered7d":0,"activity":16},{"week":"2026-07-26","opened":1,"merged":0,"answered7d":0,"activity":11},{"week":"2026-08-02","opened":4,"merged":0,"answered7d":0,"activity":11},{"week":"2026-08-09","opened":1,"merged":1,"answered7d":0,"activity":8},{"week":"2026-08-16","opened":1,"merged":0,"answered7d":1,"activity":2},{"week":"2026-08-23","opened":2,"merged":0,"answered7d":2,"activity":14},{"week":"2026-08-30","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2026-09-06","opened":11,"merged":7,"answered7d":11,"activity":28},{"week":"2026-09-13","opened":15,"merged":4,"answered7d":11,"activity":60},{"week":"2026-09-20","opened":18,"merged":11,"answered7d":13,"activity":65},{"week":"2026-09-27","opened":14,"merged":5,"answered7d":6,"activity":44},{"week":"2026-10-04","opened":13,"merged":4,"answered7d":9,"activity":41}],"trend":{"flag":"steady","recentMedianHours":49.806666666666665,"previousMedianHours":45.725,"recentN":60,"previousN":14,"openedThisWeek":13,"openedLastWeek":14},"programs":[{"program":"gsoc","slug":"sugar-labs","name":"Sugar Labs","years":[2024,2025,2026]}]}