diff --git a/.babelrc.js b/.babelrc.js
index 8af2f88abf..444a07c4b2 100644
--- a/.babelrc.js
+++ b/.babelrc.js
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
module.exports = {
diff --git a/.eslintrc.js b/.eslintrc.js
index b4012931f0..16b743779d 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// For reference: https://github.com/airbnb/javascript
@@ -191,13 +191,13 @@ const typescriptRules = {
'@typescript-eslint/no-misused-promises': [
'error',
{
- checksVoidReturn: false
- }
+ checksVoidReturn: false,
+ },
],
'@typescript-eslint/no-floating-promises': 'error',
// We allow "void promise", but new call-sites should use `drop(promise)`.
- 'no-void': ['error', { 'allowAsStatement': true }],
+ 'no-void': ['error', { allowAsStatement: true }],
'no-shadow': 'off',
'no-useless-constructor': 'off',
diff --git a/.github/stale.yml b/.github/stale.yml
index d17eabb960..130a282878 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Signal Messenger, LLC
+# Copyright 2021 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
# Configuration for probot-stale - https://github.com/probot/stale
@@ -68,4 +68,3 @@ limitPerRun: 5
# issues:
# exemptLabels:
# - confirmed
-
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 0e27364130..2750ab353e 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Signal Messenger, LLC
+# Copyright 2021 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Backport
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index 95be05f0e8..37e8436185 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Signal Messenger, LLC
+# Copyright 2020 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Benchmark
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 205e0a60c8..5c0dea0eb8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Signal Messenger, LLC
+# Copyright 2020 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: CI
@@ -39,7 +39,7 @@ jobs:
- run: yarn generate
- run: yarn lint
- run: yarn lint-deps
- # - run: yarn lint-license-comments
+ - run: yarn lint-license-comments
- run: git diff --exit-code
macos:
diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml
index e9c9ae22a7..4b18344635 100644
--- a/.github/workflows/danger.yml
+++ b/.github/workflows/danger.yml
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Signal Messenger, LLC
+# Copyright 2020 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: CI
diff --git a/.github/workflows/notes.yml b/.github/workflows/notes.yml
index 8336ca76fb..f467ae0f3b 100644
--- a/.github/workflows/notes.yml
+++ b/.github/workflows/notes.yml
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Signal Messenger, LLC
+# Copyright 2021 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Notes
diff --git a/.prettierrc.js b/.prettierrc.js
index 26000173a5..124e59afb9 100644
--- a/.prettierrc.js
+++ b/.prettierrc.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
module.exports = {
diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html
index ff7b8b61fd..e3c5d82740 100644
--- a/.storybook/preview-head.html
+++ b/.storybook/preview-head.html
@@ -1,4 +1,4 @@
-
+
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
index ca2a1df0d1..9add33b68c 100644
--- a/.storybook/preview.tsx
+++ b/.storybook/preview.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
@@ -75,10 +75,7 @@ const withI18n = (Story, context) => (
);
-export const decorators = [
- withModeAndThemeProvider,
- withI18n,
-];
+export const decorators = [withModeAndThemeProvider, withI18n];
export const parameters = {
axe: {
diff --git a/.storybook/styles.scss b/.storybook/styles.scss
index 254a67bcdc..e7db1ab209 100644
--- a/.storybook/styles.scss
+++ b/.storybook/styles.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../stylesheets/variables';
diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js
index 6935444ddd..092ed194fe 100644
--- a/.storybook/webpack.config.js
+++ b/.storybook/webpack.config.js
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const webpack = require('webpack');
@@ -9,16 +9,14 @@ module.exports = ({ config }) => {
'!!style-loader!css-loader!typeface-inter'
);
- config.module.rules.unshift(
- {
- test: /\.scss$/,
- loaders: [
- 'style-loader',
- 'css-loader?modules=true&localsConvention=camelCaseOnly',
- 'sass-loader',
- ],
- }
- );
+ config.module.rules.unshift({
+ test: /\.scss$/,
+ loaders: [
+ 'style-loader',
+ 'css-loader?modules=true&localsConvention=camelCaseOnly',
+ 'sass-loader',
+ ],
+ });
config.externals = {
net: 'net',
diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md
index a84017bfab..7af0a73a8d 100644
--- a/ACKNOWLEDGMENTS.md
+++ b/ACKNOWLEDGMENTS.md
@@ -1,4 +1,4 @@
-
+
# Acknowledgments
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1e25e1b92f..d4eb51d0fc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,4 @@
-
+
# Contributor Guidelines
diff --git a/README.md b/README.md
index 34ad86518e..dffcd9ce34 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
# Signal Desktop
diff --git a/about.html b/about.html
index a8122f4e54..ad24f1228a 100644
--- a/about.html
+++ b/about.html
@@ -1,4 +1,4 @@
-
+
diff --git a/app/.eslintrc.js b/app/.eslintrc.js
index 8ee45b9bda..ea1600cb85 100644
--- a/app/.eslintrc.js
+++ b/app/.eslintrc.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// For reference: https://github.com/airbnb/javascript
diff --git a/app/SystemTrayService.ts b/app/SystemTrayService.ts
index 3cc9a079cf..04763b43ed 100644
--- a/app/SystemTrayService.ts
+++ b/app/SystemTrayService.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/app/SystemTraySettingCache.ts b/app/SystemTraySettingCache.ts
index aff9e1ae33..f1fca090c2 100644
--- a/app/SystemTraySettingCache.ts
+++ b/app/SystemTraySettingCache.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../ts/logging/log';
diff --git a/app/attachment_channel.ts b/app/attachment_channel.ts
index 00f580be84..9d6c0e0065 100644
--- a/app/attachment_channel.ts
+++ b/app/attachment_channel.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcMain } from 'electron';
diff --git a/app/attachments.ts b/app/attachments.ts
index 7a7bc11e8a..0ce1ea3b42 100644
--- a/app/attachments.ts
+++ b/app/attachments.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join, relative, normalize } from 'path';
diff --git a/app/base_config.ts b/app/base_config.ts
index 1a6f2506cd..350339243b 100644
--- a/app/base_config.ts
+++ b/app/base_config.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { readFileSync, writeFileSync, unlinkSync } from 'fs';
diff --git a/app/config.ts b/app/config.ts
index 7a4bb3c04b..c4784c40d5 100644
--- a/app/config.ts
+++ b/app/config.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2020 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/app/ephemeral_config.ts b/app/ephemeral_config.ts
index 3857151b30..3ed1b792de 100644
--- a/app/ephemeral_config.ts
+++ b/app/ephemeral_config.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/app/global_errors.ts b/app/global_errors.ts
index 66d79d3be9..222684f960 100644
--- a/app/global_errors.ts
+++ b/app/global_errors.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { app, dialog, clipboard } from 'electron';
diff --git a/app/locale.ts b/app/locale.ts
index ff1a7da968..e47a50e7cc 100644
--- a/app/locale.ts
+++ b/app/locale.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/app/main.ts b/app/main.ts
index 76daf5af2a..3a5c5f1ed2 100644
--- a/app/main.ts
+++ b/app/main.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join, normalize } from 'path';
diff --git a/app/menu.ts b/app/menu.ts
index 3c8560608b..ac7570080a 100644
--- a/app/menu.ts
+++ b/app/menu.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isString } from 'lodash';
diff --git a/app/permissions.ts b/app/permissions.ts
index bea0f25038..3927f88bf4 100644
--- a/app/permissions.ts
+++ b/app/permissions.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// The list of permissions is here:
diff --git a/app/protocol_filter.ts b/app/protocol_filter.ts
index d5ff3691aa..5b1efab32a 100644
--- a/app/protocol_filter.ts
+++ b/app/protocol_filter.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/app/spell_check.ts b/app/spell_check.ts
index cd658088a5..b6b855f481 100644
--- a/app/spell_check.ts
+++ b/app/spell_check.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { BrowserWindow } from 'electron';
diff --git a/app/sql_channel.ts b/app/sql_channel.ts
index 25e442d3d7..59bac59607 100644
--- a/app/sql_channel.ts
+++ b/app/sql_channel.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcMain } from 'electron';
diff --git a/app/user_config.ts b/app/user_config.ts
index 1e04192ce1..12da26a314 100644
--- a/app/user_config.ts
+++ b/app/user_config.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/app/window_state.ts b/app/window_state.ts
index e21417c15a..53798e459d 100644
--- a/app/window_state.ts
+++ b/app/window_state.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2020 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
let shouldQuitFlag = false;
diff --git a/aptly.sh b/aptly.sh
index 072a4eb6db..dae47d0289 100755
--- a/aptly.sh
+++ b/aptly.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-# Copyright 2017-2021 Signal Messenger, LLC
+# Copyright 2017 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
-# First run on a machine - uncomment the two 'first run' sections below, comment out the 'later runs' section.
+# First run on a machine - uncomment the two 'first run' sections below, comment out the 'later runs' section.
#
# Release:
# NAME=signal-desktop(-beta) VERSION=X.X.X ./aptly.sh
diff --git a/background.html b/background.html
index c7f1fb7409..0e22129179 100644
--- a/background.html
+++ b/background.html
@@ -1,4 +1,4 @@
-
+
diff --git a/build/entitlements.mac.plist b/build/entitlements.mac.plist
index 5f372c251b..5d035c9903 100644
--- a/build/entitlements.mac.plist
+++ b/build/entitlements.mac.plist
@@ -1,4 +1,4 @@
-
+
@@ -25,4 +25,3 @@
-
diff --git a/build/entitlements.mas.plist b/build/entitlements.mas.plist
index e45a78b960..2863ba3c6c 100644
--- a/build/entitlements.mas.plist
+++ b/build/entitlements.mas.plist
@@ -1,4 +1,4 @@
-
+
diff --git a/debug_log.html b/debug_log.html
index c9f18a804f..093cd03dd3 100644
--- a/debug_log.html
+++ b/debug_log.html
@@ -1,4 +1,4 @@
-
+
diff --git a/fixtures/README.md b/fixtures/README.md
index b82d5155cb..a8943f9b4a 100644
--- a/fixtures/README.md
+++ b/fixtures/README.md
@@ -1,4 +1,4 @@
-
+
-A collection of fixture files. These files were made available in the public domain.
\ No newline at end of file
+A collection of fixture files. These files were made available in the public domain.
diff --git a/loading.html b/loading.html
index 6bef5633c0..7bc05c79a5 100644
--- a/loading.html
+++ b/loading.html
@@ -1,4 +1,4 @@
-
+
diff --git a/permissions_popup.html b/permissions_popup.html
index 4b3b3f89ac..cf8042775a 100644
--- a/permissions_popup.html
+++ b/permissions_popup.html
@@ -1,4 +1,4 @@
-
+
diff --git a/protos/ContactDiscovery.proto b/protos/ContactDiscovery.proto
index 22eb1ad5a7..d1f5e046b9 100644
--- a/protos/ContactDiscovery.proto
+++ b/protos/ContactDiscovery.proto
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/CrashReports.proto b/protos/CrashReports.proto
index 9542f53cbd..6c93d8b604 100644
--- a/protos/CrashReports.proto
+++ b/protos/CrashReports.proto
@@ -1,6 +1,6 @@
syntax = "proto3";
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/DeviceMessages.proto b/protos/DeviceMessages.proto
index 765b76719d..30174af3a8 100644
--- a/protos/DeviceMessages.proto
+++ b/protos/DeviceMessages.proto
@@ -1,4 +1,4 @@
-// Copyright 2014-2021 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/DeviceName.proto b/protos/DeviceName.proto
index 512d76505d..af14c1bff2 100644
--- a/protos/DeviceName.proto
+++ b/protos/DeviceName.proto
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/Groups.proto b/protos/Groups.proto
index aed0512bd5..c2acb6dec3 100644
--- a/protos/Groups.proto
+++ b/protos/Groups.proto
@@ -1,6 +1,6 @@
syntax = "proto3";
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/LibSignal-Client.proto b/protos/LibSignal-Client.proto
index 634a29eba7..6055458d32 100644
--- a/protos/LibSignal-Client.proto
+++ b/protos/LibSignal-Client.proto
@@ -1,7 +1,7 @@
syntax = "proto3";
//
-// Copyright 2020-2021 Signal Messenger, LLC.
+// Copyright 2020 Signal Messenger, LLC.
// SPDX-License-Identifier: AGPL-3.0-only
//
@@ -104,4 +104,4 @@ message SenderKeyStateStructure {
message SenderKeyRecordStructure {
repeated SenderKeyStateStructure sender_key_states = 1;
-}
\ No newline at end of file
+}
diff --git a/protos/SignalService.proto b/protos/SignalService.proto
index 07cce1fb67..2b83cfa76c 100644
--- a/protos/SignalService.proto
+++ b/protos/SignalService.proto
@@ -1,4 +1,4 @@
-// Copyright 2014-2021 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Source: https://github.com/signalapp/libsignal-service-java/blob/4684a49b2ed8f32be619e0d0eea423626b6cb2cb/protobuf/SignalService.proto
diff --git a/protos/SignalStorage.proto b/protos/SignalStorage.proto
index 0507a433ec..578298b6df 100644
--- a/protos/SignalStorage.proto
+++ b/protos/SignalStorage.proto
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/Stickers.proto b/protos/Stickers.proto
index 3c66bd0d6a..a19bf745a9 100644
--- a/protos/Stickers.proto
+++ b/protos/Stickers.proto
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/SubProtocol.proto b/protos/SubProtocol.proto
index 98641ee363..f416073269 100644
--- a/protos/SubProtocol.proto
+++ b/protos/SubProtocol.proto
@@ -1,4 +1,4 @@
-// Copyright 2014-2021 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/protos/UnidentifiedDelivery.proto b/protos/UnidentifiedDelivery.proto
index 1364eee80f..fb86b60576 100644
--- a/protos/UnidentifiedDelivery.proto
+++ b/protos/UnidentifiedDelivery.proto
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
package signalservice;
diff --git a/scripts/generate-acknowledgments.js b/scripts/generate-acknowledgments.js
index 546d652231..db64727f27 100644
--- a/scripts/generate-acknowledgments.js
+++ b/scripts/generate-acknowledgments.js
@@ -70,20 +70,6 @@ async function getMarkdownForDependency(dependencyName) {
].join('\n');
}
-function licenseComment() {
- const fileCreatedYear = 2020;
- const currentYear = new Date().getFullYear();
- const yearRange =
- fileCreatedYear === currentYear
- ? fileCreatedYear
- : `${fileCreatedYear}-${currentYear}`;
-
- return [
- ``,
- '',
- ].join('\n');
-}
-
async function main() {
assert.deepStrictEqual(
Object.keys(optionalDependencies),
@@ -109,7 +95,8 @@ async function main() {
);
const unformattedOutput = [
- licenseComment(),
+ '',
+ '',
'# Acknowledgments',
'',
'Signal Desktop makes use of the following open source projects.',
diff --git a/scripts/prepare_beta_build.js b/scripts/prepare_beta_build.js
index 99173e1b0c..112ada8146 100644
--- a/scripts/prepare_beta_build.js
+++ b/scripts/prepare_beta_build.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const fs = require('fs');
diff --git a/scripts/prepare_windows_cert.js b/scripts/prepare_windows_cert.js
index 5c772fa0fd..de0da48137 100644
--- a/scripts/prepare_windows_cert.js
+++ b/scripts/prepare_windows_cert.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const fs = require('fs');
diff --git a/sticker-creator/_mixins.scss b/sticker-creator/_mixins.scss
index 3dba7f333f..01b502c659 100644
--- a/sticker-creator/_mixins.scss
+++ b/sticker-creator/_mixins.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@mixin light-theme() {
diff --git a/sticker-creator/app/index.scss b/sticker-creator/app/index.scss
index 0dd6c01a90..fca5e596aa 100644
--- a/sticker-creator/app/index.scss
+++ b/sticker-creator/app/index.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/app/index.tsx b/sticker-creator/app/index.tsx
index 29ccb1a905..a4d844156d 100644
--- a/sticker-creator/app/index.tsx
+++ b/sticker-creator/app/index.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/app/stages/AppStage.scss b/sticker-creator/app/stages/AppStage.scss
index c03d92ec67..6d2da47c3c 100644
--- a/sticker-creator/app/stages/AppStage.scss
+++ b/sticker-creator/app/stages/AppStage.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.padded {
diff --git a/sticker-creator/app/stages/AppStage.tsx b/sticker-creator/app/stages/AppStage.tsx
index ee24ed5d07..cde18961bb 100644
--- a/sticker-creator/app/stages/AppStage.tsx
+++ b/sticker-creator/app/stages/AppStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/sticker-creator/app/stages/DropStage.scss b/sticker-creator/app/stages/DropStage.scss
index 5efe45740f..d7d6ddff90 100644
--- a/sticker-creator/app/stages/DropStage.scss
+++ b/sticker-creator/app/stages/DropStage.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.message {
diff --git a/sticker-creator/app/stages/DropStage.tsx b/sticker-creator/app/stages/DropStage.tsx
index d8a04f13c2..51d123f5c2 100644
--- a/sticker-creator/app/stages/DropStage.tsx
+++ b/sticker-creator/app/stages/DropStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/app/stages/EmojiStage.tsx b/sticker-creator/app/stages/EmojiStage.tsx
index 2bf635ba67..1151543133 100644
--- a/sticker-creator/app/stages/EmojiStage.tsx
+++ b/sticker-creator/app/stages/EmojiStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/app/stages/MetaStage.scss b/sticker-creator/app/stages/MetaStage.scss
index 84c3e7f66f..33d0ef1c85 100644
--- a/sticker-creator/app/stages/MetaStage.scss
+++ b/sticker-creator/app/stages/MetaStage.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../../stylesheets/variables';
diff --git a/sticker-creator/app/stages/MetaStage.tsx b/sticker-creator/app/stages/MetaStage.tsx
index 93d735f9dd..9885bafb6a 100644
--- a/sticker-creator/app/stages/MetaStage.tsx
+++ b/sticker-creator/app/stages/MetaStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/app/stages/ShareStage.scss b/sticker-creator/app/stages/ShareStage.scss
index fab76396b5..b3be78b06b 100644
--- a/sticker-creator/app/stages/ShareStage.scss
+++ b/sticker-creator/app/stages/ShareStage.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../../stylesheets/variables';
diff --git a/sticker-creator/app/stages/ShareStage.tsx b/sticker-creator/app/stages/ShareStage.tsx
index 00edeae3df..ee2f70da0f 100644
--- a/sticker-creator/app/stages/ShareStage.tsx
+++ b/sticker-creator/app/stages/ShareStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/app/stages/UploadStage.scss b/sticker-creator/app/stages/UploadStage.scss
index b6291ef5d4..f720d91a05 100644
--- a/sticker-creator/app/stages/UploadStage.scss
+++ b/sticker-creator/app/stages/UploadStage.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.base {
diff --git a/sticker-creator/app/stages/UploadStage.tsx b/sticker-creator/app/stages/UploadStage.tsx
index e4e85fe857..7bed41a7a1 100644
--- a/sticker-creator/app/stages/UploadStage.tsx
+++ b/sticker-creator/app/stages/UploadStage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/ConfirmModal.scss b/sticker-creator/components/ConfirmModal.scss
index 89d1bbdb15..65e91de0b0 100644
--- a/sticker-creator/components/ConfirmModal.scss
+++ b/sticker-creator/components/ConfirmModal.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.facade {
diff --git a/sticker-creator/components/ConfirmModal.tsx b/sticker-creator/components/ConfirmModal.tsx
index 019316c40f..10eccb4b7e 100644
--- a/sticker-creator/components/ConfirmModal.tsx
+++ b/sticker-creator/components/ConfirmModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/ShareButtons.scss b/sticker-creator/components/ShareButtons.scss
index 0ccbdf24c4..3b0ff7aaf1 100644
--- a/sticker-creator/components/ShareButtons.scss
+++ b/sticker-creator/components/ShareButtons.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/components/ShareButtons.stories.tsx b/sticker-creator/components/ShareButtons.stories.tsx
index 9e90390f0e..8f9717200e 100644
--- a/sticker-creator/components/ShareButtons.stories.tsx
+++ b/sticker-creator/components/ShareButtons.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/ShareButtons.tsx b/sticker-creator/components/ShareButtons.tsx
index 8d6bfd7ddc..bf0fc49e3c 100644
--- a/sticker-creator/components/ShareButtons.tsx
+++ b/sticker-creator/components/ShareButtons.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-len */
diff --git a/sticker-creator/components/StickerFrame.scss b/sticker-creator/components/StickerFrame.scss
index b650d52b7a..039e98717a 100644
--- a/sticker-creator/components/StickerFrame.scss
+++ b/sticker-creator/components/StickerFrame.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/components/StickerFrame.stories.tsx b/sticker-creator/components/StickerFrame.stories.tsx
index 5187830080..b616ebd407 100644
--- a/sticker-creator/components/StickerFrame.stories.tsx
+++ b/sticker-creator/components/StickerFrame.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/StickerFrame.tsx b/sticker-creator/components/StickerFrame.tsx
index 9ba23b2b19..12ab0f2079 100644
--- a/sticker-creator/components/StickerFrame.tsx
+++ b/sticker-creator/components/StickerFrame.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/StickerGrid.scss b/sticker-creator/components/StickerGrid.scss
index 8c7ff4a198..d7bc2df2ce 100644
--- a/sticker-creator/components/StickerGrid.scss
+++ b/sticker-creator/components/StickerGrid.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.grid {
diff --git a/sticker-creator/components/StickerGrid.tsx b/sticker-creator/components/StickerGrid.tsx
index 8a9f5535a2..1dbcf735d6 100644
--- a/sticker-creator/components/StickerGrid.tsx
+++ b/sticker-creator/components/StickerGrid.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/StickerPackPreview.scss b/sticker-creator/components/StickerPackPreview.scss
index 6ec162b425..53cdc2ea8e 100644
--- a/sticker-creator/components/StickerPackPreview.scss
+++ b/sticker-creator/components/StickerPackPreview.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/components/StickerPackPreview.stories.tsx b/sticker-creator/components/StickerPackPreview.stories.tsx
index 89b5354c09..93ea912c9b 100644
--- a/sticker-creator/components/StickerPackPreview.stories.tsx
+++ b/sticker-creator/components/StickerPackPreview.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/components/StickerPackPreview.tsx b/sticker-creator/components/StickerPackPreview.tsx
index 3dfce5e348..85836e0ac7 100644
--- a/sticker-creator/components/StickerPackPreview.tsx
+++ b/sticker-creator/components/StickerPackPreview.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/Button.scss b/sticker-creator/elements/Button.scss
index a0c6a5b992..e4dd33c42d 100644
--- a/sticker-creator/elements/Button.scss
+++ b/sticker-creator/elements/Button.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/elements/Button.stories.tsx b/sticker-creator/elements/Button.stories.tsx
index 57948efa5a..c1d7341cc4 100644
--- a/sticker-creator/elements/Button.stories.tsx
+++ b/sticker-creator/elements/Button.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/Button.tsx b/sticker-creator/elements/Button.tsx
index ad5e773d62..8abd384821 100644
--- a/sticker-creator/elements/Button.tsx
+++ b/sticker-creator/elements/Button.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/sticker-creator/elements/ConfirmDialog.scss b/sticker-creator/elements/ConfirmDialog.scss
index 56dbb7b8f8..3d067df134 100644
--- a/sticker-creator/elements/ConfirmDialog.scss
+++ b/sticker-creator/elements/ConfirmDialog.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/elements/ConfirmDialog.stories.tsx b/sticker-creator/elements/ConfirmDialog.stories.tsx
index a58e44b627..f282aff6a8 100644
--- a/sticker-creator/elements/ConfirmDialog.stories.tsx
+++ b/sticker-creator/elements/ConfirmDialog.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/ConfirmDialog.tsx b/sticker-creator/elements/ConfirmDialog.tsx
index 7a0909c0d7..39c6bcb0b7 100644
--- a/sticker-creator/elements/ConfirmDialog.tsx
+++ b/sticker-creator/elements/ConfirmDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/CopyText.scss b/sticker-creator/elements/CopyText.scss
index 722559170e..2483f6af6d 100644
--- a/sticker-creator/elements/CopyText.scss
+++ b/sticker-creator/elements/CopyText.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/CopyText.stories.tsx b/sticker-creator/elements/CopyText.stories.tsx
index 76d274d7d8..5b819bd961 100644
--- a/sticker-creator/elements/CopyText.stories.tsx
+++ b/sticker-creator/elements/CopyText.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/CopyText.tsx b/sticker-creator/elements/CopyText.tsx
index c8e437a7e2..855bb3105f 100644
--- a/sticker-creator/elements/CopyText.tsx
+++ b/sticker-creator/elements/CopyText.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/DropZone.scss b/sticker-creator/elements/DropZone.scss
index 365f4b44a8..08a0016baa 100644
--- a/sticker-creator/elements/DropZone.scss
+++ b/sticker-creator/elements/DropZone.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/DropZone.stories.tsx b/sticker-creator/elements/DropZone.stories.tsx
index bfb3fb1758..5c8637b781 100644
--- a/sticker-creator/elements/DropZone.stories.tsx
+++ b/sticker-creator/elements/DropZone.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/DropZone.tsx b/sticker-creator/elements/DropZone.tsx
index 4a5752400c..9cd2864443 100644
--- a/sticker-creator/elements/DropZone.tsx
+++ b/sticker-creator/elements/DropZone.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/LabeledCheckbox.scss b/sticker-creator/elements/LabeledCheckbox.scss
index b61f2d97ec..99c75af325 100644
--- a/sticker-creator/elements/LabeledCheckbox.scss
+++ b/sticker-creator/elements/LabeledCheckbox.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/LabeledCheckbox.stories.tsx b/sticker-creator/elements/LabeledCheckbox.stories.tsx
index ca89ea77cc..008af57e53 100644
--- a/sticker-creator/elements/LabeledCheckbox.stories.tsx
+++ b/sticker-creator/elements/LabeledCheckbox.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/LabeledCheckbox.tsx b/sticker-creator/elements/LabeledCheckbox.tsx
index 9fc6d29649..c388c81e66 100644
--- a/sticker-creator/elements/LabeledCheckbox.tsx
+++ b/sticker-creator/elements/LabeledCheckbox.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/LabeledInput.scss b/sticker-creator/elements/LabeledInput.scss
index b89bc988c9..a803bf90a7 100644
--- a/sticker-creator/elements/LabeledInput.scss
+++ b/sticker-creator/elements/LabeledInput.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/LabeledInput.stories.tsx b/sticker-creator/elements/LabeledInput.stories.tsx
index 060f40bd8c..4403744c51 100644
--- a/sticker-creator/elements/LabeledInput.stories.tsx
+++ b/sticker-creator/elements/LabeledInput.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/LabeledInput.tsx b/sticker-creator/elements/LabeledInput.tsx
index a034bcc58b..cc89bc6af0 100644
--- a/sticker-creator/elements/LabeledInput.tsx
+++ b/sticker-creator/elements/LabeledInput.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/MessageBubble.scss b/sticker-creator/elements/MessageBubble.scss
index 607bba6138..08bbd31d20 100644
--- a/sticker-creator/elements/MessageBubble.scss
+++ b/sticker-creator/elements/MessageBubble.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/MessageBubble.stories.tsx b/sticker-creator/elements/MessageBubble.stories.tsx
index 79ca45867d..c952cb8251 100644
--- a/sticker-creator/elements/MessageBubble.stories.tsx
+++ b/sticker-creator/elements/MessageBubble.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/MessageBubble.tsx b/sticker-creator/elements/MessageBubble.tsx
index a75f9cff25..b146d621ff 100644
--- a/sticker-creator/elements/MessageBubble.tsx
+++ b/sticker-creator/elements/MessageBubble.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/MessageMeta.scss b/sticker-creator/elements/MessageMeta.scss
index 1aee5a63c1..291f16c522 100644
--- a/sticker-creator/elements/MessageMeta.scss
+++ b/sticker-creator/elements/MessageMeta.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/elements/MessageMeta.tsx b/sticker-creator/elements/MessageMeta.tsx
index da754b34f3..b96731cba1 100644
--- a/sticker-creator/elements/MessageMeta.tsx
+++ b/sticker-creator/elements/MessageMeta.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/MessageSticker.scss b/sticker-creator/elements/MessageSticker.scss
index 4fa579a12c..65edeccbe6 100644
--- a/sticker-creator/elements/MessageSticker.scss
+++ b/sticker-creator/elements/MessageSticker.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/MessageSticker.stories.tsx b/sticker-creator/elements/MessageSticker.stories.tsx
index e31a8eca3c..2e8538a402 100644
--- a/sticker-creator/elements/MessageSticker.stories.tsx
+++ b/sticker-creator/elements/MessageSticker.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/MessageSticker.tsx b/sticker-creator/elements/MessageSticker.tsx
index 95a98a344a..e350227782 100644
--- a/sticker-creator/elements/MessageSticker.tsx
+++ b/sticker-creator/elements/MessageSticker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/PageHeader.scss b/sticker-creator/elements/PageHeader.scss
index b9c0ff6943..6ed2d2749b 100644
--- a/sticker-creator/elements/PageHeader.scss
+++ b/sticker-creator/elements/PageHeader.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/PageHeader.stories.tsx b/sticker-creator/elements/PageHeader.stories.tsx
index 018b0185fe..de7143eeb0 100644
--- a/sticker-creator/elements/PageHeader.stories.tsx
+++ b/sticker-creator/elements/PageHeader.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/PageHeader.tsx b/sticker-creator/elements/PageHeader.tsx
index d1ed108cc5..6f595a8c4a 100644
--- a/sticker-creator/elements/PageHeader.tsx
+++ b/sticker-creator/elements/PageHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/ProgressBar.scss b/sticker-creator/elements/ProgressBar.scss
index 9b0bb42db0..0a73e843dc 100644
--- a/sticker-creator/elements/ProgressBar.scss
+++ b/sticker-creator/elements/ProgressBar.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/ProgressBar.stories.tsx b/sticker-creator/elements/ProgressBar.stories.tsx
index 91cac357a9..6e44015766 100644
--- a/sticker-creator/elements/ProgressBar.stories.tsx
+++ b/sticker-creator/elements/ProgressBar.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/ProgressBar.tsx b/sticker-creator/elements/ProgressBar.tsx
index ac50a07e94..ec783a82bd 100644
--- a/sticker-creator/elements/ProgressBar.tsx
+++ b/sticker-creator/elements/ProgressBar.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/StickerPreview.scss b/sticker-creator/elements/StickerPreview.scss
index a8e00a7c4a..9d623e24b9 100644
--- a/sticker-creator/elements/StickerPreview.scss
+++ b/sticker-creator/elements/StickerPreview.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../mixins';
diff --git a/sticker-creator/elements/StickerPreview.stories.tsx b/sticker-creator/elements/StickerPreview.stories.tsx
index 6cee1c449d..b44c9f25f2 100644
--- a/sticker-creator/elements/StickerPreview.stories.tsx
+++ b/sticker-creator/elements/StickerPreview.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/StickerPreview.tsx b/sticker-creator/elements/StickerPreview.tsx
index eedb22430a..f275bb2a1c 100644
--- a/sticker-creator/elements/StickerPreview.tsx
+++ b/sticker-creator/elements/StickerPreview.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/StoryRow.scss b/sticker-creator/elements/StoryRow.scss
index ec2344504c..f26214ae5a 100644
--- a/sticker-creator/elements/StoryRow.scss
+++ b/sticker-creator/elements/StoryRow.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.base {
diff --git a/sticker-creator/elements/StoryRow.tsx b/sticker-creator/elements/StoryRow.tsx
index dfa88582b6..342f8795e2 100644
--- a/sticker-creator/elements/StoryRow.tsx
+++ b/sticker-creator/elements/StoryRow.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/Toast.scss b/sticker-creator/elements/Toast.scss
index 52dbb0ae50..65e9c6891d 100644
--- a/sticker-creator/elements/Toast.scss
+++ b/sticker-creator/elements/Toast.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/Toast.stories.tsx b/sticker-creator/elements/Toast.stories.tsx
index 4b80528e4b..2d6b98c07a 100644
--- a/sticker-creator/elements/Toast.stories.tsx
+++ b/sticker-creator/elements/Toast.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/Toast.tsx b/sticker-creator/elements/Toast.tsx
index 433270dc07..864ab5262c 100644
--- a/sticker-creator/elements/Toast.tsx
+++ b/sticker-creator/elements/Toast.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/Typography.scss b/sticker-creator/elements/Typography.scss
index 5610943a12..19edf2e80a 100644
--- a/sticker-creator/elements/Typography.scss
+++ b/sticker-creator/elements/Typography.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import '../../stylesheets/variables';
diff --git a/sticker-creator/elements/Typography.stories.tsx b/sticker-creator/elements/Typography.stories.tsx
index a531fc0e9d..6319e81e4e 100644
--- a/sticker-creator/elements/Typography.stories.tsx
+++ b/sticker-creator/elements/Typography.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable jsx-a11y/anchor-is-valid */
diff --git a/sticker-creator/elements/Typography.tsx b/sticker-creator/elements/Typography.tsx
index a89621b48a..80fe1fecb1 100644
--- a/sticker-creator/elements/Typography.tsx
+++ b/sticker-creator/elements/Typography.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/icons/AddEmoji.tsx b/sticker-creator/elements/icons/AddEmoji.tsx
index 5cb0cb7902..7074f07e10 100644
--- a/sticker-creator/elements/icons/AddEmoji.tsx
+++ b/sticker-creator/elements/icons/AddEmoji.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/elements/icons/index.tsx b/sticker-creator/elements/icons/index.tsx
index 50e0a2e7cb..aacea4a8d8 100644
--- a/sticker-creator/elements/icons/index.tsx
+++ b/sticker-creator/elements/icons/index.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export { AddEmoji } from './AddEmoji';
diff --git a/sticker-creator/index.html b/sticker-creator/index.html
index 4c5222de74..e1363b3947 100644
--- a/sticker-creator/index.html
+++ b/sticker-creator/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/sticker-creator/index.tsx b/sticker-creator/index.tsx
index 34bccbbc59..52b1ef137c 100644
--- a/sticker-creator/index.tsx
+++ b/sticker-creator/index.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/preload.ts b/sticker-creator/preload.ts
index 61f756a431..d71d7de2b2 100644
--- a/sticker-creator/preload.ts
+++ b/sticker-creator/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import './window/phase1-dependencies';
diff --git a/sticker-creator/root.tsx b/sticker-creator/root.tsx
index 139e64bd3e..a2db2a33cf 100644
--- a/sticker-creator/root.tsx
+++ b/sticker-creator/root.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { hot } from 'react-hot-loader/root';
diff --git a/sticker-creator/store/ducks/stickers.ts b/sticker-creator/store/ducks/stickers.ts
index a493d21c52..b01e020a00 100644
--- a/sticker-creator/store/ducks/stickers.ts
+++ b/sticker-creator/store/ducks/stickers.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-param-reassign */
diff --git a/sticker-creator/store/index.ts b/sticker-creator/store/index.ts
index d3271735a1..f82408e2b3 100644
--- a/sticker-creator/store/index.ts
+++ b/sticker-creator/store/index.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createStore } from 'redux';
diff --git a/sticker-creator/store/reducer.ts b/sticker-creator/store/reducer.ts
index 8ceb3ea199..1d7ddbde8d 100644
--- a/sticker-creator/store/reducer.ts
+++ b/sticker-creator/store/reducer.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Reducer } from 'redux';
diff --git a/sticker-creator/util/history.ts b/sticker-creator/util/history.ts
index 2c894bafd1..2bebc15783 100644
--- a/sticker-creator/util/history.ts
+++ b/sticker-creator/util/history.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createMemoryHistory } from 'history';
diff --git a/sticker-creator/util/i18n.tsx b/sticker-creator/util/i18n.tsx
index 05d5958ec2..dfd45000ae 100644
--- a/sticker-creator/util/i18n.tsx
+++ b/sticker-creator/util/i18n.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/sticker-creator/util/preload.ts b/sticker-creator/util/preload.ts
index dfebe5493b..5b2639158d 100644
--- a/sticker-creator/util/preload.ts
+++ b/sticker-creator/util/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/stylesheets/_conversation.scss b/stylesheets/_conversation.scss
index 6300970e98..dd0e8f395a 100644
--- a/stylesheets/_conversation.scss
+++ b/stylesheets/_conversation.scss
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@import './mixins';
diff --git a/stylesheets/_emoji.scss b/stylesheets/_emoji.scss
index 0ebd4a9c4a..d126ee5da1 100644
--- a/stylesheets/_emoji.scss
+++ b/stylesheets/_emoji.scss
@@ -1,4 +1,4 @@
-// Copyright 2016-2020 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
span.emoji {
diff --git a/stylesheets/_fontfaces.scss b/stylesheets/_fontfaces.scss
index 0dd68f0c0c..a66ae37b56 100644
--- a/stylesheets/_fontfaces.scss
+++ b/stylesheets/_fontfaces.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@font-face {
diff --git a/stylesheets/_global.scss b/stylesheets/_global.scss
index c02bb9f70d..926361bf52 100644
--- a/stylesheets/_global.scss
+++ b/stylesheets/_global.scss
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
html {
diff --git a/stylesheets/_index.scss b/stylesheets/_index.scss
index 6f78e09164..aeddb43570 100644
--- a/stylesheets/_index.scss
+++ b/stylesheets/_index.scss
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
#app-container {
diff --git a/stylesheets/_mixins.scss b/stylesheets/_mixins.scss
index 262830cc2f..851e230fd3 100644
--- a/stylesheets/_mixins.scss
+++ b/stylesheets/_mixins.scss
@@ -1,4 +1,4 @@
-// Copyright 2016-2022 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Fonts
diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss
index 1cd4efe753..3bec60d620 100644
--- a/stylesheets/_modules.scss
+++ b/stylesheets/_modules.scss
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Using BEM syntax explained here: https://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/
diff --git a/stylesheets/_options.scss b/stylesheets/_options.scss
index 75990a6eb2..da8e661b95 100644
--- a/stylesheets/_options.scss
+++ b/stylesheets/_options.scss
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@use '../node_modules/intl-tel-input/build/css/intlTelInput.css';
diff --git a/stylesheets/_progress.scss b/stylesheets/_progress.scss
index cde537b4b0..3b163f3533 100644
--- a/stylesheets/_progress.scss
+++ b/stylesheets/_progress.scss
@@ -1,4 +1,4 @@
-// Copyright 2017-2020 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@keyframes progress-bar-stripes {
diff --git a/stylesheets/_variables.scss b/stylesheets/_variables.scss
index 50768dbfe3..2944f390f5 100644
--- a/stylesheets/_variables.scss
+++ b/stylesheets/_variables.scss
@@ -1,4 +1,4 @@
-// Copyright 2015-2022 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
$inter: Inter, 'Helvetica Neue', 'Source Sans Pro', 'Source Han Sans SC',
diff --git a/stylesheets/components/AddGroupMembersModal.scss b/stylesheets/components/AddGroupMembersModal.scss
index e07b9a41b2..687d854bfe 100644
--- a/stylesheets/components/AddGroupMembersModal.scss
+++ b/stylesheets/components/AddGroupMembersModal.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-AddGroupMembersModal {
diff --git a/stylesheets/components/AudioCapture.scss b/stylesheets/components/AudioCapture.scss
index 9b9b86b5ca..36e3f07c53 100644
--- a/stylesheets/components/AudioCapture.scss
+++ b/stylesheets/components/AudioCapture.scss
@@ -1,4 +1,4 @@
-// Copyright 2016-2022 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.AudioCapture {
diff --git a/stylesheets/components/Avatar.scss b/stylesheets/components/Avatar.scss
index f09517599d..3794f62a32 100644
--- a/stylesheets/components/Avatar.scss
+++ b/stylesheets/components/Avatar.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-Avatar {
diff --git a/stylesheets/components/DebugLogWindow.scss b/stylesheets/components/DebugLogWindow.scss
index bf6624b930..e919ae94bd 100644
--- a/stylesheets/components/DebugLogWindow.scss
+++ b/stylesheets/components/DebugLogWindow.scss
@@ -1,4 +1,4 @@
-// Copyright 2016-2021 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.DebugLogWindow {
diff --git a/stylesheets/components/InstallScreenQrCodeNotScannedStep.scss b/stylesheets/components/InstallScreenQrCodeNotScannedStep.scss
index 8442fc8980..9ed9621ff0 100644
--- a/stylesheets/components/InstallScreenQrCodeNotScannedStep.scss
+++ b/stylesheets/components/InstallScreenQrCodeNotScannedStep.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-InstallScreenQrCodeNotScannedStep {
diff --git a/stylesheets/components/LeftPaneDialog.scss b/stylesheets/components/LeftPaneDialog.scss
index 7f41da8b74..7aad969642 100644
--- a/stylesheets/components/LeftPaneDialog.scss
+++ b/stylesheets/components/LeftPaneDialog.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@keyframes progress-animation {
diff --git a/stylesheets/components/LeftPaneSearchInput.scss b/stylesheets/components/LeftPaneSearchInput.scss
index 9ffc117d60..1ad30dd9d7 100644
--- a/stylesheets/components/LeftPaneSearchInput.scss
+++ b/stylesheets/components/LeftPaneSearchInput.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.LeftPaneSearchInput {
diff --git a/stylesheets/components/MessageDetail.scss b/stylesheets/components/MessageDetail.scss
index 42e8426265..f5873ce291 100644
--- a/stylesheets/components/MessageDetail.scss
+++ b/stylesheets/components/MessageDetail.scss
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-message-detail {
diff --git a/stylesheets/components/ProfileEditor.scss b/stylesheets/components/ProfileEditor.scss
index 4284a9b348..2f758ee053 100644
--- a/stylesheets/components/ProfileEditor.scss
+++ b/stylesheets/components/ProfileEditor.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.ProfileEditor {
diff --git a/stylesheets/components/ReactionPickerPicker.scss b/stylesheets/components/ReactionPickerPicker.scss
index 619766e941..c7d24f0054 100644
--- a/stylesheets/components/ReactionPickerPicker.scss
+++ b/stylesheets/components/ReactionPickerPicker.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@use 'sass:math';
diff --git a/stylesheets/components/ScrollDownButton.scss b/stylesheets/components/ScrollDownButton.scss
index 390efa5541..f098ed2fd4 100644
--- a/stylesheets/components/ScrollDownButton.scss
+++ b/stylesheets/components/ScrollDownButton.scss
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.ScrollDownButton {
diff --git a/stylesheets/components/SearchInput.scss b/stylesheets/components/SearchInput.scss
index 4e3ae368a6..c6870d8af6 100644
--- a/stylesheets/components/SearchInput.scss
+++ b/stylesheets/components/SearchInput.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-SearchInput {
diff --git a/stylesheets/components/StagedLinkPreview.scss b/stylesheets/components/StagedLinkPreview.scss
index 240cf8e309..4c5830e392 100644
--- a/stylesheets/components/StagedLinkPreview.scss
+++ b/stylesheets/components/StagedLinkPreview.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-staged-link-preview {
diff --git a/stylesheets/components/SystemMessage.scss b/stylesheets/components/SystemMessage.scss
index 54b5d98d60..bb63dfd169 100644
--- a/stylesheets/components/SystemMessage.scss
+++ b/stylesheets/components/SystemMessage.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
@mixin system-message-icon($light, $dark) {
diff --git a/stylesheets/components/TimelineWarnings.scss b/stylesheets/components/TimelineWarnings.scss
index 5b1b2db718..f8a76046fc 100644
--- a/stylesheets/components/TimelineWarnings.scss
+++ b/stylesheets/components/TimelineWarnings.scss
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.module-TimelineWarnings {
diff --git a/stylesheets/manifest.scss b/stylesheets/manifest.scss
index dea9ffed99..e6314c2897 100644
--- a/stylesheets/manifest.scss
+++ b/stylesheets/manifest.scss
@@ -1,4 +1,4 @@
-// Copyright 2014-2022 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Global Settings, Variables, and Mixins
diff --git a/stylesheets/manifest_bridge.scss b/stylesheets/manifest_bridge.scss
index fd7a5dfc12..2ed7bf1a3e 100644
--- a/stylesheets/manifest_bridge.scss
+++ b/stylesheets/manifest_bridge.scss
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// This file acts as a bridge to allow BEM modules to work in the newer CSS
diff --git a/test/.eslintrc.js b/test/.eslintrc.js
index b2a0af3c93..59ddb42e02 100644
--- a/test/.eslintrc.js
+++ b/test/.eslintrc.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// For reference: https://github.com/airbnb/javascript
diff --git a/test/index.html b/test/index.html
index 7a53448092..6c8efb8f0f 100644
--- a/test/index.html
+++ b/test/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/test/modules/.eslintrc.js b/test/modules/.eslintrc.js
index 2d0b3f6a30..1db728015b 100644
--- a/test/modules/.eslintrc.js
+++ b/test/modules/.eslintrc.js
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// For reference: https://github.com/airbnb/javascript
diff --git a/test/setup-test-node.js b/test/setup-test-node.js
index 4e030043a3..6238ae91ff 100644
--- a/test/setup-test-node.js
+++ b/test/setup-test-node.js
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/test/test.js b/test/test.js
index 111399c4db..32da00cf9f 100644
--- a/test/test.js
+++ b/test/test.js
@@ -1,4 +1,4 @@
-// Copyright 2014-2022 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* global Whisper, _, Backbone */
diff --git a/ts/ConversationController.ts b/ts/ConversationController.ts
index 41446ea112..313e909667 100644
--- a/ts/ConversationController.ts
+++ b/ts/ConversationController.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { debounce, pick, uniq, without } from 'lodash';
diff --git a/ts/Crypto.ts b/ts/Crypto.ts
index fb43fd37d9..157eec8c21 100644
--- a/ts/Crypto.ts
+++ b/ts/Crypto.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { Buffer } from 'buffer';
diff --git a/ts/IdleDetector.ts b/ts/IdleDetector.ts
index 2c371231d8..f21b4959c7 100644
--- a/ts/IdleDetector.ts
+++ b/ts/IdleDetector.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import EventEmitter from 'events';
diff --git a/ts/OS.ts b/ts/OS.ts
index 0f19966a85..1be92a06f0 100644
--- a/ts/OS.ts
+++ b/ts/OS.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import is from '@sindresorhus/is';
diff --git a/ts/RemoteConfig.ts b/ts/RemoteConfig.ts
index 60e82eddb3..179ae6ffff 100644
--- a/ts/RemoteConfig.ts
+++ b/ts/RemoteConfig.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { get, throttle } from 'lodash';
diff --git a/ts/SignalProtocolStore.ts b/ts/SignalProtocolStore.ts
index 3f9f0bcc81..b70e2f54f9 100644
--- a/ts/SignalProtocolStore.ts
+++ b/ts/SignalProtocolStore.ts
@@ -1,4 +1,4 @@
-// Copyright 2016-2022 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/backbone/reliable_trigger.ts b/ts/backbone/reliable_trigger.ts
index b810d6c4e0..50196124d6 100644
--- a/ts/backbone/reliable_trigger.ts
+++ b/ts/backbone/reliable_trigger.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type * as Backbone from 'backbone';
diff --git a/ts/background.ts b/ts/background.ts
index 3ff048b28a..c4c1e151da 100644
--- a/ts/background.ts
+++ b/ts/background.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { webFrame } from 'electron';
diff --git a/ts/calling/constants.ts b/ts/calling/constants.ts
index 93275dea71..761f709c40 100644
--- a/ts/calling/constants.ts
+++ b/ts/calling/constants.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// See `TICK_INTERVAL` in group_call.rs in RingRTC
diff --git a/ts/challenge.ts b/ts/challenge.ts
index a9882123a1..0086ae0863 100644
--- a/ts/challenge.ts
+++ b/ts/challenge.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// `ChallengeHandler` is responsible for:
diff --git a/ts/components/About.tsx b/ts/components/About.tsx
index 9e49e515fd..9b297fa6b7 100644
--- a/ts/components/About.tsx
+++ b/ts/components/About.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/AddGroupMemberErrorDialog.stories.tsx b/ts/components/AddGroupMemberErrorDialog.stories.tsx
index 64f73f5fe4..9ced0f47f7 100644
--- a/ts/components/AddGroupMemberErrorDialog.stories.tsx
+++ b/ts/components/AddGroupMemberErrorDialog.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/AddGroupMemberErrorDialog.tsx b/ts/components/AddGroupMemberErrorDialog.tsx
index 673b20e2d8..7eb5ec927d 100644
--- a/ts/components/AddGroupMemberErrorDialog.tsx
+++ b/ts/components/AddGroupMemberErrorDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/App.tsx b/ts/components/App.tsx
index bbec517c09..ad4f0eba06 100644
--- a/ts/components/App.tsx
+++ b/ts/components/App.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect } from 'react';
diff --git a/ts/components/Avatar.stories.tsx b/ts/components/Avatar.stories.tsx
index d8d8edfc08..ec29c5cad1 100644
--- a/ts/components/Avatar.stories.tsx
+++ b/ts/components/Avatar.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/Avatar.tsx b/ts/components/Avatar.tsx
index 0c30562957..9169e21e81 100644
--- a/ts/components/Avatar.tsx
+++ b/ts/components/Avatar.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CSSProperties, MouseEvent, ReactChild, ReactNode } from 'react';
diff --git a/ts/components/AvatarPopup.stories.tsx b/ts/components/AvatarPopup.stories.tsx
index 2caf3c0466..5b032081d9 100644
--- a/ts/components/AvatarPopup.stories.tsx
+++ b/ts/components/AvatarPopup.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/AvatarPopup.tsx b/ts/components/AvatarPopup.tsx
index 9dbc8e3052..a655614b64 100644
--- a/ts/components/AvatarPopup.tsx
+++ b/ts/components/AvatarPopup.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallBackgroundBlur.tsx b/ts/components/CallBackgroundBlur.tsx
index 2f62667f04..163815847c 100644
--- a/ts/components/CallBackgroundBlur.tsx
+++ b/ts/components/CallBackgroundBlur.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/CallManager.stories.tsx b/ts/components/CallManager.stories.tsx
index c036187e0c..e0716be0df 100644
--- a/ts/components/CallManager.stories.tsx
+++ b/ts/components/CallManager.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallManager.tsx b/ts/components/CallManager.tsx
index e73cfa162b..6ad08223f6 100644
--- a/ts/components/CallManager.tsx
+++ b/ts/components/CallManager.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useEffect } from 'react';
diff --git a/ts/components/CallNeedPermissionScreen.tsx b/ts/components/CallNeedPermissionScreen.tsx
index d7d01ca94a..5dd1389976 100644
--- a/ts/components/CallNeedPermissionScreen.tsx
+++ b/ts/components/CallNeedPermissionScreen.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useRef, useEffect } from 'react';
diff --git a/ts/components/CallScreen.stories.tsx b/ts/components/CallScreen.stories.tsx
index 0b1d397daf..a3f32532c8 100644
--- a/ts/components/CallScreen.stories.tsx
+++ b/ts/components/CallScreen.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallScreen.tsx b/ts/components/CallScreen.tsx
index d4a5d2b629..f14bd2a578 100644
--- a/ts/components/CallScreen.tsx
+++ b/ts/components/CallScreen.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/CallingButton.stories.tsx b/ts/components/CallingButton.stories.tsx
index 969b6658c2..6f0fec2993 100644
--- a/ts/components/CallingButton.stories.tsx
+++ b/ts/components/CallingButton.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingButton.tsx b/ts/components/CallingButton.tsx
index 5d551b41a9..032cca55ff 100644
--- a/ts/components/CallingButton.tsx
+++ b/ts/components/CallingButton.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useMemo } from 'react';
diff --git a/ts/components/CallingDeviceSelection.tsx b/ts/components/CallingDeviceSelection.tsx
index 9ec6da7919..4f137d2ba7 100644
--- a/ts/components/CallingDeviceSelection.tsx
+++ b/ts/components/CallingDeviceSelection.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingHeader.stories.tsx b/ts/components/CallingHeader.stories.tsx
index 2146f806a7..e00400db2a 100644
--- a/ts/components/CallingHeader.stories.tsx
+++ b/ts/components/CallingHeader.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingHeader.tsx b/ts/components/CallingHeader.tsx
index d7d4a6d964..3868e6047c 100644
--- a/ts/components/CallingHeader.tsx
+++ b/ts/components/CallingHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/CallingLobby.stories.tsx b/ts/components/CallingLobby.stories.tsx
index 320ba55169..46d2f73a32 100644
--- a/ts/components/CallingLobby.stories.tsx
+++ b/ts/components/CallingLobby.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingLobby.tsx b/ts/components/CallingLobby.tsx
index 2f20791740..fee91ada68 100644
--- a/ts/components/CallingLobby.tsx
+++ b/ts/components/CallingLobby.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/CallingParticipantsList.stories.tsx b/ts/components/CallingParticipantsList.stories.tsx
index b4db4e0463..3477589b20 100644
--- a/ts/components/CallingParticipantsList.stories.tsx
+++ b/ts/components/CallingParticipantsList.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingParticipantsList.tsx b/ts/components/CallingParticipantsList.tsx
index 09fbbd31e6..1dc7e2a0f5 100644
--- a/ts/components/CallingParticipantsList.tsx
+++ b/ts/components/CallingParticipantsList.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable react/no-array-index-key */
diff --git a/ts/components/CallingPip.stories.tsx b/ts/components/CallingPip.stories.tsx
index aefd11b2a6..1049e597a0 100644
--- a/ts/components/CallingPip.stories.tsx
+++ b/ts/components/CallingPip.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CallingPip.tsx b/ts/components/CallingPip.tsx
index 0385bd2551..f00b842d32 100644
--- a/ts/components/CallingPip.tsx
+++ b/ts/components/CallingPip.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/CallingPipRemoteVideo.tsx b/ts/components/CallingPipRemoteVideo.tsx
index bb3c2f3b3e..be89a5e6d9 100644
--- a/ts/components/CallingPipRemoteVideo.tsx
+++ b/ts/components/CallingPipRemoteVideo.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useMemo, useEffect } from 'react';
diff --git a/ts/components/CallingToastManager.tsx b/ts/components/CallingToastManager.tsx
index fca85d9306..390bfc2b4a 100644
--- a/ts/components/CallingToastManager.tsx
+++ b/ts/components/CallingToastManager.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useEffect, useRef, useState } from 'react';
diff --git a/ts/components/CompositionArea.stories.tsx b/ts/components/CompositionArea.stories.tsx
index 770e644f53..39d6df1768 100644
--- a/ts/components/CompositionArea.stories.tsx
+++ b/ts/components/CompositionArea.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { DecoratorFunction } from '@storybook/addons';
diff --git a/ts/components/CompositionArea.tsx b/ts/components/CompositionArea.tsx
index 139711e7ea..f0bcf09479 100644
--- a/ts/components/CompositionArea.tsx
+++ b/ts/components/CompositionArea.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useEffect, useRef, useState } from 'react';
diff --git a/ts/components/CompositionInput.stories.tsx b/ts/components/CompositionInput.stories.tsx
index ff3c96779a..883c0caab7 100644
--- a/ts/components/CompositionInput.stories.tsx
+++ b/ts/components/CompositionInput.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/CompositionInput.tsx b/ts/components/CompositionInput.tsx
index 244f02d4da..9d1ccefd43 100644
--- a/ts/components/CompositionInput.tsx
+++ b/ts/components/CompositionInput.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/ConfirmationDialog.tsx b/ts/components/ConfirmationDialog.tsx
index b75786c382..3695b9de7f 100644
--- a/ts/components/ConfirmationDialog.tsx
+++ b/ts/components/ConfirmationDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MouseEvent } from 'react';
diff --git a/ts/components/ContactPills.tsx b/ts/components/ContactPills.tsx
index 63d243d306..c599000883 100644
--- a/ts/components/ContactPills.tsx
+++ b/ts/components/ContactPills.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/ContextMenu.stories.tsx b/ts/components/ContextMenu.stories.tsx
index 99f9db985d..5dc2b03831 100644
--- a/ts/components/ContextMenu.stories.tsx
+++ b/ts/components/ContextMenu.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/ContextMenu.tsx b/ts/components/ContextMenu.tsx
index 482b095c50..4a6ee62356 100644
--- a/ts/components/ContextMenu.tsx
+++ b/ts/components/ContextMenu.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { KeyboardEvent, ReactNode } from 'react';
diff --git a/ts/components/ConversationList.stories.tsx b/ts/components/ConversationList.stories.tsx
index 130a622c7c..682a457318 100644
--- a/ts/components/ConversationList.stories.tsx
+++ b/ts/components/ConversationList.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useContext } from 'react';
diff --git a/ts/components/DebugLogWindow.tsx b/ts/components/DebugLogWindow.tsx
index f73cd7567a..6b8cdd0356 100644
--- a/ts/components/DebugLogWindow.tsx
+++ b/ts/components/DebugLogWindow.tsx
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MouseEvent } from 'react';
diff --git a/ts/components/DialogExpiredBuild.stories.tsx b/ts/components/DialogExpiredBuild.stories.tsx
index 47ea82d8e5..b4f98cd3b9 100644
--- a/ts/components/DialogExpiredBuild.stories.tsx
+++ b/ts/components/DialogExpiredBuild.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/DialogExpiredBuild.tsx b/ts/components/DialogExpiredBuild.tsx
index 1deb50596f..895cc125e4 100644
--- a/ts/components/DialogExpiredBuild.tsx
+++ b/ts/components/DialogExpiredBuild.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/DialogNetworkStatus.stories.tsx b/ts/components/DialogNetworkStatus.stories.tsx
index 6c3a161ad6..9bcf717e1a 100644
--- a/ts/components/DialogNetworkStatus.stories.tsx
+++ b/ts/components/DialogNetworkStatus.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/DialogNetworkStatus.tsx b/ts/components/DialogNetworkStatus.tsx
index 3eb0c2a569..1f32289134 100644
--- a/ts/components/DialogNetworkStatus.tsx
+++ b/ts/components/DialogNetworkStatus.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect } from 'react';
diff --git a/ts/components/DialogRelink.stories.tsx b/ts/components/DialogRelink.stories.tsx
index edba618394..b8f0cab410 100644
--- a/ts/components/DialogRelink.stories.tsx
+++ b/ts/components/DialogRelink.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/DialogRelink.tsx b/ts/components/DialogRelink.tsx
index 472b4b9a6f..880c694a5f 100644
--- a/ts/components/DialogRelink.tsx
+++ b/ts/components/DialogRelink.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/DialogUpdate.stories.tsx b/ts/components/DialogUpdate.stories.tsx
index df52f0dacc..74d53f6153 100644
--- a/ts/components/DialogUpdate.stories.tsx
+++ b/ts/components/DialogUpdate.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/DialogUpdate.tsx b/ts/components/DialogUpdate.tsx
index 895cfdab89..ba4e21e501 100644
--- a/ts/components/DialogUpdate.tsx
+++ b/ts/components/DialogUpdate.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/DirectCallRemoteParticipant.tsx b/ts/components/DirectCallRemoteParticipant.tsx
index b88ab9b24e..edc51e5d4b 100644
--- a/ts/components/DirectCallRemoteParticipant.tsx
+++ b/ts/components/DirectCallRemoteParticipant.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useRef, useEffect } from 'react';
diff --git a/ts/components/DisappearingTimeDialog.tsx b/ts/components/DisappearingTimeDialog.tsx
index 89a33640c0..eb1a372333 100644
--- a/ts/components/DisappearingTimeDialog.tsx
+++ b/ts/components/DisappearingTimeDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useState } from 'react';
diff --git a/ts/components/ErrorModal.tsx b/ts/components/ErrorModal.tsx
index 1e9b8b5bff..06448a85a9 100644
--- a/ts/components/ErrorModal.tsx
+++ b/ts/components/ErrorModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/ForwardMessageModal.tsx b/ts/components/ForwardMessageModal.tsx
index 0c8122687f..fc6795b496 100644
--- a/ts/components/ForwardMessageModal.tsx
+++ b/ts/components/ForwardMessageModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, {
diff --git a/ts/components/GlobalAudioContext.tsx b/ts/components/GlobalAudioContext.tsx
index 3e40f65042..e2bcaf1255 100644
--- a/ts/components/GlobalAudioContext.tsx
+++ b/ts/components/GlobalAudioContext.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/GroupCallOverflowArea.stories.tsx b/ts/components/GroupCallOverflowArea.stories.tsx
index 053edfe641..2e32834ef1 100644
--- a/ts/components/GroupCallOverflowArea.stories.tsx
+++ b/ts/components/GroupCallOverflowArea.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/GroupCallOverflowArea.tsx b/ts/components/GroupCallOverflowArea.tsx
index 4424c80ebe..73be6fe803 100644
--- a/ts/components/GroupCallOverflowArea.tsx
+++ b/ts/components/GroupCallOverflowArea.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement } from 'react';
diff --git a/ts/components/GroupCallRemoteParticipant.stories.tsx b/ts/components/GroupCallRemoteParticipant.stories.tsx
index 6279945a57..f118076b81 100644
--- a/ts/components/GroupCallRemoteParticipant.stories.tsx
+++ b/ts/components/GroupCallRemoteParticipant.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/GroupCallRemoteParticipant.tsx b/ts/components/GroupCallRemoteParticipant.tsx
index e95ec79e9a..e2ea2de87f 100644
--- a/ts/components/GroupCallRemoteParticipant.tsx
+++ b/ts/components/GroupCallRemoteParticipant.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CSSProperties } from 'react';
diff --git a/ts/components/GroupCallRemoteParticipants.tsx b/ts/components/GroupCallRemoteParticipants.tsx
index 551839c1a8..e9d9a1ed9a 100644
--- a/ts/components/GroupCallRemoteParticipants.tsx
+++ b/ts/components/GroupCallRemoteParticipants.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useState, useMemo, useEffect } from 'react';
diff --git a/ts/components/GroupV1MigrationDialog.stories.tsx b/ts/components/GroupV1MigrationDialog.stories.tsx
index ed53a17685..e86725e4e1 100644
--- a/ts/components/GroupV1MigrationDialog.stories.tsx
+++ b/ts/components/GroupV1MigrationDialog.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/GroupV1MigrationDialog.tsx b/ts/components/GroupV1MigrationDialog.tsx
index c05cf7974f..a85cbeffb7 100644
--- a/ts/components/GroupV1MigrationDialog.tsx
+++ b/ts/components/GroupV1MigrationDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/InContactsIcon.tsx b/ts/components/InContactsIcon.tsx
index 7edc918889..c21bde39f0 100644
--- a/ts/components/InContactsIcon.tsx
+++ b/ts/components/InContactsIcon.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/IncomingCallBar.stories.tsx b/ts/components/IncomingCallBar.stories.tsx
index e07c364251..0228afebca 100644
--- a/ts/components/IncomingCallBar.stories.tsx
+++ b/ts/components/IncomingCallBar.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/IncomingCallBar.tsx b/ts/components/IncomingCallBar.tsx
index 9e80a33b4b..7c4b75e5b2 100644
--- a/ts/components/IncomingCallBar.tsx
+++ b/ts/components/IncomingCallBar.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild } from 'react';
diff --git a/ts/components/Input.stories.tsx b/ts/components/Input.stories.tsx
index c8c68bb6d4..370358fa57 100644
--- a/ts/components/Input.stories.tsx
+++ b/ts/components/Input.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useState } from 'react';
diff --git a/ts/components/Input.tsx b/ts/components/Input.tsx
index 6b679d83c8..30b0890e89 100644
--- a/ts/components/Input.tsx
+++ b/ts/components/Input.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ClipboardEvent, ReactNode } from 'react';
diff --git a/ts/components/Intl.tsx b/ts/components/Intl.tsx
index e77b4ecdac..23953a1405 100644
--- a/ts/components/Intl.tsx
+++ b/ts/components/Intl.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/LeftPane.stories.tsx b/ts/components/LeftPane.stories.tsx
index 3a8d4cd485..d2b39d3022 100644
--- a/ts/components/LeftPane.stories.tsx
+++ b/ts/components/LeftPane.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/LeftPane.tsx b/ts/components/LeftPane.tsx
index 83a0ed0566..a58cf3cefa 100644
--- a/ts/components/LeftPane.tsx
+++ b/ts/components/LeftPane.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect, useCallback, useMemo, useState } from 'react';
diff --git a/ts/components/LeftPaneSearchInput.tsx b/ts/components/LeftPaneSearchInput.tsx
index 9cf432ddd2..4cfb82c73c 100644
--- a/ts/components/LeftPaneSearchInput.tsx
+++ b/ts/components/LeftPaneSearchInput.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect, useRef } from 'react';
diff --git a/ts/components/Lightbox.stories.tsx b/ts/components/Lightbox.stories.tsx
index b37874156d..ceda8fa66d 100644
--- a/ts/components/Lightbox.stories.tsx
+++ b/ts/components/Lightbox.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/Lightbox.tsx b/ts/components/Lightbox.tsx
index fc4454e6aa..89759fcfb0 100644
--- a/ts/components/Lightbox.tsx
+++ b/ts/components/Lightbox.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/MainHeader.stories.tsx b/ts/components/MainHeader.stories.tsx
index 48f64a9281..04fdd97733 100644
--- a/ts/components/MainHeader.stories.tsx
+++ b/ts/components/MainHeader.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/MainHeader.tsx b/ts/components/MainHeader.tsx
index d26fd3e29a..d91b7735be 100644
--- a/ts/components/MainHeader.tsx
+++ b/ts/components/MainHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/MediaEditor.tsx b/ts/components/MediaEditor.tsx
index f34d02aea2..ce63ff0478 100644
--- a/ts/components/MediaEditor.tsx
+++ b/ts/components/MediaEditor.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import Measure from 'react-measure';
diff --git a/ts/components/MediaQualitySelector.tsx b/ts/components/MediaQualitySelector.tsx
index 51cb38c75f..be78889e69 100644
--- a/ts/components/MediaQualitySelector.tsx
+++ b/ts/components/MediaQualitySelector.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { KeyboardEvent } from 'react';
diff --git a/ts/components/Modal.tsx b/ts/components/Modal.tsx
index f58860c609..749ae8cd20 100644
--- a/ts/components/Modal.tsx
+++ b/ts/components/Modal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement, ReactNode } from 'react';
diff --git a/ts/components/ModalHost.tsx b/ts/components/ModalHost.tsx
index edcce80436..5c9b8e36bb 100644
--- a/ts/components/ModalHost.tsx
+++ b/ts/components/ModalHost.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useContext, useEffect } from 'react';
diff --git a/ts/components/Preferences.tsx b/ts/components/Preferences.tsx
index b966dbf0a5..9fae24ded1 100644
--- a/ts/components/Preferences.tsx
+++ b/ts/components/Preferences.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/ProfileEditor.tsx b/ts/components/ProfileEditor.tsx
index 78e63c1aaa..fc7c9020b3 100644
--- a/ts/components/ProfileEditor.tsx
+++ b/ts/components/ProfileEditor.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useEffect, useRef, useState } from 'react';
diff --git a/ts/components/ProgressDialog.tsx b/ts/components/ProgressDialog.tsx
index 329a8d53b4..7430c11a5b 100644
--- a/ts/components/ProgressDialog.tsx
+++ b/ts/components/ProgressDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/ReactionPickerPicker.tsx b/ts/components/ReactionPickerPicker.tsx
index b5e8a25798..1416a6d183 100644
--- a/ts/components/ReactionPickerPicker.tsx
+++ b/ts/components/ReactionPickerPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CSSProperties, ReactNode } from 'react';
diff --git a/ts/components/SafetyNumberChangeDialog.stories.tsx b/ts/components/SafetyNumberChangeDialog.stories.tsx
index 83e2c77025..36d84d927c 100644
--- a/ts/components/SafetyNumberChangeDialog.stories.tsx
+++ b/ts/components/SafetyNumberChangeDialog.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/SafetyNumberChangeDialog.tsx b/ts/components/SafetyNumberChangeDialog.tsx
index 8d2561b492..05b55a134b 100644
--- a/ts/components/SafetyNumberChangeDialog.tsx
+++ b/ts/components/SafetyNumberChangeDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/SampleMessageBubbles.tsx b/ts/components/SampleMessageBubbles.tsx
index b71a494087..5da193f516 100644
--- a/ts/components/SampleMessageBubbles.tsx
+++ b/ts/components/SampleMessageBubbles.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CSSProperties } from 'react';
diff --git a/ts/components/SearchInput.tsx b/ts/components/SearchInput.tsx
index f25994585a..ac595bbfcc 100644
--- a/ts/components/SearchInput.tsx
+++ b/ts/components/SearchInput.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/ts/components/Select.tsx b/ts/components/Select.tsx
index aa79e40e67..7ae1df4876 100644
--- a/ts/components/Select.tsx
+++ b/ts/components/Select.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ChangeEvent } from 'react';
diff --git a/ts/components/ShortcutGuide.tsx b/ts/components/ShortcutGuide.tsx
index 3c27182a6e..cddd1d4075 100644
--- a/ts/components/ShortcutGuide.tsx
+++ b/ts/components/ShortcutGuide.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/ShortcutGuideModal.tsx b/ts/components/ShortcutGuideModal.tsx
index 7f2fcd81c1..aee6f89fb7 100644
--- a/ts/components/ShortcutGuideModal.tsx
+++ b/ts/components/ShortcutGuideModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/Spinner.tsx b/ts/components/Spinner.tsx
index 96094732a0..9030a1d334 100644
--- a/ts/components/Spinner.tsx
+++ b/ts/components/Spinner.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/StandaloneRegistration.tsx b/ts/components/StandaloneRegistration.tsx
index b613897fd3..2509fe3bde 100644
--- a/ts/components/StandaloneRegistration.tsx
+++ b/ts/components/StandaloneRegistration.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ChangeEvent } from 'react';
diff --git a/ts/components/StopPropagation.tsx b/ts/components/StopPropagation.tsx
index c8b059c567..4453ed2412 100644
--- a/ts/components/StopPropagation.tsx
+++ b/ts/components/StopPropagation.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/StoryLinkPreview.stories.tsx b/ts/components/StoryLinkPreview.stories.tsx
index 1df0ae1b08..8bffcea296 100644
--- a/ts/components/StoryLinkPreview.stories.tsx
+++ b/ts/components/StoryLinkPreview.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/Tabs.tsx b/ts/components/Tabs.tsx
index 2f39bace42..2226a6258f 100644
--- a/ts/components/Tabs.tsx
+++ b/ts/components/Tabs.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/Toast.tsx b/ts/components/Toast.tsx
index 4e14e7ec0f..f91ab04c37 100644
--- a/ts/components/Toast.tsx
+++ b/ts/components/Toast.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { KeyboardEvent, MouseEvent, ReactNode } from 'react';
diff --git a/ts/components/Tooltip.tsx b/ts/components/Tooltip.tsx
index 5a08c89ca1..1783e46ae3 100644
--- a/ts/components/Tooltip.tsx
+++ b/ts/components/Tooltip.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/WhatsNewModal.tsx b/ts/components/WhatsNewModal.tsx
index 89f7b1d2b9..21e199f271 100644
--- a/ts/components/WhatsNewModal.tsx
+++ b/ts/components/WhatsNewModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild } from 'react';
diff --git a/ts/components/_util.ts b/ts/components/_util.ts
index 36fd93c58e..7605ab90a5 100644
--- a/ts/components/_util.ts
+++ b/ts/components/_util.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function cleanId(id: string): string {
diff --git a/ts/components/conversation/AddNewLines.tsx b/ts/components/conversation/AddNewLines.tsx
index 38a58102ff..349cc7b4d8 100644
--- a/ts/components/conversation/AddNewLines.tsx
+++ b/ts/components/conversation/AddNewLines.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/AttachmentList.tsx b/ts/components/conversation/AttachmentList.tsx
index dd6b7769e7..946e673f0b 100644
--- a/ts/components/conversation/AttachmentList.tsx
+++ b/ts/components/conversation/AttachmentList.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/AudioCapture.tsx b/ts/components/conversation/AudioCapture.tsx
index 98e4b4e8ae..9cf3ea7183 100644
--- a/ts/components/conversation/AudioCapture.tsx
+++ b/ts/components/conversation/AudioCapture.tsx
@@ -1,4 +1,4 @@
-// Copyright 2016-2020 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useEffect, useState } from 'react';
diff --git a/ts/components/conversation/CallingNotification.stories.tsx b/ts/components/conversation/CallingNotification.stories.tsx
index b8e35e5cc2..865218b6ae 100644
--- a/ts/components/conversation/CallingNotification.stories.tsx
+++ b/ts/components/conversation/CallingNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/CallingNotification.tsx b/ts/components/conversation/CallingNotification.tsx
index 30ee5c9774..bfa2ac86cc 100644
--- a/ts/components/conversation/CallingNotification.tsx
+++ b/ts/components/conversation/CallingNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/ChangeNumberNotification.stories.tsx b/ts/components/conversation/ChangeNumberNotification.stories.tsx
index 4a8da63101..a2fa44a74d 100644
--- a/ts/components/conversation/ChangeNumberNotification.stories.tsx
+++ b/ts/components/conversation/ChangeNumberNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ChangeNumberNotification.tsx b/ts/components/conversation/ChangeNumberNotification.tsx
index 0f4e3aff92..8e2e81db62 100644
--- a/ts/components/conversation/ChangeNumberNotification.tsx
+++ b/ts/components/conversation/ChangeNumberNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ContactDetail.tsx b/ts/components/conversation/ContactDetail.tsx
index 1a195d2bb4..23bc0f53d2 100644
--- a/ts/components/conversation/ContactDetail.tsx
+++ b/ts/components/conversation/ContactDetail.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ContactModal.stories.tsx b/ts/components/conversation/ContactModal.stories.tsx
index 7aa9a9ed21..78d97014ef 100644
--- a/ts/components/conversation/ContactModal.stories.tsx
+++ b/ts/components/conversation/ContactModal.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/conversation/ContactModal.tsx b/ts/components/conversation/ContactModal.tsx
index 1cc9758e02..3fc8b5415c 100644
--- a/ts/components/conversation/ContactModal.tsx
+++ b/ts/components/conversation/ContactModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect, useState } from 'react';
diff --git a/ts/components/conversation/ContactName.stories.tsx b/ts/components/conversation/ContactName.stories.tsx
index 382138303b..8ce5763c62 100644
--- a/ts/components/conversation/ContactName.stories.tsx
+++ b/ts/components/conversation/ContactName.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ContactName.tsx b/ts/components/conversation/ContactName.tsx
index 7f4cb3c58e..ee1dc8e551 100644
--- a/ts/components/conversation/ContactName.tsx
+++ b/ts/components/conversation/ContactName.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ConversationHeader.stories.tsx b/ts/components/conversation/ConversationHeader.stories.tsx
index a3cef53eca..4cf64a0954 100644
--- a/ts/components/conversation/ConversationHeader.stories.tsx
+++ b/ts/components/conversation/ConversationHeader.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ComponentProps } from 'react';
diff --git a/ts/components/conversation/ConversationHeader.tsx b/ts/components/conversation/ConversationHeader.tsx
index 92fe9ebe2a..2a6ee7a51c 100644
--- a/ts/components/conversation/ConversationHeader.tsx
+++ b/ts/components/conversation/ConversationHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/ConversationHero.stories.tsx b/ts/components/conversation/ConversationHero.stories.tsx
index 934929eb2e..fb763928da 100644
--- a/ts/components/conversation/ConversationHero.stories.tsx
+++ b/ts/components/conversation/ConversationHero.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/conversation/ConversationHero.tsx b/ts/components/conversation/ConversationHero.tsx
index 0b3f9abfce..2d5ee033bd 100644
--- a/ts/components/conversation/ConversationHero.tsx
+++ b/ts/components/conversation/ConversationHero.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect, useState } from 'react';
diff --git a/ts/components/conversation/ConversationMergeNotification.stories.tsx b/ts/components/conversation/ConversationMergeNotification.stories.tsx
index 5bb408315d..61a642981f 100644
--- a/ts/components/conversation/ConversationMergeNotification.stories.tsx
+++ b/ts/components/conversation/ConversationMergeNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ConversationView.tsx b/ts/components/conversation/ConversationView.tsx
index e44c5ae499..d0b9fe96a7 100644
--- a/ts/components/conversation/ConversationView.tsx
+++ b/ts/components/conversation/ConversationView.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/EmbeddedContact.tsx b/ts/components/conversation/EmbeddedContact.tsx
index 1c6255b612..395a4ae2b0 100644
--- a/ts/components/conversation/EmbeddedContact.tsx
+++ b/ts/components/conversation/EmbeddedContact.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/Emojify.tsx b/ts/components/conversation/Emojify.tsx
index d0e1ca1e21..08f15395c5 100644
--- a/ts/components/conversation/Emojify.tsx
+++ b/ts/components/conversation/Emojify.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ExpireTimer.tsx b/ts/components/conversation/ExpireTimer.tsx
index c12db463a0..3fda3008ed 100644
--- a/ts/components/conversation/ExpireTimer.tsx
+++ b/ts/components/conversation/ExpireTimer.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/GroupNotification.stories.tsx b/ts/components/conversation/GroupNotification.stories.tsx
index 46244e1674..2f6eaf83a7 100644
--- a/ts/components/conversation/GroupNotification.stories.tsx
+++ b/ts/components/conversation/GroupNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/GroupNotification.tsx b/ts/components/conversation/GroupNotification.tsx
index fd64053065..68a66c4b9a 100644
--- a/ts/components/conversation/GroupNotification.tsx
+++ b/ts/components/conversation/GroupNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/GroupV1Migration.stories.tsx b/ts/components/conversation/GroupV1Migration.stories.tsx
index dac5c30b4e..17a699cf30 100644
--- a/ts/components/conversation/GroupV1Migration.stories.tsx
+++ b/ts/components/conversation/GroupV1Migration.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/GroupV1Migration.tsx b/ts/components/conversation/GroupV1Migration.tsx
index 06bc49bb01..e40cefb1fd 100644
--- a/ts/components/conversation/GroupV1Migration.tsx
+++ b/ts/components/conversation/GroupV1Migration.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/GroupV2Change.stories.tsx b/ts/components/conversation/GroupV2Change.stories.tsx
index 605f438aa5..6d883709cf 100644
--- a/ts/components/conversation/GroupV2Change.stories.tsx
+++ b/ts/components/conversation/GroupV2Change.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/GroupV2Change.tsx b/ts/components/conversation/GroupV2Change.tsx
index beb9b2f382..c4f354d43f 100644
--- a/ts/components/conversation/GroupV2Change.tsx
+++ b/ts/components/conversation/GroupV2Change.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement, ReactNode } from 'react';
diff --git a/ts/components/conversation/Image.stories.tsx b/ts/components/conversation/Image.stories.tsx
index 09da9a0a11..fe033f266a 100644
--- a/ts/components/conversation/Image.stories.tsx
+++ b/ts/components/conversation/Image.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/Image.tsx b/ts/components/conversation/Image.tsx
index 2fc63020d1..dc6f0a9540 100644
--- a/ts/components/conversation/Image.tsx
+++ b/ts/components/conversation/Image.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ImageGrid.tsx b/ts/components/conversation/ImageGrid.tsx
index 538b0029fe..1a73ffe2be 100644
--- a/ts/components/conversation/ImageGrid.tsx
+++ b/ts/components/conversation/ImageGrid.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/InlineNotificationWrapper.tsx b/ts/components/conversation/InlineNotificationWrapper.tsx
index d95f60d8fc..b63f8a2821 100644
--- a/ts/components/conversation/InlineNotificationWrapper.tsx
+++ b/ts/components/conversation/InlineNotificationWrapper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/LastSeenIndicator.tsx b/ts/components/conversation/LastSeenIndicator.tsx
index ca7a3f6edc..43542bb156 100644
--- a/ts/components/conversation/LastSeenIndicator.tsx
+++ b/ts/components/conversation/LastSeenIndicator.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { forwardRef } from 'react';
diff --git a/ts/components/conversation/LinkPreviewDate.tsx b/ts/components/conversation/LinkPreviewDate.tsx
index 1517fbed14..90c11a8733 100644
--- a/ts/components/conversation/LinkPreviewDate.tsx
+++ b/ts/components/conversation/LinkPreviewDate.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/Linkify.tsx b/ts/components/conversation/Linkify.tsx
index 163c86e707..bad73069fe 100644
--- a/ts/components/conversation/Linkify.tsx
+++ b/ts/components/conversation/Linkify.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/MandatoryProfileSharingActions.stories.tsx b/ts/components/conversation/MandatoryProfileSharingActions.stories.tsx
index 619be61ee7..8ae788209d 100644
--- a/ts/components/conversation/MandatoryProfileSharingActions.stories.tsx
+++ b/ts/components/conversation/MandatoryProfileSharingActions.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MandatoryProfileSharingActions.tsx b/ts/components/conversation/MandatoryProfileSharingActions.tsx
index 5afa17f1f5..f03aa7651f 100644
--- a/ts/components/conversation/MandatoryProfileSharingActions.tsx
+++ b/ts/components/conversation/MandatoryProfileSharingActions.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/Message.tsx b/ts/components/conversation/Message.tsx
index d99401631a..c07badea8b 100644
--- a/ts/components/conversation/Message.tsx
+++ b/ts/components/conversation/Message.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode, RefObject } from 'react';
diff --git a/ts/components/conversation/MessageAudio.tsx b/ts/components/conversation/MessageAudio.tsx
index 6e54bf4cf3..b44dece637 100644
--- a/ts/components/conversation/MessageAudio.tsx
+++ b/ts/components/conversation/MessageAudio.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useCallback, useRef, useEffect, useState } from 'react';
diff --git a/ts/components/conversation/MessageBody.tsx b/ts/components/conversation/MessageBody.tsx
index 1fd7c67695..f645d88ccf 100644
--- a/ts/components/conversation/MessageBody.tsx
+++ b/ts/components/conversation/MessageBody.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { KeyboardEvent } from 'react';
diff --git a/ts/components/conversation/MessageBodyReadMore.stories.tsx b/ts/components/conversation/MessageBodyReadMore.stories.tsx
index e8ef5b53a5..a46f93e637 100644
--- a/ts/components/conversation/MessageBodyReadMore.stories.tsx
+++ b/ts/components/conversation/MessageBodyReadMore.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useState } from 'react';
diff --git a/ts/components/conversation/MessageBodyReadMore.tsx b/ts/components/conversation/MessageBodyReadMore.tsx
index d5d3f4a549..37e0f7d8f8 100644
--- a/ts/components/conversation/MessageBodyReadMore.tsx
+++ b/ts/components/conversation/MessageBodyReadMore.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/MessageDetail.stories.tsx b/ts/components/conversation/MessageDetail.stories.tsx
index 7fba2deea4..55a127a859 100644
--- a/ts/components/conversation/MessageDetail.stories.tsx
+++ b/ts/components/conversation/MessageDetail.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MessageDetail.tsx b/ts/components/conversation/MessageDetail.tsx
index 366d673042..2e81bf7eca 100644
--- a/ts/components/conversation/MessageDetail.tsx
+++ b/ts/components/conversation/MessageDetail.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild, ReactNode } from 'react';
diff --git a/ts/components/conversation/MessageMetadata.tsx b/ts/components/conversation/MessageMetadata.tsx
index 6c521a97e9..9a612c0fb5 100644
--- a/ts/components/conversation/MessageMetadata.tsx
+++ b/ts/components/conversation/MessageMetadata.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild, ReactElement } from 'react';
diff --git a/ts/components/conversation/MessageRequestActions.stories.tsx b/ts/components/conversation/MessageRequestActions.stories.tsx
index c834d6df92..81586efbff 100644
--- a/ts/components/conversation/MessageRequestActions.stories.tsx
+++ b/ts/components/conversation/MessageRequestActions.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MessageRequestActions.tsx b/ts/components/conversation/MessageRequestActions.tsx
index c76e40d6eb..32ee5174c9 100644
--- a/ts/components/conversation/MessageRequestActions.tsx
+++ b/ts/components/conversation/MessageRequestActions.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MessageRequestActionsConfirmation.tsx b/ts/components/conversation/MessageRequestActionsConfirmation.tsx
index 00303a97c1..3dbfb291a7 100644
--- a/ts/components/conversation/MessageRequestActionsConfirmation.tsx
+++ b/ts/components/conversation/MessageRequestActionsConfirmation.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MessageTimestamp.stories.tsx b/ts/components/conversation/MessageTimestamp.stories.tsx
index 4535230cdc..a161a7a7fc 100644
--- a/ts/components/conversation/MessageTimestamp.stories.tsx
+++ b/ts/components/conversation/MessageTimestamp.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/MessageTimestamp.tsx b/ts/components/conversation/MessageTimestamp.tsx
index b6755518e9..c64642baa3 100644
--- a/ts/components/conversation/MessageTimestamp.tsx
+++ b/ts/components/conversation/MessageTimestamp.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement } from 'react';
diff --git a/ts/components/conversation/PaymentEventNotification.tsx b/ts/components/conversation/PaymentEventNotification.tsx
index 41e49f4ff7..67bffa7a2a 100644
--- a/ts/components/conversation/PaymentEventNotification.tsx
+++ b/ts/components/conversation/PaymentEventNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ProfileChangeNotification.stories.tsx b/ts/components/conversation/ProfileChangeNotification.stories.tsx
index 10bb1d678d..49bb4b4e01 100644
--- a/ts/components/conversation/ProfileChangeNotification.stories.tsx
+++ b/ts/components/conversation/ProfileChangeNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ProfileChangeNotification.tsx b/ts/components/conversation/ProfileChangeNotification.tsx
index 9bef08d82d..f30938c458 100644
--- a/ts/components/conversation/ProfileChangeNotification.tsx
+++ b/ts/components/conversation/ProfileChangeNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/Quote.stories.tsx b/ts/components/conversation/Quote.stories.tsx
index e24bd2d51b..629cc79bc3 100644
--- a/ts/components/conversation/Quote.stories.tsx
+++ b/ts/components/conversation/Quote.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/conversation/Quote.tsx b/ts/components/conversation/Quote.tsx
index 34264ca5a9..6cedd55887 100644
--- a/ts/components/conversation/Quote.tsx
+++ b/ts/components/conversation/Quote.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/ReactionPicker.stories.tsx b/ts/components/conversation/ReactionPicker.stories.tsx
index 97cae657cc..bb62616fcd 100644
--- a/ts/components/conversation/ReactionPicker.stories.tsx
+++ b/ts/components/conversation/ReactionPicker.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ReactionPicker.tsx b/ts/components/conversation/ReactionPicker.tsx
index cdd6457bc7..4cc7f18d78 100644
--- a/ts/components/conversation/ReactionPicker.tsx
+++ b/ts/components/conversation/ReactionPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ReactionViewer.stories.tsx b/ts/components/conversation/ReactionViewer.stories.tsx
index c3735367c4..4193a3a9a9 100644
--- a/ts/components/conversation/ReactionViewer.stories.tsx
+++ b/ts/components/conversation/ReactionViewer.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ReactionViewer.tsx b/ts/components/conversation/ReactionViewer.tsx
index 1279669e34..1e5e25c508 100644
--- a/ts/components/conversation/ReactionViewer.tsx
+++ b/ts/components/conversation/ReactionViewer.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/ResetSessionNotification.tsx b/ts/components/conversation/ResetSessionNotification.tsx
index 5598d2b002..9396fbcbf8 100644
--- a/ts/components/conversation/ResetSessionNotification.tsx
+++ b/ts/components/conversation/ResetSessionNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/SafetyNumberNotification.tsx b/ts/components/conversation/SafetyNumberNotification.tsx
index 3c2325af29..f80223d1a9 100644
--- a/ts/components/conversation/SafetyNumberNotification.tsx
+++ b/ts/components/conversation/SafetyNumberNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/ScrollDownButton.tsx b/ts/components/conversation/ScrollDownButton.tsx
index 8a8c65eab4..5aaf1b8e0a 100644
--- a/ts/components/conversation/ScrollDownButton.tsx
+++ b/ts/components/conversation/ScrollDownButton.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/StagedGenericAttachment.tsx b/ts/components/conversation/StagedGenericAttachment.tsx
index ae92599926..beaa8cf0e5 100644
--- a/ts/components/conversation/StagedGenericAttachment.tsx
+++ b/ts/components/conversation/StagedGenericAttachment.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/StagedLinkPreview.stories.tsx b/ts/components/conversation/StagedLinkPreview.stories.tsx
index 61b50d4f91..7b7966fd8d 100644
--- a/ts/components/conversation/StagedLinkPreview.stories.tsx
+++ b/ts/components/conversation/StagedLinkPreview.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta, Story } from '@storybook/react';
diff --git a/ts/components/conversation/StagedLinkPreview.tsx b/ts/components/conversation/StagedLinkPreview.tsx
index 04c83ab79d..50f8bcea65 100644
--- a/ts/components/conversation/StagedLinkPreview.tsx
+++ b/ts/components/conversation/StagedLinkPreview.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/StagedPlaceholderAttachment.tsx b/ts/components/conversation/StagedPlaceholderAttachment.tsx
index a4b43d16a0..977d7443cb 100644
--- a/ts/components/conversation/StagedPlaceholderAttachment.tsx
+++ b/ts/components/conversation/StagedPlaceholderAttachment.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/Timeline.stories.tsx b/ts/components/conversation/Timeline.stories.tsx
index e9d1b71e91..289000201f 100644
--- a/ts/components/conversation/Timeline.stories.tsx
+++ b/ts/components/conversation/Timeline.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/Timeline.tsx b/ts/components/conversation/Timeline.tsx
index 658a284070..8041b4f776 100644
--- a/ts/components/conversation/Timeline.tsx
+++ b/ts/components/conversation/Timeline.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { first, get, isNumber, last, throttle } from 'lodash';
diff --git a/ts/components/conversation/TimelineItem.stories.tsx b/ts/components/conversation/TimelineItem.stories.tsx
index 9b1eefe444..6c6074f8a4 100644
--- a/ts/components/conversation/TimelineItem.stories.tsx
+++ b/ts/components/conversation/TimelineItem.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/TimelineItem.tsx b/ts/components/conversation/TimelineItem.tsx
index bf49919c33..c7a5111116 100644
--- a/ts/components/conversation/TimelineItem.tsx
+++ b/ts/components/conversation/TimelineItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild, RefObject } from 'react';
diff --git a/ts/components/conversation/TimelineMessage.stories.tsx b/ts/components/conversation/TimelineMessage.stories.tsx
index 712c48560e..f33b596689 100644
--- a/ts/components/conversation/TimelineMessage.stories.tsx
+++ b/ts/components/conversation/TimelineMessage.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/TimelineMessage.tsx b/ts/components/conversation/TimelineMessage.tsx
index a53c9d6bc6..3478f2d3f1 100644
--- a/ts/components/conversation/TimelineMessage.tsx
+++ b/ts/components/conversation/TimelineMessage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import classNames from 'classnames';
diff --git a/ts/components/conversation/TimerNotification.stories.tsx b/ts/components/conversation/TimerNotification.stories.tsx
index 67439ef490..25d2f2b07e 100644
--- a/ts/components/conversation/TimerNotification.stories.tsx
+++ b/ts/components/conversation/TimerNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/TimerNotification.tsx b/ts/components/conversation/TimerNotification.tsx
index 6b164d9c9c..c8909745c2 100644
--- a/ts/components/conversation/TimerNotification.tsx
+++ b/ts/components/conversation/TimerNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/TypingAnimation.tsx b/ts/components/conversation/TypingAnimation.tsx
index 2ea66da269..d3d7d73780 100644
--- a/ts/components/conversation/TypingAnimation.tsx
+++ b/ts/components/conversation/TypingAnimation.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/TypingBubble.stories.tsx b/ts/components/conversation/TypingBubble.stories.tsx
index 01eb211fa1..566965c6ee 100644
--- a/ts/components/conversation/TypingBubble.stories.tsx
+++ b/ts/components/conversation/TypingBubble.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/TypingBubble.tsx b/ts/components/conversation/TypingBubble.tsx
index 11d27d2bcf..d594deba93 100644
--- a/ts/components/conversation/TypingBubble.tsx
+++ b/ts/components/conversation/TypingBubble.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement } from 'react';
diff --git a/ts/components/conversation/UnsupportedMessage.tsx b/ts/components/conversation/UnsupportedMessage.tsx
index bbf1655596..3eb5f6016d 100644
--- a/ts/components/conversation/UnsupportedMessage.tsx
+++ b/ts/components/conversation/UnsupportedMessage.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/VerificationNotification.stories.tsx b/ts/components/conversation/VerificationNotification.stories.tsx
index d750eb9a51..cafe88c42f 100644
--- a/ts/components/conversation/VerificationNotification.stories.tsx
+++ b/ts/components/conversation/VerificationNotification.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/VerificationNotification.tsx b/ts/components/conversation/VerificationNotification.tsx
index d00d12109f..a5433ffc93 100644
--- a/ts/components/conversation/VerificationNotification.tsx
+++ b/ts/components/conversation/VerificationNotification.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/contactUtil.tsx b/ts/components/conversation/contactUtil.tsx
index 3daa99f0cd..6cb0caedad 100644
--- a/ts/components/conversation/contactUtil.tsx
+++ b/ts/components/conversation/contactUtil.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/conversation-details/AddGroupMembersModal.tsx b/ts/components/conversation/conversation-details/AddGroupMembersModal.tsx
index 6fffa94d9f..c8be4d2525 100644
--- a/ts/components/conversation/conversation-details/AddGroupMembersModal.tsx
+++ b/ts/components/conversation/conversation-details/AddGroupMembersModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useReducer } from 'react';
diff --git a/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx b/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx
index 8c98571a9a..5936636f59 100644
--- a/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx
+++ b/ts/components/conversation/conversation-details/AddGroupMembersModal/ChooseGroupMembersModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, {
diff --git a/ts/components/conversation/conversation-details/ConversationDetails.stories.tsx b/ts/components/conversation/conversation-details/ConversationDetails.stories.tsx
index fa78fc31c9..5f0803e341 100644
--- a/ts/components/conversation/conversation-details/ConversationDetails.stories.tsx
+++ b/ts/components/conversation/conversation-details/ConversationDetails.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/conversation-details/ConversationDetails.tsx b/ts/components/conversation/conversation-details/ConversationDetails.tsx
index 350159340c..9756ebc734 100644
--- a/ts/components/conversation/conversation-details/ConversationDetails.tsx
+++ b/ts/components/conversation/conversation-details/ConversationDetails.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversation/conversation-details/ConversationNotificationsModal.tsx b/ts/components/conversation/conversation-details/ConversationNotificationsModal.tsx
index ed7d7f5dc7..14cbe12a08 100644
--- a/ts/components/conversation/conversation-details/ConversationNotificationsModal.tsx
+++ b/ts/components/conversation/conversation-details/ConversationNotificationsModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useMemo, useState } from 'react';
diff --git a/ts/components/conversation/conversation-details/ConversationNotificationsSettings.tsx b/ts/components/conversation/conversation-details/ConversationNotificationsSettings.tsx
index 212ff5a825..650e71659e 100644
--- a/ts/components/conversation/conversation-details/ConversationNotificationsSettings.tsx
+++ b/ts/components/conversation/conversation-details/ConversationNotificationsSettings.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useMemo } from 'react';
diff --git a/ts/components/conversation/conversation-details/GroupLinkManagement.tsx b/ts/components/conversation/conversation-details/GroupLinkManagement.tsx
index 26fe29c505..8745a4e401 100644
--- a/ts/components/conversation/conversation-details/GroupLinkManagement.tsx
+++ b/ts/components/conversation/conversation-details/GroupLinkManagement.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useState } from 'react';
diff --git a/ts/components/conversation/conversation-details/GroupV2Permissions.stories.tsx b/ts/components/conversation/conversation-details/GroupV2Permissions.stories.tsx
index fbba2d9aa9..60ea837f94 100644
--- a/ts/components/conversation/conversation-details/GroupV2Permissions.stories.tsx
+++ b/ts/components/conversation/conversation-details/GroupV2Permissions.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/conversation-details/GroupV2Permissions.tsx b/ts/components/conversation/conversation-details/GroupV2Permissions.tsx
index e3f48d582d..850fbd4907 100644
--- a/ts/components/conversation/conversation-details/GroupV2Permissions.tsx
+++ b/ts/components/conversation/conversation-details/GroupV2Permissions.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/AttachmentSection.tsx b/ts/components/conversation/media-gallery/AttachmentSection.tsx
index 643d5537a6..b5f1810166 100644
--- a/ts/components/conversation/media-gallery/AttachmentSection.tsx
+++ b/ts/components/conversation/media-gallery/AttachmentSection.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/DocumentListItem.tsx b/ts/components/conversation/media-gallery/DocumentListItem.tsx
index d267001525..1fa49653fc 100644
--- a/ts/components/conversation/media-gallery/DocumentListItem.tsx
+++ b/ts/components/conversation/media-gallery/DocumentListItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/EmptyState.tsx b/ts/components/conversation/media-gallery/EmptyState.tsx
index e536e22563..4415442c39 100644
--- a/ts/components/conversation/media-gallery/EmptyState.tsx
+++ b/ts/components/conversation/media-gallery/EmptyState.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/LoadingIndicator.tsx b/ts/components/conversation/media-gallery/LoadingIndicator.tsx
index c4e551b927..9dafb05d5d 100644
--- a/ts/components/conversation/media-gallery/LoadingIndicator.tsx
+++ b/ts/components/conversation/media-gallery/LoadingIndicator.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/MediaGallery.stories.tsx b/ts/components/conversation/media-gallery/MediaGallery.stories.tsx
index 5ef5e3c896..1027f61a76 100644
--- a/ts/components/conversation/media-gallery/MediaGallery.stories.tsx
+++ b/ts/components/conversation/media-gallery/MediaGallery.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversation/media-gallery/MediaGallery.tsx b/ts/components/conversation/media-gallery/MediaGallery.tsx
index 0a9de9229b..29e015ad37 100644
--- a/ts/components/conversation/media-gallery/MediaGallery.tsx
+++ b/ts/components/conversation/media-gallery/MediaGallery.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useEffect, useRef } from 'react';
diff --git a/ts/components/conversation/media-gallery/MediaGridItem.tsx b/ts/components/conversation/media-gallery/MediaGridItem.tsx
index 4d36b5a325..95f4a43d59 100644
--- a/ts/components/conversation/media-gallery/MediaGridItem.tsx
+++ b/ts/components/conversation/media-gallery/MediaGridItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/components/conversation/media-gallery/groupMediaItemsByDate.ts b/ts/components/conversation/media-gallery/groupMediaItemsByDate.ts
index ec56d02e5b..ceda3a98b9 100644
--- a/ts/components/conversation/media-gallery/groupMediaItemsByDate.ts
+++ b/ts/components/conversation/media-gallery/groupMediaItemsByDate.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import moment from 'moment';
diff --git a/ts/components/conversation/media-gallery/types/ItemClickEvent.ts b/ts/components/conversation/media-gallery/types/ItemClickEvent.ts
index 0a39f71ec9..960b4502d6 100644
--- a/ts/components/conversation/media-gallery/types/ItemClickEvent.ts
+++ b/ts/components/conversation/media-gallery/types/ItemClickEvent.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MessageAttributesType } from '../../../../model-types.d';
diff --git a/ts/components/conversationList/BaseConversationListItem.tsx b/ts/components/conversationList/BaseConversationListItem.tsx
index 60fe825390..f703211136 100644
--- a/ts/components/conversationList/BaseConversationListItem.tsx
+++ b/ts/components/conversationList/BaseConversationListItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode, FunctionComponent } from 'react';
diff --git a/ts/components/conversationList/ContactCheckbox.tsx b/ts/components/conversationList/ContactCheckbox.tsx
index efda869b92..ead1eba8c8 100644
--- a/ts/components/conversationList/ContactCheckbox.tsx
+++ b/ts/components/conversationList/ContactCheckbox.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { FunctionComponent, ReactNode } from 'react';
diff --git a/ts/components/conversationList/ConversationListItem.tsx b/ts/components/conversationList/ConversationListItem.tsx
index e5fb9a7437..197ee33c64 100644
--- a/ts/components/conversationList/ConversationListItem.tsx
+++ b/ts/components/conversationList/ConversationListItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { FunctionComponent, ReactNode } from 'react';
diff --git a/ts/components/conversationList/MessageBodyHighlight.stories.tsx b/ts/components/conversationList/MessageBodyHighlight.stories.tsx
index 883f0f9bd4..cd7a26e8c4 100644
--- a/ts/components/conversationList/MessageBodyHighlight.stories.tsx
+++ b/ts/components/conversationList/MessageBodyHighlight.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversationList/MessageBodyHighlight.tsx b/ts/components/conversationList/MessageBodyHighlight.tsx
index 3e3af52f3f..d695f3affc 100644
--- a/ts/components/conversationList/MessageBodyHighlight.tsx
+++ b/ts/components/conversationList/MessageBodyHighlight.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactNode } from 'react';
diff --git a/ts/components/conversationList/MessageSearchResult.stories.tsx b/ts/components/conversationList/MessageSearchResult.stories.tsx
index 9638f910e4..882472550c 100644
--- a/ts/components/conversationList/MessageSearchResult.stories.tsx
+++ b/ts/components/conversationList/MessageSearchResult.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/conversationList/MessageSearchResult.tsx b/ts/components/conversationList/MessageSearchResult.tsx
index 8e77f2d334..79ec453236 100644
--- a/ts/components/conversationList/MessageSearchResult.tsx
+++ b/ts/components/conversationList/MessageSearchResult.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { FunctionComponent, ReactNode } from 'react';
diff --git a/ts/components/conversationList/StartNewConversation.tsx b/ts/components/conversationList/StartNewConversation.tsx
index 3efd6f3772..f7494ceca6 100644
--- a/ts/components/conversationList/StartNewConversation.tsx
+++ b/ts/components/conversationList/StartNewConversation.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { FunctionComponent } from 'react';
diff --git a/ts/components/emoji/Emoji.tsx b/ts/components/emoji/Emoji.tsx
index 91390e24e7..974a0639c4 100644
--- a/ts/components/emoji/Emoji.tsx
+++ b/ts/components/emoji/Emoji.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/emoji/EmojiButton.tsx b/ts/components/emoji/EmojiButton.tsx
index f861a5371c..541627bdd4 100644
--- a/ts/components/emoji/EmojiButton.tsx
+++ b/ts/components/emoji/EmojiButton.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/emoji/EmojiPicker.stories.tsx b/ts/components/emoji/EmojiPicker.stories.tsx
index 7f7efc1ee9..4014f95a4b 100644
--- a/ts/components/emoji/EmojiPicker.stories.tsx
+++ b/ts/components/emoji/EmojiPicker.stories.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/emoji/EmojiPicker.tsx b/ts/components/emoji/EmojiPicker.tsx
index cd9d6d252c..610b3a5755 100644
--- a/ts/components/emoji/EmojiPicker.tsx
+++ b/ts/components/emoji/EmojiPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/emoji/lib.ts b/ts/components/emoji/lib.ts
index 70d8c0d7b4..1d5e4a1c1f 100644
--- a/ts/components/emoji/lib.ts
+++ b/ts/components/emoji/lib.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Camelcase disabled due to emoji-datasource using snake_case
diff --git a/ts/components/installScreen/InstallScreenQrCodeNotScannedStep.tsx b/ts/components/installScreen/InstallScreenQrCodeNotScannedStep.tsx
index f957c6219c..b16d555a3f 100644
--- a/ts/components/installScreen/InstallScreenQrCodeNotScannedStep.tsx
+++ b/ts/components/installScreen/InstallScreenQrCodeNotScannedStep.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement, ReactNode } from 'react';
diff --git a/ts/components/leftPane/LeftPaneArchiveHelper.tsx b/ts/components/leftPane/LeftPaneArchiveHelper.tsx
index f96a83f21e..fa5b723852 100644
--- a/ts/components/leftPane/LeftPaneArchiveHelper.tsx
+++ b/ts/components/leftPane/LeftPaneArchiveHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild } from 'react';
diff --git a/ts/components/leftPane/LeftPaneChooseGroupMembersHelper.tsx b/ts/components/leftPane/LeftPaneChooseGroupMembersHelper.tsx
index d78e3c7506..eebf6390d0 100644
--- a/ts/components/leftPane/LeftPaneChooseGroupMembersHelper.tsx
+++ b/ts/components/leftPane/LeftPaneChooseGroupMembersHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild, ChangeEvent } from 'react';
diff --git a/ts/components/leftPane/LeftPaneComposeHelper.tsx b/ts/components/leftPane/LeftPaneComposeHelper.tsx
index 80fd6969c7..a71b89d2f2 100644
--- a/ts/components/leftPane/LeftPaneComposeHelper.tsx
+++ b/ts/components/leftPane/LeftPaneComposeHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild, ChangeEvent } from 'react';
diff --git a/ts/components/leftPane/LeftPaneHelper.tsx b/ts/components/leftPane/LeftPaneHelper.tsx
index bc3639c689..58e81ff5ac 100644
--- a/ts/components/leftPane/LeftPaneHelper.tsx
+++ b/ts/components/leftPane/LeftPaneHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ChangeEvent, ReactChild } from 'react';
diff --git a/ts/components/leftPane/LeftPaneInboxHelper.tsx b/ts/components/leftPane/LeftPaneInboxHelper.tsx
index ce8858b577..a7e4757a55 100644
--- a/ts/components/leftPane/LeftPaneInboxHelper.tsx
+++ b/ts/components/leftPane/LeftPaneInboxHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { last } from 'lodash';
diff --git a/ts/components/leftPane/LeftPaneSearchHelper.tsx b/ts/components/leftPane/LeftPaneSearchHelper.tsx
index d630c14e9a..e0fbd2c20d 100644
--- a/ts/components/leftPane/LeftPaneSearchHelper.tsx
+++ b/ts/components/leftPane/LeftPaneSearchHelper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactChild } from 'react';
diff --git a/ts/components/stickers/StickerButton.tsx b/ts/components/stickers/StickerButton.tsx
index ccbea36e92..242ed25222 100644
--- a/ts/components/stickers/StickerButton.tsx
+++ b/ts/components/stickers/StickerButton.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/stickers/StickerManager.tsx b/ts/components/stickers/StickerManager.tsx
index 2f035c1cf8..f563295d16 100644
--- a/ts/components/stickers/StickerManager.tsx
+++ b/ts/components/stickers/StickerManager.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/stickers/StickerManagerPackRow.tsx b/ts/components/stickers/StickerManagerPackRow.tsx
index 9e871a7a29..2350a687eb 100644
--- a/ts/components/stickers/StickerManagerPackRow.tsx
+++ b/ts/components/stickers/StickerManagerPackRow.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/stickers/StickerPackInstallButton.tsx b/ts/components/stickers/StickerPackInstallButton.tsx
index ba9e8c936b..b32bb05e56 100644
--- a/ts/components/stickers/StickerPackInstallButton.tsx
+++ b/ts/components/stickers/StickerPackInstallButton.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ButtonHTMLAttributes } from 'react';
diff --git a/ts/components/stickers/StickerPicker.tsx b/ts/components/stickers/StickerPicker.tsx
index f0407ff518..e9e4d16247 100644
--- a/ts/components/stickers/StickerPicker.tsx
+++ b/ts/components/stickers/StickerPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/stickers/StickerPreviewModal.tsx b/ts/components/stickers/StickerPreviewModal.tsx
index f39cb34050..7336d1bb22 100644
--- a/ts/components/stickers/StickerPreviewModal.tsx
+++ b/ts/components/stickers/StickerPreviewModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/components/stickers/lib.ts b/ts/components/stickers/lib.ts
index 122d36a0bf..d16a708025 100644
--- a/ts/components/stickers/lib.ts
+++ b/ts/components/stickers/lib.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { StickerPackType } from '../../state/ducks/stickers';
diff --git a/ts/firstline.d.ts b/ts/firstline.d.ts
index 97be1e299c..1031a1c835 100644
--- a/ts/firstline.d.ts
+++ b/ts/firstline.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
declare module 'firstline' {
diff --git a/ts/groupChange.ts b/ts/groupChange.ts
index 30dc1dc69c..bdba7fd22f 100644
--- a/ts/groupChange.ts
+++ b/ts/groupChange.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LocalizerType } from './types/Util';
diff --git a/ts/groups.ts b/ts/groups.ts
index 3c8dd1963b..adb09432e4 100644
--- a/ts/groups.ts
+++ b/ts/groups.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import {
diff --git a/ts/groups/joinViaLink.ts b/ts/groups/joinViaLink.ts
index 53f2ec9927..e0838496ae 100644
--- a/ts/groups/joinViaLink.ts
+++ b/ts/groups/joinViaLink.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { render, unmountComponentAtNode } from 'react-dom';
diff --git a/ts/hooks/useBoundActions.ts b/ts/hooks/useBoundActions.ts
index c74b6e956f..29cc1e5d61 100644
--- a/ts/hooks/useBoundActions.ts
+++ b/ts/hooks/useBoundActions.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ActionCreatorsMapObject } from 'redux';
diff --git a/ts/hooks/useHasWrapped.ts b/ts/hooks/useHasWrapped.ts
index 11f3e38902..4b10e2821d 100644
--- a/ts/hooks/useHasWrapped.ts
+++ b/ts/hooks/useHasWrapped.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Ref } from 'react';
diff --git a/ts/hooks/useIntersectionObserver.ts b/ts/hooks/useIntersectionObserver.ts
index f79e9e9150..3eb3e343b1 100644
--- a/ts/hooks/useIntersectionObserver.ts
+++ b/ts/hooks/useIntersectionObserver.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { useCallback, useRef, useState } from 'react';
diff --git a/ts/hooks/usePageVisibility.ts b/ts/hooks/usePageVisibility.ts
index 1faa4be171..cae8f87b3e 100644
--- a/ts/hooks/usePageVisibility.ts
+++ b/ts/hooks/usePageVisibility.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { useEffect, useState } from 'react';
diff --git a/ts/hooks/usePortal.ts b/ts/hooks/usePortal.ts
index 94c20c4651..75081cd012 100644
--- a/ts/hooks/usePortal.ts
+++ b/ts/hooks/usePortal.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { useEffect, useState } from 'react';
diff --git a/ts/hooks/usePrevious.ts b/ts/hooks/usePrevious.ts
index 5ed10dcb51..bc9ca876f1 100644
--- a/ts/hooks/usePrevious.ts
+++ b/ts/hooks/usePrevious.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { useRef } from 'react';
diff --git a/ts/indexeddb.ts b/ts/indexeddb.ts
index ecc2db60d7..6d0852c0da 100644
--- a/ts/indexeddb.ts
+++ b/ts/indexeddb.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const LEGACY_DATABASE_ID = 'signal';
diff --git a/ts/jobs/conversationJobQueue.ts b/ts/jobs/conversationJobQueue.ts
index 7d379c0bef..2744b12f9a 100644
--- a/ts/jobs/conversationJobQueue.ts
+++ b/ts/jobs/conversationJobQueue.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { z } from 'zod';
diff --git a/ts/jobs/helpers/findRetryAfterTimeFromError.ts b/ts/jobs/helpers/findRetryAfterTimeFromError.ts
index d2303af5be..be36ad6d44 100644
--- a/ts/jobs/helpers/findRetryAfterTimeFromError.ts
+++ b/ts/jobs/helpers/findRetryAfterTimeFromError.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isRecord } from '../../util/isRecord';
diff --git a/ts/jobs/helpers/getHttpErrorCode.ts b/ts/jobs/helpers/getHttpErrorCode.ts
index 1ff23dfa82..7c55d7f4da 100644
--- a/ts/jobs/helpers/getHttpErrorCode.ts
+++ b/ts/jobs/helpers/getHttpErrorCode.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isRecord } from '../../util/isRecord';
diff --git a/ts/jobs/helpers/sendReaction.ts b/ts/jobs/helpers/sendReaction.ts
index 0726d26816..41678f5468 100644
--- a/ts/jobs/helpers/sendReaction.ts
+++ b/ts/jobs/helpers/sendReaction.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber } from 'lodash';
diff --git a/ts/jobs/helpers/sleepForRateLimitRetryAfterTime.ts b/ts/jobs/helpers/sleepForRateLimitRetryAfterTime.ts
index 7c7b8a66bc..37f8ff1f58 100644
--- a/ts/jobs/helpers/sleepForRateLimitRetryAfterTime.ts
+++ b/ts/jobs/helpers/sleepForRateLimitRetryAfterTime.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LoggerType } from '../../types/Logging';
diff --git a/ts/jobs/helpers/syncHelpers.ts b/ts/jobs/helpers/syncHelpers.ts
index b28b944175..5cdae7f178 100644
--- a/ts/jobs/helpers/syncHelpers.ts
+++ b/ts/jobs/helpers/syncHelpers.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { chunk } from 'lodash';
diff --git a/ts/jobs/initializeAllJobQueues.ts b/ts/jobs/initializeAllJobQueues.ts
index 22c9e86b50..451aab3ad8 100644
--- a/ts/jobs/initializeAllJobQueues.ts
+++ b/ts/jobs/initializeAllJobQueues.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { WebAPIType } from '../textsecure/WebAPI';
diff --git a/ts/jobs/readSyncJobQueue.ts b/ts/jobs/readSyncJobQueue.ts
index d60a6605d8..58bc34be13 100644
--- a/ts/jobs/readSyncJobQueue.ts
+++ b/ts/jobs/readSyncJobQueue.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as durations from '../util/durations';
diff --git a/ts/jobs/viewSyncJobQueue.ts b/ts/jobs/viewSyncJobQueue.ts
index f435b0266b..26ec9cdcf0 100644
--- a/ts/jobs/viewSyncJobQueue.ts
+++ b/ts/jobs/viewSyncJobQueue.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as durations from '../util/durations';
diff --git a/ts/linkPreviews/linkPreviewFetch.ts b/ts/linkPreviews/linkPreviewFetch.ts
index d43300dc1f..8da77fcf8d 100644
--- a/ts/linkPreviews/linkPreviewFetch.ts
+++ b/ts/linkPreviews/linkPreviewFetch.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { RequestInit, Response } from 'node-fetch';
diff --git a/ts/logging/debuglogs.ts b/ts/logging/debuglogs.ts
index 2bab8a59ae..8b631fbc7b 100644
--- a/ts/logging/debuglogs.ts
+++ b/ts/logging/debuglogs.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { memoize, sortBy } from 'lodash';
diff --git a/ts/logging/main_process_logging.ts b/ts/logging/main_process_logging.ts
index a4037c9617..e9966f7994 100644
--- a/ts/logging/main_process_logging.ts
+++ b/ts/logging/main_process_logging.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// NOTE: Temporarily allow `then` until we convert the entire file to `async` / `await`:
diff --git a/ts/logging/set_up_renderer_logging.ts b/ts/logging/set_up_renderer_logging.ts
index 87f155fde4..e9eb09897b 100644
--- a/ts/logging/set_up_renderer_logging.ts
+++ b/ts/logging/set_up_renderer_logging.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-env node */
diff --git a/ts/logging/uploadDebugLog.ts b/ts/logging/uploadDebugLog.ts
index 09626c16d4..bd162a96b7 100644
--- a/ts/logging/uploadDebugLog.ts
+++ b/ts/logging/uploadDebugLog.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Response } from 'got';
diff --git a/ts/main/settingsChannel.ts b/ts/main/settingsChannel.ts
index 93387833f6..620ff919d8 100644
--- a/ts/main/settingsChannel.ts
+++ b/ts/main/settingsChannel.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { BrowserWindow } from 'electron';
diff --git a/ts/manage_full_screen_class.ts b/ts/manage_full_screen_class.ts
index 59751de510..5c3c7a217d 100644
--- a/ts/manage_full_screen_class.ts
+++ b/ts/manage_full_screen_class.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
{
diff --git a/ts/messageModifiers/AttachmentDownloads.ts b/ts/messageModifiers/AttachmentDownloads.ts
index bc80569a44..2529519bcc 100644
--- a/ts/messageModifiers/AttachmentDownloads.ts
+++ b/ts/messageModifiers/AttachmentDownloads.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber, omit } from 'lodash';
diff --git a/ts/messageModifiers/Deletes.ts b/ts/messageModifiers/Deletes.ts
index da0ba58442..0a58f16e70 100644
--- a/ts/messageModifiers/Deletes.ts
+++ b/ts/messageModifiers/Deletes.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messageModifiers/MessageReceipts.ts b/ts/messageModifiers/MessageReceipts.ts
index bc9ecbf3bf..ffdb03dcd4 100644
--- a/ts/messageModifiers/MessageReceipts.ts
+++ b/ts/messageModifiers/MessageReceipts.ts
@@ -1,4 +1,4 @@
-// Copyright 2016-2021 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messageModifiers/MessageRequests.ts b/ts/messageModifiers/MessageRequests.ts
index 5153306659..93d5788ea2 100644
--- a/ts/messageModifiers/MessageRequests.ts
+++ b/ts/messageModifiers/MessageRequests.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messageModifiers/Reactions.ts b/ts/messageModifiers/Reactions.ts
index a37c41e920..dcb5875610 100644
--- a/ts/messageModifiers/Reactions.ts
+++ b/ts/messageModifiers/Reactions.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messageModifiers/ReadSyncs.ts b/ts/messageModifiers/ReadSyncs.ts
index a8cbcbe3be..f95ab938e3 100644
--- a/ts/messageModifiers/ReadSyncs.ts
+++ b/ts/messageModifiers/ReadSyncs.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messageModifiers/ViewOnceOpenSyncs.ts b/ts/messageModifiers/ViewOnceOpenSyncs.ts
index c8d05fe262..c3f896611a 100644
--- a/ts/messageModifiers/ViewOnceOpenSyncs.ts
+++ b/ts/messageModifiers/ViewOnceOpenSyncs.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/messages/MessageSendState.ts b/ts/messages/MessageSendState.ts
index 38e53f6705..7f1173fc48 100644
--- a/ts/messages/MessageSendState.ts
+++ b/ts/messages/MessageSendState.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { makeEnumParser } from '../util/enum';
diff --git a/ts/messages/getMessagesById.ts b/ts/messages/getMessagesById.ts
index 5a9b515187..5038df69de 100644
--- a/ts/messages/getMessagesById.ts
+++ b/ts/messages/getMessagesById.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../logging/log';
diff --git a/ts/messages/migrateMessageData.ts b/ts/messages/migrateMessageData.ts
index 3d1ba4fe8a..a7779c87b1 100644
--- a/ts/messages/migrateMessageData.ts
+++ b/ts/messages/migrateMessageData.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isFunction, isNumber } from 'lodash';
diff --git a/ts/model-types.d.ts b/ts/model-types.d.ts
index 956dd381b0..6a37933806 100644
--- a/ts/model-types.d.ts
+++ b/ts/model-types.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/models/conversations.ts b/ts/models/conversations.ts
index f010a55ad8..c2ef438560 100644
--- a/ts/models/conversations.ts
+++ b/ts/models/conversations.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import {
diff --git a/ts/models/messages.ts b/ts/models/messages.ts
index c1346031bd..80236b79e5 100644
--- a/ts/models/messages.ts
+++ b/ts/models/messages.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import {
diff --git a/ts/protobuf/README.md b/ts/protobuf/README.md
index eb772ca6c0..043ff7bf7e 100644
--- a/ts/protobuf/README.md
+++ b/ts/protobuf/README.md
@@ -1,4 +1,4 @@
-
+
# Protocol Buffers
diff --git a/ts/protobuf/index.ts b/ts/protobuf/index.ts
index 5c2465d1fe..6fa2bde35b 100644
--- a/ts/protobuf/index.ts
+++ b/ts/protobuf/index.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import './wrap';
diff --git a/ts/quill/emoji/blot.tsx b/ts/quill/emoji/blot.tsx
index ea32a73940..797f5bc1d2 100644
--- a/ts/quill/emoji/blot.tsx
+++ b/ts/quill/emoji/blot.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type Parchment from 'parchment';
diff --git a/ts/quill/emoji/completion.tsx b/ts/quill/emoji/completion.tsx
index c32f2cb60a..ea846d243c 100644
--- a/ts/quill/emoji/completion.tsx
+++ b/ts/quill/emoji/completion.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import Quill from 'quill';
diff --git a/ts/quill/memberRepository.ts b/ts/quill/memberRepository.ts
index 3e91a4f7c3..178ef91e6b 100644
--- a/ts/quill/memberRepository.ts
+++ b/ts/quill/memberRepository.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import Fuse from 'fuse.js';
diff --git a/ts/quill/mentions/blot.tsx b/ts/quill/mentions/blot.tsx
index 555695b838..bdffa169e1 100644
--- a/ts/quill/mentions/blot.tsx
+++ b/ts/quill/mentions/blot.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/quill/mentions/completion.tsx b/ts/quill/mentions/completion.tsx
index 8e8666d70d..b576431407 100644
--- a/ts/quill/mentions/completion.tsx
+++ b/ts/quill/mentions/completion.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import _ from 'lodash';
diff --git a/ts/quill/types.d.ts b/ts/quill/types.d.ts
index 35767afa26..fc969fb2d4 100644
--- a/ts/quill/types.d.ts
+++ b/ts/quill/types.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type UpdatedDelta from 'quill-delta';
diff --git a/ts/quill/util.ts b/ts/quill/util.ts
index 6fdb32dd7f..223868b295 100644
--- a/ts/quill/util.ts
+++ b/ts/quill/util.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import emojiRegex from 'emoji-regex';
diff --git a/ts/routineProfileRefresh.ts b/ts/routineProfileRefresh.ts
index 64c81a31b2..13860b7a5c 100644
--- a/ts/routineProfileRefresh.ts
+++ b/ts/routineProfileRefresh.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNil, sortBy } from 'lodash';
diff --git a/ts/scripts/after-pack.ts b/ts/scripts/after-pack.ts
index f3f6b185af..66befe4808 100644
--- a/ts/scripts/after-pack.ts
+++ b/ts/scripts/after-pack.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { AfterPackContext } from 'electron-builder';
diff --git a/ts/scripts/copy-and-concat.ts b/ts/scripts/copy-and-concat.ts
index b7bdbdff55..d70f38f72a 100644
--- a/ts/scripts/copy-and-concat.ts
+++ b/ts/scripts/copy-and-concat.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { basename, join } from 'path';
diff --git a/ts/scripts/notarize.ts b/ts/scripts/notarize.ts
index 1f1a3faf3f..113e2b8f63 100644
--- a/ts/scripts/notarize.ts
+++ b/ts/scripts/notarize.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import path from 'path';
diff --git a/ts/scripts/prune-macos-release.ts b/ts/scripts/prune-macos-release.ts
index cb91ded60f..b09f3731e2 100644
--- a/ts/scripts/prune-macos-release.ts
+++ b/ts/scripts/prune-macos-release.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import fs from 'fs/promises';
diff --git a/ts/scripts/test-electron.ts b/ts/scripts/test-electron.ts
index 23f3a4fbcc..75c9171f51 100644
--- a/ts/scripts/test-electron.ts
+++ b/ts/scripts/test-electron.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { execFileSync } from 'child_process';
diff --git a/ts/scripts/test-release.ts b/ts/scripts/test-release.ts
index f57245823b..97f5442fda 100644
--- a/ts/scripts/test-release.ts
+++ b/ts/scripts/test-release.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import asar from 'asar';
diff --git a/ts/services/audioRecorder.ts b/ts/services/audioRecorder.ts
index 1a53e066a0..d5df6cc4c6 100644
--- a/ts/services/audioRecorder.ts
+++ b/ts/services/audioRecorder.ts
@@ -1,4 +1,4 @@
-// Copyright 2016-2020 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { requestMicrophonePermissions } from '../util/requestMicrophonePermissions';
diff --git a/ts/services/calling.ts b/ts/services/calling.ts
index 478b9f72d2..49721f7261 100644
--- a/ts/services/calling.ts
+++ b/ts/services/calling.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { DesktopCapturerSource } from 'electron';
diff --git a/ts/services/contactSync.ts b/ts/services/contactSync.ts
index 7f64978c65..f7e3786702 100644
--- a/ts/services/contactSync.ts
+++ b/ts/services/contactSync.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/services/expiringMessagesDeletion.ts b/ts/services/expiringMessagesDeletion.ts
index 89ac28a362..1b078a2839 100644
--- a/ts/services/expiringMessagesDeletion.ts
+++ b/ts/services/expiringMessagesDeletion.ts
@@ -1,4 +1,4 @@
-// Copyright 2016-2022 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { debounce } from 'lodash';
diff --git a/ts/services/notifications.ts b/ts/services/notifications.ts
index a5393b8f66..2e33c5453d 100644
--- a/ts/services/notifications.ts
+++ b/ts/services/notifications.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { debounce } from 'lodash';
diff --git a/ts/services/storage.ts b/ts/services/storage.ts
index ed5b2032a3..12837d1716 100644
--- a/ts/services/storage.ts
+++ b/ts/services/storage.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { debounce, isNumber, chunk } from 'lodash';
diff --git a/ts/services/storageRecordOps.ts b/ts/services/storageRecordOps.ts
index 9c2705cb5f..fdd66b3981 100644
--- a/ts/services/storageRecordOps.ts
+++ b/ts/services/storageRecordOps.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isEqual, isNumber } from 'lodash';
diff --git a/ts/services/tapToViewMessagesDeletionService.ts b/ts/services/tapToViewMessagesDeletionService.ts
index 192e308166..902e99baa8 100644
--- a/ts/services/tapToViewMessagesDeletionService.ts
+++ b/ts/services/tapToViewMessagesDeletionService.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { debounce } from 'lodash';
diff --git a/ts/services/username.ts b/ts/services/username.ts
index 5fe04bd884..9f6512c00b 100644
--- a/ts/services/username.ts
+++ b/ts/services/username.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { singleProtoJobQueue } from '../jobs/singleProtoJobQueue';
diff --git a/ts/services/writeProfile.ts b/ts/services/writeProfile.ts
index 184a2b004f..365eab67e1 100644
--- a/ts/services/writeProfile.ts
+++ b/ts/services/writeProfile.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import dataInterface from '../sql/Client';
diff --git a/ts/setAppLoadingScreenMessage.ts b/ts/setAppLoadingScreenMessage.ts
index 36aede4450..e6eb6b0eda 100644
--- a/ts/setAppLoadingScreenMessage.ts
+++ b/ts/setAppLoadingScreenMessage.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LocalizerType } from './types/Util';
diff --git a/ts/shims/Whisper.ts b/ts/shims/Whisper.ts
index f5580b0f21..f995b89108 100644
--- a/ts/shims/Whisper.ts
+++ b/ts/shims/Whisper.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function showSettings(): void {
diff --git a/ts/shims/dispatchItemsMiddleware.ts b/ts/shims/dispatchItemsMiddleware.ts
index 0ec5ff849f..9cf2971b07 100644
--- a/ts/shims/dispatchItemsMiddleware.ts
+++ b/ts/shims/dispatchItemsMiddleware.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer } from 'electron';
diff --git a/ts/shims/events.ts b/ts/shims/events.ts
index 27d3051f55..6beea73287 100644
--- a/ts/shims/events.ts
+++ b/ts/shims/events.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Matching Whisper.events.trigger API
diff --git a/ts/shims/showConfirmationDialog.tsx b/ts/shims/showConfirmationDialog.tsx
index 3ebf7102d1..9528681709 100644
--- a/ts/shims/showConfirmationDialog.tsx
+++ b/ts/shims/showConfirmationDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// This file is here temporarily while we're switching off of Backbone into
diff --git a/ts/shims/socketStatus.ts b/ts/shims/socketStatus.ts
index 2a3e132472..8353a3bac0 100644
--- a/ts/shims/socketStatus.ts
+++ b/ts/shims/socketStatus.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { SocketStatus } from '../types/SocketStatus';
diff --git a/ts/shims/storage.ts b/ts/shims/storage.ts
index b5f8e4cc4e..174bae0c51 100644
--- a/ts/shims/storage.ts
+++ b/ts/shims/storage.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { StorageAccessType } from '../types/Storage.d';
diff --git a/ts/shims/textsecure.ts b/ts/shims/textsecure.ts
index 5ed10bf173..883bf37f17 100644
--- a/ts/shims/textsecure.ts
+++ b/ts/shims/textsecure.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../logging/log';
diff --git a/ts/shims/themeChanged.ts b/ts/shims/themeChanged.ts
index 13a8951ce4..8b79e5706f 100644
--- a/ts/shims/themeChanged.ts
+++ b/ts/shims/themeChanged.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { getThemeType } from '../util/getThemeType';
diff --git a/ts/signal.ts b/ts/signal.ts
index 1efce74bea..dde7fad19d 100644
--- a/ts/signal.ts
+++ b/ts/signal.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// The idea with this file is to make it webpackable for the style guide
diff --git a/ts/sql/Client.ts b/ts/sql/Client.ts
index 2bb62f0053..aa929fe6d7 100644
--- a/ts/sql/Client.ts
+++ b/ts/sql/Client.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer as ipc } from 'electron';
diff --git a/ts/sql/Interface.ts b/ts/sql/Interface.ts
index a798c3fa11..8c1d3edb78 100644
--- a/ts/sql/Interface.ts
+++ b/ts/sql/Interface.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/ts/sql/Server.ts b/ts/sql/Server.ts
index 7ec457b196..7b35eb397f 100644
--- a/ts/sql/Server.ts
+++ b/ts/sql/Server.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable camelcase */
diff --git a/ts/sql/migrations/56-add-unseen-to-message.ts b/ts/sql/migrations/56-add-unseen-to-message.ts
index ace178f73f..cbb86599a4 100644
--- a/ts/sql/migrations/56-add-unseen-to-message.ts
+++ b/ts/sql/migrations/56-add-unseen-to-message.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/58-update-unread.ts b/ts/sql/migrations/58-update-unread.ts
index bda043dd63..b8c6b8a98c 100644
--- a/ts/sql/migrations/58-update-unread.ts
+++ b/ts/sql/migrations/58-update-unread.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/60-update-expiring-index.ts b/ts/sql/migrations/60-update-expiring-index.ts
index 076abf9b74..58fcb1838b 100644
--- a/ts/sql/migrations/60-update-expiring-index.ts
+++ b/ts/sql/migrations/60-update-expiring-index.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/62-add-urgent-to-send-log.ts b/ts/sql/migrations/62-add-urgent-to-send-log.ts
index 421d86029d..c4da52818a 100644
--- a/ts/sql/migrations/62-add-urgent-to-send-log.ts
+++ b/ts/sql/migrations/62-add-urgent-to-send-log.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/63-add-urgent-to-unprocessed.ts b/ts/sql/migrations/63-add-urgent-to-unprocessed.ts
index dd0a3db2fb..2149c953da 100644
--- a/ts/sql/migrations/63-add-urgent-to-unprocessed.ts
+++ b/ts/sql/migrations/63-add-urgent-to-unprocessed.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/65-add-storage-id-to-stickers.ts b/ts/sql/migrations/65-add-storage-id-to-stickers.ts
index 5483a6c279..12197fdf55 100644
--- a/ts/sql/migrations/65-add-storage-id-to-stickers.ts
+++ b/ts/sql/migrations/65-add-storage-id-to-stickers.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/67-add-story-to-unprocessed.ts b/ts/sql/migrations/67-add-story-to-unprocessed.ts
index 9ff4032a0d..cea1070f17 100644
--- a/ts/sql/migrations/67-add-story-to-unprocessed.ts
+++ b/ts/sql/migrations/67-add-story-to-unprocessed.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/70-story-reply-index.ts b/ts/sql/migrations/70-story-reply-index.ts
index f55886759f..aae22ff84f 100644
--- a/ts/sql/migrations/70-story-reply-index.ts
+++ b/ts/sql/migrations/70-story-reply-index.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/sql/migrations/index.ts b/ts/sql/migrations/index.ts
index 192f102e9c..7155e89ba5 100644
--- a/ts/sql/migrations/index.ts
+++ b/ts/sql/migrations/index.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Database } from '@signalapp/better-sqlite3';
diff --git a/ts/state/actions.ts b/ts/state/actions.ts
index 4ca6b6e0d7..9b920da8e6 100644
--- a/ts/state/actions.ts
+++ b/ts/state/actions.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { actions as accounts } from './ducks/accounts';
diff --git a/ts/state/createStore.ts b/ts/state/createStore.ts
index 4c3bf4f5b3..3780f15849 100644
--- a/ts/state/createStore.ts
+++ b/ts/state/createStore.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/state/ducks/audioPlayer.ts b/ts/state/ducks/audioPlayer.ts
index e4b69f5d44..4f7fdd7448 100644
--- a/ts/state/ducks/audioPlayer.ts
+++ b/ts/state/ducks/audioPlayer.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ThunkAction } from 'redux-thunk';
diff --git a/ts/state/ducks/calling.ts b/ts/state/ducks/calling.ts
index 7ffebcc24a..04d4a5da9c 100644
--- a/ts/state/ducks/calling.ts
+++ b/ts/state/ducks/calling.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer } from 'electron';
diff --git a/ts/state/ducks/composer.ts b/ts/state/ducks/composer.ts
index 6dffdfcf25..79b1c85d80 100644
--- a/ts/state/ducks/composer.ts
+++ b/ts/state/ducks/composer.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import path from 'path';
diff --git a/ts/state/ducks/conversations.ts b/ts/state/ducks/conversations.ts
index 9da9a85d4e..294c9a92cb 100644
--- a/ts/state/ducks/conversations.ts
+++ b/ts/state/ducks/conversations.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ThunkAction } from 'redux-thunk';
diff --git a/ts/state/ducks/emojis.ts b/ts/state/ducks/emojis.ts
index 4fd5f54bfc..7d054f5abd 100644
--- a/ts/state/ducks/emojis.ts
+++ b/ts/state/ducks/emojis.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { take, uniq } from 'lodash';
diff --git a/ts/state/ducks/items.ts b/ts/state/ducks/items.ts
index 56abbd728f..0618fa9f36 100644
--- a/ts/state/ducks/items.ts
+++ b/ts/state/ducks/items.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { omit } from 'lodash';
diff --git a/ts/state/ducks/noop.ts b/ts/state/ducks/noop.ts
index c175e935ef..dfa6f38de5 100644
--- a/ts/state/ducks/noop.ts
+++ b/ts/state/ducks/noop.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export type NoopActionType = {
diff --git a/ts/state/ducks/search.ts b/ts/state/ducks/search.ts
index b224ee3a97..1fb3b72305 100644
--- a/ts/state/ducks/search.ts
+++ b/ts/state/ducks/search.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ThunkAction, ThunkDispatch } from 'redux-thunk';
diff --git a/ts/state/ducks/stickers.ts b/ts/state/ducks/stickers.ts
index 7516513636..c2d5d79ba6 100644
--- a/ts/state/ducks/stickers.ts
+++ b/ts/state/ducks/stickers.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Dictionary } from 'lodash';
diff --git a/ts/state/ducks/stories.ts b/ts/state/ducks/stories.ts
index f1d715f318..08e9caa29b 100644
--- a/ts/state/ducks/stories.ts
+++ b/ts/state/ducks/stories.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ThunkAction, ThunkDispatch } from 'redux-thunk';
diff --git a/ts/state/ducks/user.ts b/ts/state/ducks/user.ts
index bc405b5384..9e963f3ee6 100644
--- a/ts/state/ducks/user.ts
+++ b/ts/state/ducks/user.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { trigger } from '../../shims/events';
diff --git a/ts/state/reducer.ts b/ts/state/reducer.ts
index cc9a125a76..50c07d4735 100644
--- a/ts/state/reducer.ts
+++ b/ts/state/reducer.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { combineReducers } from 'redux';
diff --git a/ts/state/roots/createGroupV2JoinModal.tsx b/ts/state/roots/createGroupV2JoinModal.tsx
index 52494aa7e8..438060061a 100644
--- a/ts/state/roots/createGroupV2JoinModal.tsx
+++ b/ts/state/roots/createGroupV2JoinModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// TODO DESKTOP-4761
diff --git a/ts/state/roots/createSafetyNumberViewer.tsx b/ts/state/roots/createSafetyNumberViewer.tsx
index 8c0fd0c3e3..8aecb0013a 100644
--- a/ts/state/roots/createSafetyNumberViewer.tsx
+++ b/ts/state/roots/createSafetyNumberViewer.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/selectors/accounts.ts b/ts/state/selectors/accounts.ts
index caca10dfb3..78fa55e07d 100644
--- a/ts/state/selectors/accounts.ts
+++ b/ts/state/selectors/accounts.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
diff --git a/ts/state/selectors/audioPlayer.ts b/ts/state/selectors/audioPlayer.ts
index 0427e6ed6d..bafa90be48 100644
--- a/ts/state/selectors/audioPlayer.ts
+++ b/ts/state/selectors/audioPlayer.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
diff --git a/ts/state/selectors/calling.ts b/ts/state/selectors/calling.ts
index 73bbaa01b2..6a63a76c1b 100644
--- a/ts/state/selectors/calling.ts
+++ b/ts/state/selectors/calling.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
diff --git a/ts/state/selectors/conversations.ts b/ts/state/selectors/conversations.ts
index aebe4c3d2a..ae63ae0c73 100644
--- a/ts/state/selectors/conversations.ts
+++ b/ts/state/selectors/conversations.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import memoizee from 'memoizee';
diff --git a/ts/state/selectors/items.ts b/ts/state/selectors/items.ts
index 8fbe2e6b30..feb0525506 100644
--- a/ts/state/selectors/items.ts
+++ b/ts/state/selectors/items.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
diff --git a/ts/state/selectors/message.ts b/ts/state/selectors/message.ts
index 9ed3fc2afd..e7ea6c2a1a 100644
--- a/ts/state/selectors/message.ts
+++ b/ts/state/selectors/message.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { groupBy, isEmpty, isNumber, isObject, map, omit } from 'lodash';
diff --git a/ts/state/selectors/search.ts b/ts/state/selectors/search.ts
index ce593bef05..f0cd96a644 100644
--- a/ts/state/selectors/search.ts
+++ b/ts/state/selectors/search.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import memoizee from 'memoizee';
diff --git a/ts/state/selectors/stickers.ts b/ts/state/selectors/stickers.ts
index 91445be6c6..de19e8a675 100644
--- a/ts/state/selectors/stickers.ts
+++ b/ts/state/selectors/stickers.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/ts/state/selectors/timeline.ts b/ts/state/selectors/timeline.ts
index bed0a7cfbc..66c2c2fa15 100644
--- a/ts/state/selectors/timeline.ts
+++ b/ts/state/selectors/timeline.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { memoize } from '@indutny/sneequals';
diff --git a/ts/state/selectors/user.ts b/ts/state/selectors/user.ts
index c67637d03e..ce4409edda 100644
--- a/ts/state/selectors/user.ts
+++ b/ts/state/selectors/user.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
diff --git a/ts/state/smart/App.tsx b/ts/state/smart/App.tsx
index bffa572e82..891ef5542d 100644
--- a/ts/state/smart/App.tsx
+++ b/ts/state/smart/App.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/CallManager.tsx b/ts/state/smart/CallManager.tsx
index c2a75c5e57..27ae485cf9 100644
--- a/ts/state/smart/CallManager.tsx
+++ b/ts/state/smart/CallManager.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/CompositionArea.tsx b/ts/state/smart/CompositionArea.tsx
index 2cd9a972f4..d11b3ff6b0 100644
--- a/ts/state/smart/CompositionArea.tsx
+++ b/ts/state/smart/CompositionArea.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ContactModal.tsx b/ts/state/smart/ContactModal.tsx
index 32e2e1d0b9..c6fb15f797 100644
--- a/ts/state/smart/ContactModal.tsx
+++ b/ts/state/smart/ContactModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ContactName.tsx b/ts/state/smart/ContactName.tsx
index fabb5fc28f..5da3cb0dcd 100644
--- a/ts/state/smart/ContactName.tsx
+++ b/ts/state/smart/ContactName.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/state/smart/ConversationDetails.tsx b/ts/state/smart/ConversationDetails.tsx
index fce7f30791..6402465a25 100644
--- a/ts/state/smart/ConversationDetails.tsx
+++ b/ts/state/smart/ConversationDetails.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/ConversationHeader.tsx b/ts/state/smart/ConversationHeader.tsx
index 70ef5f18f9..73be65a7ad 100644
--- a/ts/state/smart/ConversationHeader.tsx
+++ b/ts/state/smart/ConversationHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ConversationView.tsx b/ts/state/smart/ConversationView.tsx
index 4372c1d370..d1f49185de 100644
--- a/ts/state/smart/ConversationView.tsx
+++ b/ts/state/smart/ConversationView.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/EmojiPicker.tsx b/ts/state/smart/EmojiPicker.tsx
index 15e2417b67..c9e56a265f 100644
--- a/ts/state/smart/EmojiPicker.tsx
+++ b/ts/state/smart/EmojiPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/state/smart/ExpiredBuildDialog.tsx b/ts/state/smart/ExpiredBuildDialog.tsx
index b365f57b76..f9f7c5436a 100644
--- a/ts/state/smart/ExpiredBuildDialog.tsx
+++ b/ts/state/smart/ExpiredBuildDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ForwardMessageModal.tsx b/ts/state/smart/ForwardMessageModal.tsx
index fdb2a62c9f..5394064ccb 100644
--- a/ts/state/smart/ForwardMessageModal.tsx
+++ b/ts/state/smart/ForwardMessageModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/GroupV1MigrationDialog.tsx b/ts/state/smart/GroupV1MigrationDialog.tsx
index ef16871e7c..6547729ce9 100644
--- a/ts/state/smart/GroupV1MigrationDialog.tsx
+++ b/ts/state/smart/GroupV1MigrationDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/HeroRow.tsx b/ts/state/smart/HeroRow.tsx
index 803a029642..3e9dad04f2 100644
--- a/ts/state/smart/HeroRow.tsx
+++ b/ts/state/smart/HeroRow.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/InstallScreen.tsx b/ts/state/smart/InstallScreen.tsx
index c6393fd124..f096db4554 100644
--- a/ts/state/smart/InstallScreen.tsx
+++ b/ts/state/smart/InstallScreen.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ComponentProps, ReactElement } from 'react';
diff --git a/ts/state/smart/LeftPane.tsx b/ts/state/smart/LeftPane.tsx
index 17c5ba9aee..7543bf6be2 100644
--- a/ts/state/smart/LeftPane.tsx
+++ b/ts/state/smart/LeftPane.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/MainHeader.tsx b/ts/state/smart/MainHeader.tsx
index 79f050e67c..be838b0d04 100644
--- a/ts/state/smart/MainHeader.tsx
+++ b/ts/state/smart/MainHeader.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/MessageAudio.tsx b/ts/state/smart/MessageAudio.tsx
index 340feff251..5c83773ace 100644
--- a/ts/state/smart/MessageAudio.tsx
+++ b/ts/state/smart/MessageAudio.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/MessageSearchResult.tsx b/ts/state/smart/MessageSearchResult.tsx
index 34772a7239..123a69fa59 100644
--- a/ts/state/smart/MessageSearchResult.tsx
+++ b/ts/state/smart/MessageSearchResult.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { CSSProperties } from 'react';
diff --git a/ts/state/smart/NetworkStatus.tsx b/ts/state/smart/NetworkStatus.tsx
index 9cdd8589f6..0073c25910 100644
--- a/ts/state/smart/NetworkStatus.tsx
+++ b/ts/state/smart/NetworkStatus.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ProfileEditorModal.tsx b/ts/state/smart/ProfileEditorModal.tsx
index 435f2f45c4..e260dd4ac6 100644
--- a/ts/state/smart/ProfileEditorModal.tsx
+++ b/ts/state/smart/ProfileEditorModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/state/smart/ReactionPicker.tsx b/ts/state/smart/ReactionPicker.tsx
index c76e0d95c2..66656bbc3a 100644
--- a/ts/state/smart/ReactionPicker.tsx
+++ b/ts/state/smart/ReactionPicker.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
diff --git a/ts/state/smart/RelinkDialog.tsx b/ts/state/smart/RelinkDialog.tsx
index ce2f0cd5d3..e9fd948a31 100644
--- a/ts/state/smart/RelinkDialog.tsx
+++ b/ts/state/smart/RelinkDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/ShortcutGuideModal.tsx b/ts/state/smart/ShortcutGuideModal.tsx
index a054ad8fff..2d508441da 100644
--- a/ts/state/smart/ShortcutGuideModal.tsx
+++ b/ts/state/smart/ShortcutGuideModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/StickerManager.tsx b/ts/state/smart/StickerManager.tsx
index b9804f2eea..4fcda26e04 100644
--- a/ts/state/smart/StickerManager.tsx
+++ b/ts/state/smart/StickerManager.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/StickerPreviewModal.tsx b/ts/state/smart/StickerPreviewModal.tsx
index c20c73d452..675f9dac75 100644
--- a/ts/state/smart/StickerPreviewModal.tsx
+++ b/ts/state/smart/StickerPreviewModal.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/Timeline.tsx b/ts/state/smart/Timeline.tsx
index af39153931..ec9a69589a 100644
--- a/ts/state/smart/Timeline.tsx
+++ b/ts/state/smart/Timeline.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isEmpty, mapValues, pick } from 'lodash';
diff --git a/ts/state/smart/TimelineItem.tsx b/ts/state/smart/TimelineItem.tsx
index dee8d1000a..c96e2aa311 100644
--- a/ts/state/smart/TimelineItem.tsx
+++ b/ts/state/smart/TimelineItem.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { RefObject } from 'react';
diff --git a/ts/state/smart/TypingBubble.tsx b/ts/state/smart/TypingBubble.tsx
index bc5d6ad3a7..9820b382a4 100644
--- a/ts/state/smart/TypingBubble.tsx
+++ b/ts/state/smart/TypingBubble.tsx
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/UpdateDialog.tsx b/ts/state/smart/UpdateDialog.tsx
index 3d001563d9..be5b82ad0c 100644
--- a/ts/state/smart/UpdateDialog.tsx
+++ b/ts/state/smart/UpdateDialog.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { connect } from 'react-redux';
diff --git a/ts/state/smart/renderAudioAttachment.tsx b/ts/state/smart/renderAudioAttachment.tsx
index 4ecb37fe18..dee8d59832 100644
--- a/ts/state/smart/renderAudioAttachment.tsx
+++ b/ts/state/smart/renderAudioAttachment.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ReactElement } from 'react';
diff --git a/ts/state/types.ts b/ts/state/types.ts
index 49ff1f2ef5..260efcd653 100644
--- a/ts/state/types.ts
+++ b/ts/state/types.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { actions as accounts } from './ducks/accounts';
diff --git a/ts/test-both/ContactsParser_test.ts b/ts/test-both/ContactsParser_test.ts
index f58699bde8..5fa21f1df9 100644
--- a/ts/test-both/ContactsParser_test.ts
+++ b/ts/test-both/ContactsParser_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/TaskWithTimeout_test.ts b/ts/test-both/TaskWithTimeout_test.ts
index 987dd99d36..e82b1f6a6e 100644
--- a/ts/test-both/TaskWithTimeout_test.ts
+++ b/ts/test-both/TaskWithTimeout_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/conversations/isConversationTooBigToRing_test.ts b/ts/test-both/conversations/isConversationTooBigToRing_test.ts
index c86389429b..ef4496fe30 100644
--- a/ts/test-both/conversations/isConversationTooBigToRing_test.ts
+++ b/ts/test-both/conversations/isConversationTooBigToRing_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/groups/limits_test.ts b/ts/test-both/groups/limits_test.ts
index 4f763c52ea..5e91fd8209 100644
--- a/ts/test-both/groups/limits_test.ts
+++ b/ts/test-both/groups/limits_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/helpers/defaultComposerStates.ts b/ts/test-both/helpers/defaultComposerStates.ts
index 581cfbf97d..2164406c73 100644
--- a/ts/test-both/helpers/defaultComposerStates.ts
+++ b/ts/test-both/helpers/defaultComposerStates.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ComposerStep } from '../../state/ducks/conversationsEnums';
diff --git a/ts/test-both/helpers/fakeAttachment.ts b/ts/test-both/helpers/fakeAttachment.ts
index 1c068692de..49e0a6b810 100644
--- a/ts/test-both/helpers/fakeAttachment.ts
+++ b/ts/test-both/helpers/fakeAttachment.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/ts/test-both/helpers/getDefaultConversation.ts b/ts/test-both/helpers/getDefaultConversation.ts
index 7e86df542d..de52b5a3f7 100644
--- a/ts/test-both/helpers/getDefaultConversation.ts
+++ b/ts/test-both/helpers/getDefaultConversation.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import casual from 'casual';
diff --git a/ts/test-both/state/ducks/audioPlayer_test.ts b/ts/test-both/state/ducks/audioPlayer_test.ts
index 26b9f73ab5..a92d8188ea 100644
--- a/ts/test-both/state/ducks/audioPlayer_test.ts
+++ b/ts/test-both/state/ducks/audioPlayer_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/state/selectors/conversations_test.ts b/ts/test-both/state/selectors/conversations_test.ts
index b27acef908..f8bcd9b20f 100644
--- a/ts/test-both/state/selectors/conversations_test.ts
+++ b/ts/test-both/state/selectors/conversations_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/state/selectors/items_test.ts b/ts/test-both/state/selectors/items_test.ts
index 102806534f..60da1e837e 100644
--- a/ts/test-both/state/selectors/items_test.ts
+++ b/ts/test-both/state/selectors/items_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/types/SchemaVersion_test.ts b/ts/test-both/types/SchemaVersion_test.ts
index 33d2717fca..172ca411c4 100644
--- a/ts/test-both/types/SchemaVersion_test.ts
+++ b/ts/test-both/types/SchemaVersion_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/types/Stickers_test.ts b/ts/test-both/types/Stickers_test.ts
index a17ed3c09f..2e39c8fdea 100644
--- a/ts/test-both/types/Stickers_test.ts
+++ b/ts/test-both/types/Stickers_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/types/errors_test.ts b/ts/test-both/types/errors_test.ts
index e5784619d4..bdff074c9c 100644
--- a/ts/test-both/types/errors_test.ts
+++ b/ts/test-both/types/errors_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as Path from 'path';
diff --git a/ts/test-both/types/setupI18n_test.ts b/ts/test-both/types/setupI18n_test.ts
index 3e6d452b9b..d29c078cf9 100644
--- a/ts/test-both/types/setupI18n_test.ts
+++ b/ts/test-both/types/setupI18n_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/assert_test.ts b/ts/test-both/util/assert_test.ts
index 177cf0cbfb..5a25da4def 100644
--- a/ts/test-both/util/assert_test.ts
+++ b/ts/test-both/util/assert_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert as chaiAssert } from 'chai';
diff --git a/ts/test-both/util/assignWithNoUnnecessaryAllocation_test.ts b/ts/test-both/util/assignWithNoUnnecessaryAllocation_test.ts
index 5a10796c10..ab4c71a9b9 100644
--- a/ts/test-both/util/assignWithNoUnnecessaryAllocation_test.ts
+++ b/ts/test-both/util/assignWithNoUnnecessaryAllocation_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/asyncIterables_test.ts b/ts/test-both/util/asyncIterables_test.ts
index 90553a9116..e650e4cd3a 100644
--- a/ts/test-both/util/asyncIterables_test.ts
+++ b/ts/test-both/util/asyncIterables_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/getStreamWithTimeout_test.ts b/ts/test-both/util/getStreamWithTimeout_test.ts
index 3a79c33e2c..3bf0379746 100644
--- a/ts/test-both/util/getStreamWithTimeout_test.ts
+++ b/ts/test-both/util/getStreamWithTimeout_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/grapheme_test.ts b/ts/test-both/util/grapheme_test.ts
index 2610688dd6..28f0f61006 100644
--- a/ts/test-both/util/grapheme_test.ts
+++ b/ts/test-both/util/grapheme_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/isConversationMuted_test.ts b/ts/test-both/util/isConversationMuted_test.ts
index 8c550ebd21..b9ddadc096 100644
--- a/ts/test-both/util/isConversationMuted_test.ts
+++ b/ts/test-both/util/isConversationMuted_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/iterables_test.ts b/ts/test-both/util/iterables_test.ts
index ce9ae96607..755d62fd87 100644
--- a/ts/test-both/util/iterables_test.ts
+++ b/ts/test-both/util/iterables_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/libphonenumberUtil_test.ts b/ts/test-both/util/libphonenumberUtil_test.ts
index 85c53acd04..53d6f85911 100644
--- a/ts/test-both/util/libphonenumberUtil_test.ts
+++ b/ts/test-both/util/libphonenumberUtil_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2022 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert, AssertionError } from 'chai';
diff --git a/ts/test-both/util/parseRetryAfter_test.ts b/ts/test-both/util/parseRetryAfter_test.ts
index 9b3d04b223..f072ff8d37 100644
--- a/ts/test-both/util/parseRetryAfter_test.ts
+++ b/ts/test-both/util/parseRetryAfter_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/privacy_test.ts b/ts/test-both/util/privacy_test.ts
index 80934baf2d..d671a2edfa 100644
--- a/ts/test-both/util/privacy_test.ts
+++ b/ts/test-both/util/privacy_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/setUtil_test.ts b/ts/test-both/util/setUtil_test.ts
index 856e8925a6..53d2735f33 100644
--- a/ts/test-both/util/setUtil_test.ts
+++ b/ts/test-both/util/setUtil_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-both/util/timestamp_test.ts b/ts/test-both/util/timestamp_test.ts
index df56b2a6bc..86315cdc37 100644
--- a/ts/test-both/util/timestamp_test.ts
+++ b/ts/test-both/util/timestamp_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/Crypto_test.ts b/ts/test-electron/Crypto_test.ts
index 85f644376c..ce99102448 100644
--- a/ts/test-electron/Crypto_test.ts
+++ b/ts/test-electron/Crypto_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/MessageReceiver_test.ts b/ts/test-electron/MessageReceiver_test.ts
index 7fab0f400b..9a8ca31d10 100644
--- a/ts/test-electron/MessageReceiver_test.ts
+++ b/ts/test-electron/MessageReceiver_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-empty-function */
diff --git a/ts/test-electron/SignalProtocolStore_test.ts b/ts/test-electron/SignalProtocolStore_test.ts
index 66c50d29f8..2d6ccbdf72 100644
--- a/ts/test-electron/SignalProtocolStore_test.ts
+++ b/ts/test-electron/SignalProtocolStore_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2022 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-explicit-any */
diff --git a/ts/test-electron/WebsocketResources_test.ts b/ts/test-electron/WebsocketResources_test.ts
index dfe544460f..45184bc9b3 100644
--- a/ts/test-electron/WebsocketResources_test.ts
+++ b/ts/test-electron/WebsocketResources_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable
diff --git a/ts/test-electron/backbone/reliable_trigger_test.ts b/ts/test-electron/backbone/reliable_trigger_test.ts
index 56e0d41bf3..f21b349f55 100644
--- a/ts/test-electron/backbone/reliable_trigger_test.ts
+++ b/ts/test-electron/backbone/reliable_trigger_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/components/Avatar_test.tsx b/ts/test-electron/components/Avatar_test.tsx
index bbd0e5e05e..6b69bd67b9 100644
--- a/ts/test-electron/components/Avatar_test.tsx
+++ b/ts/test-electron/components/Avatar_test.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/linkPreviews/linkPreviewFetch_test.ts b/ts/test-electron/linkPreviews/linkPreviewFetch_test.ts
index e6d162dfe8..a11e1e0beb 100644
--- a/ts/test-electron/linkPreviews/linkPreviewFetch_test.ts
+++ b/ts/test-electron/linkPreviews/linkPreviewFetch_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/models/conversations_test.ts b/ts/test-electron/models/conversations_test.ts
index da93c9d81d..59fb8a8ae6 100644
--- a/ts/test-electron/models/conversations_test.ts
+++ b/ts/test-electron/models/conversations_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2014-2021 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/models/messages_test.ts b/ts/test-electron/models/messages_test.ts
index 988d58c956..e3564b0fc6 100644
--- a/ts/test-electron/models/messages_test.ts
+++ b/ts/test-electron/models/messages_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/quill/emoji/completion_test.tsx b/ts/test-electron/quill/emoji/completion_test.tsx
index ae72ad871e..58d4557d2e 100644
--- a/ts/test-electron/quill/emoji/completion_test.tsx
+++ b/ts/test-electron/quill/emoji/completion_test.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/quill/mentions/completion_test.tsx b/ts/test-electron/quill/mentions/completion_test.tsx
index 30d24d4358..b687c19cb6 100644
--- a/ts/test-electron/quill/mentions/completion_test.tsx
+++ b/ts/test-electron/quill/mentions/completion_test.tsx
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/routineProfileRefresh_test.ts b/ts/test-electron/routineProfileRefresh_test.ts
index f6152fe36f..5b83aa76b1 100644
--- a/ts/test-electron/routineProfileRefresh_test.ts
+++ b/ts/test-electron/routineProfileRefresh_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as sinon from 'sinon';
diff --git a/ts/test-electron/scrollUtil_test.ts b/ts/test-electron/scrollUtil_test.ts
index 87f4867678..fdb1eade74 100644
--- a/ts/test-electron/scrollUtil_test.ts
+++ b/ts/test-electron/scrollUtil_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/sql/conversationSummary_test.ts b/ts/test-electron/sql/conversationSummary_test.ts
index 1957e84456..99fa364004 100644
--- a/ts/test-electron/sql/conversationSummary_test.ts
+++ b/ts/test-electron/sql/conversationSummary_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/state/ducks/calling_test.ts b/ts/test-electron/state/ducks/calling_test.ts
index 0bc28536d3..39702955c9 100644
--- a/ts/test-electron/state/ducks/calling_test.ts
+++ b/ts/test-electron/state/ducks/calling_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/state/ducks/conversations_test.ts b/ts/test-electron/state/ducks/conversations_test.ts
index b8d63e8186..6ac7af2e22 100644
--- a/ts/test-electron/state/ducks/conversations_test.ts
+++ b/ts/test-electron/state/ducks/conversations_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/state/selectors/audioPlayer_test.ts b/ts/test-electron/state/selectors/audioPlayer_test.ts
index 0419230691..14b2b265f9 100644
--- a/ts/test-electron/state/selectors/audioPlayer_test.ts
+++ b/ts/test-electron/state/selectors/audioPlayer_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/state/selectors/calling_test.ts b/ts/test-electron/state/selectors/calling_test.ts
index 977c2cf5ad..0a07868688 100644
--- a/ts/test-electron/state/selectors/calling_test.ts
+++ b/ts/test-electron/state/selectors/calling_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/textsecure/AccountManager_test.ts b/ts/test-electron/textsecure/AccountManager_test.ts
index d585a7b36b..a91eeee045 100644
--- a/ts/test-electron/textsecure/AccountManager_test.ts
+++ b/ts/test-electron/textsecure/AccountManager_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2020 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/textsecure/KeyChangeListener_test.ts b/ts/test-electron/textsecure/KeyChangeListener_test.ts
index a98ac6b88e..fd2acfb570 100644
--- a/ts/test-electron/textsecure/KeyChangeListener_test.ts
+++ b/ts/test-electron/textsecure/KeyChangeListener_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/textsecure/SendMessage_test.ts b/ts/test-electron/textsecure/SendMessage_test.ts
index 13ae847ada..48f4614910 100644
--- a/ts/test-electron/textsecure/SendMessage_test.ts
+++ b/ts/test-electron/textsecure/SendMessage_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-electron/textsecure/generate_keys_test.ts b/ts/test-electron/textsecure/generate_keys_test.ts
index 9d887896e0..0c85f8b571 100644
--- a/ts/test-electron/textsecure/generate_keys_test.ts
+++ b/ts/test-electron/textsecure/generate_keys_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2015-2021 Signal Messenger, LLC
+// Copyright 2015 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/.eslintrc.js b/ts/test-node/.eslintrc.js
index 2792285b7e..13565dfeb3 100644
--- a/ts/test-node/.eslintrc.js
+++ b/ts/test-node/.eslintrc.js
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const { update } = require('lodash/fp');
diff --git a/ts/test-node/app/base_config_test.ts b/ts/test-node/app/base_config_test.ts
index 35cb479a4e..6d4d15958f 100644
--- a/ts/test-node/app/base_config_test.ts
+++ b/ts/test-node/app/base_config_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as path from 'path';
diff --git a/ts/test-node/app/menu_test.ts b/ts/test-node/app/menu_test.ts
index e22e521a64..d2243786f3 100644
--- a/ts/test-node/app/menu_test.ts
+++ b/ts/test-node/app/menu_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/app/protocol_filter_test.ts b/ts/test-node/app/protocol_filter_test.ts
index 4a2ad0915b..614384cdac 100644
--- a/ts/test-node/app/protocol_filter_test.ts
+++ b/ts/test-node/app/protocol_filter_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/app/spell_check_test.ts b/ts/test-node/app/spell_check_test.ts
index e29dc360c0..0a0aff7d2b 100644
--- a/ts/test-node/app/spell_check_test.ts
+++ b/ts/test-node/app/spell_check_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/components/leftPane/LeftPaneChooseGroupMembersHelper_test.ts b/ts/test-node/components/leftPane/LeftPaneChooseGroupMembersHelper_test.ts
index 3a74a9ea68..c51ef48db5 100644
--- a/ts/test-node/components/leftPane/LeftPaneChooseGroupMembersHelper_test.ts
+++ b/ts/test-node/components/leftPane/LeftPaneChooseGroupMembersHelper_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/components/leftPane/LeftPaneInboxHelper_test.tsx b/ts/test-node/components/leftPane/LeftPaneInboxHelper_test.tsx
index a3c4f02caa..eb294a156e 100644
--- a/ts/test-node/components/leftPane/LeftPaneInboxHelper_test.tsx
+++ b/ts/test-node/components/leftPane/LeftPaneInboxHelper_test.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/components/leftPane/LeftPaneSearchHelper_test.ts b/ts/test-node/components/leftPane/LeftPaneSearchHelper_test.ts
index b1ed5fe9f7..50d511cf75 100644
--- a/ts/test-node/components/leftPane/LeftPaneSearchHelper_test.ts
+++ b/ts/test-node/components/leftPane/LeftPaneSearchHelper_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/components/media-gallery/groupMessagesByDate_test.ts b/ts/test-node/components/media-gallery/groupMessagesByDate_test.ts
index 076e5a252e..0a20c1a976 100644
--- a/ts/test-node/components/media-gallery/groupMessagesByDate_test.ts
+++ b/ts/test-node/components/media-gallery/groupMessagesByDate_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/jobs/helpers/sleepForRateLimitRetryAfterTime_test.ts b/ts/test-node/jobs/helpers/sleepForRateLimitRetryAfterTime_test.ts
index 071b943db0..6724b0a4d3 100644
--- a/ts/test-node/jobs/helpers/sleepForRateLimitRetryAfterTime_test.ts
+++ b/ts/test-node/jobs/helpers/sleepForRateLimitRetryAfterTime_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/jobs/helpers/syncHelpers_test.ts b/ts/test-node/jobs/helpers/syncHelpers_test.ts
index 37ed2af188..842e44c0e9 100644
--- a/ts/test-node/jobs/helpers/syncHelpers_test.ts
+++ b/ts/test-node/jobs/helpers/syncHelpers_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/license_comments_test.ts b/ts/test-node/license_comments_test.ts
deleted file mode 100644
index bf20ce6bed..0000000000
--- a/ts/test-node/license_comments_test.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2020-2021 Signal Messenger, LLC
-// SPDX-License-Identifier: AGPL-3.0-only
-
-// This file is meant to be run frequently, so it doesn't check the license year. See the
-// imported `license_comments` file for a job that does this, to be run on CI.
-
-import { assert } from 'chai';
-
-import {
- forEachRelevantFile,
- getExtension,
- readFirstLines,
-} from '../util/lint/license_comments';
-
-describe('license comments', () => {
- it('includes a license comment at the top of every relevant file', async function test() {
- await forEachRelevantFile(async file => {
- let firstLine: string;
- let secondLine: string;
-
- if (getExtension(file) === '.sh') {
- const firstThreeLines = await readFirstLines(file, 3);
- [, firstLine, secondLine] = firstThreeLines;
- } else {
- [firstLine, secondLine] = await readFirstLines(file, 2);
- }
-
- if (!firstLine || !secondLine) {
- throw new Error(`file ${file}: was missing a first or second line!`);
- }
-
- const { groups = {} } =
- firstLine.match(
- /Copyright (?\d{4}-)?(?\d{4}) Signal Messenger, LLC/
- ) || {};
- const { startYearWithDash, endYearString } = groups;
- const endYear = Number(endYearString);
-
- // We added these comments in 2020.
- assert.isAtLeast(
- endYear,
- 2020,
- `First line of ${file} is missing correct license header comment`
- );
-
- if (startYearWithDash) {
- const startYear = Number(startYearWithDash.slice(0, -1));
- assert.isBelow(
- startYear,
- endYear,
- `Starting license year of ${file} is not below the ending year`
- );
- }
-
- assert.include(
- secondLine,
- 'SPDX-License-Identifier: AGPL-3.0-only',
- `Second line of ${file} is missing correct license header comment`
- );
- });
- });
-});
diff --git a/ts/test-node/logging_test.ts b/ts/test-node/logging_test.ts
index 0db1121346..5f4547922c 100644
--- a/ts/test-node/logging_test.ts
+++ b/ts/test-node/logging_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// NOTE: Temporarily allow `then` until we convert the entire file to `async` / `await`:
diff --git a/ts/test-node/quill/memberRepository_test.ts b/ts/test-node/quill/memberRepository_test.ts
index 944f640892..fb8e5151bf 100644
--- a/ts/test-node/quill/memberRepository_test.ts
+++ b/ts/test-node/quill/memberRepository_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/quill/mentions/matchers_test.ts b/ts/test-node/quill/mentions/matchers_test.ts
index 10e0d73da5..a1adaf3abc 100644
--- a/ts/test-node/quill/mentions/matchers_test.ts
+++ b/ts/test-node/quill/mentions/matchers_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/sql_migrations_test.ts b/ts/test-node/sql_migrations_test.ts
index d317b4d35b..e8dd0b7c6a 100644
--- a/ts/test-node/sql_migrations_test.ts
+++ b/ts/test-node/sql_migrations_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/Attachment_test.ts b/ts/test-node/types/Attachment_test.ts
index 9a69a87ceb..11fae6e923 100644
--- a/ts/test-node/types/Attachment_test.ts
+++ b/ts/test-node/types/Attachment_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/EmbeddedContact_test.ts b/ts/test-node/types/EmbeddedContact_test.ts
index 7a2d175f7a..e1c149a1d1 100644
--- a/ts/test-node/types/EmbeddedContact_test.ts
+++ b/ts/test-node/types/EmbeddedContact_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/LinkPreview_test.ts b/ts/test-node/types/LinkPreview_test.ts
index 45d7b7656b..5f060bd693 100644
--- a/ts/test-node/types/LinkPreview_test.ts
+++ b/ts/test-node/types/LinkPreview_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/MIME_test.ts b/ts/test-node/types/MIME_test.ts
index 970e0b2123..70ef29d02c 100644
--- a/ts/test-node/types/MIME_test.ts
+++ b/ts/test-node/types/MIME_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/Message2_test.ts b/ts/test-node/types/Message2_test.ts
index c776c3911c..399434f35f 100644
--- a/ts/test-node/types/Message2_test.ts
+++ b/ts/test-node/types/Message2_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/types/Settings_test.ts b/ts/test-node/types/Settings_test.ts
index 050d4b3e04..79239c605d 100644
--- a/ts/test-node/types/Settings_test.ts
+++ b/ts/test-node/types/Settings_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import os from 'os';
diff --git a/ts/test-node/types/message/initializeAttachmentMetadata_test.ts b/ts/test-node/types/message/initializeAttachmentMetadata_test.ts
index a22d953301..01020eb50a 100644
--- a/ts/test-node/types/message/initializeAttachmentMetadata_test.ts
+++ b/ts/test-node/types/message/initializeAttachmentMetadata_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/updater/common_test.ts b/ts/test-node/updater/common_test.ts
index 3453048afe..d48047f21d 100644
--- a/ts/test-node/updater/common_test.ts
+++ b/ts/test-node/updater/common_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/updater/curve_test.ts b/ts/test-node/updater/curve_test.ts
index 55108b00c1..1d00284bf4 100644
--- a/ts/test-node/updater/curve_test.ts
+++ b/ts/test-node/updater/curve_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/updater/signature_test.ts b/ts/test-node/updater/signature_test.ts
index 65826e4093..421eaccf8d 100644
--- a/ts/test-node/updater/signature_test.ts
+++ b/ts/test-node/updater/signature_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { existsSync } from 'fs';
diff --git a/ts/test-node/util/getTextWithMentions_test.ts b/ts/test-node/util/getTextWithMentions_test.ts
index ea73f88100..8bd6ec4bc7 100644
--- a/ts/test-node/util/getTextWithMentions_test.ts
+++ b/ts/test-node/util/getTextWithMentions_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/util/isFileDangerous_test.ts b/ts/test-node/util/isFileDangerous_test.ts
index a658bdb808..6a86f74297 100644
--- a/ts/test-node/util/isFileDangerous_test.ts
+++ b/ts/test-node/util/isFileDangerous_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/util/sgnlHref_test.ts b/ts/test-node/util/sgnlHref_test.ts
index faa6d479c3..75544aa639 100644
--- a/ts/test-node/util/sgnlHref_test.ts
+++ b/ts/test-node/util/sgnlHref_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/test-node/util/windowsZoneIdentifier_test.ts b/ts/test-node/util/windowsZoneIdentifier_test.ts
index 7fa60bb8e3..fdab807182 100644
--- a/ts/test-node/util/windowsZoneIdentifier_test.ts
+++ b/ts/test-node/util/windowsZoneIdentifier_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
diff --git a/ts/textsecure/AccountManager.ts b/ts/textsecure/AccountManager.ts
index 31ec9f0ecd..791cf1b88e 100644
--- a/ts/textsecure/AccountManager.ts
+++ b/ts/textsecure/AccountManager.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/textsecure/Errors.ts b/ts/textsecure/Errors.ts
index e7f63db4b9..5a57b1b446 100644
--- a/ts/textsecure/Errors.ts
+++ b/ts/textsecure/Errors.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/textsecure/EventTarget.ts b/ts/textsecure/EventTarget.ts
index 003e98d5bd..b8d5d18a61 100644
--- a/ts/textsecure/EventTarget.ts
+++ b/ts/textsecure/EventTarget.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
diff --git a/ts/textsecure/KeyChangeListener.ts b/ts/textsecure/KeyChangeListener.ts
index 8b0b97c4df..ad7e1cc816 100644
--- a/ts/textsecure/KeyChangeListener.ts
+++ b/ts/textsecure/KeyChangeListener.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { UUID } from '../types/UUID';
diff --git a/ts/textsecure/MessageReceiver.ts b/ts/textsecure/MessageReceiver.ts
index 142e0ceebe..5df5232598 100644
--- a/ts/textsecure/MessageReceiver.ts
+++ b/ts/textsecure/MessageReceiver.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-bitwise */
diff --git a/ts/textsecure/OutgoingMessage.ts b/ts/textsecure/OutgoingMessage.ts
index 17d994882b..ca2468a20f 100644
--- a/ts/textsecure/OutgoingMessage.ts
+++ b/ts/textsecure/OutgoingMessage.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-explicit-any */
diff --git a/ts/textsecure/ProvisioningCipher.ts b/ts/textsecure/ProvisioningCipher.ts
index ade6b2295a..d28b8bf8e6 100644
--- a/ts/textsecure/ProvisioningCipher.ts
+++ b/ts/textsecure/ProvisioningCipher.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/textsecure/RotateSignedPreKeyListener.ts b/ts/textsecure/RotateSignedPreKeyListener.ts
index 7e66e0c2c3..7c77a5515b 100644
--- a/ts/textsecure/RotateSignedPreKeyListener.ts
+++ b/ts/textsecure/RotateSignedPreKeyListener.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as durations from '../util/durations';
diff --git a/ts/textsecure/SendMessage.ts b/ts/textsecure/SendMessage.ts
index 3d859a8216..f7a4fa375a 100644
--- a/ts/textsecure/SendMessage.ts
+++ b/ts/textsecure/SendMessage.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-bitwise */
diff --git a/ts/textsecure/Storage.ts b/ts/textsecure/Storage.ts
index 1e13f9849f..1908dc089d 100644
--- a/ts/textsecure/Storage.ts
+++ b/ts/textsecure/Storage.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/ts/textsecure/SyncRequest.ts b/ts/textsecure/SyncRequest.ts
index 2020e312c8..a62bcc61b0 100644
--- a/ts/textsecure/SyncRequest.ts
+++ b/ts/textsecure/SyncRequest.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-explicit-any */
diff --git a/ts/textsecure/TaskWithTimeout.ts b/ts/textsecure/TaskWithTimeout.ts
index 83c2e0d06f..d03dda2f77 100644
--- a/ts/textsecure/TaskWithTimeout.ts
+++ b/ts/textsecure/TaskWithTimeout.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { MINUTE } from '../util/durations';
diff --git a/ts/textsecure/Types.d.ts b/ts/textsecure/Types.d.ts
index d451c53083..536b485947 100644
--- a/ts/textsecure/Types.d.ts
+++ b/ts/textsecure/Types.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { SignalService as Proto } from '../protobuf';
diff --git a/ts/textsecure/Utils.ts b/ts/textsecure/Utils.ts
index 8ad21f6da3..c68895e25f 100644
--- a/ts/textsecure/Utils.ts
+++ b/ts/textsecure/Utils.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../logging/log';
diff --git a/ts/textsecure/WebAPI.ts b/ts/textsecure/WebAPI.ts
index 5bb24eaf63..26691cc279 100644
--- a/ts/textsecure/WebAPI.ts
+++ b/ts/textsecure/WebAPI.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-param-reassign */
diff --git a/ts/textsecure/WebsocketResources.ts b/ts/textsecure/WebsocketResources.ts
index 69b44eb523..64c2ba2fd0 100644
--- a/ts/textsecure/WebsocketResources.ts
+++ b/ts/textsecure/WebsocketResources.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/textsecure/cds/CDSSocketBase.ts b/ts/textsecure/cds/CDSSocketBase.ts
index b7a2b2762f..b064b7b775 100644
--- a/ts/textsecure/cds/CDSSocketBase.ts
+++ b/ts/textsecure/cds/CDSSocketBase.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { EventEmitter } from 'events';
diff --git a/ts/textsecure/cds/CDSSocketManagerBase.ts b/ts/textsecure/cds/CDSSocketManagerBase.ts
index 99ab50bf59..0fbf369cd9 100644
--- a/ts/textsecure/cds/CDSSocketManagerBase.ts
+++ b/ts/textsecure/cds/CDSSocketManagerBase.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { connection as WebSocket } from 'websocket';
diff --git a/ts/textsecure/cds/Types.d.ts b/ts/textsecure/cds/Types.d.ts
index e8eae75008..32558dba56 100644
--- a/ts/textsecure/cds/Types.d.ts
+++ b/ts/textsecure/cds/Types.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { UUIDStringType } from '../../types/UUID';
diff --git a/ts/textsecure/downloadAttachment.ts b/ts/textsecure/downloadAttachment.ts
index 7b30c9c7af..d8543de151 100644
--- a/ts/textsecure/downloadAttachment.ts
+++ b/ts/textsecure/downloadAttachment.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber, omit } from 'lodash';
diff --git a/ts/textsecure/messageReceiverEvents.ts b/ts/textsecure/messageReceiverEvents.ts
index cbe7b2ae55..7b602fbe5c 100644
--- a/ts/textsecure/messageReceiverEvents.ts
+++ b/ts/textsecure/messageReceiverEvents.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/textsecure/processDataMessage.ts b/ts/textsecure/processDataMessage.ts
index a06189b2f4..2d4a49b5db 100644
--- a/ts/textsecure/processDataMessage.ts
+++ b/ts/textsecure/processDataMessage.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import Long from 'long';
diff --git a/ts/textsecure/storage/Blocked.ts b/ts/textsecure/storage/Blocked.ts
index 7e9b8f9044..16080f7b89 100644
--- a/ts/textsecure/storage/Blocked.ts
+++ b/ts/textsecure/storage/Blocked.ts
@@ -1,4 +1,4 @@
-// Copyright 2016-2021 Signal Messenger, LLC
+// Copyright 2016 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { without } from 'lodash';
diff --git a/ts/types/Attachment.ts b/ts/types/Attachment.ts
index ca851aeb84..1bedaac683 100644
--- a/ts/types/Attachment.ts
+++ b/ts/types/Attachment.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import is from '@sindresorhus/is';
diff --git a/ts/types/Calling.ts b/ts/types/Calling.ts
index cc9fc267fa..a29daacaea 100644
--- a/ts/types/Calling.ts
+++ b/ts/types/Calling.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { AudioDevice } from 'ringrtc';
diff --git a/ts/types/Colors.ts b/ts/types/Colors.ts
index 0f41a5ea4e..797532baaf 100644
--- a/ts/types/Colors.ts
+++ b/ts/types/Colors.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export const AvatarColorMap = new Map([
diff --git a/ts/types/Conversation.ts b/ts/types/Conversation.ts
index 29bc7755b4..578bb1307e 100644
--- a/ts/types/Conversation.ts
+++ b/ts/types/Conversation.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ConversationAttributesType } from '../model-types.d';
diff --git a/ts/types/EmbeddedContact.ts b/ts/types/EmbeddedContact.ts
index a7504e86d9..375f167d98 100644
--- a/ts/types/EmbeddedContact.ts
+++ b/ts/types/EmbeddedContact.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { omit } from 'lodash';
diff --git a/ts/types/IndexedDB.ts b/ts/types/IndexedDB.ts
index 312e2433fd..b6eaf6a3b9 100644
--- a/ts/types/IndexedDB.ts
+++ b/ts/types/IndexedDB.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// IndexedDB doesn’t support boolean indexes so we map `true` to 1 and `false`
diff --git a/ts/types/LinkPreview.ts b/ts/types/LinkPreview.ts
index f95ee89db2..04efa649a2 100644
--- a/ts/types/LinkPreview.ts
+++ b/ts/types/LinkPreview.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber, compact, isEmpty, range } from 'lodash';
diff --git a/ts/types/MIME.ts b/ts/types/MIME.ts
index 15712892f9..04f77b2a19 100644
--- a/ts/types/MIME.ts
+++ b/ts/types/MIME.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export type MIMEType = string & { _mimeTypeBrand: never };
diff --git a/ts/types/MapAsync.ts b/ts/types/MapAsync.ts
index 2ebb8f5ecb..961190337a 100644
--- a/ts/types/MapAsync.ts
+++ b/ts/types/MapAsync.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export type MapAsync = (value: T) => Promise;
diff --git a/ts/types/MediaItem.ts b/ts/types/MediaItem.ts
index 1259b3a025..ecbf3e9091 100644
--- a/ts/types/MediaItem.ts
+++ b/ts/types/MediaItem.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MessageAttributesType } from '../model-types.d';
diff --git a/ts/types/Message.ts b/ts/types/Message.ts
index 64530d9efd..c515df03b9 100644
--- a/ts/types/Message.ts
+++ b/ts/types/Message.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { DurationInSeconds } from '../util/durations';
diff --git a/ts/types/Message2.ts b/ts/types/Message2.ts
index 56ded98b0b..9453b49bc5 100644
--- a/ts/types/Message2.ts
+++ b/ts/types/Message2.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isFunction, isObject, isString, omit } from 'lodash';
diff --git a/ts/types/PhoneNumber.ts b/ts/types/PhoneNumber.ts
index 72ca1a5fa0..97bf670196 100644
--- a/ts/types/PhoneNumber.ts
+++ b/ts/types/PhoneNumber.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import memoizee from 'memoizee';
diff --git a/ts/types/SchemaVersion.ts b/ts/types/SchemaVersion.ts
index 96699ebbf2..ca2437e800 100644
--- a/ts/types/SchemaVersion.ts
+++ b/ts/types/SchemaVersion.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber } from 'lodash';
diff --git a/ts/types/Settings.ts b/ts/types/Settings.ts
index bd9e11062b..dbad91bf3e 100644
--- a/ts/types/Settings.ts
+++ b/ts/types/Settings.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import semver from 'semver';
diff --git a/ts/types/Stickers.ts b/ts/types/Stickers.ts
index 45bea57162..1b017797f4 100644
--- a/ts/types/Stickers.ts
+++ b/ts/types/Stickers.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { isNumber, pick, reject, groupBy, values } from 'lodash';
diff --git a/ts/types/Storage.d.ts b/ts/types/Storage.d.ts
index 307dacca85..2882d95697 100644
--- a/ts/types/Storage.d.ts
+++ b/ts/types/Storage.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { AudioDevice } from 'ringrtc';
diff --git a/ts/types/StorageService.d.ts b/ts/types/StorageService.d.ts
index df6ba9d18a..1844a608cc 100644
--- a/ts/types/StorageService.d.ts
+++ b/ts/types/StorageService.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export type ExtendedStorageID = {
diff --git a/ts/types/Util.ts b/ts/types/Util.ts
index 37d49f189b..6ac78aa2dc 100644
--- a/ts/types/Util.ts
+++ b/ts/types/Util.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { IntlShape } from 'react-intl';
diff --git a/ts/types/VisualAttachment.ts b/ts/types/VisualAttachment.ts
index 9e049a0f53..5d360eccf2 100644
--- a/ts/types/VisualAttachment.ts
+++ b/ts/types/VisualAttachment.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import loadImage from 'blueimp-load-image';
diff --git a/ts/types/errors.ts b/ts/types/errors.ts
index 7b65721a13..b029fea773 100644
--- a/ts/types/errors.ts
+++ b/ts/types/errors.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { get, has } from 'lodash';
diff --git a/ts/types/menu.ts b/ts/types/menu.ts
index fa7ab98f3f..7ed0f0bbd6 100644
--- a/ts/types/menu.ts
+++ b/ts/types/menu.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MenuItemConstructorOptions } from 'electron';
diff --git a/ts/types/message/initializeAttachmentMetadata.ts b/ts/types/message/initializeAttachmentMetadata.ts
index ab8fb711f9..fa4ab7187b 100644
--- a/ts/types/message/initializeAttachmentMetadata.ts
+++ b/ts/types/message/initializeAttachmentMetadata.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as Attachment from '../Attachment';
diff --git a/ts/updater/common.ts b/ts/updater/common.ts
index 92b4a66da0..5d32686a86 100644
--- a/ts/updater/common.ts
+++ b/ts/updater/common.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/updater/curve.ts b/ts/updater/curve.ts
index b8944e45f6..352dda1ec3 100644
--- a/ts/updater/curve.ts
+++ b/ts/updater/curve.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { PrivateKey, PublicKey } from '@signalapp/libsignal-client';
diff --git a/ts/updater/generateKeyPair.ts b/ts/updater/generateKeyPair.ts
index 651fd18469..fbfe1dd813 100644
--- a/ts/updater/generateKeyPair.ts
+++ b/ts/updater/generateKeyPair.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/updater/generateSignature.ts b/ts/updater/generateSignature.ts
index 412aa5929f..af2e834852 100644
--- a/ts/updater/generateSignature.ts
+++ b/ts/updater/generateSignature.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/updater/got.ts b/ts/updater/got.ts
index 9dfe6fa0db..1572eb0283 100644
--- a/ts/updater/got.ts
+++ b/ts/updater/got.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { StrictOptions as GotOptions } from 'got';
diff --git a/ts/updater/index.ts b/ts/updater/index.ts
index c73e77cab5..edf48eac73 100644
--- a/ts/updater/index.ts
+++ b/ts/updater/index.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import config from 'config';
diff --git a/ts/updater/macos.ts b/ts/updater/macos.ts
index fefbfc9b71..adb0e591ad 100644
--- a/ts/updater/macos.ts
+++ b/ts/updater/macos.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createReadStream, statSync } from 'fs';
diff --git a/ts/updater/signature.ts b/ts/updater/signature.ts
index d752e9f030..0a5294636c 100644
--- a/ts/updater/signature.ts
+++ b/ts/updater/signature.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createHash } from 'crypto';
diff --git a/ts/updater/windows.ts b/ts/updater/windows.ts
index bfdb2e52d2..f36e379a97 100644
--- a/ts/updater/windows.ts
+++ b/ts/updater/windows.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/ts/util/GoogleChrome.ts b/ts/util/GoogleChrome.ts
index f9a4edecce..ff0df00de6 100644
--- a/ts/util/GoogleChrome.ts
+++ b/ts/util/GoogleChrome.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type * as MIME from '../types/MIME';
diff --git a/ts/util/MessageController.ts b/ts/util/MessageController.ts
index bf41d454aa..92e581b050 100644
--- a/ts/util/MessageController.ts
+++ b/ts/util/MessageController.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MessageModel } from '../models/messages';
diff --git a/ts/util/areArraysMatchingSets.ts b/ts/util/areArraysMatchingSets.ts
index f428413ee9..a6168dc30c 100644
--- a/ts/util/areArraysMatchingSets.ts
+++ b/ts/util/areArraysMatchingSets.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function areArraysMatchingSets(
diff --git a/ts/util/arrayBufferToObjectURL.ts b/ts/util/arrayBufferToObjectURL.ts
index 3196b0e4a4..5972ee91b6 100644
--- a/ts/util/arrayBufferToObjectURL.ts
+++ b/ts/util/arrayBufferToObjectURL.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import is from '@sindresorhus/is';
diff --git a/ts/util/assignWithNoUnnecessaryAllocation.ts b/ts/util/assignWithNoUnnecessaryAllocation.ts
index bcdda4fcf9..9e6337dc83 100644
--- a/ts/util/assignWithNoUnnecessaryAllocation.ts
+++ b/ts/util/assignWithNoUnnecessaryAllocation.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { has } from 'lodash';
diff --git a/ts/util/batcher.ts b/ts/util/batcher.ts
index 0e73950a9b..b123b41d26 100644
--- a/ts/util/batcher.ts
+++ b/ts/util/batcher.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/util/callingNotification.ts b/ts/util/callingNotification.ts
index 348e8f955c..ac86368102 100644
--- a/ts/util/callingNotification.ts
+++ b/ts/util/callingNotification.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LocalizerType } from '../types/Util';
diff --git a/ts/util/callingTones.ts b/ts/util/callingTones.ts
index c4d45d8a5c..5e0f3f2391 100644
--- a/ts/util/callingTones.ts
+++ b/ts/util/callingTones.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/util/cleanSearchTerm.ts b/ts/util/cleanSearchTerm.ts
index f77fa513cd..995df3053f 100644
--- a/ts/util/cleanSearchTerm.ts
+++ b/ts/util/cleanSearchTerm.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function cleanSearchTerm(searchTerm: string): string {
diff --git a/ts/util/combineNames.ts b/ts/util/combineNames.ts
index f002360abe..7f83fe9524 100644
--- a/ts/util/combineNames.ts
+++ b/ts/util/combineNames.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable camelcase */
diff --git a/ts/util/createIPCEvents.ts b/ts/util/createIPCEvents.ts
index 8708cb90fa..bc55c853b6 100644
--- a/ts/util/createIPCEvents.ts
+++ b/ts/util/createIPCEvents.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { webFrame } from 'electron';
diff --git a/ts/util/deleteAllLogs.ts b/ts/util/deleteAllLogs.ts
index 83f43dee1a..18cd78e2f1 100644
--- a/ts/util/deleteAllLogs.ts
+++ b/ts/util/deleteAllLogs.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer } from 'electron';
diff --git a/ts/util/deleteForEveryone.ts b/ts/util/deleteForEveryone.ts
index 0c5cdf9d8a..9597c94956 100644
--- a/ts/util/deleteForEveryone.ts
+++ b/ts/util/deleteForEveryone.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { DeleteModel } from '../messageModifiers/Deletes';
diff --git a/ts/util/expirationTimer.ts b/ts/util/expirationTimer.ts
index 205682eeed..22126eb1d9 100644
--- a/ts/util/expirationTimer.ts
+++ b/ts/util/expirationTimer.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import humanizeDuration from 'humanize-duration';
diff --git a/ts/util/formatDuration.ts b/ts/util/formatDuration.ts
index 281299638e..9a3954ed6c 100644
--- a/ts/util/formatDuration.ts
+++ b/ts/util/formatDuration.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import moment from 'moment';
diff --git a/ts/util/getAnimatedPngDataIfExists.ts b/ts/util/getAnimatedPngDataIfExists.ts
index 34e9c7ca30..05bbe755f3 100644
--- a/ts/util/getAnimatedPngDataIfExists.ts
+++ b/ts/util/getAnimatedPngDataIfExists.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const PNG_SIGNATURE = new Uint8Array([137, 80, 78, 71, 13, 10, 26, 10]);
diff --git a/ts/util/getBasicAuth.ts b/ts/util/getBasicAuth.ts
index 64cb06d614..3957b9e387 100644
--- a/ts/util/getBasicAuth.ts
+++ b/ts/util/getBasicAuth.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { fromString, toBase64 } from '../Bytes';
diff --git a/ts/util/getInitials.ts b/ts/util/getInitials.ts
index dca212b1ed..80737cca55 100644
--- a/ts/util/getInitials.ts
+++ b/ts/util/getInitials.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function getInitials(name?: string): string | undefined {
diff --git a/ts/util/getMessageTimestamp.ts b/ts/util/getMessageTimestamp.ts
index 17e724ed6a..95c87d719e 100644
--- a/ts/util/getMessageTimestamp.ts
+++ b/ts/util/getMessageTimestamp.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MessageAttributesType } from '../model-types.d';
diff --git a/ts/util/getMuteOptions.ts b/ts/util/getMuteOptions.ts
index 30be76b213..9b15683b6c 100644
--- a/ts/util/getMuteOptions.ts
+++ b/ts/util/getMuteOptions.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as durations from './durations';
diff --git a/ts/util/getMutedUntilText.ts b/ts/util/getMutedUntilText.ts
index 30604f5db1..c2e00f5298 100644
--- a/ts/util/getMutedUntilText.ts
+++ b/ts/util/getMutedUntilText.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import moment from 'moment';
diff --git a/ts/util/getOwn.ts b/ts/util/getOwn.ts
index c39baa2b6f..5d5e12ca61 100644
--- a/ts/util/getOwn.ts
+++ b/ts/util/getOwn.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { has } from 'lodash';
diff --git a/ts/util/getProfile.ts b/ts/util/getProfile.ts
index 1765438fdd..7d9e7f3865 100644
--- a/ts/util/getProfile.ts
+++ b/ts/util/getProfile.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../logging/log';
diff --git a/ts/util/getSendOptions.ts b/ts/util/getSendOptions.ts
index 3b6996ebcf..79630203fb 100644
--- a/ts/util/getSendOptions.ts
+++ b/ts/util/getSendOptions.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ConversationAttributesType } from '../model-types.d';
diff --git a/ts/util/getStreamWithTimeout.ts b/ts/util/getStreamWithTimeout.ts
index 00390bf909..c9f14c0bbb 100644
--- a/ts/util/getStreamWithTimeout.ts
+++ b/ts/util/getStreamWithTimeout.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Readable } from 'stream';
diff --git a/ts/util/grapheme.ts b/ts/util/grapheme.ts
index ba483e66a7..dd245e2974 100644
--- a/ts/util/grapheme.ts
+++ b/ts/util/grapheme.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { map, size, take, join } from './iterables';
diff --git a/ts/util/graphemeAndLinkAwareSlice.ts b/ts/util/graphemeAndLinkAwareSlice.ts
index 374b923b92..389f1e7075 100644
--- a/ts/util/graphemeAndLinkAwareSlice.ts
+++ b/ts/util/graphemeAndLinkAwareSlice.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import LinkifyIt from 'linkify-it';
diff --git a/ts/util/handleImageAttachment.ts b/ts/util/handleImageAttachment.ts
index 5b15a207a0..09fe1422cb 100644
--- a/ts/util/handleImageAttachment.ts
+++ b/ts/util/handleImageAttachment.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import path from 'path';
diff --git a/ts/util/handleMessageSend.ts b/ts/util/handleMessageSend.ts
index 7c28e29b27..603b830862 100644
--- a/ts/util/handleMessageSend.ts
+++ b/ts/util/handleMessageSend.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { z } from 'zod';
diff --git a/ts/util/handleRetry.ts b/ts/util/handleRetry.ts
index d382ec1bf0..5e19117800 100644
--- a/ts/util/handleRetry.ts
+++ b/ts/util/handleRetry.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import {
diff --git a/ts/util/hasAttachmentDownloads.ts b/ts/util/hasAttachmentDownloads.ts
index 0a05abd56f..5d753241d6 100644
--- a/ts/util/hasAttachmentDownloads.ts
+++ b/ts/util/hasAttachmentDownloads.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { partition } from 'lodash';
diff --git a/ts/util/idForLogging.ts b/ts/util/idForLogging.ts
index 8d0096f985..de6fba1085 100644
--- a/ts/util/idForLogging.ts
+++ b/ts/util/idForLogging.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type {
diff --git a/ts/util/index.ts b/ts/util/index.ts
index a430a3eb17..60a914eeff 100644
--- a/ts/util/index.ts
+++ b/ts/util/index.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as GoogleChrome from './GoogleChrome';
diff --git a/ts/util/isConversationMuted.ts b/ts/util/isConversationMuted.ts
index 2ccb754901..e778429fec 100644
--- a/ts/util/isConversationMuted.ts
+++ b/ts/util/isConversationMuted.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ConversationAttributesType } from '../model-types.d';
diff --git a/ts/util/isEmojiOnlyText.tsx b/ts/util/isEmojiOnlyText.tsx
index 94907e9a1e..64a9ea381f 100644
--- a/ts/util/isEmojiOnlyText.tsx
+++ b/ts/util/isEmojiOnlyText.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import emojiRegex from 'emoji-regex';
diff --git a/ts/util/isFileDangerous.ts b/ts/util/isFileDangerous.ts
index 1b88e3bd07..7657f5054a 100644
--- a/ts/util/isFileDangerous.ts
+++ b/ts/util/isFileDangerous.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const DANGEROUS_FILE_TYPES =
diff --git a/ts/util/iterables.ts b/ts/util/iterables.ts
index 8e69dc350c..422ac42840 100644
--- a/ts/util/iterables.ts
+++ b/ts/util/iterables.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable max-classes-per-file */
diff --git a/ts/util/libphonenumberInstance.ts b/ts/util/libphonenumberInstance.ts
index 8edc259070..174b5a02ef 100644
--- a/ts/util/libphonenumberInstance.ts
+++ b/ts/util/libphonenumberInstance.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import libphonenumber from 'google-libphonenumber';
diff --git a/ts/util/libphonenumberUtil.ts b/ts/util/libphonenumberUtil.ts
index c9fb9f69e2..26115ad65a 100644
--- a/ts/util/libphonenumberUtil.ts
+++ b/ts/util/libphonenumberUtil.ts
@@ -1,4 +1,4 @@
-// Copyright 2014-2022 Signal Messenger, LLC
+// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import {
diff --git a/ts/util/lint/analyze_exceptions.ts b/ts/util/lint/analyze_exceptions.ts
index 98734d2435..a0552d1a12 100644
--- a/ts/util/lint/analyze_exceptions.ts
+++ b/ts/util/lint/analyze_exceptions.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/ts/util/lint/license_comments.ts b/ts/util/lint/license_comments.ts
index a692ac7a2b..88ee72728b 100644
--- a/ts/util/lint/license_comments.ts
+++ b/ts/util/lint/license_comments.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// This file doesn't check the format of license files, just the end year. See
@@ -11,6 +11,8 @@ import * as fs from 'fs';
import { promisify } from 'util';
import * as childProcess from 'child_process';
import pMap from 'p-map';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import chalk from 'chalk';
const exec = promisify(childProcess.exec);
@@ -102,7 +104,10 @@ export function readFirstLines(
input: fs.createReadStream(file),
});
lineReader.on('line', line => {
- lines.push(line);
+ // `lineReader.close()` does not guarantee 'line' won't be emitted again
+ if (lines.length < count) {
+ lines.push(line);
+ }
if (lines.length >= count) {
lineReader.close();
}
@@ -113,15 +118,26 @@ export function readFirstLines(
});
}
-async function getLatestCommitYearForFile(file: string): Promise {
- const dateString = (
+async function getCommitFileWasAdded(
+ file: string
+): Promise<{ commitYear: number; commitHash: string }> {
+ const logLine = (
await new Promise((resolve, reject) => {
let result = '';
// We use the more verbose `spawn` to avoid command injection, in case the filename
// has strange characters.
const gitLog = childProcess.spawn(
'git',
- ['log', '-1', '--format=%as', file],
+ [
+ // From: https://stackoverflow.com/questions/11533199/how-to-find-the-commit-in-which-a-given-file-was-added
+ 'log',
+ '-1', // limit number of lines to return to 1
+ '--diff-filter=A', // select only files that are added (A)
+ '--follow', // continue listing the history of a file beyond renames
+ '--find-renames=40%', // consider a delete/add pair to be a rename if less than 40% of the file has changed (default 50%)
+ '--format=%as %h', // display commit as date YYYY-MM-DD
+ file,
+ ],
{
cwd: rootPath,
env: { PATH: process.env.PATH },
@@ -140,27 +156,110 @@ async function getLatestCommitYearForFile(file: string): Promise {
})
).trim();
- const result = new Date(dateString).getFullYear();
- assert(!Number.isNaN(result), `Could not read commit year for ${file}`);
- return result;
+ const [dateString, commitHash] = logLine.split(' ');
+
+ const commitYear = new Date(dateString).getFullYear();
+ assert(!Number.isNaN(commitYear), `Could not read commit year for ${file}`);
+ return { commitYear, commitHash };
+}
+
+type Failure = {
+ file: string;
+ warnings: Array;
+};
+
+function indent(text: string) {
+ return text
+ .split('\n')
+ .map(line => ` ${line}`)
+ .join('\n');
}
async function main() {
- const currentYear = new Date().getFullYear() + 1;
+ const currentYear = new Date().getFullYear();
+ const failures: Array = [];
await forEachRelevantFile(async file => {
- const [firstLine] = await readFirstLines(file, 1);
- const { groups = {} } =
- firstLine.match(/(?:\d{4}-)?(?\d{4})/) || {};
- const { endYearString } = groups;
- const endYear = Number(endYearString);
+ let lines: Array;
+ let firstLine: string | void;
+ let secondLine: string | void;
- assert(
- endYear === currentYear ||
- endYear === (await getLatestCommitYearForFile(file)),
- `${file} has an invalid end license year`
- );
+ if (getExtension(file) === '.sh') {
+ lines = await readFirstLines(file, 3);
+ [, firstLine, secondLine] = lines;
+ } else {
+ lines = await readFirstLines(file, 2);
+ [firstLine, secondLine] = lines;
+ }
+
+ const warnings = [];
+
+ if (!/Copyright \d{4} Signal Messenger, LLC/.test(firstLine)) {
+ const commit = await getCommitFileWasAdded(file);
+ warnings.push(
+ chalk.red('Missing/Incorrect copyright line'),
+ indent(
+ chalk.green(
+ `Expected: "Copyright ${commit.commitYear} Signal Messenger, LLC"`
+ )
+ ),
+ indent(chalk.yellow(`Actual: "${firstLine}"`)),
+ indent(
+ chalk.italic.dim(
+ `Tip: Looks like this file was added in ${commit.commitHash} in ${commit.commitYear}`
+ )
+ ),
+ indent(
+ chalk.italic.dim(
+ `Tip: You can also use the current year (${currentYear})`
+ )
+ )
+ );
+ } else if (/\d{4}-\d{4}/.test(firstLine)) {
+ warnings.push(
+ chalk.red('Copyright should not include end year'),
+ indent(chalk.yellow(`Actual: "${firstLine}"`))
+ );
+ }
+
+ if (!secondLine.includes('SPDX-License-Identifier: AGPL-3.0-only')) {
+ warnings.push(
+ chalk.red('Missing/incorrect license line'),
+ indent(
+ chalk.green('Expected: "SPDX-License-Identifier: AGPL-3.0-only"')
+ ),
+ indent(chalk.yellow(`Actual: "${secondLine}"`))
+ );
+ }
+
+ if (warnings.length) {
+ failures.push({ file, warnings });
+ }
});
+
+ const failed = failures.length > 0;
+
+ /* eslint-disable no-console */
+ if (failed) {
+ console.log();
+ console.log(
+ chalk.magenta.bold(
+ 'Some files are missing/contain incorrect copyrights/licenses:'
+ )
+ );
+ console.log();
+ for (const failure of failures) {
+ console.log(chalk.bold(`${failure.file}:`));
+ console.log(indent(failure.warnings.join('\n')));
+ console.log();
+ }
+
+ console.log(chalk.magenta.bold('`yarn lint-license-comments` failed'));
+ console.log();
+
+ process.exit(1);
+ }
+ /* eslint-enable no-console */
}
// Note: this check will fail if we switch to ES modules. See
diff --git a/ts/util/lint/linter.ts b/ts/util/lint/linter.ts
index 46cf73d202..b78c3dbe5a 100644
--- a/ts/util/lint/linter.ts
+++ b/ts/util/lint/linter.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/util/lint/sort_exceptions.ts b/ts/util/lint/sort_exceptions.ts
index 7b7306b8b9..7b481e3ba3 100644
--- a/ts/util/lint/sort_exceptions.ts
+++ b/ts/util/lint/sort_exceptions.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { join } from 'path';
diff --git a/ts/util/lint/types.ts b/ts/util/lint/types.ts
index 7f04a445f2..56626af84b 100644
--- a/ts/util/lint/types.ts
+++ b/ts/util/lint/types.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Tool requirements:
diff --git a/ts/util/lint/util.ts b/ts/util/lint/util.ts
index d8c6edff4b..1767715cb1 100644
--- a/ts/util/lint/util.ts
+++ b/ts/util/lint/util.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { readJsonSync, writeJsonSync } from 'fs-extra';
diff --git a/ts/util/loadRecentEmojis.ts b/ts/util/loadRecentEmojis.ts
index 5c42c73ded..5ebf14bbd3 100644
--- a/ts/util/loadRecentEmojis.ts
+++ b/ts/util/loadRecentEmojis.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2021 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { take } from 'lodash';
diff --git a/ts/util/longRunningTaskWrapper.tsx b/ts/util/longRunningTaskWrapper.tsx
index 553fa866d5..d1c4577204 100644
--- a/ts/util/longRunningTaskWrapper.tsx
+++ b/ts/util/longRunningTaskWrapper.tsx
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/util/makeLookup.ts b/ts/util/makeLookup.ts
index 7cb8af65ff..0f2309c9d2 100644
--- a/ts/util/makeLookup.ts
+++ b/ts/util/makeLookup.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function makeLookup(
diff --git a/ts/util/markConversationRead.ts b/ts/util/markConversationRead.ts
index 5e074621bd..27d1c243a5 100644
--- a/ts/util/markConversationRead.ts
+++ b/ts/util/markConversationRead.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { omit } from 'lodash';
diff --git a/ts/util/migrateColor.ts b/ts/util/migrateColor.ts
index 0e5abfa501..e435079d47 100644
--- a/ts/util/migrateColor.ts
+++ b/ts/util/migrateColor.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { sample } from 'lodash';
diff --git a/ts/util/missingCaseError.ts b/ts/util/missingCaseError.ts
index 6021b2523f..bad120b293 100644
--- a/ts/util/missingCaseError.ts
+++ b/ts/util/missingCaseError.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { reallyJsonStringify } from './reallyJsonStringify';
diff --git a/ts/util/parseRetryAfter.ts b/ts/util/parseRetryAfter.ts
index 1b3d4e439f..6cd2042200 100644
--- a/ts/util/parseRetryAfter.ts
+++ b/ts/util/parseRetryAfter.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { SECOND, MINUTE } from './durations';
diff --git a/ts/util/privacy.ts b/ts/util/privacy.ts
index 6ecd1d8c78..d72b40511f 100644
--- a/ts/util/privacy.ts
+++ b/ts/util/privacy.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2021 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-env node */
diff --git a/ts/util/queueAttachmentDownloads.ts b/ts/util/queueAttachmentDownloads.ts
index 024288516f..5824f08f9f 100644
--- a/ts/util/queueAttachmentDownloads.ts
+++ b/ts/util/queueAttachmentDownloads.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { partition } from 'lodash';
diff --git a/ts/util/resolveAttachmentDraftData.ts b/ts/util/resolveAttachmentDraftData.ts
index 543966dbb8..1bdb8ef09f 100644
--- a/ts/util/resolveAttachmentDraftData.ts
+++ b/ts/util/resolveAttachmentDraftData.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../logging/log';
diff --git a/ts/util/scaleImageToLevel.ts b/ts/util/scaleImageToLevel.ts
index f183f7e944..9b94bdee68 100644
--- a/ts/util/scaleImageToLevel.ts
+++ b/ts/util/scaleImageToLevel.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import loadImage from 'blueimp-load-image';
diff --git a/ts/util/scrollUtil.ts b/ts/util/scrollUtil.ts
index 4725540029..86b2c02b6b 100644
--- a/ts/util/scrollUtil.ts
+++ b/ts/util/scrollUtil.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export const getScrollBottom = (
diff --git a/ts/util/sendReceipts.ts b/ts/util/sendReceipts.ts
index 417340c97f..4c51d4946b 100644
--- a/ts/util/sendReceipts.ts
+++ b/ts/util/sendReceipts.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { chunk } from 'lodash';
diff --git a/ts/util/sendToGroup.ts b/ts/util/sendToGroup.ts
index 217b165707..f5567e37ea 100644
--- a/ts/util/sendToGroup.ts
+++ b/ts/util/sendToGroup.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { differenceWith, omit, partition } from 'lodash';
diff --git a/ts/util/setUtil.ts b/ts/util/setUtil.ts
index 1652bb5510..cb6c38d0cd 100644
--- a/ts/util/setUtil.ts
+++ b/ts/util/setUtil.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { every } from './iterables';
diff --git a/ts/util/setupI18n.ts b/ts/util/setupI18n.ts
index 47383cb48a..271bfc87df 100644
--- a/ts/util/setupI18n.ts
+++ b/ts/util/setupI18n.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2020 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import memoize from '@formatjs/fast-memoize';
diff --git a/ts/util/sgnlHref.ts b/ts/util/sgnlHref.ts
index 4fba7960b9..7d0c8fe64d 100644
--- a/ts/util/sgnlHref.ts
+++ b/ts/util/sgnlHref.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { LoggerType } from '../types/Logging';
diff --git a/ts/util/shouldNeverBeCalled.ts b/ts/util/shouldNeverBeCalled.ts
index 0d0b2272d1..9bb786e948 100644
--- a/ts/util/shouldNeverBeCalled.ts
+++ b/ts/util/shouldNeverBeCalled.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assertDev } from './assert';
diff --git a/ts/util/sniffImageMimeType.ts b/ts/util/sniffImageMimeType.ts
index a68cc1fb32..95ab76bc21 100644
--- a/ts/util/sniffImageMimeType.ts
+++ b/ts/util/sniffImageMimeType.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { MIMEType } from '../types/MIME';
diff --git a/ts/util/sortByTitle.ts b/ts/util/sortByTitle.ts
index 28efb1febb..521becded4 100644
--- a/ts/util/sortByTitle.ts
+++ b/ts/util/sortByTitle.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
type HasTitle = {
diff --git a/ts/util/startTimeTravelDetector.ts b/ts/util/startTimeTravelDetector.ts
index 64107ae80b..58bd39e904 100644
--- a/ts/util/startTimeTravelDetector.ts
+++ b/ts/util/startTimeTravelDetector.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const INTERVAL = 1000;
diff --git a/ts/util/timer.ts b/ts/util/timer.ts
index 23c4fd7bc0..db3dcf9f34 100644
--- a/ts/util/timer.ts
+++ b/ts/util/timer.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { padStart } from 'lodash';
diff --git a/ts/util/timestamp.ts b/ts/util/timestamp.ts
index bf3620f8de..f1ffc8aed6 100644
--- a/ts/util/timestamp.ts
+++ b/ts/util/timestamp.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Moment } from 'moment';
diff --git a/ts/util/updateOurUsernameAndPni.ts b/ts/util/updateOurUsernameAndPni.ts
index e0e2fcb2a3..3675053bc0 100644
--- a/ts/util/updateOurUsernameAndPni.ts
+++ b/ts/util/updateOurUsernameAndPni.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { strictAssert } from './assert';
diff --git a/ts/util/userLanguages.ts b/ts/util/userLanguages.ts
index 6484e61378..0929090b58 100644
--- a/ts/util/userLanguages.ts
+++ b/ts/util/userLanguages.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// We ["MUST NOT generate more than three digits after the decimal point"][0]. We use a
diff --git a/ts/util/waitBatcher.ts b/ts/util/waitBatcher.ts
index 1e3a8a9a64..1539abe081 100644
--- a/ts/util/waitBatcher.ts
+++ b/ts/util/waitBatcher.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2022 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import PQueue from 'p-queue';
diff --git a/ts/util/waitForOnline.ts b/ts/util/waitForOnline.ts
index 8bf9bfcac9..e61bfe8da8 100644
--- a/ts/util/waitForOnline.ts
+++ b/ts/util/waitForOnline.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { clearTimeoutIfNecessary } from './clearTimeoutIfNecessary';
diff --git a/ts/util/zkgroup.ts b/ts/util/zkgroup.ts
index a3e1b7e3c9..1ac4d77504 100644
--- a/ts/util/zkgroup.ts
+++ b/ts/util/zkgroup.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { ProfileKeyCredentialRequestContext } from '@signalapp/libsignal-client/zkgroup';
diff --git a/ts/window.d.ts b/ts/window.d.ts
index f79431f20b..838a2ffc55 100644
--- a/ts/window.d.ts
+++ b/ts/window.d.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// Captures the globals put in place by preload.js, background.js and others
diff --git a/ts/windows/about/preload.ts b/ts/windows/about/preload.ts
index 0dc214271c..9ebf2f2816 100644
--- a/ts/windows/about/preload.ts
+++ b/ts/windows/about/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/windows/attachments.ts b/ts/windows/attachments.ts
index 686dda450f..04fcf165a4 100644
--- a/ts/windows/attachments.ts
+++ b/ts/windows/attachments.ts
@@ -1,4 +1,4 @@
-// Copyright 2018-2022 Signal Messenger, LLC
+// Copyright 2018 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer } from 'electron';
diff --git a/ts/windows/debuglog/preload.ts b/ts/windows/debuglog/preload.ts
index 3cb4d40ac3..6749479c4d 100644
--- a/ts/windows/debuglog/preload.ts
+++ b/ts/windows/debuglog/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/windows/loading/preload.ts b/ts/windows/loading/preload.ts
index 5dab0f95a9..af191ac214 100644
--- a/ts/windows/loading/preload.ts
+++ b/ts/windows/loading/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2022 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { contextBridge } from 'electron';
diff --git a/ts/windows/loading/start.ts b/ts/windows/loading/start.ts
index 4412a41bd4..2a7d24fa90 100644
--- a/ts/windows/loading/start.ts
+++ b/ts/windows/loading/start.ts
@@ -1,4 +1,4 @@
-// Copyright 2020-2021 Signal Messenger, LLC
+// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
const message = document.getElementById('message');
diff --git a/ts/windows/main/phase4-test.ts b/ts/windows/main/phase4-test.ts
index 7ebd6d9f97..008945e03e 100644
--- a/ts/windows/main/phase4-test.ts
+++ b/ts/windows/main/phase4-test.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-var-requires */
diff --git a/ts/windows/main/preload.ts b/ts/windows/main/preload.ts
index 54cd76cd98..2a3226a2bd 100644
--- a/ts/windows/main/preload.ts
+++ b/ts/windows/main/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable global-require */
diff --git a/ts/windows/main/preload_test.ts b/ts/windows/main/preload_test.ts
index 01863e00b7..363049c165 100644
--- a/ts/windows/main/preload_test.ts
+++ b/ts/windows/main/preload_test.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
diff --git a/ts/windows/main/start.ts b/ts/windows/main/start.ts
index 5fcb06aadc..2bcb261fb8 100644
--- a/ts/windows/main/start.ts
+++ b/ts/windows/main/start.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2022 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as log from '../../logging/log';
diff --git a/ts/windows/permissions/preload.ts b/ts/windows/permissions/preload.ts
index a1d51de932..30f7c66c21 100644
--- a/ts/windows/permissions/preload.ts
+++ b/ts/windows/permissions/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/windows/preload.ts b/ts/windows/preload.ts
index de2cad6232..2832a31174 100644
--- a/ts/windows/preload.ts
+++ b/ts/windows/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2017-2021 Signal Messenger, LLC
+// Copyright 2017 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer as ipc } from 'electron';
diff --git a/ts/windows/screenShare/preload.ts b/ts/windows/screenShare/preload.ts
index 8358d1e31c..2b8e22d8a9 100644
--- a/ts/windows/screenShare/preload.ts
+++ b/ts/windows/screenShare/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/ts/windows/settings/preload.ts b/ts/windows/settings/preload.ts
index eb63252132..2f2dedeb75 100644
--- a/ts/windows/settings/preload.ts
+++ b/ts/windows/settings/preload.ts
@@ -1,4 +1,4 @@
-// Copyright 2021-2022 Signal Messenger, LLC
+// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
diff --git a/webpack.config.ts b/webpack.config.ts
index ca3ea8f837..a204dfbacb 100644
--- a/webpack.config.ts
+++ b/webpack.config.ts
@@ -1,4 +1,4 @@
-// Copyright 2019-2020 Signal Messenger, LLC
+// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { resolve } from 'path';