diff --git a/app/main.ts b/app/main.ts
index 602afacade..2f2464a643 100644
--- a/app/main.ts
+++ b/app/main.ts
@@ -2348,12 +2348,15 @@ async function requestShutdown() {
// exits the app before we've set everything up in preload() (so the browser isn't
// yet listening for these events), or if there are a whole lot of stacked-up tasks.
// Note: two minutes is also our timeout for SQL tasks in data.js in the browser.
- timeout = setTimeout(() => {
- getLogger().error(
- 'requestShutdown: Response never received; forcing shutdown.'
- );
- resolveFn();
- }, 2 * 60 * 1000);
+ timeout = setTimeout(
+ () => {
+ getLogger().error(
+ 'requestShutdown: Response never received; forcing shutdown.'
+ );
+ resolveFn();
+ },
+ 2 * 60 * 1000
+ );
});
try {
diff --git a/background.html b/background.html
index fc67af4c1f..ba1ebbbc7f 100644
--- a/background.html
+++ b/background.html
@@ -1,7 +1,7 @@
-
+
diff --git a/calling_tools.html b/calling_tools.html
index b725596fb3..d0efac5a94 100644
--- a/calling_tools.html
+++ b/calling_tools.html
@@ -1,5 +1,5 @@
-
+
diff --git a/loading.html b/loading.html
index 9ffdf0dbbd..7aa2f18c2d 100644
--- a/loading.html
+++ b/loading.html
@@ -1,7 +1,7 @@
-
+
=10.0.0"
}
},
+ "node_modules/@indutny/parallel-prettier": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@indutny/parallel-prettier/-/parallel-prettier-3.0.0.tgz",
+ "integrity": "sha512-v6WkYfLUYfDELBsynhrMpDxLMZZ7LRhfB1hfeb4ERoViW5zb7aovfAsNjiZrWH4k0KZcCi3iMNF+d9i8h0UmzA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "commander": "^7.0.0",
+ "glob-stream": "^7.0.0",
+ "ignore": "^5.1.8",
+ "ora": "^5.3.0",
+ "prettier": "^3.0.3",
+ "rxjs": "^6.6.3"
+ },
+ "bin": {
+ "pprettier": "dist/index.js"
+ },
+ "peerDependencies": {
+ "prettier": "^3.0.0"
+ }
+ },
+ "node_modules/@indutny/parallel-prettier/node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@indutny/rezip-electron": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@indutny/rezip-electron/-/rezip-electron-1.3.1.tgz",
@@ -4989,36 +5019,6 @@
"node": ">=10"
}
},
- "node_modules/@mixer/parallel-prettier": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@mixer/parallel-prettier/-/parallel-prettier-2.0.3.tgz",
- "integrity": "sha512-42ImvDusmxjpQLHEmZrljV/+L9ynfmaTe5ooLMTTLyELulUJtJW8vBXCadQdodfZ5wjr2Sg3YGIzWE0rnBsfDg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "commander": "^7.0.0",
- "glob-stream": "^7.0.0",
- "ignore": "^5.1.8",
- "ora": "^5.3.0",
- "prettier": "^2.0.4",
- "rxjs": "^6.6.3"
- },
- "bin": {
- "pprettier": "dist/index.js"
- },
- "peerDependencies": {
- "prettier": "^2.0.0"
- }
- },
- "node_modules/@mixer/parallel-prettier/node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/@ndelangen/get-tarball": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz",
@@ -5326,6 +5326,18 @@
"node": ">=14"
}
},
+ "node_modules/@pkgr/core": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
+ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/@popperjs/core": {
"version": "2.11.6",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
@@ -8619,21 +8631,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/cli/node_modules/prettier": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
- "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
- "dev": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
"node_modules/@storybook/cli/node_modules/semver": {
"version": "7.6.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
@@ -8781,21 +8778,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/codemod/node_modules/prettier": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
- "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
- "dev": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
"node_modules/@storybook/codemod/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -17884,21 +17866,21 @@
"dev": true
},
"node_modules/duplexify": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
+ "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1",
- "stream-shift": "^1.0.0"
+ "stream-shift": "^1.0.2"
}
},
"node_modules/duplexify/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -17909,15 +17891,6 @@
"node": ">= 6"
}
},
- "node_modules/duplexify/node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -19748,19 +19721,33 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz",
- "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
+ "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
"dev": true,
"dependencies": {
- "prettier-linter-helpers": "^1.0.0"
+ "prettier-linter-helpers": "^1.0.0",
+ "synckit": "^0.9.1"
},
"engines": {
- "node": ">=6.0.0"
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-plugin-prettier"
},
"peerDependencies": {
- "eslint": ">=5.0.0",
- "prettier": ">=1.13.0"
+ "@types/eslint": ">=8.0.0",
+ "eslint": ">=8.0.0",
+ "eslint-config-prettier": "*",
+ "prettier": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/eslint": {
+ "optional": true
+ },
+ "eslint-config-prettier": {
+ "optional": true
+ }
}
},
"node_modules/eslint-plugin-react": {
@@ -21698,16 +21685,16 @@
}
},
"node_modules/glob-stream/node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
@@ -21731,9 +21718,9 @@
}
},
"node_modules/glob-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -21744,15 +21731,6 @@
"node": ">= 6"
}
},
- "node_modules/glob-stream/node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -30033,15 +30011,15 @@
}
},
"node_modules/prettier": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
- "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
@@ -32262,9 +32240,9 @@
}
},
"node_modules/rxjs/node_modules/tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"node_modules/safe-buffer": {
@@ -33316,9 +33294,9 @@
}
},
"node_modules/stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
- "integrity": "sha512-Afuc4BKirbx0fwm9bKOehZPG01DJkm/4qbklw4lo9nMPqd2x0kZTLcgwQUXdGiPPY489l3w8cQ5xEEAGbg8ACQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
"dev": true
},
"node_modules/streamsearch": {
@@ -34081,6 +34059,28 @@
"node": ">=0.10.0"
}
},
+ "node_modules/synckit": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz",
+ "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==",
+ "dev": true,
+ "dependencies": {
+ "@pkgr/core": "^0.1.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
+ "node_modules/synckit/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "dev": true
+ },
"node_modules/tabbable": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.2.1.tgz",
@@ -34465,15 +34465,6 @@
"xtend": "~4.0.0"
}
},
- "node_modules/through2-filter/node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4"
- }
- },
"node_modules/thunky": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz",
diff --git a/package.json b/package.json
index b79b185209..d5f8afe751 100644
--- a/package.json
+++ b/package.json
@@ -207,9 +207,9 @@
"@electron/fuses": "1.5.0",
"@electron/notarize": "2.1.0",
"@formatjs/intl": "2.6.7",
+ "@indutny/parallel-prettier": "3.0.0",
"@indutny/rezip-electron": "1.3.1",
"@indutny/symbolicate-mac": "2.3.0",
- "@mixer/parallel-prettier": "2.0.3",
"@signalapp/mock-server": "6.6.0",
"@storybook/addon-a11y": "8.1.11",
"@storybook/addon-actions": "8.1.11",
@@ -317,7 +317,7 @@
"pixelmatch": "5.3.0",
"playwright": "1.45.0",
"pngjs": "7.0.0",
- "prettier": "2.8.0",
+ "prettier": "3.3.3",
"protobufjs-cli": "1.1.1",
"resedit": "2.0.2",
"resolve-url-loader": "5.0.0",
@@ -349,6 +349,9 @@
},
"@types/react": "17.0.45",
"@types/react-dom": "17.0.17",
+ "eslint-config-airbnb-typescript-prettier": {
+ "eslint-plugin-prettier": "5.2.1"
+ },
"fabric": {
"canvas": "$nop",
"jsdom": "$nop"
diff --git a/scripts/generate-acknowledgments.js b/scripts/generate-acknowledgments.js
index 53a99ed6ce..d84dbee568 100644
--- a/scripts/generate-acknowledgments.js
+++ b/scripts/generate-acknowledgments.js
@@ -193,7 +193,7 @@ async function main() {
].join('\n');
const prettierConfig = await prettier.resolveConfig(destinationPath);
- const output = prettier.format(unformattedOutput, {
+ const output = await prettier.format(unformattedOutput, {
...prettierConfig,
filepath: destinationPath,
});
diff --git a/stylesheets/_mixins.scss b/stylesheets/_mixins.scss
index f2dce97d7c..e1f6e7630a 100644
--- a/stylesheets/_mixins.scss
+++ b/stylesheets/_mixins.scss
@@ -12,8 +12,17 @@
}
/* Farsi (Persian) */
&:lang(fa) {
- font-family: 'Vazirmatn', -apple-system, system-ui, BlinkMacSystemFont,
- 'Segoe UI', Tahoma, 'Noto Sans Arabic', Helvetica, Arial, sans-serif;
+ font-family:
+ 'Vazirmatn',
+ -apple-system,
+ system-ui,
+ BlinkMacSystemFont,
+ 'Segoe UI',
+ Tahoma,
+ 'Noto Sans Arabic',
+ Helvetica,
+ Arial,
+ sans-serif;
}
/* Urdu */
&:lang(ur) {
@@ -316,7 +325,9 @@ $rtl-icon-map: (
// Other
@mixin popper-shadow() {
- box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.3), 0px 0px 8px rgba(0, 0, 0, 0.05);
+ box-shadow:
+ 0px 8px 20px rgba(0, 0, 0, 0.3),
+ 0px 0px 8px rgba(0, 0, 0, 0.05);
@media (forced-colors: active) {
border: 1px solid WindowText;
diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss
index ef2e4e39b1..f13c900a89 100644
--- a/stylesheets/_modules.scss
+++ b/stylesheets/_modules.scss
@@ -408,7 +408,9 @@ $message-padding-horizontal: 12px;
background: transparent;
border: 1px solid $color-gray-20;
animation: module-message__select-checkbox--fadeIn 0.2s ease-out;
- transition: background 0.1s ease-out, border-color 0.1s ease-out;
+ transition:
+ background 0.1s ease-out,
+ border-color 0.1s ease-out;
&::before {
content: '';
@@ -4024,8 +4026,12 @@ button.module-image__border-overlay:focus {
line-height: 0;
overflow: hidden;
border-radius: 10px;
- transition: top 200ms linear, inset-inline-start 200ms linear,
- transform 200ms linear, width 200ms linear, height 200ms linear;
+ transition:
+ top 200ms linear,
+ inset-inline-start 200ms linear,
+ transform 200ms linear,
+ width 200ms linear,
+ height 200ms linear;
@media (prefers-reduced-motion) {
transition: none;
@@ -4295,7 +4301,9 @@ button.module-image__border-overlay:focus {
backface-visibility: hidden;
background-color: $color-gray-95;
border-radius: 4px;
- box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05), 0px 8px 20px rgba(0, 0, 0, 0.3);
+ box-shadow:
+ 0px 0px 8px rgba(0, 0, 0, 0.05),
+ 0px 8px 20px rgba(0, 0, 0, 0.3);
cursor: grab;
height: 158px;
position: fixed;
diff --git a/stylesheets/_variables.scss b/stylesheets/_variables.scss
index 0b74f6685e..58313ace18 100644
--- a/stylesheets/_variables.scss
+++ b/stylesheets/_variables.scss
@@ -2,8 +2,18 @@
// SPDX-License-Identifier: AGPL-3.0-only
// Note: Add language-specific fallbacks in @localized-fonts mixin
-$inter: Inter, 'Source Sans Pro', 'Source Han Sans', -apple-system, system-ui,
- 'Segoe UI', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+$inter:
+ Inter,
+ 'Source Sans Pro',
+ 'Source Han Sans',
+ -apple-system,
+ system-ui,
+ 'Segoe UI',
+ 'Noto Sans',
+ 'Helvetica Neue',
+ Helvetica,
+ Arial,
+ sans-serif;
// Note: This font-family is checked for in matchMonospace, to support paste scenarios
$monospace: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo,
diff --git a/stylesheets/components/AvatarPreview.scss b/stylesheets/components/AvatarPreview.scss
index b4eb646625..b38e994bb3 100644
--- a/stylesheets/components/AvatarPreview.scss
+++ b/stylesheets/components/AvatarPreview.scss
@@ -53,7 +53,9 @@
background: $color-gray-02;
border-radius: 100%;
bottom: 4px;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.2);
+ box-shadow:
+ 0px 4px 16px rgba(0, 0, 0, 0.12),
+ 0px 2px 4px rgba(0, 0, 0, 0.2);
display: flex;
height: 28px;
justify-content: center;
@@ -75,7 +77,9 @@
align-items: center;
background-color: $color-white;
border-radius: 100%;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.2);
+ box-shadow:
+ 0px 4px 16px rgba(0, 0, 0, 0.12),
+ 0px 2px 4px rgba(0, 0, 0, 0.2);
display: flex;
height: 24px;
justify-content: center;
diff --git a/stylesheets/components/BetterAvatarBubble.scss b/stylesheets/components/BetterAvatarBubble.scss
index 18d65d0186..636616b338 100644
--- a/stylesheets/components/BetterAvatarBubble.scss
+++ b/stylesheets/components/BetterAvatarBubble.scss
@@ -60,7 +60,9 @@
align-items: center;
background-color: $color-white;
border-radius: 100%;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.2);
+ box-shadow:
+ 0px 4px 16px rgba(0, 0, 0, 0.12),
+ 0px 2px 4px rgba(0, 0, 0, 0.2);
display: none;
height: 20px;
justify-content: center;
diff --git a/stylesheets/components/Button.scss b/stylesheets/components/Button.scss
index 07e6f41751..54bf6845a7 100644
--- a/stylesheets/components/Button.scss
+++ b/stylesheets/components/Button.scss
@@ -4,7 +4,9 @@
.module-Button {
@mixin focus-box-shadow($inner-color, $outer-color) {
&:focus {
- box-shadow: 0 0 0 1px $inner-color, 0 0 0 4px $outer-color;
+ box-shadow:
+ 0 0 0 1px $inner-color,
+ 0 0 0 4px $outer-color;
}
}
diff --git a/stylesheets/components/CallControls.scss b/stylesheets/components/CallControls.scss
index e10c88ef1c..cfed8a6b60 100644
--- a/stylesheets/components/CallControls.scss
+++ b/stylesheets/components/CallControls.scss
@@ -97,7 +97,9 @@
@include keyboard-mode {
&:focus {
- box-shadow: 0 0 0 1px $color-gray-80, 0 0 0 3px $color-ultramarine !important;
+ box-shadow:
+ 0 0 0 1px $color-gray-80,
+ 0 0 0 3px $color-ultramarine !important;
}
}
}
diff --git a/stylesheets/components/CallingButton.scss b/stylesheets/components/CallingButton.scss
index 064e7fef9d..d08940550f 100644
--- a/stylesheets/components/CallingButton.scss
+++ b/stylesheets/components/CallingButton.scss
@@ -147,7 +147,9 @@
max-width: 64px;
margin-inline: 10px;
- transition: margin-inline-start 0.3s ease-out, opacity 0.3s ease-out;
+ transition:
+ margin-inline-start 0.3s ease-out,
+ opacity 0.3s ease-out;
@media (prefers-reduced-motion) {
transition: none;
}
diff --git a/stylesheets/components/CallsTab.scss b/stylesheets/components/CallsTab.scss
index 5a954cedd0..c13f5f0be0 100644
--- a/stylesheets/components/CallsTab.scss
+++ b/stylesheets/components/CallsTab.scss
@@ -119,7 +119,9 @@
&:focus {
outline: none;
@include keyboard-mode {
- box-shadow: 0 0 0 2px $color-white, 0 0 0 4px $color-ultramarine;
+ box-shadow:
+ 0 0 0 2px $color-white,
+ 0 0 0 4px $color-ultramarine;
}
}
diff --git a/stylesheets/components/CompositionInput.scss b/stylesheets/components/CompositionInput.scss
index 63acbe7a89..752ab93a20 100644
--- a/stylesheets/components/CompositionInput.scss
+++ b/stylesheets/components/CompositionInput.scss
@@ -140,7 +140,9 @@
transition: opacity ease 200ms;
// The same box-shadow in popper-shadow mixin, just halved
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 30%), 0px 0px 4px rgba(0, 0, 0, 5%);
+ box-shadow:
+ 0px 4px 10px rgba(0, 0, 0, 30%),
+ 0px 0px 4px rgba(0, 0, 0, 5%);
@include light-theme() {
background: $color-white;
diff --git a/stylesheets/components/ConversationHeader.scss b/stylesheets/components/ConversationHeader.scss
index 1026ca8b00..0b655bbd20 100644
--- a/stylesheets/components/ConversationHeader.scss
+++ b/stylesheets/components/ConversationHeader.scss
@@ -156,7 +156,9 @@
margin-inline-end: var(--button-spacing);
min-width: $icon-size;
padding: 2px;
- transition: margin-inline-end 200ms ease-out, opacity 200ms ease-out,
+ transition:
+ margin-inline-end 200ms ease-out,
+ opacity 200ms ease-out,
background 100ms ease-out;
width: $icon-size;
diff --git a/stylesheets/components/Inbox.scss b/stylesheets/components/Inbox.scss
index 75a0cb15b2..15b4bdc5de 100644
--- a/stylesheets/components/Inbox.scss
+++ b/stylesheets/components/Inbox.scss
@@ -61,7 +61,9 @@
}
.Inbox__logo__part--animated {
- transition: opacity 250ms, transform 250ms;
+ transition:
+ opacity 250ms,
+ transform 250ms;
}
@for $i from 1 through 16 {
diff --git a/stylesheets/components/ReactionPickerPicker.scss b/stylesheets/components/ReactionPickerPicker.scss
index 7c62c550b7..043beceeff 100644
--- a/stylesheets/components/ReactionPickerPicker.scss
+++ b/stylesheets/components/ReactionPickerPicker.scss
@@ -17,7 +17,9 @@
align-items: center;
border-style: solid;
border-width: 1px;
- box-shadow: 0 1px 4px $color-black-alpha-05, 0 10px 16px $color-black-alpha-20;
+ box-shadow:
+ 0 1px 4px $color-black-alpha-05,
+ 0 10px 16px $color-black-alpha-20;
display: inline-flex;
flex-direction: row;
padding-block: 3px;
diff --git a/stylesheets/components/SafetyTipsModal.scss b/stylesheets/components/SafetyTipsModal.scss
index 9d0cd2d4aa..59b8c9598a 100644
--- a/stylesheets/components/SafetyTipsModal.scss
+++ b/stylesheets/components/SafetyTipsModal.scss
@@ -204,12 +204,16 @@ $SafetyTipsModal__paddingBlock: 24px;
&:focus {
@include keyboard-mode {
&::before {
- box-shadow: 0 0 0 2px $color-white, 0 0 0 4px $color-accent-blue;
+ box-shadow:
+ 0 0 0 2px $color-white,
+ 0 0 0 4px $color-accent-blue;
}
}
@include dark-keyboard-mode {
&::before {
- box-shadow: 0 0 0 2px $color-gray-80, 0 0 0 4px $color-accent-blue;
+ box-shadow:
+ 0 0 0 2px $color-gray-80,
+ 0 0 0 4px $color-accent-blue;
}
}
}
diff --git a/stylesheets/components/ScrollDownButton.scss b/stylesheets/components/ScrollDownButton.scss
index 9b282af418..702afc4a4b 100644
--- a/stylesheets/components/ScrollDownButton.scss
+++ b/stylesheets/components/ScrollDownButton.scss
@@ -14,7 +14,8 @@
align-items: center;
justify-content: center;
- box-shadow: 0px 0px 2px $color-black-alpha-20,
+ box-shadow:
+ 0px 0px 2px $color-black-alpha-20,
0px 2px 6px $color-black-alpha-12;
@include light-theme {
diff --git a/stylesheets/components/Toast.scss b/stylesheets/components/Toast.scss
index 65a3142157..fd780ed99a 100644
--- a/stylesheets/components/Toast.scss
+++ b/stylesheets/components/Toast.scss
@@ -8,7 +8,9 @@
align-items: stretch;
border-radius: $border-radius-px;
- box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.05), 0px 4px 12px rgba(0, 0, 0, 0.3);
+ box-shadow:
+ 0px 0px 4px rgba(0, 0, 0, 0.05),
+ 0px 4px 12px rgba(0, 0, 0, 0.3);
display: flex;
justify-content: space-between;
user-select: none;
diff --git a/stylesheets/components/Waveform.scss b/stylesheets/components/Waveform.scss
index 6b74753e16..d7470715e8 100644
--- a/stylesheets/components/Waveform.scss
+++ b/stylesheets/components/Waveform.scss
@@ -22,7 +22,9 @@
width: 2px;
border-radius: 2px;
- transition: height 250ms, background 250ms;
+ transition:
+ height 250ms,
+ background 250ms;
&:not(:first-of-type) {
margin-inline-start: 2px;
diff --git a/ts/ConversationController.ts b/ts/ConversationController.ts
index b4551ae51a..78cde7b060 100644
--- a/ts/ConversationController.ts
+++ b/ts/ConversationController.ts
@@ -1137,9 +1137,8 @@ export class ConversationController {
log.warn(
`${logId}: Ensure that all V1 groups have new conversationId instead of old`
);
- const groups = await this.getAllGroupsInvolvingServiceId(
- obsoleteServiceId
- );
+ const groups =
+ await this.getAllGroupsInvolvingServiceId(obsoleteServiceId);
groups.forEach(group => {
const members = group.get('members');
const withoutObsolete = without(members, obsoleteId);
diff --git a/ts/Crypto.ts b/ts/Crypto.ts
index 72ad1a9182..7e240c6e48 100644
--- a/ts/Crypto.ts
+++ b/ts/Crypto.ts
@@ -723,7 +723,7 @@ export function decryptProfile(data: Uint8Array, key: Uint8Array): Uint8Array {
export function encryptProfileItemWithPadding(
item: Uint8Array,
profileKey: Uint8Array,
- paddedLengths: typeof PaddedLengths[keyof typeof PaddedLengths]
+ paddedLengths: (typeof PaddedLengths)[keyof typeof PaddedLengths]
): Uint8Array {
const paddedLength = paddedLengths.find(
(length: number) => item.byteLength <= length
diff --git a/ts/backbone/reliable_trigger.ts b/ts/backbone/reliable_trigger.ts
index 246a789069..37a835e802 100644
--- a/ts/backbone/reliable_trigger.ts
+++ b/ts/backbone/reliable_trigger.ts
@@ -136,7 +136,7 @@ const triggerEvents = function (
function trigger<
T extends Backbone.Events & {
_events: undefined | Record>;
- }
+ },
>(this: T, name: string, ...args: Array): T {
if (!this._events) return this;
if (!eventsApi(this, name, args)) return this;
diff --git a/ts/badges/badgeImageFileDownloader.ts b/ts/badges/badgeImageFileDownloader.ts
index 05916144bf..073f440c40 100644
--- a/ts/badges/badgeImageFileDownloader.ts
+++ b/ts/badges/badgeImageFileDownloader.ts
@@ -97,9 +97,8 @@ async function downloadBadgeImageFile(url: string): Promise {
}
const imageFileData = await server.getBadgeImageFile(url);
- const localPath = await window.Signal.Migrations.writeNewBadgeImageFileData(
- imageFileData
- );
+ const localPath =
+ await window.Signal.Migrations.writeNewBadgeImageFileData(imageFileData);
await DataWriter.badgeImageFileDownloaded(url, localPath);
diff --git a/ts/components/CallScreen.stories.tsx b/ts/components/CallScreen.stories.tsx
index 31ceec91d2..039f0d30cf 100644
--- a/ts/components/CallScreen.stories.tsx
+++ b/ts/components/CallScreen.stories.tsx
@@ -92,7 +92,7 @@ const createActiveDirectCallProp = (
hasRemoteVideo: boolean;
presenting: boolean;
title: string;
- }
+ },
],
});
diff --git a/ts/components/CallingLobby.tsx b/ts/components/CallingLobby.tsx
index 376b27f665..17070f8477 100644
--- a/ts/components/CallingLobby.tsx
+++ b/ts/components/CallingLobby.tsx
@@ -174,8 +174,8 @@ export function CallingLobby({
const videoButtonType = hasLocalVideo
? CallingButtonType.VIDEO_ON
: availableCameras.length === 0
- ? CallingButtonType.VIDEO_DISABLED
- : CallingButtonType.VIDEO_OFF;
+ ? CallingButtonType.VIDEO_DISABLED
+ : CallingButtonType.VIDEO_OFF;
const audioButtonType = hasLocalAudio
? CallingButtonType.AUDIO_ON
diff --git a/ts/components/ChatColorPicker.tsx b/ts/components/ChatColorPicker.tsx
index 6f94601417..ffa90c4c19 100644
--- a/ts/components/ChatColorPicker.tsx
+++ b/ts/components/ChatColorPicker.tsx
@@ -397,9 +397,8 @@ function CustomColorBubble({
event.stopPropagation();
event.preventDefault();
- const conversations = await getConversationsWithCustomColor(
- colorId
- );
+ const conversations =
+ await getConversationsWithCustomColor(colorId);
if (!conversations.length) {
onDelete();
} else {
diff --git a/ts/components/CompositionArea.tsx b/ts/components/CompositionArea.tsx
index 13dba5f800..5ae75f02aa 100644
--- a/ts/components/CompositionArea.tsx
+++ b/ts/components/CompositionArea.tsx
@@ -506,7 +506,12 @@ export const CompositionArea = memo(function CompositionArea({
) {
inputApiRef.current.reset();
}
- }, [messageCompositionId, sendCounter, previousMessageCompositionId, previousSendCounter]);
+ }, [
+ messageCompositionId,
+ sendCounter,
+ previousMessageCompositionId,
+ previousSendCounter,
+ ]);
const insertEmoji = useCallback(
(e: EmojiPickDataType) => {
diff --git a/ts/components/ConfirmationDialog.tsx b/ts/components/ConfirmationDialog.tsx
index bec6402315..f8c760942b 100644
--- a/ts/components/ConfirmationDialog.tsx
+++ b/ts/components/ConfirmationDialog.tsx
@@ -129,7 +129,7 @@ export const ConfirmationDialog = React.memo(function ConfirmationDialogInner({