You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
# Nenya: Your Universal Browser Companion
2
2
3
-
**Nenya empowers you to seamlessly manage your browsing sessions, bookmarks, and data across all your browsers, so you're never locked into a single ecosystem.**
3
+
**Nenya empowers you to seamlessly manage your bookmarks, tabs, and data across all your browsers, so you're never locked into a single ecosystem.**
4
4
5
5

6
6
7
-
Nenya is the ultimate browser extension for users who refuse to be tied down to a single browser. It provides a comprehensive suite of tools to manage your tabs, sessions, and bookmarks, and makes it easy to take your data with you, no matter which browser you're using. With Nenya, you can create "projects" of tabs, integrate with Raindrop.io, and enjoy a variety of content interaction features that enhance your browsing experience.
7
+
Nenya is the ultimate browser extension for users who refuse to be tied down to a single browser. It provides a comprehensive suite of tools to manage your tabs, bookmarks, and settings, and makes it easy to take your data with you, no matter which browser you're using. With Nenya, you can integrate with Raindrop.io and enjoy a variety of content interaction features that enhance your browsing experience.
8
8
9
9
## Features
10
10
@@ -13,19 +13,18 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
13
13
-**Tab Rename:** Rename the current tab instantly from popup or keyboard shortcut
14
14
-**Screen Recording:** Start/stop screen recording with one shortcut, then preview and download recordings
15
15
-**Faster Raindrop Saves:** Optimized Unsorted saving with batch APIs and parallel processing
Copy file name to clipboardExpand all lines: docs/STORE.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,26 +1,25 @@
1
1
# Nenya: Your Universal Browser Companion
2
2
3
-
Nenya empowers you to seamlessly manage your browsing sessions, bookmarks, and data across all your browsers, so you're never locked into a single ecosystem.
3
+
Nenya empowers you to seamlessly manage your bookmarks, tabs, and data across all your browsers, so you're never locked into a single ecosystem.
4
4
5
-
Nenya is the ultimate browser extension for users who refuse to be tied down to a single browser. It provides a comprehensive suite of tools to manage your tabs, sessions, and bookmarks, and makes it easy to take your data with you, no matter which browser you're using. With Nenya, you can create "projects" of tabs, integrate with Raindrop.io, and enjoy a variety of content interaction features that enhance your browsing experience.
5
+
Nenya is the ultimate browser extension for users who refuse to be tied down to a single browser. It provides a comprehensive suite of tools to manage your tabs, bookmarks, and settings, and makes it easy to take your data with you, no matter which browser you're using. With Nenya, you can integrate with Raindrop.io and enjoy a variety of content interaction features that enhance your browsing experience.
6
6
7
7
🌟 Features
8
8
9
9
🚀 Latest Updates (v1.46.0 - v1.49.0)
10
10
• Tab Rename: Rename the current tab instantly from popup or keyboard shortcut
11
11
• Screen Recording: Start/stop recording with one shortcut, then preview and download
12
12
• Faster Raindrop Saves: Optimized Unsorted saving with batch APIs and parallel processing
• Save and restore entire browsing sessions as "projects"
15
+
🗂️ Tab Management
17
16
• Automatic tab state preservation with snapshots
18
17
• Quick keyboard shortcuts to navigate between tabs
19
18
• Rename the active tab title directly from popup or shortcut
20
19
• Customize your popup toolbar with pinned shortcuts
21
20
22
21
🔄 Cross-Browser & Sync
23
-
• Seamlessly move projects and data between browsers
22
+
• Seamlessly move bookmarks, settings, and data between browsers
24
23
• Full Raindrop.io integration with two-way sync
25
24
✓ Pull collections from Raindrop
26
25
✓ Save tabs to Raindrop Unsorted (with optional custom title)
@@ -89,13 +88,13 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
89
88
Required for Raindrop.io integration to mirror collections and items as browser bookmarks. The extension creates, updates, and manages bookmark folders to sync with your Raindrop account. Also enables the built-in bookmark search functionality allowing seamless cross-platform bookmark management.
90
89
91
90
-**storage**:
92
-
Essential for saving user projects, settings, and preferences. Uses both `chrome.storage.sync` for cross-device synchronization of settings (shortcuts, rules, configurations) and `chrome.storage.local` for tab snapshots, project data, and LLM prompts that don't need to sync.
91
+
Essential for saving user settings and preferences. Uses both `chrome.storage.sync` for cross-device synchronization of settings (shortcuts, rules, configurations) and `chrome.storage.local` for tab snapshots and LLM prompts that don't need to sync.
93
92
94
93
-**tabs**:
95
-
Core functionality for project management - creates, queries, updates, and manages browser tabs. Enables saving entire browsing sessions as "projects" and restoring them later, plus features like tab switching, screenshots, and auto-reload.
94
+
Core functionality for tab management - creates, queries, updates, and manages browser tabs. Enables features like tab switching, screenshots, content capture, and auto-reload.
96
95
97
96
-**tabGroups**:
98
-
Used in conjunction with tab management to organize related tabs into groups when saving and restoring projects. Helps maintain logical organization of browsing sessions and preserves tab group structure across project saves/restores.
97
+
Used in conjunction with tab management to organize related tabs into groups for user workflows such as context-menu actions and split-tab operations.
99
98
100
99
-**notifications**:
101
100
Provides user feedback for important actions like successful Raindrop synchronization, backup completion, auto-reload events, auto-login notifications, and error states. Keeps users informed about background operations without interrupting their browsing.
@@ -119,7 +118,7 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
119
118
Used for implementing content filtering and blocking rules through the visual element picker interface.
120
119
121
120
-**webNavigation**:
122
-
Required for monitoring page navigation events to implement several features: (1) auto-reload functionality based on URL patterns, (2) URL processing rules that transform URLs when opening in new tabs, and (3) tracking tab state changes for project management features.
121
+
Required for monitoring page navigation events to implement features such as auto-reload functionality based on URL patterns and URL processing rules that transform URLs when opening in new tabs.
-`<all_urls>`: Required for content script injection across all websites to provide universal features like element blocking, custom styling (CSS), custom code (JS), video controls, bright mode, auto Google login, and LLM page content extraction.
The Raindrop-backed synced browser sessions feature is being removed so Nenya no longer creates, displays, restores, or continuously exports browser sessions to Raindrop.
5
+
6
+
## What Changes
7
+
- Remove the popup and new-tab Sessions UI and all session restore/rename/delete controls.
8
+
- Stop creating `nenya / sessions`, stop exporting current tabs on a one-minute alarm, and remove session-specific background message handlers.
9
+
- Clear local session caches/preferences and the legacy auto-export alarm without deleting remote Raindrop collections.
10
+
- Update public documentation to stop advertising synced browser sessions or session export cover uploads.
### Requirement: Users MUST be able to connect to supported bookmark providers from the options page
3
+
The options experience MUST expose provider choices (currently Raindrop.io) and drive the OAuth handshake through the hosted auth helper without initializing synced browser sessions.
4
+
5
+
#### Scenario: Present provider selection and status
6
+
-**GIVEN** the user opens the Cloud Bookmarks Provider section in `src/options/index.html`,
7
+
-**THEN** the provider dropdown MUST be populated from the `PROVIDERS` list (`src/options/bookmarks.js`),
8
+
-**AND** the provider description and status message MUST reflect whether cached tokens exist and their expiration (displaying success copy + expiry when valid, or errors when expired/missing),
9
+
-**AND** the Connect button MUST be visible whenever a provider is selected, with the Disconnect / Pull / Reset buttons only shown while connected.
10
+
11
+
#### Scenario: Start an OAuth session for the selected provider
12
+
-**GIVEN** a provider is selected and the user presses Connect (or Reconnect),
13
+
-**THEN** the extension MUST open a new tab to `https://ohauth.vercel.app/oauth/<oauthProviderId>?state=<payload>`,
14
+
-**AND** the `state` payload MUST JSON-encode the extension ID and provider ID so the OAuth helper can call back the correct extension instance.
15
+
16
+
#### Scenario: Handle OAuth success callbacks
17
+
-**GIVEN** the OAuth helper finishes and posts an `oauth_success` message to the extension (via `chrome.runtime.onMessageExternal`, limited to `https://ohauth.vercel.app/*` by `externally_connectable`),
18
+
-**THEN** the extension MUST persist the received access token, refresh token, and calculated `expiresAt` inside `chrome.storage.sync` under `cloudAuthTokens[providerId]`,
19
+
-**AND** show a success toast, mark the backup module as connected, trigger `OPTIONS_BACKUP_MESSAGES.RESTORE_AFTER_LOGIN`, and refresh the backup status UI,
20
+
-**AND** it MUST NOT create a `nenya / sessions` collection, export open tabs, or dispatch any synced browser session initialization message.
0 commit comments