Merge pull request #6115 from LLK/release/2021-09-29

[Master] release/2021-09-29
This commit is contained in:
Eric Rosenbaum 2021-09-30 11:06:29 -04:00 committed by GitHub
commit d400b7176f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 332 additions and 424 deletions

View file

@ -29,7 +29,7 @@ jobs:
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
git config --global user.name "${{ github.actor }}"
git checkout -b ${{ steps.vars.outputs.branch }}
git merge origin/develop
git merge --no-ff origin/develop
git push --set-upstream origin ${{ steps.vars.outputs.branch }}
- name: Develop PR
uses: repo-sync/pull-request@v2

219
package-lock.json generated
View file

@ -15390,9 +15390,9 @@
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
},
"nanocolors": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.6.tgz",
"integrity": "sha512-2pvTw6vYRaBLGir2xR7MxaJtyWkrn+C53EpW8yPotG+pdAwBvt0Xwk4VJ6VHLY0aLthVZPvDfm9TdZvrvAm5UQ==",
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz",
"integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==",
"dev": true
},
"nanomatch": {
@ -17298,52 +17298,14 @@
"resolve": "^1.1.7"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"version": "7.0.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz",
"integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
"nanocolors": "^0.2.2",
"source-map": "^0.6.1"
}
},
"source-map": {
@ -17351,15 +17313,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
@ -17958,52 +17911,14 @@
"postcss": "^7.0.14"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"version": "7.0.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz",
"integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
"nanocolors": "^0.2.2",
"source-map": "^0.6.1"
}
},
"source-map": {
@ -18011,15 +17926,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
@ -19043,9 +18949,9 @@
},
"dependencies": {
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@ -21006,9 +20912,9 @@
}
},
"scratch-gui": {
"version": "0.1.0-prerelease.20210922095847",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20210922095847.tgz",
"integrity": "sha512-UZNnspxDnavTbHh1QS9fMRV5i8/d4U62kqsBMuT3f0ruCSimVz6Ts8Sx6Gs9IX43Rw+H95SF1P3X+y9Mfm5VQw==",
"version": "0.1.0-prerelease.20210929111256",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20210929111256.tgz",
"integrity": "sha512-H7EdWDHI/7e2cviqghJtH9x86D4F5LOm0OpdAjMsQdY2ZBuTy3qQHH6jTZVzdV30gMpXXiAqayv8VPDpRb9/vw==",
"dev": true,
"requires": {
"arraybuffer-loader": "^1.0.6",
@ -21060,13 +20966,13 @@
"redux-throttle": "0.1.1",
"scratch-audio": "0.1.0-prerelease.20200528195344",
"scratch-blocks": "0.1.0-prerelease.20210829081240",
"scratch-l10n": "3.14.20210922031532",
"scratch-paint": "0.2.0-prerelease.20210922080237",
"scratch-l10n": "3.14.20210929031524",
"scratch-paint": "0.2.0-prerelease.20210929050415",
"scratch-render": "0.1.0-prerelease.20210819221425",
"scratch-render-fonts": "1.0.0-prerelease.20210401210003",
"scratch-storage": "1.3.5",
"scratch-svg-renderer": "0.2.0-prerelease.20210727023023",
"scratch-vm": "0.2.0-prerelease.20210921080609",
"scratch-vm": "0.2.0-prerelease.20210929071152",
"startaudiocontext": "1.2.1",
"style-loader": "^0.23.0",
"text-encoding": "0.7.0",
@ -21085,14 +20991,14 @@
}
},
"autoprefixer": {
"version": "9.8.6",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
"integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
"version": "9.8.7",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.7.tgz",
"integrity": "sha512-7Hg99B1eTH5+LgmUBUSmov1Z3bsggQJS7v3IMGo6wcScnbRuvtMc871J9J+4bSbIqa9LSX/zypFXJ8sXHpMJeQ==",
"dev": true,
"requires": {
"browserslist": "^4.12.0",
"caniuse-lite": "^1.0.30001109",
"colorette": "^1.2.1",
"nanocolors": "^0.2.8",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^7.0.32",
@ -21119,9 +21025,15 @@
},
"dependencies": {
"caniuse-lite": {
"version": "1.0.30001259",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001259.tgz",
"integrity": "sha512-V7mQTFhjITxuk9zBpI6nYsiTXhcPe05l+364nZjK7MFK/E7ibvYBSAXr4YcA6oPR8j3ZLM/LN+lUqUVAQEUZFg==",
"version": "1.0.30001261",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz",
"integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==",
"dev": true
},
"nanocolors": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz",
"integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==",
"dev": true
}
}
@ -21135,17 +21047,6 @@
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"classnames": {
@ -21208,15 +21109,6 @@
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
@ -21237,9 +21129,9 @@
"dev": true
},
"electron-to-chromium": {
"version": "1.3.846",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.846.tgz",
"integrity": "sha512-2jtSwgyiRzybHRxrc2nKI+39wH3AwQgn+sogQ+q814gv8hIFwrcZbV07Ea9f8AmK0ufPVZUvvAG1uZJ+obV4Jw==",
"version": "1.3.853",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.853.tgz",
"integrity": "sha512-W4U8n+U8I5/SUaFcqZgbKRmYZwcyEIQVBDf+j5QQK6xChjXnQD+wj248eGR9X4u+dDmDR//8vIfbu4PrdBBIoQ==",
"dev": true
},
"has-flag": {
@ -21327,14 +21219,13 @@
}
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"version": "7.0.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz",
"integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
"nanocolors": "^0.2.2",
"source-map": "^0.6.1"
}
},
"postcss-load-config": {
@ -21480,9 +21371,9 @@
}
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
@ -21509,9 +21400,9 @@
}
},
"scratch-l10n": {
"version": "3.14.20210922031532",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20210922031532.tgz",
"integrity": "sha512-LxwHhsxkZR5veFpDMC8wAItGMKVj8+Q33B5RiqWhH/zzx5Qq7/ON9AyGOZ0NF736U70TqjWvV1ZX4lP+GsEjBg==",
"version": "3.14.20210929031524",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20210929031524.tgz",
"integrity": "sha512-Zi9cyLGhCbJ/Hfv/xSbtx/c4Vjh8r3eX555EIub/rkCiLQZz5Y8Fe6m70dSn/f9dqmUCdGMBsNEY/3jZTKdsIw==",
"dev": true,
"requires": {
"@babel/cli": "^7.1.2",
@ -21521,9 +21412,9 @@
}
},
"scratch-paint": {
"version": "0.2.0-prerelease.20210922080237",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20210922080237.tgz",
"integrity": "sha512-76gEmHAmEejJZEcVR+S5+hZ9lKIEj4GCSXs2Y8oucY1lOl9ijAFsVeEMT3SyeJW18ZOesLa/VKc8qCtxzWe4sg==",
"version": "0.2.0-prerelease.20210929050415",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20210929050415.tgz",
"integrity": "sha512-5XBai5as+rKpwynVa6OhBh4Z1FcV7dKznTDS+VIPpxvCKHx99otQXNz8aLbHgaFjr7cf1Cu+f64sYS6wM25n0A==",
"dev": true,
"requires": {
"@scratch/paper": "0.11.20200728195508",
@ -21740,9 +21631,9 @@
"dev": true
},
"scratch-vm": {
"version": "0.2.0-prerelease.20210921080609",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20210921080609.tgz",
"integrity": "sha512-6YX6wviWNR3OMJccgW+EI1gFeITYerpcQoJ2EqgN93yCdskq5nCAgLylxh75MMMomBXJNUpUy/YldF+NEHztCw==",
"version": "0.2.0-prerelease.20210929071152",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20210929071152.tgz",
"integrity": "sha512-85oVoy5NTecYxSi3phD5RDYr9zzKXm6DHjyO+xB1iTOQQyU/C7bNygMgVr7ou8izbTuR+Jygv/y2UBoTbq6HVA==",
"dev": true,
"requires": {
"@vernier/godirect": "1.5.0",

View file

@ -130,8 +130,8 @@
"redux-mock-store": "1.5.4",
"redux-thunk": "2.0.1",
"sass-loader": "6.0.6",
"scratch-gui": "0.1.0-prerelease.20210922095847",
"scratch-l10n": "3.14.20210922031532",
"scratch-gui": "0.1.0-prerelease.20210929111256",
"scratch-l10n": "3.14.20210929031524",
"selenium-webdriver": "3.6.0",
"slick-carousel": "1.6.0",
"style-loader": "0.12.3",

View file

@ -147,10 +147,6 @@ module.exports.selectStudioCommentsGloballyEnabled = state =>
module.exports.selectMuteStatus = state => get(state, ['session', 'session', 'permissions', 'mute_status'],
{muteExpiresAt: 0, offenses: [], showWarning: false});
module.exports.selectIsMuted = state => (module.exports.selectMuteStatus(state).muteExpiresAt || 0) * 1000 > Date.now();
module.exports.selectNewStudiosLaunched = state => get(state, ['session', 'session', 'flags', 'new_studios_launched'],
false);
module.exports.selectStudioTransferLaunched = state => get(state, ['session', 'session', 'flags',
'studio_transfer_launched'], false);
module.exports.selectHasFetchedSession = state => state.session.status === module.exports.Status.FETCHED;

View file

@ -52,7 +52,7 @@ const selectCanRemoveCurator = (state, username) => {
};
const selectCanRemoveManager = (state, managerId) =>
!selectIsMuted(state) && (selectIsAdmin(state) || isManager(state)) && managerId !== state.studio.host;
const selectCanPromoteCurators = state => !selectIsMuted(state) && isManager(state);
const selectCanPromoteCurators = state => !selectIsMuted(state) && (isManager(state) || selectIsAdmin(state));
const selectCanTransfer = (state, managerId) => {
// Nobody can transfer a class studio.

View file

@ -118,13 +118,14 @@ const Credits = () => (
Juanita Buitrago, Leo Burd, Gaia Carini, Kasia Chmielinski,
Michelle Chung, Shane Clements, Hannah Cole, Sayamindu Dasgupta,
Margarita Dekoli, Manuj Dhariwal, Shruti Dhariwal, Dave Feinberg,
Linda Fernsel, Elizabeth Foster, Lily Gabaree, Stephanie Gayle,
Chris Graves, Joel Gritter, Megan Haddadi, Kreg Hanning,
Sean Hickey, Christina Huang, Cori Hudson, Tony Hwang,
Abdulrahman Idlbi, Rupal Jain, Randy Jou, Lily Kim, Tauntaun Kim,
Saskia Leggett, John Maloney, Tim Mickel, Amon Millner,
Andrés Monroy-Hernández, Marian Muthui, My Nguyen, Lisa O'Brien,
Abisola Okuk, Carmelo Presicce, Tina Quach, Mitchel Resnick,
Champika Fernando, Linda Fernsel, Elizabeth Foster, Joan Fusco,
Lily Gabaree, Stephanie Gayle, Chris Graves, Joel Gritter,
Megan Haddadi, Kreg Hanning, Sean Hickey, Christina Huang,
Cori Hudson, Tony Hwang, Abdulrahman Idlbi, Rupal Jain, Randy Jou,
Paul Kaplan, Lily Kim, Tauntaun Kim, Saskia Leggett, DD Liu,
John Maloney, Tim Mickel, Amon Millner, Andrés Monroy-Hernández,
Marian Muthui, My Nguyen, Lisa O'Brien, Abisola Okuk,
Kristin Osiecki, Carmelo Presicce, Tina Quach, Mitchel Resnick,
Ricarose Roque, Natalie Rusk, Andrea Saxman, Jay Silver,
Brian Silverman, Andrew Sliwinski, Tammy Stern, Lis Sylvan,
Hanako Tjia, Jaleesa Trapp, Moran Tsur, Claudia Urrea,

View file

@ -1,232 +1,257 @@
[
{
"userName": "cosmosaura",
"userId": 61436283,
"name": "Achal"
},
{
"userName": "originalwow",
"userId": 56182496,
"name": "Amielle"
},
{
"userName": "amylaser",
"userId": 17462181,
"name": "Amy"
},
{
"userName": "achouse",
"userId": 4747093,
"name": "Annie"
},
{
"userName": "wheelsonfire",
"userId": 10001044,
"name": "Ben"
},
{
"userName": "BrycedTea",
"userId": 2029640,
"name": "Bryce"
},
{
"userName": "designerd",
"userId": 3581881,
"name": "Carl"
},
{
"userName": "Champ99",
"userId": 900283,
"name": "Champika"
},
{
"userName": "chrisg",
"userId": 1494,
"name": "Chris"
},
{
"userName": "cwillisf",
"userId": 3532363,
"name": "Chris"
},
{
"userName": "ceebee",
"userId": 2755634,
"name": "Christan"
},
{
"userName": "floralsunset",
"userId": 64635632,
"name": "Cindy"
},
{
"userName": "codubee",
"userId": 10866958,
"name": "Colby"
},
{
"userName": "noncanonical",
"userId": 55851826,
"name": "Craig"
},
{
"userName": "dsquare",
"userId": 527836,
"name": "DD"
},
{
"userName": "SunnyDay4aBlueJay",
"userId": 24164779,
"name": "Ellen"
},
{
"userName": "ericr",
"userId": 159,
"name": "Eric"
},
{
"userName": "speakvisually",
"userId": 3484484,
"name": "Eric"
},
{
"userName": "cheddargirl",
"userId": 159139,
"name": "Franchette"
},
{
"userName": "starry_sky7",
"userId": 61374093,
"name": "Iuliia"
},
{
"userName": "pixelmoth",
"userId": 2408962,
"name": "Jacy"
},
{
"userName": "Mos20",
"userId": 52545208,
"name": "Joan"
},
{
"userName": "FredDog",
"userId": 2496866,
"name": "Jolie"
},
{
"userName": "Class12321",
"userId": 2871308,
"name": "Joshua"
},
{
"userName": "bluecrazie",
"userId": 50257624,
"name": "JT"
},
{
"userName": "MunchtheCat",
"userId": 59383434,
"name": "Kait"
},
{
"userName": "kittyloaf",
"userId": 27383273,
"name": "Karishma"
},
{
"userName": "dinopickles",
"userId": 34607790,
"name": "Katelyn"
},
{
"userName": "pondermake",
"userId": 26779669,
"name": "Kathy"
},
{
"userName": "KayOh",
"userId": 3018280,
"name": "Kristin"
},
{
"userName": "Lamatchalattei",
"userId": 61415372,
"name": "Lamar"
},
{
"userName": "algorithmar",
"userId": 43013126,
"name": "Maren"
},
{
"userName": "dietbacon",
"userId": 24137617,
"name": "Mark"
},
{
"userName": "Paddle2See",
"userId": 49156,
"name": "Mark"
},
{
"userName": "sgcc_",
"userId": 21986973,
"name": "Paul"
},
{
"userName": "raimondious",
"userId": 2584924,
"name": "Ray"
},
{
"userName": "rtrvmwe",
"userId": 61342326,
"name": "Retrouvailles"
},
{
"userName": "binnieb",
"userId": 53715539,
"name": "Robyn"
},
{
"userName": "rupalax",
"userId": 58005604,
"name": "Rupa"
},
{
"userName": "scmb1",
"userId": 246290,
"name": "Sarah"
},
{
"userName": "Onyx45",
"userId": 63526043,
"name": "Shawna"
},
{
"userName": "sgste735",
"userId": 69368419,
"name": "Stephanie"
},
{
"userName": "LT7845",
"userId": 68837085,
"name": "Tasha"
},
{
"userName": "Pandatt",
"userId": 18417774,
"name": "Tracy"
},
{
"userName": "Za-Chary",
"userId": 974363,
"name": "Zachary"
},
{
"userName": "Zinnea",
"userId": 35911243,
"name": "Zo\u00eb"
}
{
"userName": "cosmosaura",
"userId": 61436283,
"name": "Achal"
},
{
"userName": "themorningsun",
"userId": 79849553,
"name": "Addae"
},
{
"userName": "LeopardFlash",
"userId": 71683519,
"name": "Aishat"
},
{
"userName": "originalwow",
"userId": 56182496,
"name": "Amielle"
},
{
"userName": "amylaser",
"userId": 17462181,
"name": "Amy"
},
{
"userName": "achouse",
"userId": 4747093,
"name": "Annie"
},
{
"userName": "wheelsonfire",
"userId": 10001044,
"name": "Ben"
},
{
"userName": "beezy333",
"userId": 79626299,
"name": "Breanna"
},
{
"userName": "BrycedTea",
"userId": 2029640,
"name": "Bryce"
},
{
"userName": "designerd",
"userId": 3581881,
"name": "Carl"
},
{
"userName": "chrisg",
"userId": 1494,
"name": "Chris"
},
{
"userName": "cwillisf",
"userId": 3532363,
"name": "Chris"
},
{
"userName": "ceebee",
"userId": 2755634,
"name": "Christan"
},
{
"userName": "floralsunset",
"userId": 64635632,
"name": "Cindy"
},
{
"userName": "codubee",
"userId": 10866958,
"name": "Colby"
},
{
"userName": "spectre_specs",
"userId": 79615865,
"name": "Courtney"
},
{
"userName": "noncanonical",
"userId": 55851826,
"name": "Craig"
},
{
"userName": "Harakou",
"userId": 373646,
"name": "Dalton"
},
{
"userName": "SunnyDay4aBlueJay",
"userId": 24164779,
"name": "Ellen"
},
{
"userName": "ericr",
"userId": 159,
"name": "Eric"
},
{
"userName": "speakvisually",
"userId": 3484484,
"name": "Eric"
},
{
"userName": "cheddargirl",
"userId": 159139,
"name": "Franchette"
},
{
"userName": "starry_sky7",
"userId": 61374093,
"name": "Iuliia"
},
{
"userName": "bluecrazie",
"userId": 50257624,
"name": "JT"
},
{
"userName": "pixelmoth",
"userId": 2408962,
"name": "Jacy"
},
{
"userName": "FredDog",
"userId": 2496866,
"name": "Jolie"
},
{
"userName": "Class12321",
"userId": 2871308,
"name": "Joshua"
},
{
"userName": "MunchtheCat",
"userId": 59383434,
"name": "Kait"
},
{
"userName": "kittyloaf",
"userId": 27383273,
"name": "Karishma"
},
{
"userName": "dinopickles",
"userId": 34607790,
"name": "Katelyn"
},
{
"userName": "pondermake",
"userId": 26779669,
"name": "Kathy"
},
{
"userName": "Lamatchalattei",
"userId": 61415372,
"name": "Lamar"
},
{
"userName": "JumpingRabbits",
"userId": 3948118,
"name": "Linda"
},
{
"userName": "itzlinz",
"userId": 80082947,
"name": "Lindsay"
},
{
"userName": "algorithmar",
"userId": 43013126,
"name": "Maren"
},
{
"userName": "dietbacon",
"userId": 24137617,
"name": "Mark"
},
{
"userName": "Paddle2See",
"userId": 49156,
"name": "Mark"
},
{
"userName": "deism902",
"userId": 78735197,
"name": "Melodie"
},
{
"userName": "pamimus",
"userId": 74474548,
"name": "Mimi"
},
{
"userName": "raimondious",
"userId": 2584924,
"name": "Ray"
},
{
"userName": "rtrvmwe",
"userId": 61342326,
"name": "Retrouvailles"
},
{
"userName": "binnieb",
"userId": 53715539,
"name": "Robyn"
},
{
"userName": "rupalax",
"userId": 58005604,
"name": "Rupa"
},
{
"userName": "Rhyolyte",
"userId": 80776012,
"name": "Ryan"
},
{
"userName": "scmb1",
"userId": 246290,
"name": "Sarah"
},
{
"userName": "Onyx45",
"userId": 63526043,
"name": "Shawna"
},
{
"userName": "sgste735",
"userId": 69368419,
"name": "Stephanie"
},
{
"userName": "LT7845",
"userId": 68837085,
"name": "Tasha"
},
{
"userName": "Pandatt",
"userId": 18417774,
"name": "Tracy"
},
{
"userName": "Za-Chary",
"userId": 974363,
"name": "Zachary"
},
{
"userName": "Zinnea",
"userId": 35911243,
"name": "Zoë"
}
]

View file

@ -12,7 +12,7 @@ const {connect} = require('react-redux');
const {useState} = require('react');
const projectShape = require('./projectshape.jsx').projectShape;
import {selectIsMuted, selectNewStudiosLaunched} from '../../redux/session.js';
import {selectIsMuted} from '../../redux/session.js';
import StudioMuteEditMessage from '../studio/studio-mute-edit-message.jsx';
require('./subactions.scss');
@ -159,6 +159,6 @@ Subactions.propTypes = {
module.exports = connect(
state => ({
showAddToStudioMuteError: selectNewStudiosLaunched(state) && selectIsMuted(state)
showAddToStudioMuteError: selectIsMuted(state)
})
)(Subactions);

View file

@ -13,7 +13,6 @@ import {
selectCanRemoveCurator, selectCanRemoveManager, selectCanPromoteCurators,
selectCanTransfer
} from '../../redux/studio-permissions';
import {selectStudioTransferLaunched} from '../../redux/session.js';
import {
Errors,
promoteCurator,
@ -29,7 +28,7 @@ import removeIcon from './icons/remove-icon.svg';
import promoteIcon from './icons/curator-icon.svg';
const StudioMemberTile = ({
canRemove, canPromote, onRemove, canTransferHost, onPromote, studioTransferLaunched,
canRemove, canPromote, onRemove, canTransferHost, onPromote,
isCreator, hasReachedManagerLimit, // mapState props
username, image // own props
}) => {
@ -54,10 +53,9 @@ const StudioMemberTile = ({
>{username}</a>
{isCreator &&
<div className="studio-member-role">
{studioTransferLaunched ?
<FormattedMessage id="studio.hostRole" /> :
<FormattedMessage id="studio.creatorRole" />}
</div>}
<FormattedMessage id="studio.hostRole" />
</div>
}
</div>
{(canRemove || canPromote || canTransferHost) &&
<OverflowMenu>
@ -154,18 +152,15 @@ StudioMemberTile.propTypes = {
username: PropTypes.string,
image: PropTypes.string,
isCreator: PropTypes.bool,
hasReachedManagerLimit: PropTypes.bool,
studioTransferLaunched: PropTypes.bool
hasReachedManagerLimit: PropTypes.bool
};
const ManagerTile = connect(
(state, ownProps) => ({
canRemove: selectCanRemoveManager(state, ownProps.id),
canPromote: false,
canTransferHost: selectCanTransfer(state, ownProps.id) &&
selectStudioTransferLaunched(state),
isCreator: state.studio.host === ownProps.id,
studioTransferLaunched: selectStudioTransferLaunched(state)
canTransferHost: selectCanTransfer(state, ownProps.id),
isCreator: state.studio.host === ownProps.id
}),
{
onRemove: removeManager

View file

@ -344,7 +344,7 @@ describe('studio members', () => {
describe('can promote curators', () => {
test.each([
['admin', false],
['admin', true],
['curator', false],
['manager', true],
['creator', true],