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

!feat: tabGroups API for Firefox 139

This commit is contained in:
2025-05-23 16:45:50 +03:00
parent e498e25c57
commit 405f9163f2
4 changed files with 20 additions and 46 deletions
+4 -7
View File
@@ -68,13 +68,10 @@ async function createGroup(group: GroupItem, windowId: number, discard?: boolean
createProperties: { windowId }
});
// Grouping support came in 138, tabGroups is expected to be in 139
// TODO: Remove this check once the API is available
if (!import.meta.env.FIREFOX)
await chrome.tabGroups.update(groupId, {
title: group.title,
color: group.color
});
await chrome.tabGroups.update(groupId, {
title: group.title,
color: group.color
});
}
async function manageWindow(handle: (windowId: number) => Promise<void>, windowProps?: Windows.CreateCreateDataType): Promise<void>
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "tabs-aside",
"private": true,
"version": "3.0.0-rc4",
"version": "3.0.0-rc5",
"type": "module",
"scripts": {
"dev": "wxt",
+10 -31
View File
@@ -88,17 +88,9 @@ async function createCollectionFromTabs(tabs: Tabs.Tab[]): Promise<[CollectionIt
tabs.every(i => i.groupId === tabs[0].groupId)
)
{
// TODO: Remove the check when Firefox 139 is out
if (!import.meta.env.FIREFOX)
{
const group = await browser.tabGroups!.get(tabs[0].groupId);
collection.title = group.title;
collection.color = group.color;
}
else
{
collection.color = "blue";
}
const group = await chrome.tabGroups.get(tabs[0].groupId);
collection.title = group.title;
collection.color = group.color;
tabs.forEach(i =>
collection.items.push({ type: "tab", url: i.url!, title: i.title })
@@ -123,27 +115,14 @@ async function createCollectionFromTabs(tabs: Tabs.Tab[]): Promise<[CollectionIt
if (!activeGroup || activeGroup !== tab.groupId)
{
activeGroup = tab.groupId;
const group = await chrome.tabGroups.get(activeGroup);
// TODO: Remove the check when Firefox 139 is out
if (import.meta.env.FIREFOX)
{
collection.items.push({
type: "group",
color: "blue",
items: []
});
}
else
{
const group = await browser.tabGroups!.get(activeGroup);
collection.items.push({
type: "group",
color: group.color,
title: group.title,
items: []
});
}
collection.items.push({
type: "group",
color: group.color,
title: group.title,
items: []
});
}
(collection.items[collection.items.length - 1] as GroupItem).items.push({
+5 -7
View File
@@ -24,7 +24,8 @@ export default defineConfig({
description: "__MSG_manifest_description__",
homepage_url: "https://github.com/xfox111/TabsAsideExtension/",
action: {
action:
{
default_title: "__MSG_manifest_name__"
},
@@ -36,7 +37,8 @@ export default defineConfig({
"tabs",
"notifications",
"contextMenus",
"bookmarks"
"bookmarks",
"tabGroups"
],
commands:
@@ -78,17 +80,13 @@ export default defineConfig({
gecko:
{
id: "tabsaside@xfox111.net",
strict_min_version: "138.0"
strict_min_version: "139.0"
}
};
// @ts-expect-error author key in Firefox has a different format
manifest.author = "__MSG_manifest_author__";
}
else
{
manifest.permissions!.push("tabGroups");
}
return manifest;
}