Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
49641f9
Update README.md
Nigel1992 Jan 13, 2026
c71d036
fix: Update GitHub links to use Nigel1992 instead of nigelhagen
Nigel1992 Jan 13, 2026
2150e21
Update LICENSE
Nigel1992 Jan 13, 2026
bfcade6
docs: Add icon attribution for Flaticon
Nigel1992 Jan 13, 2026
72d7eb9
docs: Add email folder category examples with spoiler
Nigel1992 Jan 13, 2026
59e901a
fix: Handle all selected emails for manual label application
Nigel1992 Jan 13, 2026
64066ab
v1.2.1: Bug fixes and documentation improvements
Nigel1992 Jan 13, 2026
a9c8106
fix: Skip null categories and try next one when applying labels
Nigel1992 Jan 13, 2026
d0525c3
v1.2.0: Complete multi-provider release with all fixes
Nigel1992 Jan 13, 2026
7a64835
feat: auto-create missing custom folders when applying labels
Nigel1992 Jan 13, 2026
f2edd4a
chore: update v1.2.0 notes for auto-create folders
Nigel1992 Jan 13, 2026
75a73b5
fix: skip emails when AI returns null label
Nigel1992 Jan 13, 2026
b089a8d
v1.2.0: Add rate limit warnings for free API tiers
Nigel1992 Jan 13, 2026
169ce75
Add v1.2.0 release XPI file
Nigel1992 Jan 13, 2026
75a6bb2
Implement Gemini free tier rate limiting (5/min, 20/day)
Nigel1992 Jan 13, 2026
c1487d2
Update Gemini provider info to reflect enforced rate limits
Nigel1992 Jan 13, 2026
6df8186
Update README with enforced Gemini rate limits (5/min, 20/day)
Nigel1992 Jan 13, 2026
819de8a
Update v1.2.0 XPI with rate limiting
Nigel1992 Jan 13, 2026
b3b7cd0
Clarify Gemini limits are per project - users can create multiple pro…
Nigel1992 Jan 13, 2026
3d94fc4
Clarify Gemini limits are per API key - users can switch keys when qu…
Nigel1992 Jan 13, 2026
841dbcb
Add Gemini usage tracking display in settings
Nigel1992 Jan 13, 2026
f6d4bc9
Add TODO section for future enhancements
Nigel1992 Jan 13, 2026
a1daf58
docs: Professional README restructuring with tables, diagrams, and en…
Nigel1992 Jan 13, 2026
b9b69c3
docs: Transform GitHub Pages with professional styling and complete f…
Nigel1992 Jan 13, 2026
5654144
v1.2.1 - Multiple Gemini API key support with automatic rotation
Nigel1992 Jan 14, 2026
eafaaed
Add persistent notification when all Gemini API keys reach limit
Nigel1992 Jan 14, 2026
136b70f
Fix single key usage tracking and limit notification
Nigel1992 Jan 14, 2026
ca73022
Add specific error messages for API test: 429 rate limit, 401/403 inv…
Nigel1992 Jan 14, 2026
9adb79f
v1.2.2 - Bug fixes and improved error messaging for API keys
Nigel1992 Jan 14, 2026
6715944
Add toolbar icon to quickly access addon settings
Nigel1992 Jan 14, 2026
11ba6f1
v1.2.3 - Add toolbar icon for quick settings access
Nigel1992 Jan 14, 2026
7c04e6f
Add duplicate API key detection and prevention
Nigel1992 Jan 14, 2026
4d4b71d
v1.2.3.1 - Add duplicate API key detection and prevention
Nigel1992 Jan 14, 2026
b1ae1c0
Update README: clarify manual right-click usage and add-on store status
Nigel1992 Jan 14, 2026
128f9cb
feat: Add Ollama local AI support with tab injection approach
Nigel1992 Jan 16, 2026
be10006
docs: Add GitHub issue templates for Thunderbird extension development
Nigel1992 Jan 16, 2026
f830994
Add Ko-fi support block to README
Nigel1992 Jan 16, 2026
97a5268
Remove Ko-fi support block from README
Nigel1992 Jan 16, 2026
2097377
Update README with new Ko-fi support block
Nigel1992 Jan 16, 2026
1698d26
Undo previous Ko-fi changes in README
Nigel1992 Jan 16, 2026
cdefab5
Update README.md
Nigel1992 Jan 16, 2026
eb896eb
Update Ko-Fi fees text in README
Nigel1992 Jan 16, 2026
bcaa8b8
ollama: truncate long emails and robustly match model outputs to conf…
Nigel1992 Jan 26, 2026
2f7ae59
fix(ollama): robustly parse Ollama responses and tolerant label matching
Nigel1992 Jan 26, 2026
ec9ca1d
chore(release): v1.2.3.2 - Ollama download UI layout fix
Nigel1992 Jan 27, 2026
a44bee9
docs: expand v1.2.3.2 changelog with all user-facing fixes and improv…
Nigel1992 Jan 27, 2026
83b356b
docs: show only latest v1.2.3.2 changes in release notes
Nigel1992 Jan 27, 2026
cf78d08
fix: manual label context menu now works in all Thunderbird views (v1…
Nigel1992 Jan 28, 2026
a8fe02b
docs: add manual labeling instructions and restart note to README
Nigel1992 Jan 28, 2026
4a40250
docs: update Quick Start with both AI and manual labeling options
Nigel1992 Jan 28, 2026
19bcbcf
docs: add warning about Thunderbird restart for manual label changes …
Nigel1992 Jan 28, 2026
02d5487
docs: update GitHub Pages with manual labeling, latest features, and …
Nigel1992 Jan 28, 2026
3686ae6
docs: fix top of GitHub Pages to render badges and links as HTML, not…
Nigel1992 Jan 28, 2026
66ff40f
docs: fix badges version and ensure GitHub Pages rendering (dark mode…
Nigel1992 Jan 28, 2026
96ca7ac
docs: parse inner markdown in HTML divs (use markdown="1") to fix hea…
Nigel1992 Jan 28, 2026
ebcf628
docs: enable markdown parsing in footer div so Star History and badge…
Nigel1992 Jan 28, 2026
6147788
docs(site): add hero, style, and update release to v1.2.3.3; improve …
Nigel1992 Jan 28, 2026
1b37f21
docs: enable markdown parsing for main content div to fix raw markdow…
Nigel1992 Jan 28, 2026
5df141c
docs: improve release banner contrast (release-banner class, stronger…
Nigel1992 Jan 28, 2026
5820176
docs: add Ollama (local LLM) to README and docs, include setup steps …
Nigel1992 Jan 28, 2026
1aa0462
docs: include Ollama in Supported AI Models table and add note about …
Nigel1992 Jan 28, 2026
cec575d
Add Discord button to README
Nigel1992 Feb 3, 2026
558d154
Update Discord invite link
Nigel1992 Feb 3, 2026
95f79cc
Update Discord invite link
Nigel1992 Mar 4, 2026
5e5cf55
Add sponsorship information
Nigel1992 Apr 3, 2026
b010a3c
Update PayPal donation link
Nigel1992 Apr 3, 2026
60ffc87
Update donation information
Nigel1992 Apr 3, 2026
5baffeb
Update donation information
Nigel1992 Apr 3, 2026
2e9da01
Update donation information
Nigel1992 Apr 3, 2026
859a7f7
Fix duplicate donation text
Nigel1992 Apr 3, 2026
730b481
Revert README.md to previous version
Nigel1992 Apr 3, 2026
a9b99b9
Revert README.md to previous version
Nigel1992 Apr 3, 2026
7845957
Revert README.md to remove $decoded
Nigel1992 Apr 3, 2026
202ce27
Clean up duplicated donation text in README
web-flow Apr 3, 2026
9f47bd8
✨ feat: add OpenAI-compatible provider and debug mode
rfiacne Apr 21, 2026
f43a9f9
✨ feat: add batch processing with pause/resume/cancel controls
rfiacne Apr 21, 2026
ce0dfb6
✨ feat: add batch chunk processing and auto-sort with configurable se…
rfiacne Apr 22, 2026
22bd90a
✨ feat: add custom prompt with placeholder injection and fix async te…
rfiacne Apr 22, 2026
bcf00b7
✨ feat: email context extraction, batch performance, bug fixes
rfiacne Apr 22, 2026
ddb5cc7
✨ feat: add i18n support for English and Chinese
rfiacne Apr 23, 2026
1bef445
feat: add i18n support and fix autoSortEnabled default value
rfiacne May 9, 2026
f5e80e0
fix: i18n placeholder substitution not working for API test messages
rfiacne May 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: nigel1992
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: https://www.paypal.com/donate/?hosted_button_id=KYV9ARF99ZSCE
163 changes: 163 additions & 0 deletions .github/ISSUE_TEMPLATE/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# GitHub Issues Template Guide

This project uses GitHub issue templates to help developers and users report issues effectively for a Thunderbird extension with Ollama integration.

## Available Templates

### πŸ› [bug_ollama.md](bug_ollama.md)
**For:** Bugs related to Ollama integration, AI analysis failures, or general issues

**Includes:**
- Thunderbird version & OS details
- Ollama setup info (version, model, GPU/CPU)
- Console output collection
- Automated debugging checklist
- Manual testing steps (curl commands)
- Tab injection investigation notes

**Best for:**
- "Analysis is failing with error X"
- "403 Forbidden errors"
- "Model not responding"
- "Extension crashes"

---

### ✨ [feature_ollama.md](feature_ollama.md)
**For:** Feature requests for Ollama, AI providers, or Thunderbird extension capabilities

**Includes:**
- Motivation & use case
- Proposed solution
- Provider-specific concerns
- Performance implications
- Thunderbird version requirements

**Best for:**
- "Add streaming support"
- "Support for new model X"
- "Batch email analysis"
- "Custom model parameters"

---

### ❓ [question.md](question.md)
**For:** Setup help, usage questions, troubleshooting guidance

**Includes:**
- Environment details
- Troubleshooting checklist
- Quick Ollama/Thunderbird tests
- Pre-submission checks

**Best for:**
- "How do I set up Ollama?"
- "Which model should I use?"
- "Why isn't test connection working?"

---

## Why These Templates?

### For Thunderbird Extension Development:
1. **Environment tracking** - Thunderbird version compatibility is critical
2. **API context** - Know which Thunderbird APIs are involved
3. **Permission issues** - Track manifest.json changes needed

### For Ollama Integration:
1. **Model specificity** - Different models behave differently
2. **Hardware context** - CPU vs GPU significantly affects performance
3. **API validation** - Can test Ollama directly with curl

### For Better Bug Reports:
1. **Automated checklist** - Ensures basics are tested first
2. **Console logs** - Captures [Ollama] debug messages
3. **Reproduction steps** - Clear steps to recreate issues
4. **Debugging commands** - Ready-to-use testing

---

## How to Use These Templates

### Creating an Issue:
1. Go to **Issues** β†’ **New issue**
2. Click **Choose a template**
3. Select the appropriate template
4. Fill in all sections (red asterisks = required)
5. Include console logs if applicable

### Submitting a Bug Report:
```bash
# First, test these commands:
curl http://localhost:11434/api/tags # Check Ollama is running
ollama run tinyllama "test" # Test model directly
# Then open browser console (Ctrl+Shift+J) and analyze email
# Copy all [Ollama] messages and include in issue
```

### For Contributors:
When reviewing issues:
1. Check if all environment details are present
2. Ask for console logs if missing
3. Request reproduction steps if unclear
4. Reference Thunderbird version for API compat issues

---

## Template Structure

Each template includes:
- **Clear section headers** for organization
- **Checkboxes** for verification steps
- **Code blocks** for logs and commands
- **Context-specific questions** for the extension type
- **Debugging aids** (curl commands, env info)
- **Examples** of what to include

---

## Customization

To modify templates for your specific needs:
1. Edit `.github/ISSUE_TEMPLATE/bug_ollama.md`
2. Add/remove sections as needed
3. Update labels, assignees, or default title
4. Commit and push - changes apply immediately

---

## Best Practices

βœ… **DO:**
- Include full environment details
- Run curl commands to verify Ollama
- Copy console logs with [Ollama] tags
- Test with different models if applicable
- Mention Thunderbird version

❌ **DON'T:**
- Skip the debugging checklist
- Submit without testing curl commands
- Hide Thunderbird or Ollama version
- Include credentials or API keys
- Use screenshot instead of error text

---

## Quick Reference

| Issue Type | Template | When to Use |
|-----------|----------|------------|
| Extension crash | `bug_ollama.md` | Error messages or failed analysis |
| Setup help | `question.md` | "How do I..." or troubleshooting |
| New feature | `feature_ollama.md` | Enhancement ideas |
| General bug | `bug_ollama.md` | Unexpected behavior |

---

## Support

For questions about the templates:
1. Check existing issues
2. Review this guide
3. Ask in a new issue using `question.md`
115 changes: 115 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_ollama.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
name: πŸ› Bug Report - Ollama Integration
about: Report a bug with AutoSort+ Ollama integration or general issues
title: '[BUG] '
labels: 'bug'
assignees: ''

---

## πŸ› Bug Description
A clear and concise description of what the bug is.

## πŸ“‹ Steps to Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '...'
3. Select email with '...'
4. See error

## ❌ Expected Behavior
What you expected to happen.

## πŸ‘€ Actual Behavior
What actually happened instead.

## πŸ“Έ Console Output
**Browser Console Log (Ctrl+Shift+J in Thunderbird):**
```
[Paste console output here - look for [Ollama] messages]
```

---

## πŸ”§ Environment Details

### Thunderbird
- **Version:** (e.g., 115.0, 128.0)
- **OS:** (Windows / macOS / Linux)
- **OS Version:** (e.g., Ubuntu 22.04, Windows 11, macOS 14)

### Ollama Setup
- **Ollama Version:** (run: `ollama --version`)
- **Model Used:** (e.g., tinyllama, gemma, phi, llama3.2)
- **Running on:** CPU / GPU (which GPU model?)
- **Memory Available:** (e.g., 8GB, 16GB)

### AutoSort+
- **Extension Version:** (e.g., 1.2.3.1-ollama-test)
- **Install Method:** XPI / Built from source

---

## βœ… Debugging Checklist

- [ ] **Ollama is running:** `curl http://localhost:11434/api/tags` returns models
- [ ] **Model installed:** `ollama list` shows your model
- [ ] **Test connection passes:** Settings β†’ Test Connection works
- [ ] **Thunderbird restarted** after AutoSort+ install
- [ ] **Console logs checked** (Ctrl+Shift+J shows [Ollama] messages)
- [ ] **Email is plaintext** (not HTML-only)
- [ ] **Model responds locally:** `ollama run tinyllama "test"`

---

## πŸ” Manual Testing Steps

**1. Verify Ollama API works:**
```bash
curl http://localhost:11434/api/tags
```
Should list your installed models.

**2. Test direct API call:**
```bash
curl -X POST http://localhost:11434/api/chat \
-H "Content-Type: application/json" \
-d '{
"model": "tinyllama",
"messages": [{"role": "user", "content": "What is email classification?"}],
"stream": false
}'
```
Should return a response from the model.

**3. Check model performance:**
```bash
ollama run tinyllama "Classify this email: [subject line here]"
```

**4. Enable verbose logging:**
- Ctrl+Shift+J in Thunderbird
- Analyze an email
- Copy all `[Ollama]` log entries

---

## πŸ“ Error Message (if applicable)
```
[Paste the full error message here]
```

## 🎯 Additional Context
- What were you trying to do?
- Does it happen consistently or randomly?
- Have you tried other models?
- Any recent Thunderbird or Ollama updates?

---

## πŸ“Œ For Developers
**How to investigate tab injection issues:**
- Check if hidden tab at `http://localhost:11434` opens and closes
- Verify `window.__ollama_result` is populated
- Check network tab for POST to `/api/chat`
- Inspect returned JSON structure from Ollama API
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: true
contact_links:
- name: πŸ“– Documentation
url: https://github.com/Nigel1992/AutoSort-Plus#readme
about: Read the README for setup and usage
- name: πŸ’¬ Discussions
url: https://github.com/Nigel1992/AutoSort-Plus/discussions
about: Ask questions or share ideas
- name: πŸ†˜ Ollama Help
url: https://ollama.com/help
about: Official Ollama documentation and support
- name: 🐦 Thunderbird Forum
url: https://support.mozilla.org/en-US/products/thunderbird
about: Thunderbird official support
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_ollama.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: ✨ Feature Request - Ollama/AI
about: Suggest a new feature or improvement
title: '[FEATURE] '
labels: 'enhancement'
assignees: ''

---

## 🎯 Feature Description
Clear and concise description of what you want.

## πŸ’‘ Why This Matters
- What problem does this solve?
- How would it improve your workflow?
- Who else might benefit?

## πŸ”§ Proposed Solution
How do you think this should work?

## πŸ“‹ Alternatives Considered
Are there other ways to achieve this?

## 🌍 Thunderbird Extension Context

### For Ollama Features:
- [ ] Affects specific models? (tinyllama, gemma, llama3.2, etc.)
- [ ] Performance concern (CPU/GPU intensive)?
- [ ] Requires streaming support?

### For AI Provider Features:
- [ ] Which providers? (Ollama, Gemini, OpenAI, Anthropic, etc.)
- [ ] API compatibility concerns?
- [ ] Rate limit impact?

### Technical Requirements:
- [ ] Thunderbird version needed: 115+ / 128+ / latest?
- [ ] Platform specific? (Windows / macOS / Linux)
- [ ] Requires new permissions?

## πŸ“ Additional Context
Links, examples, documentation, etc.
Loading