Skip to content

id collision leading to bugs #139

@eugene1000x

Description

@eugene1000x

There seems to be collision of ids if same group (with same internal chrome group id) or same tab (with same internal chrome tab id) is added to session multiple times.

1. If same group is added to session multiple times, it is not handled properly. See groups.mp4 for poc.

Export shows that group id has been duplicated:

[
	{
		...
		"tabTree": [
			{
				"id": 1312048148,
				"title": "d",
				...
				"children": [
					{
						...
						"groupId": 1312048148,
						...
						"title": "Google",
						"url": "https://www.google.com/",
						...
					}
				]
			},
			{
				"id": 1312048148,
				"title": "c",
				...
				"children": [
					{
						...
						"groupId": 1312048148,
						...
						"title": "Google",
						"url": "https://www.google.com/",
						...
					}
				]
			},
			{
				"id": 1312048148,
				"title": "b",
				...
				"children": [
					{
						...
						"groupId": 1312048148,
						...
						"title": "Polygon PoS Chain (POL) Blockchain Explorer",
						"url": "https://polygonscan.com/",
						...
					}
				]
			},
			{
				"id": 1312048148,
				"title": "a",
				...
				"children": [
					{
						...
						"groupId": 1312048148,
						...
						"title": "Polygon PoS Chain (POL) Blockchain Explorer",
						"url": "https://polygonscan.com/",
						...
					}
				]
			}
		],
		...
	}
]

2. If same tab is added to session multiple times, there is glitch with deletion - different tab is deleted instead of intended one. See tabs.mp4 for poc.

Export shows that tab id has been duplicated:

[
	{
		...
		"tabTree": [
			{
				...
				"id": 1589573173,
				...
				"title": "Arbitrum One (ETH) Blockchain Explorer",
				"url": "https://arbiscan.io/",
				...
			},
			{
				...
				"title": "a",
				...
				"children": [
					{
						...
						"id": 1589573173,
						...
						"title": "BNB Smart Chain (BNB) Blockchain Explorer",
						"url": "https://bscscan.com/",
						...
					}
				]
			}
		],
		...
	}
]

While in other cases there are unique ids like "Qfw1VpWvOxRCk3s8". So solution might be to always use unique ids.

Browser: chrome.

groups.mp4: https://github.com/user-attachments/assets/d7c10d3d-a857-4082-a6e9-7ec8c9847cd6
tabs.mp4: https://github.com/user-attachments/assets/7ba125ae-849a-4cf2-ac70-ec81c5e4c194

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions