git: 9ab04f05b624 - main - net-im/signal-desktop: Update to 6.4.1

From: Mikael Urankar <mikael_at_FreeBSD.org>
Date: Sun, 05 Feb 2023 15:22:47 UTC
The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9ab04f05b624278f391466113e83792a65874ecb

commit 9ab04f05b624278f391466113e83792a65874ecb
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2023-02-05 15:22:11 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2023-02-05 15:22:43 +0000

    net-im/signal-desktop: Update to 6.4.1
    
    Changes:
      https://github.com/signalapp/Signal-Desktop/releases/tag/v6.4.1
---
 net-im/signal-desktop/Makefile                   |   10 +-
 net-im/signal-desktop/distinfo                   |   14 +-
 net-im/signal-desktop/files/package.json         |   36 +-
 net-im/signal-desktop/files/patch-signal-desktop |  209 ++--
 net-im/signal-desktop/files/sqlite3.gyp.diff     |    4 +-
 net-im/signal-desktop/files/yarn.lock            | 1342 ++++++++++++++++------
 net-im/signal-desktop/get_deps.sh                |    2 +-
 net-im/signal-desktop/pkg-plist                  |    2 +
 8 files changed, 1122 insertions(+), 497 deletions(-)

diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile
index 70cafe14339e..02ce8a37047c 100644
--- a/net-im/signal-desktop/Makefile
+++ b/net-im/signal-desktop/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	signal-desktop
 DISTVERSIONPREFIX=	v
-DISTVERSION=	6.3.0
+DISTVERSION=	6.4.1
 CATEGORIES=	net-im
 MASTER_SITES=	LOCAL/mikael/signal-desktop/:npm \
 		LOCAL/mikael/signal-desktop/:sqlite \
@@ -91,12 +91,12 @@ ELECTRON_GYP_VERSION=	22.0.0
 # ll work/.cache/yarn/v6 | egrep "@signalapp|esbuild-freebsd-64"
 NPM_SIGNAL_DIR=		npm-@signalapp-libsignal-client-0.21.1-381d6162ae0e7719dc625780c1d6c3f9f558c33d-integrity
 NPM_RINGRTC_DIR=	npm-@signalapp-ringrtc-2.23.0-982fb6268eab2eb35a61624149b5f9ce9af28907-integrity
-NPM_SQLITE3_DIR=	npm-@signalapp-better-sqlite3-8.0.4-53ed2074634b69e83116573b26ae1d927c4aab22-integrity
+NPM_SQLITE3_DIR=	npm-@signalapp-better-sqlite3-8.1.1-b39b9138bc79992d5e9707b246a67a1b88a18c49-integrity
 NPM_PLAYWRITE_DIR=	npm-playwright-core-1.17.1-a16e0f89284a0ed8ae6d77e1c905c84b8a2ba022-integrity
-NPM_ESBUILD_VERS=	0.15.8
+NPM_ESBUILD_VERS=	0.17.2
 SQLCIPHER=		sqlcipher-4.5.2--3.0.7-4587e88a4219cb76fd595a5b73f82bfd919b235d75626f40783525f4f58a7503
 
-ESBUILD_ARCH=		${ARCH:S/aarch64/arm/:S/amd64//}
+ESBUILD_ARCH=		${ARCH:S/aarch64/arm64/:S/amd64/x64/}
 NODE_ARCH=		${ARCH:S/aarch64/arm64/:S/amd64/x64/}
 APP_OUT_DIR=		linux-${ARCH:S/aarch64/arm64-/:S/amd64//}unpacked
 
@@ -176,7 +176,7 @@ do-build:
 	cd ${WRKDIR}/.cache/yarn/v6 && ${PATCH} -s -N -i ${FILESDIR}/sqlite3.gyp.diff
 
 	${MKDIR} ${WRKDIR}/esbuild-freebsd-64
-	${TAR} -xf ${WRKDIR}/yarn-offline-cache/esbuild-freebsd-${ESBUILD_ARCH}64-${NPM_ESBUILD_VERS}.tgz -C ${WRKDIR}/esbuild-freebsd-64
+	${TAR} -xf ${WRKDIR}/yarn-offline-cache/@esbuild-freebsd-${ESBUILD_ARCH}-${NPM_ESBUILD_VERS}.tgz -C ${WRKDIR}/esbuild-freebsd-64
 
 # 	# For online build
 #	${RM} ${WRKDIR}/.npmrc
diff --git a/net-im/signal-desktop/distinfo b/net-im/signal-desktop/distinfo
index d595af42f78f..03c03cecb049 100644
--- a/net-im/signal-desktop/distinfo
+++ b/net-im/signal-desktop/distinfo
@@ -1,13 +1,13 @@
-TIMESTAMP = 1674809857
-SHA256 (signal-desktop-6.3.0-yarn-cache.tar.gz) = dd0e69be2b74356302311825621540452123cd4f6a6a5a7be6a8cf8bd8e388cf
-SIZE (signal-desktop-6.3.0-yarn-cache.tar.gz) = 361729096
-SHA256 (signal-desktop-6.3.0-npm-cache.tar.gz) = 8acc503a579760faf8ea660d504f3b3ffadc495bf09584228da4cc9af20e33fe
-SIZE (signal-desktop-6.3.0-npm-cache.tar.gz) = 4466353
+TIMESTAMP = 1675444285
+SHA256 (signal-desktop-6.4.1-yarn-cache.tar.gz) = b46dd8ef733f4248c3881de2520dd0b3e051fefd5c9a227f1741e93666e4df36
+SIZE (signal-desktop-6.4.1-yarn-cache.tar.gz) = 372614208
 SHA256 (node-v16.19.0-headers.tar.gz) = d0b02ce3d1198d41127daf64f204195252abff6a22da70830aaed846ba6ad864
 SIZE (node-v16.19.0-headers.tar.gz) = 568145
 SHA256 (node-v22.0.0-headers.tar.gz) = 190aa8035756ea448870547c8123b959031657f739843e6950013df04c0dd119
 SIZE (node-v22.0.0-headers.tar.gz) = 263326
+SHA256 (signal-desktop-6.4.1-npm-cache.tar.gz) = 8acc503a579760faf8ea660d504f3b3ffadc495bf09584228da4cc9af20e33fe
+SIZE (signal-desktop-6.4.1-npm-cache.tar.gz) = 4466353
 SHA256 (sqlcipher-4.5.2--3.0.7-4587e88a4219cb76fd595a5b73f82bfd919b235d75626f40783525f4f58a7503.tar.gz) = 4587e88a4219cb76fd595a5b73f82bfd919b235d75626f40783525f4f58a7503
 SIZE (sqlcipher-4.5.2--3.0.7-4587e88a4219cb76fd595a5b73f82bfd919b235d75626f40783525f4f58a7503.tar.gz) = 41118646
-SHA256 (signalapp-Signal-Desktop-v6.3.0_GH0.tar.gz) = 07c71bd31157873d5d1f57830a636fe61ad551bacf4a87a4f13336f16e524a1a
-SIZE (signalapp-Signal-Desktop-v6.3.0_GH0.tar.gz) = 38400291
+SHA256 (signalapp-Signal-Desktop-v6.4.1_GH0.tar.gz) = 899af104afe358413ebba2971ddb273ee788f7ffad9fdf96ece30e527eda3475
+SIZE (signalapp-Signal-Desktop-v6.4.1_GH0.tar.gz) = 38611904
diff --git a/net-im/signal-desktop/files/package.json b/net-im/signal-desktop/files/package.json
index 1877efcb47c1..8acd91294d77 100644
--- a/net-im/signal-desktop/files/package.json
+++ b/net-im/signal-desktop/files/package.json
@@ -4,25 +4,26 @@
   "description": "Private messaging from your desktop",
   "desktopName": "signal.desktop",
   "repository": "https://github.com/signalapp/Signal-Desktop.git",
-  "version": "6.3.0",
+  "version": "6.4.1",
   "license": "AGPL-3.0-only",
   "author": {
     "name": "Signal Messenger, LLC",
     "email": "support@signal.org"
   },
+  "browserslist": "last 1 chrome versions",
   "main": "app/main.js",
   "scripts": {
-    "postinstall": "yarn build:acknowledgments && patch-package && yarn electron:install-app-deps && rimraf node_modules/dtrace-provider",
+    "postinstall": "yarn build:acknowledgments && patch-package && yarn electron:install-app-deps",
     "postuninstall": "yarn build:acknowledgments",
     "start": "electron .",
-    "generate": "npm-run-all build-protobuf build:esbuild sass get-expire-time copy-and-concat",
+    "generate": "npm-run-all build-protobuf build:esbuild sass get-expire-time copy-components",
     "build-release": "yarn run build",
     "sign-release": "node ts/updater/generateSignature.js",
     "notarize": "echo 'No longer necessary'",
     "get-strings": "node ts/scripts/get-strings.js",
     "push-strings": "node ts/scripts/push-strings.js",
     "get-expire-time": "node ts/scripts/get-expire-time.js",
-    "copy-and-concat": "node ts/scripts/copy-and-concat.js",
+    "copy-components": "node ts/scripts/copy.js",
     "sass": "sass stylesheets/manifest.scss:stylesheets/manifest.css stylesheets/manifest_bridge.scss:stylesheets/manifest_bridge.css",
     "build-module-protobuf": "pbjs --target static-module --force-long --no-verify --no-create --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js",
     "clean-module-protobuf": "rm -f ts/protobuf/compiled.d.ts ts/protobuf/compiled.js",
@@ -39,7 +40,7 @@
     "test-release": "node ts/scripts/test-release.js",
     "test-node": "electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive test/modules ts/test-node ts/test-both",
     "test-mock": "mocha ts/test-mock/**/*_test.js",
-    "test-eslint": "mocha .eslint/rules/**/*.test.js",
+    "test-eslint": "mocha .eslint/rules/**/*.test.js --ignore-leaks",
     "test-node-coverage": "nyc --reporter=lcov --reporter=text mocha --recursive test/modules ts/test-node ts/test-both",
     "test-lint-intl": "ts-node ./build/intl-linter/linter.ts --test",
     "eslint": "eslint --cache . --max-warnings 0",
@@ -85,13 +86,12 @@
   "dependencies": {
     "@formatjs/fast-memoize": "1.2.6",
     "@indutny/frameless-titlebar": "2.3.5",
-    "@indutny/sneequals": "3.2.0",
+    "@indutny/sneequals": "4.0.0",
     "@popperjs/core": "2.11.6",
     "@react-spring/web": "9.5.5",
-    "@signalapp/better-sqlite3": "8.0.4",
+    "@signalapp/better-sqlite3": "8.1.1",
     "@signalapp/libsignal-client": "0.21.1",
     "@signalapp/ringrtc": "2.23.0",
-    "@sindresorhus/is": "0.8.0",
     "@types/fabric": "4.5.3",
     "array-move": "2.1.0",
     "backbone": "1.4.0",
@@ -174,6 +174,7 @@
     "semver": "5.4.1",
     "split2": "4.0.0",
     "testcheck": "1.0.0-rc.2",
+    "type-fest": "3.5.0",
     "typeface-inter": "3.18.1",
     "uuid": "3.3.2",
     "websocket": "1.0.34",
@@ -199,7 +200,9 @@
     "@storybook/addon-toolbars": "6.5.6",
     "@storybook/addon-viewport": "6.5.6",
     "@storybook/addons": "6.5.6",
+    "@storybook/builder-webpack5": "6.5.15",
     "@storybook/jest": "0.0.10",
+    "@storybook/manager-webpack5": "6.5.15",
     "@storybook/react": "6.5.6",
     "@storybook/testing-library": "0.0.13",
     "@types/backbone": "1.4.5",
@@ -226,7 +229,6 @@
     "@types/lru-cache": "5.1.0",
     "@types/memoizee": "0.4.2",
     "@types/mocha": "9.0.0",
-    "@types/mustache": "4.1.2",
     "@types/node": "16.18.3",
     "@types/node-fetch": "2.6.2",
     "@types/normalize-path": "3.0.0",
@@ -246,7 +248,7 @@
     "@types/split2": "3.2.1",
     "@types/terser-webpack-plugin": "5.0.3",
     "@types/uuid": "3.4.4",
-    "@types/webpack-dev-server": "3.11.3",
+    "@types/webpack": "5.28.0",
     "@types/websocket": "1.0.0",
     "@types/yargs": "17.0.7",
     "@typescript-eslint/eslint-plugin": "5.47.0",
@@ -271,7 +273,7 @@
     "electron-mocha": "11.0.2",
     "electron-notarize": "1.2.1",
     "endanger": "7.0.4",
-    "esbuild": "0.15.8",
+    "esbuild": "0.17.2",
     "eslint": "8.30.0",
     "eslint-config-airbnb-typescript-prettier": "5.0.0",
     "eslint-config-prettier": "8.5.0",
@@ -302,7 +304,7 @@
     "typescript": "4.9.3",
     "webpack": "5.30.0",
     "webpack-cli": "4.9.2",
-    "webpack-dev-server": "4.7.4"
+    "webpack-dev-server": "4.11.1"
   },
   "resolutions": {
     "@storybook/react/@storybook/core/node-fetch": "2.6.1",
@@ -333,6 +335,11 @@
         }
       ],
       "mergeASARs": true,
+      "releaseInfo": {
+        "vendor": {
+          "minOSVersion": "17.0.0"
+        }
+      },
       "singleArchFiles": "node_modules/@signalapp/{libsignal-client/prebuilds/**,ringrtc/build/**}",
       "target": [
         {
@@ -368,6 +375,11 @@
           "url": "https://updates.signal.org/desktop"
         }
       ],
+      "releaseInfo": {
+        "vendor": {
+          "minOSVersion": "6.1.0"
+        }
+      },
       "target": [
         "nsis"
       ]
diff --git a/net-im/signal-desktop/files/patch-signal-desktop b/net-im/signal-desktop/files/patch-signal-desktop
index 9f7bf961a391..0ea5c7ffb64b 100644
--- a/net-im/signal-desktop/files/patch-signal-desktop
+++ b/net-im/signal-desktop/files/patch-signal-desktop
@@ -1,6 +1,15 @@
---- ts/models/messages.ts	2022-02-12 02:48:01 UTC
-+++ ts/models/messages.ts
-@@ -722,7 +722,7 @@ export class MessageModel extends window.Backbone.Mode
+--- ts/models/messages.ts.orig	2023-02-02 21:51:07.000000000 +0100
++++ ts/models/messages.ts	2023-02-03 18:17:14.799327000 +0100
+@@ -908,7 +908,7 @@ export class MessageModel extends window.Backbone.Mode
+         });
+       }
+ 
+-      if (!window.Signal.OS.isLinux()) {
++      if (!(window.Signal.OS.isLinux() || window.Signal.OS.isFreeBSD())) {
+         return attributes.storyReaction.emoji;
+       }
+ 
+@@ -927,7 +927,7 @@ export class MessageModel extends window.Backbone.Mode
  
      // Linux emoji support is mixed, so we disable it. (Note that this doesn't touch
      //   the `text`, which can contain emoji.)
@@ -9,16 +18,26 @@
      if (shouldIncludeEmoji) {
        return window.i18n('message--getNotificationText--text-with-emoji', {
          text: modifiedText,
---- ts/OS.ts	2022-02-12 02:48:01.000000000 +0100
-+++ ts/OS.ts	2022-02-18 20:38:13.220898000 +0100
-@@ -7,6 +7,7 @@ import semver from 'semver';
- 
- export const isMacOS = (): boolean => process.platform === 'darwin';
- export const isLinux = (): boolean => process.platform === 'linux';
-+export const isFreeBSD = (): boolean => process.platform === 'freebsd';
- export const isWindows = (minVersion?: string): boolean => {
-   const osRelease = os.release();
+--- ts/OS.ts.orig	2023-02-02 21:51:07.000000000 +0100
++++ ts/OS.ts	2023-02-03 18:15:27.645364000 +0100
+@@ -22,6 +22,7 @@ export const isWindows = createIsPlatform('win32');
+ export const isMacOS = createIsPlatform('darwin');
+ export const isLinux = createIsPlatform('linux');
+ export const isWindows = createIsPlatform('win32');
++export const isFreeBSD = createIsPlatform('freebsd');
  
+ // Windows 10 and above
+ export const hasCustomTitleBar = (): boolean =>
+@@ -33,6 +34,9 @@ export const getName = (): string => {
+   }
+   if (isWindows()) {
+     return 'Windows';
++  }
++  if (isFreeBSD()) {
++    return 'FreeBSD';
+   }
+   return 'Linux';
+ };
 --- ts/services/notifications.ts	2022-02-12 02:48:01.000000000 +0100
 +++ ts/services/notifications.ts	2022-02-18 20:39:11.725928000 +0100
 @@ -143,7 +143,7 @@ class NotificationService extends EventEmitter {
@@ -30,101 +49,6 @@
        icon,
        silent:
          silent || audioNotificationSupport !== AudioNotificationSupport.Native,
---- ts/set_os_class.ts	2022-02-12 02:48:01.000000000 +0100
-+++ ts/set_os_class.ts	2022-02-18 20:39:35.451014000 +0100
-@@ -9,6 +9,8 @@ $(document).ready(() => {
-     className = 'os-macos';
-   } else if (window.Signal.OS.isLinux()) {
-     className = 'os-linux';
-+  } else if (window.Signal.OS.isFreeBSD()) {
-+    className = 'os-freebsd';
-   } else {
-     throw new Error('Unexpected operating system; not applying ');
-   }
---- ts/test-node/types/Settings_test.ts	2022-02-12 02:48:01.000000000 +0100
-+++ ts/test-node/types/Settings_test.ts	2022-02-18 20:41:29.688721000 +0100
-@@ -27,6 +27,15 @@ describe('Settings', () => {
-       );
-     });
- 
-+    it('returns custom support on FreeBSD', () => {
-+      sandbox.stub(process, 'platform').value('freebsd');
-+      assert.strictEqual(
-+        Settings.getAudioNotificationSupport(),
-+        Settings.AudioNotificationSupport.Custom
-+      );
-+    });
-+
-+
-     it('returns no support on Windows 7', () => {
-       sandbox.stub(process, 'platform').value('win32');
-       sandbox.stub(os, 'release').returns('7.0.0');
-@@ -60,6 +69,11 @@ describe('Settings', () => {
-       assert.isTrue(Settings.isAudioNotificationSupported());
-     });
- 
-+    it('returns true on FreeBSD', () => {
-+      sandbox.stub(process, 'platform').value('freebsd');
-+      assert.isTrue(Settings.isAudioNotificationSupported());
-+    });
-+
-     it('returns false on Windows 7', () => {
-       sandbox.stub(process, 'platform').value('win32');
-       sandbox.stub(os, 'release').returns('7.0.0');
-@@ -84,6 +98,11 @@ describe('Settings', () => {
-       assert.isTrue(Settings.isNotificationGroupingSupported());
-     });
- 
-+    it('returns true on FreeBSD', () => {
-+      sandbox.stub(process, 'platform').value('freebsd');
-+      assert.isTrue(Settings.isNotificationGroupingSupported());
-+    });
-+
-     it('returns true on Windows 7', () => {
-       sandbox.stub(process, 'platform').value('win32');
-       sandbox.stub(os, 'release').returns('7.0.0');
-@@ -126,6 +145,11 @@ describe('Settings', () => {
-       assert.isFalse(Settings.isHideMenuBarSupported());
-     });
- 
-+    it('returns true on FreeBSD', () => {
-+      sandbox.stub(process, 'platform').value('freebsd');
-+      assert.isTrue(Settings.isHideMenuBarSupported());
-+    });
-+
-     it('returns true on Windows 7', () => {
-       sandbox.stub(process, 'platform').value('win32');
-       sandbox.stub(os, 'release').returns('7.0.0');
-@@ -148,6 +172,11 @@ describe('Settings', () => {
-     it('returns false on macOS', () => {
-       sandbox.stub(process, 'platform').value('darwin');
-       assert.isFalse(Settings.isDrawAttentionSupported());
-+    });
-+
-+    it('returns true on FreeBSD', () => {
-+      sandbox.stub(process, 'platform').value('freebsd');
-+      assert.isTrue(Settings.isDrawAttentionSupported());
-     });
- 
-     it('returns true on Windows 7', () => {
---- ts/test-node/util/getUserAgent_test.ts	2022-02-12 02:48:01.000000000 +0100
-+++ ts/test-node/util/getUserAgent_test.ts	2022-02-18 20:42:25.165838000 +0100
-@@ -39,6 +39,14 @@ describe('getUserAgent', () => {
-     );
-   });
- 
-+  it('returns the right User-Agent on FreeBSD', function test() {
-+    this.sandbox.stub(process, 'platform').get(() => 'freebsd');
-+    assert.strictEqual(
-+      getUserAgent('1.2.3', '13.1'),
-+      'Signal-Desktop/1.2.3 FreeBSD 13.1'
-+    );
-+  });
-+
-   it('omits the platform on unsupported platforms', function test() {
-     this.sandbox.stub(process, 'platform').get(() => 'freebsd');
-     assert.strictEqual(getUserAgent('1.2.3', '13.1'), 'Signal-Desktop/1.2.3');
-
 --- ts/util/getUserAgent.ts	2022-02-12 02:48:01.000000000 +0100
 +++ ts/util/getUserAgent.ts	2022-02-18 20:43:07.232944000 +0100
 @@ -7,6 +7,7 @@ const PLATFORM_STRINGS: { [platform: string]: string }
@@ -166,3 +90,74 @@
    windowIcon = join(__dirname, '../images/signal-logo-desktop-linux.png');
  } else {
    windowIcon = join(__dirname, '../build/icons/png/512x512.png');
+--- ts/state/getInitialState.ts.orig	2023-02-05 14:58:42.686190000 +0100
++++ ts/state/getInitialState.ts	2023-02-05 14:59:18.608061000 +0100
+@@ -69,7 +69,7 @@ export function getInitialState({
+ 
+   const theme = getThemeType();
+ 
+-  let osName: 'windows' | 'macos' | 'linux' | undefined;
++  let osName: 'windows' | 'macos' | 'linux' | 'freebsd' | undefined;
+ 
+   if (OS.isWindows()) {
+     osName = 'windows';
+@@ -77,6 +77,8 @@ export function getInitialState({
+     osName = 'macos';
+   } else if (OS.isLinux()) {
+     osName = 'linux';
++  } else if (OS.isFreeBSD()) {
++    osName = 'freebsd';
+   }
+ 
+   return {
+--- ts/scripts/fuse-electron.ts.orig	2023-02-05 15:01:26.625383000 +0100
++++ ts/scripts/fuse-electron.ts	2023-02-05 15:02:05.602959000 +0100
+@@ -17,7 +17,7 @@ export async function afterPack({
+     target = `${productFilename}.app`;
+   } else if (electronPlatformName === 'win32') {
+     target = `${productFilename}.exe`;
+-  } else if (electronPlatformName === 'linux') {
++  } else if (electronPlatformName === 'linux' || electronPlatformName === 'freebsd') {
+     // Sadly, `LinuxPackager` type is not exported by electron-builder so we
+     // have to improvise
+     target = (packager as unknown as { executableName: string }).executableName;
+--- ts/state/ducks/user.ts.orig	2023-02-05 15:03:14.076343000 +0100
++++ ts/state/ducks/user.ts	2023-02-05 15:03:54.047783000 +0100
+@@ -23,7 +23,7 @@ export type UserStateType = Readonly<{
+   isMainWindowMaximized: boolean;
+   localeMessages: LocaleMessagesType;
+   menuOptions: MenuOptionsType;
+-  osName: 'linux' | 'macos' | 'windows' | undefined;
++  osName: 'linux' | 'macos' | 'windows' | 'freebsd' | undefined;
+   ourACI: UUIDStringType | undefined;
+   ourConversationId: string | undefined;
+   ourDeviceId: number | undefined;
+@@ -100,7 +100,7 @@ export function getEmptyState(): UserStateType {
+ // Reducer
+ 
+ export function getEmptyState(): UserStateType {
+-  let osName: 'windows' | 'macos' | 'linux' | undefined;
++  let osName: 'windows' | 'macos' | 'linux' | 'freebsd' | undefined;
+ 
+   if (OS.isWindows()) {
+     osName = 'windows';
+@@ -108,6 +108,8 @@ export function getEmptyState(): UserStateType {
+     osName = 'macos';
+   } else if (OS.isLinux()) {
+     osName = 'linux';
++  } else if (OS.isFreeBSD()) {
++    osName = 'freebsd';
+   }
+ 
+   return {
+--- ts/state/smart/App.tsx.orig	2023-02-05 15:04:08.452070000 +0100
++++ ts/state/smart/App.tsx	2023-02-05 15:04:45.605611000 +0100
+@@ -49,6 +49,8 @@ const mapStateToProps = (state: StateType) => {
+     osClassName = 'os-macos';
+   } else if (osName === 'linux') {
+     osClassName = 'os-linux';
++  } else if (osName === 'freebsd') {
++    osClassName = 'os-freebsd';
+   }
+ 
+   return {
diff --git a/net-im/signal-desktop/files/sqlite3.gyp.diff b/net-im/signal-desktop/files/sqlite3.gyp.diff
index dcc74e32def1..5b24cb5562c9 100644
--- a/net-im/signal-desktop/files/sqlite3.gyp.diff
+++ b/net-im/signal-desktop/files/sqlite3.gyp.diff
@@ -1,5 +1,5 @@
---- npm-@signalapp-better-sqlite3-8.0.4-53ed2074634b69e83116573b26ae1d927c4aab22-integrity/node_modules/@signalapp/better-sqlite3/deps/sqlite3.gyp.orig	2022-07-02 14:34:04 UTC
-+++ npm-@signalapp-better-sqlite3-8.0.4-53ed2074634b69e83116573b26ae1d927c4aab22-integrity/node_modules/@signalapp/better-sqlite3/deps/sqlite3.gyp
+--- npm-@signalapp-better-sqlite3-8.1.1-b39b9138bc79992d5e9707b246a67a1b88a18c49-integrity/node_modules/@signalapp/better-sqlite3/deps/sqlite3.gyp.orig	2022-07-02 14:34:04 UTC
++++ npm-@signalapp-better-sqlite3-8.1.1-b39b9138bc79992d5e9707b246a67a1b88a18c49-integrity/node_modules/@signalapp/better-sqlite3/deps/sqlite3.gyp
 @@ -92,6 +92,14 @@
              'libraries': [
                # This statically links libcrypto, whereas -lcrypto would dynamically link it
diff --git a/net-im/signal-desktop/files/yarn.lock b/net-im/signal-desktop/files/yarn.lock
index 2d0a382c7c31..46ef9c5c8979 100644
--- a/net-im/signal-desktop/files/yarn.lock
+++ b/net-im/signal-desktop/files/yarn.lock
@@ -1439,17 +1439,115 @@
   resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
   integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
 
-"@esbuild/android-arm@0.15.8":
-  version "0.15.8"
-  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.8.tgz#52b094c98e415ec72fab39827c12f2051ac9c550"
-  integrity sha512-CyEWALmn+no/lbgbAJsbuuhT8s2J19EJGHkeyAwjbFJMrj80KJ9zuYsoAvidPTU7BgBf87r/sgae8Tw0dbOc4Q==
-  dependencies:
-    esbuild-wasm "0.15.8"
-
-"@esbuild/linux-loong64@0.15.8":
-  version "0.15.8"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.8.tgz#d64575fc46bf4eb689352aa9f8a139271b6e1647"
-  integrity sha512-pE5RQsOTSERCtfZdfCT25wzo7dfhOSlhAXcsZmuvRYhendOv7djcdvtINdnDp2DAjP17WXlBB4nBO6sHLczmsg==
+"@esbuild/android-arm64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774"
+  integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ==
+
+"@esbuild/android-arm@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab"
+  integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q==
+
+"@esbuild/android-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8"
+  integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ==
+
+"@esbuild/darwin-arm64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a"
+  integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw==
+
+"@esbuild/darwin-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97"
+  integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw==
+
+"@esbuild/freebsd-arm64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58"
+  integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q==
+
+"@esbuild/freebsd-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993"
+  integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A==
+
+"@esbuild/linux-arm64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459"
+  integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg==
+
+"@esbuild/linux-arm@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d"
+  integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ==
+
+"@esbuild/linux-ia32@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c"
+  integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg==
+
+"@esbuild/linux-loong64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9"
+  integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw==
+
+"@esbuild/linux-mips64el@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24"
+  integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q==
+
+"@esbuild/linux-ppc64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca"
+  integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw==
+
+"@esbuild/linux-riscv64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2"
+  integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ==
+
+"@esbuild/linux-s390x@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e"
+  integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA==
+
+"@esbuild/linux-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc"
+  integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA==
+
+"@esbuild/netbsd-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53"
+  integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q==
+
+"@esbuild/openbsd-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e"
+  integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA==
+
+"@esbuild/sunos-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b"
+  integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ==
+
+"@esbuild/win32-arm64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c"
+  integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA==
+
+"@esbuild/win32-ia32@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c"
+  integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg==
+
+"@esbuild/win32-x64@0.17.2":
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61"
+  integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ==
 
 "@eslint/eslintrc@^1.4.0":
   version "1.4.0"
@@ -1607,10 +1705,10 @@
     classnames "^2.2.6"
     deepmerge "^4.2.2"
 
-"@indutny/sneequals@3.2.0":
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/@indutny/sneequals/-/sneequals-3.2.0.tgz#dd73d097fca6c8a89b1766bb87cc78f32017165d"
-  integrity sha512-dnL/SCNA2BceqJ4J/CR8R+dUCBfHnDBgPFBUv5w7Sa7QRoi2pNplJoundP9b8L8FnVrh4VAVPqM5q3H0f+n6Dg==
+"@indutny/sneequals@4.0.0":
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/@indutny/sneequals/-/sneequals-4.0.0.tgz#94f74e577019759c5d12818e7c7ff1b9300653a4"
+  integrity sha512-kQUBQtcm4aVqJil+KRfA7SycJqcWlFEa7MJTYyl4XAahHOPXnzgqvlzUPQOw1tRFlvnzxRpXNUpJxej2fdAPjg==
 
 "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
   version "0.1.3"
@@ -1645,6 +1743,11 @@
     "@jridgewell/sourcemap-codec" "^1.4.10"
     "@jridgewell/trace-mapping" "^0.3.9"
 
+"@jridgewell/resolve-uri@3.1.0":
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
+  integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+
 "@jridgewell/resolve-uri@^3.0.3":
   version "3.0.7"
   resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
@@ -1663,11 +1766,24 @@
     "@jridgewell/gen-mapping" "^0.3.0"
     "@jridgewell/trace-mapping" "^0.3.9"
 
+"@jridgewell/sourcemap-codec@1.4.14":
+  version "1.4.14"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
+  integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+
 "@jridgewell/sourcemap-codec@^1.4.10":
   version "1.4.13"
   resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
   integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
 
+"@jridgewell/trace-mapping@^0.3.14":
+  version "0.3.17"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
+  integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
+  dependencies:
+    "@jridgewell/resolve-uri" "3.1.0"
+    "@jridgewell/sourcemap-codec" "1.4.14"
+
 "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9":
   version "0.3.13"
   resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
@@ -1676,6 +1792,11 @@
     "@jridgewell/resolve-uri" "^3.0.3"
     "@jridgewell/sourcemap-codec" "^1.4.10"
 
+"@leichtgewicht/ip-codec@^2.0.1":
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b"
+  integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==
+
 "@malept/cross-spawn-promise@^1.1.0":
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d"
@@ -2033,10 +2154,10 @@
     "@react-spring/shared" "~9.5.5"
     "@react-spring/types" "~9.5.5"
 
-"@signalapp/better-sqlite3@8.0.4":
-  version "8.0.4"
-  resolved "https://registry.yarnpkg.com/@signalapp/better-sqlite3/-/better-sqlite3-8.0.4.tgz#53ed2074634b69e83116573b26ae1d927c4aab22"
-  integrity sha512-VCels5YMEDOr74fEW9nc2H9cVBosOPE75g+OOxDoa5nslABl+Cy6GkPGMUa3lwz/Mt5OaV8CAnLE9r3fdhVh1g==
+"@signalapp/better-sqlite3@8.1.1":
+  version "8.1.1"
+  resolved "https://registry.yarnpkg.com/@signalapp/better-sqlite3/-/better-sqlite3-8.1.1.tgz#b39b9138bc79992d5e9707b246a67a1b88a18c49"
+  integrity sha512-k4njS/Vsr12Eow7G7TNBjJKSPU971DZQWGY4dfISdOBobAAiewstOwlqF3ZhpJznL6M3sri14MUM0iV1aZR15g==
   dependencies:
     bindings "^1.5.0"
     tar "^6.1.0"
@@ -2057,10 +2178,10 @@
     node-gyp-build "^4.2.3"
     uuid "^8.3.0"
 
-"@signalapp/mock-server@2.12.0":
-  version "2.12.0"
-  resolved "https://registry.yarnpkg.com/@signalapp/mock-server/-/mock-server-2.12.0.tgz#ca7ed46406603746d2cb49349d3fb843fe4b45eb"
-  integrity sha512-d6OFulnOWG0U3Xj0ChBGHThyBlno54Va+Cb/E0ggEx7PhD1Y9GX8gLc0V8HHP203b+1JThX4SdK03dpsOILxfQ==
+"@signalapp/mock-server@2.12.1":
+  version "2.12.1"
+  resolved "https://registry.yarnpkg.com/@signalapp/mock-server/-/mock-server-2.12.1.tgz#456ee3c9458363d333bd803910f874d388f28d04"
+  integrity sha512-c8ndwTtDoRPRZAWjbBeVH79DQLA4UvKPztgJUqtDOqFCju1+NMKbjxrK+v1PJQvhhOMANbG6Z3qTCl4UGcm/zQ==
   dependencies:
     "@signalapp/libsignal-client" "^0.20.0"
     debug "^4.3.2"
@@ -2080,11 +2201,6 @@
   dependencies:
     tar "^6.1.0"
 
-"@sindresorhus/is@0.8.0":
-  version "0.8.0"
-  resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.8.0.tgz#073aee40b0aab2d4ace33c0a2a2672a37da6fa12"
-  integrity sha512-cerdLImrIp8hbt+i2v2rCLCo9fqoRrciP/BzLY3fnmhbwGNDgf7b3Niiqu085+LjPHYxgu0f+3/ciPDPJFgGkA==
-
 "@sindresorhus/is@^0.14.0":
   version "0.14.0"
   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -2270,6 +2386,23 @@
     prop-types "^15.7.2"
     regenerator-runtime "^0.13.7"
 
+"@storybook/addons@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.15.tgz#3c3fafbf3c9ce2182d652cb6682f6581ba6580e1"
+  integrity sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==
+  dependencies:
+    "@storybook/api" "6.5.15"
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    "@storybook/csf" "0.0.2--canary.4566f4d.1"
+    "@storybook/router" "6.5.15"
+    "@storybook/theming" "6.5.15"
+    "@types/webpack-env" "^1.16.0"
+    core-js "^3.8.2"
+    global "^4.4.0"
+    regenerator-runtime "^0.13.7"
+
 "@storybook/addons@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.6.tgz#ed7ab72ac3a4e2d74e2ba4d10b4a0721d66cd1cd"
@@ -2304,6 +2437,29 @@
     global "^4.4.0"
     regenerator-runtime "^0.13.7"
 
+"@storybook/api@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.15.tgz#a189dac82a57ae9cfac43c887207b1075a2a2e96"
+  integrity sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==
+  dependencies:
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    "@storybook/csf" "0.0.2--canary.4566f4d.1"
+    "@storybook/router" "6.5.15"
+    "@storybook/semver" "^7.3.2"
+    "@storybook/theming" "6.5.15"
+    core-js "^3.8.2"
+    fast-deep-equal "^3.1.3"
+    global "^4.4.0"
+    lodash "^4.17.21"
+    memoizerific "^1.11.3"
+    regenerator-runtime "^0.13.7"
+    store2 "^2.12.0"
+    telejson "^6.0.8"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+
 "@storybook/api@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.6.tgz#7f7c7bc561b3888033eb7074a8c9ecce9f07cb54"
@@ -2403,6 +2559,63 @@
     webpack-hot-middleware "^2.25.1"
     webpack-virtual-modules "^0.2.2"
 
+"@storybook/builder-webpack5@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-6.5.15.tgz#0c45ed6699d88a9d51f00c8c312750fcd707c37d"
+  integrity sha512-BnSoAmI02pvbGBSyzCx+voXb/d5EopQ78zx/lYv4CeOspBFOYEfGvAgYHILFo04V12S2/k8aSOc/tCYw5AqPtw==
+  dependencies:
+    "@babel/core" "^7.12.10"
+    "@storybook/addons" "6.5.15"
+    "@storybook/api" "6.5.15"
+    "@storybook/channel-postmessage" "6.5.15"
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-api" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/components" "6.5.15"
+    "@storybook/core-common" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    "@storybook/node-logger" "6.5.15"
+    "@storybook/preview-web" "6.5.15"
+    "@storybook/router" "6.5.15"
+    "@storybook/semver" "^7.3.2"
+    "@storybook/store" "6.5.15"
+    "@storybook/theming" "6.5.15"
+    "@types/node" "^14.0.10 || ^16.0.0"
+    babel-loader "^8.0.0"
+    babel-plugin-named-exports-order "^0.0.2"
+    browser-assert "^1.2.1"
+    case-sensitive-paths-webpack-plugin "^2.3.0"
+    core-js "^3.8.2"
+    css-loader "^5.0.1"
+    fork-ts-checker-webpack-plugin "^6.0.4"
+    glob "^7.1.6"
+    glob-promise "^3.4.0"
+    html-webpack-plugin "^5.0.0"
+    path-browserify "^1.0.1"
+    process "^0.11.10"
+    stable "^0.1.8"
+    style-loader "^2.0.0"
+    terser-webpack-plugin "^5.0.3"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+    webpack "^5.9.0"
+    webpack-dev-middleware "^4.1.0"
+    webpack-hot-middleware "^2.25.1"
+    webpack-virtual-modules "^0.4.1"
+
+"@storybook/channel-postmessage@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.15.tgz#a9d614be56bededf7cec41b833c46d35958b6d2b"
+  integrity sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==
+  dependencies:
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    core-js "^3.8.2"
+    global "^4.4.0"
+    qs "^6.10.0"
+    telejson "^6.0.8"
+
 "@storybook/channel-postmessage@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.6.tgz#3cfaef29c9ff62321152924de478058fdfd9d812"
@@ -2416,6 +2629,17 @@
     qs "^6.10.0"
     telejson "^6.0.8"
 
+"@storybook/channel-websocket@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.15.tgz#3fa090412d122428a7bc3d622e4cd36fdac7dd78"
+  integrity sha512-K85KEgzo5ahzJNJjyUbSNyuRmkeC8glJX2hCg2j9HiJ9rasX53qugkODrKDlWAeheulo3kR13VSuAqIuwVbmbw==
+  dependencies:
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    core-js "^3.8.2"
+    global "^4.4.0"
+    telejson "^6.0.8"
+
 "@storybook/channel-websocket@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.6.tgz#9d31ef139f6d86b29278452e9977a47fd3cc9706"
@@ -2427,6 +2651,15 @@
     global "^4.4.0"
     telejson "^6.0.8"
 
+"@storybook/channels@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.15.tgz#586681b6ec458124da084c39bc8c518d9e96b10b"
+  integrity sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==
+  dependencies:
+    core-js "^3.8.2"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+
 "@storybook/channels@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.6.tgz#a373127f0dd841dabfc31607e5cdac6245444b6c"
@@ -2445,6 +2678,32 @@
     ts-dedent "^2.0.0"
     util-deprecate "^1.0.2"
 
+"@storybook/client-api@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.15.tgz#70f3ced6d0fcc7b71217cae858bf81c3b2c50eba"
+  integrity sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==
+  dependencies:
+    "@storybook/addons" "6.5.15"
+    "@storybook/channel-postmessage" "6.5.15"
+    "@storybook/channels" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    "@storybook/csf" "0.0.2--canary.4566f4d.1"
+    "@storybook/store" "6.5.15"
+    "@types/qs" "^6.9.5"
+    "@types/webpack-env" "^1.16.0"
+    core-js "^3.8.2"
+    fast-deep-equal "^3.1.3"
+    global "^4.4.0"
+    lodash "^4.17.21"
+    memoizerific "^1.11.3"
+    qs "^6.10.0"
+    regenerator-runtime "^0.13.7"
+    store2 "^2.12.0"
+    synchronous-promise "^2.0.15"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+
 "@storybook/client-api@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.6.tgz#935026e682d41f8f9cd122dccd8a9ae3ebc3b613"
@@ -2471,6 +2730,14 @@
     ts-dedent "^2.0.0"
     util-deprecate "^1.0.2"
 
+"@storybook/client-logger@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.15.tgz#0d9878af893a3493b6ee108cc097ae1436d7da4d"
+  integrity sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==
+  dependencies:
+    core-js "^3.8.2"
+    global "^4.4.0"
+
 "@storybook/client-logger@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.6.tgz#6ce56c687dcd7772247ffa3915b44737a62f729c"
@@ -2487,6 +2754,20 @@
     core-js "^3.8.2"
     global "^4.4.0"
 
+"@storybook/components@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.15.tgz#8145be807bf48c1d010f29114411f390a9e3228f"
+  integrity sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==
+  dependencies:
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/csf" "0.0.2--canary.4566f4d.1"
+    "@storybook/theming" "6.5.15"
+    core-js "^3.8.2"
+    memoizerific "^1.11.3"
+    qs "^6.10.0"
+    regenerator-runtime "^0.13.7"
+    util-deprecate "^1.0.2"
+
 "@storybook/components@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.6.tgz#83f03967bdd1c509e5d18111b924a8cb0789718a"
@@ -2518,6 +2799,32 @@
     regenerator-runtime "^0.13.7"
     util-deprecate "^1.0.2"
 
+"@storybook/core-client@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.15.tgz#57d86a07f920ab0cb058820dbcb1f48cc9dc6257"
+  integrity sha512-i9t4WONy2MxJwLI1FIp5ck7b52EXyJfALnxUn4O/3GTkw09J0NOKi2DPjefUsi7IB5MzFpDjDH9vw/XiTM+OZw==
+  dependencies:
+    "@storybook/addons" "6.5.15"
+    "@storybook/channel-postmessage" "6.5.15"
+    "@storybook/channel-websocket" "6.5.15"
+    "@storybook/client-api" "6.5.15"
+    "@storybook/client-logger" "6.5.15"
+    "@storybook/core-events" "6.5.15"
+    "@storybook/csf" "0.0.2--canary.4566f4d.1"
+    "@storybook/preview-web" "6.5.15"
+    "@storybook/store" "6.5.15"
+    "@storybook/ui" "6.5.15"
+    airbnb-js-shims "^2.2.1"
+    ansi-to-html "^0.6.11"
+    core-js "^3.8.2"
+    global "^4.4.0"
+    lodash "^4.17.21"
+    qs "^6.10.0"
+    regenerator-runtime "^0.13.7"
+    ts-dedent "^2.0.0"
+    unfetch "^4.2.0"
+    util-deprecate "^1.0.2"
+
 "@storybook/core-client@6.5.6":
   version "6.5.6"
   resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.6.tgz#d09d144745c6d8a24dd002ae60ffa9b0c500ae54"
@@ -2544,6 +2851,62 @@
     unfetch "^4.2.0"
     util-deprecate "^1.0.2"
 
+"@storybook/core-common@6.5.15":
+  version "6.5.15"
+  resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.15.tgz#3ab524c7abdae52024caeb5c0349a764cb08769f"
+  integrity sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==
+  dependencies:
+    "@babel/core" "^7.12.10"
+    "@babel/plugin-proposal-class-properties" "^7.12.1"
+    "@babel/plugin-proposal-decorators" "^7.12.12"
+    "@babel/plugin-proposal-export-default-from" "^7.12.1"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
+    "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
+    "@babel/plugin-proposal-optional-chaining" "^7.12.7"
+    "@babel/plugin-proposal-private-methods" "^7.12.1"
+    "@babel/plugin-proposal-private-property-in-object" "^7.12.1"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-transform-arrow-functions" "^7.12.1"
+    "@babel/plugin-transform-block-scoping" "^7.12.12"
+    "@babel/plugin-transform-classes" "^7.12.1"
+    "@babel/plugin-transform-destructuring" "^7.12.1"
+    "@babel/plugin-transform-for-of" "^7.12.1"
*** 1651 LINES SKIPPED ***