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
feat: v1.1.0 - dark mode, selective AI matching, UI improvements
- Add dark mode with system/light/dark toggle defaulting to system preference
- Add selective AI matching with checkbox selection on queued posts
- Add individual "AI Match" button on each queued post card
- Add Reset Extension button on setup wizard and settings pages
- Add configurable RSS feed limits (Max RSS Items, Max Blog Items)
- Add collapsible RSS Preferences and Matching Preferences sections
- Remove Jump button; View button now opens post in new tab
- Collapse Reply Suggestions by default; hide empty Replied/Skipped tabs
- Fix post content newline preservation
- Fix RSS feed host permission prompting during setup
- Fix AI model default selection with vendor prefix
- Fix content script injection on already-loaded LinkedIn pages
- Fix AI Match processing state to wait for all API calls
Copy file name to clipboardExpand all lines: CHANGELOG.md
+33-1Lines changed: 33 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [1.1.0] - 2025-01-19
11
+
12
+
### Added
13
+
14
+
- Selective AI matching: checkbox selection on queued posts to match only specific posts
15
+
- Individual "AI Match" button on each queued post for single-post matching
16
+
- Button dynamically changes from "AI Match All" to "AI Match Selected (N)" when posts are selected
17
+
- Dark mode support with three-state toggle (system/light/dark) in header, defaults to system preference
18
+
- Reset Extension button on setup wizard pages to abandon setup and clear any saved config values
19
+
- Reset Extension section in settings to clear all settings and return to setup wizard
20
+
- Configurable RSS feed limits: Max RSS Items (default 25) and Max Blog Items in AI Prompts (default 25) in Settings
21
+
- RSS Preferences collapsible section for Cache Duration, Max RSS Items, and Max Blog Items in AI Prompts settings
22
+
23
+
### Changed
24
+
25
+
- Moved Matching Preferences into collapsible section within AI Model settings
26
+
- Removed Jump button from post cards; View button (opens post in new tab) is now the only action
27
+
- Reply Suggestions section now collapsed by default; click header with chevron to expand
28
+
- Replied and Skipped tabs now hidden when empty, reducing visual clutter
29
+
- Filter tabs now display count below the label instead of inline
30
+
31
+
### Fixed
32
+
33
+
- Post content now preserves newlines and paragraph breaks instead of collapsing all whitespace into single spaces
34
+
- RSS feed validation now properly prompts for host permission during setup and settings, preventing CORS errors on first use
35
+
- AI model now correctly selected by default on Settings page after setup wizard (fixed missing vendor prefix in default model ID)
36
+
- ModelSelector now auto-selects the first available model if the stored model no longer exists or is filtered out
37
+
- Post status tags now display correct labels: "Matched" tab shows "Matched" badge (was "Pending"), "Unmatched" tab shows "Unmatched" badge (was "Queued")
38
+
- Side panel now detects posts when opened on already-loaded LinkedIn pages by programmatically injecting the content script if needed (previously required hard-refresh)
39
+
- AI Match now waits for both matching and heat check API calls to complete before switching to the Matched tab and clearing the "Analyzing..." state; the processing UI stays visible even when queue becomes empty mid-processing
40
+
10
41
## [1.0.0] - 2025-01-18
11
42
12
43
Initial release of ReplyQueue, a Chrome extension that helps content creators find relevant social media posts and generate AI-powered reply suggestions.
@@ -19,5 +50,6 @@ Initial release of ReplyQueue, a Chrome extension that helps content creators fi
19
50
- Reply suggestion generation with customizable writing style
20
51
- Side panel UI with post cards, filtering, and settings
**IMPORTANT:** After every feature implementation or bug fix, you MUST run `pnpmbuild`. Chrome loads the extension from the `dist/` folder, so changes are not reflected until a build is run. The user will be testing the extension manually after each change.
131
+
120
132
After implementing any plan, always run preflight checks:
Copy file name to clipboardExpand all lines: privacy-policy.md
+24-6Lines changed: 24 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Privacy Policy for ReplyQueue
2
2
3
-
**Last Updated:** January 2025
3
+
**Last Updated:** January 2026
4
4
5
5
ReplyQueue is a Chrome extension that helps content creators find social media posts relevant to their blog content and generate reply suggestions. This privacy policy explains how we handle your data.
6
6
@@ -21,15 +21,22 @@ All of the following data is stored locally on your device using Chrome's storag
21
21
22
22
| Data Type | Storage Location | Purpose |
23
23
|-----------|------------------|---------|
24
-
| OpenRouter API Key | chrome.storage.sync| Authenticate with AI service |
24
+
| OpenRouter API Key | chrome.storage.local| Authenticate with AI service (never synced for security)|
25
25
| RSS Feed URL | chrome.storage.sync | Fetch your blog content |
26
26
| Selected AI Model | chrome.storage.sync | Configure AI preferences |
| Cached Model List | chrome.storage.local | OpenRouter model metadata |
39
+
| AI Match Cache | chrome.storage.local | Cache AI matching results to avoid re-processing |
33
40
34
41
### What We Do NOT Collect
35
42
@@ -52,12 +59,14 @@ ReplyQueue communicates with two external services. These communications only oc
52
59
- When you fetch the list of available AI models
53
60
- When you scan for relevant posts (AI matching)
54
61
- When you generate reply suggestions
62
+
- When heat check analyzes post tone/sentiment
55
63
56
64
**What data is sent:**
57
65
- Your API key (for authentication)
58
-
- Post content from your social media feed (for matching)
66
+
- Post content from your social media feed (for matching and tone analysis)
59
67
- RSS feed content summaries (for matching)
60
68
- Your writing style examples (if provided, for reply generation)
69
+
- Your communication preferences (if provided, for reply style customization)
61
70
62
71
**What data is NOT sent:**
63
72
- Your personal information
@@ -116,6 +125,11 @@ All your data is stored locally and can be viewed:
116
125
1. Open the extension's Settings panel
117
126
2. Use the "Clear Cache" button
118
127
128
+
**Reset extension (clear all settings and data):**
129
+
1. Open the extension's Settings panel
130
+
2. Scroll to "Reset Extension" section
131
+
3. Click "Reset Extension" to clear all data and return to setup wizard
132
+
119
133
### Export Your Data
120
134
121
135
Configuration data can be viewed in Chrome's storage inspector. Export functionality may be added in future versions.
@@ -139,6 +153,10 @@ Configuration data can be viewed in Chrome's storage inspector. Export functiona
139
153
|`linkedin.com`| Extract posts from LinkedIn feeds |
140
154
|`openrouter.ai`| Make API calls for AI matching and reply generation |
141
155
156
+
### Optional Host Permissions
157
+
158
+
ReplyQueue requests permission to access your RSS feed URL when you configure it. This is an optional permission that you grant during setup or when changing your RSS feed URL. The extension will prompt you to allow access to your blog's domain (e.g., `https://yourblog.com/*`) before fetching your RSS feed. Denying this permission prompt will prevent the extension from working.
0 commit comments