1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00

chore(deps): WXT 0.20.0 bump + lockfile regen (#199)

* chore(deps): wxt 0.20.0 bump #134

* chore: 3.2.1 manifest bump
This commit is contained in:
2025-11-14 02:16:57 +03:00
committed by GitHub
parent 3cd3c4453d
commit b51dd6083f
26 changed files with 1380 additions and 2153 deletions
@@ -1,6 +1,5 @@
import { Unwatch, WatchCallback, WxtStorageItem } from "wxt/storage";
import { Unwatch, WatchCallback } from "wxt/utils/storage";
import { analytics } from "./analytics";
import { Permissions } from "wxt/browser";
const analyticsPermission: Pick<WxtStorageItem<boolean, Record<string, unknown>>, "getValue" | "watch" | "setValue"> =
{
@@ -9,7 +8,7 @@ const analyticsPermission: Pick<WxtStorageItem<boolean, Record<string, unknown>>
const isGranted: boolean = import.meta.env.FIREFOX
? await browser.permissions.contains({
data_collection: ["technicalAndInteraction"]
})
} as Browser.permissions.Permissions)
: await allowAnalytics.getValue();
analytics.setEnabled(isGranted);
@@ -30,11 +29,11 @@ const analyticsPermission: Pick<WxtStorageItem<boolean, Record<string, unknown>>
if (value)
result = await browser.permissions.request({
data_collection: ["technicalAndInteraction"]
});
} as Browser.permissions.Permissions);
else
result = await browser.permissions.remove({
data_collection: ["technicalAndInteraction"]
});
} as Browser.permissions.Permissions);
if (!result)
throw new Error("Permission request was denied");
@@ -45,11 +44,14 @@ const analyticsPermission: Pick<WxtStorageItem<boolean, Record<string, unknown>>
if (!import.meta.env.FIREFOX)
return allowAnalytics.watch(cb);
const listener = async (permissions: Permissions.Permissions): Promise<void> =>
const listener = async (permissions: Browser.permissions.Permissions): Promise<void> =>
{
// @ts-expect-error Firefox-only API
if (permissions.data_collection?.includes("technicalAndInteraction"))
{
const isGranted: boolean = await browser.permissions.contains({ data_collection: ["technicalAndInteraction"] });
const isGranted: boolean = await browser.permissions.contains({
data_collection: ["technicalAndInteraction"]
} as Browser.permissions.Permissions);
cb(isGranted, !isGranted);
}
};
@@ -44,7 +44,7 @@ function parseCollection(data: string): CollectionItem
return {
type: "collection",
timestamp: parseInt(data.match(/(?<=^c)\d+/)!.toString()),
color: data.match(/(?<=^c\d+\/)[a-z]+/)?.toString() as chrome.tabGroups.ColorEnum,
color: data.match(/(?<=^c\d+\/)[a-z]+/)?.toString() as `${Browser.tabGroups.Color}`,
title: data.match(/(?<=^c[\da-z/]*\|).*/)?.toString(),
items: []
};
@@ -64,7 +64,7 @@ function parseGroup(data: string): GroupItem
return {
type: "group",
pinned: false,
color: data.match(/(?<=^\tg\/)[a-z]+/)?.toString() as chrome.tabGroups.ColorEnum,
color: data.match(/(?<=^\tg\/)[a-z]+/)?.toString() as `${Browser.tabGroups.Color}`,
title: data.match(/(?<=^\tg\/[a-z]+\|).*$/)?.toString(),
items: []
};
@@ -1,12 +1,11 @@
import { trackError } from "@/features/analytics";
import { CollectionItem } from "@/models/CollectionModels";
import getLogger from "@/utils/getLogger";
import sendNotification from "@/utils/sendNotification";
import { compress } from "lzutf8";
import { WxtStorageItem } from "wxt/storage";
import { collectionStorage } from "./collectionStorage";
import getChunkKeys from "./getChunkKeys";
import serializeCollections from "./serializeCollections";
import { trackError } from "@/features/analytics";
import sendNotification from "@/utils/sendNotification";
import getLogger from "@/utils/getLogger";
const logger = getLogger("saveCollectionsToCloud");
@@ -70,7 +69,7 @@ function splitIntoChunks(data: string): string[]
{
// QUOTA_BYTES_PER_ITEM includes length of key name, length of content and 2 more bytes (for unknown reason).
const chunkKey: string = getChunkKeys(collectionStorage.maxChunkCount - 1)[0];
const chunkSize = (chrome.storage.sync.QUOTA_BYTES_PER_ITEM ?? 8192) - chunkKey.length - 2;
const chunkSize = (browser.storage.sync.QUOTA_BYTES_PER_ITEM ?? 8192) - chunkKey.length - 2;
const chunks: string[] = [];
for (let i = 0; i < data.length; i += chunkSize)
@@ -1,5 +1,4 @@
import { Permissions } from "wxt/browser";
import { Unwatch, WatchCallback, WxtStorageItem } from "wxt/storage";
import { Unwatch, WatchCallback } from "wxt/utils/storage";
const thumbnailCaptureEnabled: Pick<WxtStorageItem<boolean, Record<string, unknown>>, "getValue" | "watch" | "setValue"> =
{
@@ -8,7 +7,7 @@ const thumbnailCaptureEnabled: Pick<WxtStorageItem<boolean, Record<string, unkno
watch: (cb: WatchCallback<boolean>): Unwatch =>
{
const listener = async (permissions: Permissions.Permissions): Promise<void> =>
const listener = async (permissions: Browser.permissions.Permissions): Promise<void> =>
{
if (permissions.permissions?.includes("scripting") || permissions.origins?.includes("<all_urls>"))
{
@@ -1,11 +1,11 @@
import { githubLinks } from "@/data/links";
import { analyticsPermission } from "@/features/analytics";
import { thumbnailCaptureEnabled } from "@/features/collectionStorage";
import extLink from "@/utils/extLink";
import * as fui from "@fluentui/react-components";
import { settingsForReview } from "../utils/showSettingsReviewDialog";
import { Unwatch } from "wxt/utils/storage";
import { reviewSettings } from "../utils/setSettingsReviewNeeded";
import { Unwatch } from "wxt/storage";
import { thumbnailCaptureEnabled } from "@/features/collectionStorage";
import { settingsForReview } from "../utils/showSettingsReviewDialog";
export default function SettingsReviewDialog(): React.ReactElement
{
@@ -1,8 +1,7 @@
import { analyticsPermission } from "@/features/analytics";
import { Runtime } from "wxt/browser";
import { settingsForReview } from "./showSettingsReviewDialog";
export default async function setSettingsReviewNeeded(installReason: Runtime.OnInstalledReason, previousVersion?: string): Promise<void>
export default async function setSettingsReviewNeeded(installReason: `${Browser.runtime.OnInstalledReason}`, previousVersion?: string): Promise<void>
{
const needsReview: string[] = await settingsForReview.getValue();
@@ -25,7 +24,7 @@ export const reviewSettings =
THUMBNAILS: "thumbnails"
};
async function checkAnalyticsReviewNeeded(installReason: Runtime.OnInstalledReason, previousVersion?: string): Promise<boolean>
async function checkAnalyticsReviewNeeded(installReason: `${Browser.runtime.OnInstalledReason}`, previousVersion?: string): Promise<boolean>
{
if (installReason === "install")
return !await analyticsPermission.getValue();
@@ -45,7 +44,7 @@ async function checkAnalyticsReviewNeeded(installReason: Runtime.OnInstalledReas
return false;
}
async function checkThumbnailsReviewNeeded(installReason: Runtime.OnInstalledReason, previousVersion?: string): Promise<boolean>
async function checkThumbnailsReviewNeeded(installReason: `${Browser.runtime.OnInstalledReason}`, previousVersion?: string): Promise<boolean>
{
if (installReason === "install")
return true;