Skip to content
This repository was archived by the owner on May 19, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
ac0c2e1
chore(lint): add pre-commit hooks with autopep8 for auto-formatting
MrScripty Feb 19, 2026
2e2c356
style(lint): apply autopep8 formatting and whitespace fixes
MrScripty Feb 19, 2026
ec0a51b
fix(security): remove hardcoded credentials and harden startup script
MrScripty Feb 19, 2026
5fda9c9
fix(core): remove broken imports and fix NameError in shared config
MrScripty Feb 20, 2026
3141887
fix(security): enable XSRF protection and bind to localhost
MrScripty Feb 20, 2026
fcaaf54
fix(security): replace python-jose with PyJWT and validate JWT secret
MrScripty Feb 20, 2026
c5809d9
fix(security): sanitize HTML content to prevent XSS injection
MrScripty Feb 20, 2026
dd3dd62
refactor(core): replace error strings with proper exceptions
MrScripty Feb 20, 2026
d3e4dbd
refactor(pipeline): extract shared generation steps to eliminate dupl…
MrScripty Feb 20, 2026
373dd2c
fix(core): cap metrics memory usage and replace deprecated datetime.u…
MrScripty Feb 20, 2026
b7ce11a
fix(config): add cleanup confirmation, fix test config and mock paths
MrScripty Feb 20, 2026
43464c0
style(ui): fix indentation in file upload preview block
MrScripty Feb 20, 2026
e4dc265
feat(cli): add setup.py and main.py for venv-based app launching
MrScripty Feb 20, 2026
2eb6d57
feat(cli): add --dev flag to install dev dependencies and pre-commit …
MrScripty Feb 20, 2026
cc0df65
fix(ui): restore tab navigation hidden by CSS override
MrScripty Feb 20, 2026
1458723
style(ui): make Streamlit header bar transparent
MrScripty Feb 20, 2026
396a6a1
feat(ui): add interactive pipeline badges with scroll-to-results
MrScripty Feb 20, 2026
6d10a64
docs(readme): simplify and consolidate project documentation
MrScripty Feb 20, 2026
9868566
fix(security): add path traversal prevention and XSS escaping
MrScripty Feb 20, 2026
3f4233a
chore(tooling): add ruff linter and formatter, replace autopep8 in hooks
MrScripty Feb 20, 2026
9e3d5f4
fix(deps): remove unused dependencies and dead import
MrScripty Feb 20, 2026
0426f91
refactor(deps): remove unused shared/ module
MrScripty Feb 20, 2026
aaa16a6
refactor(core): decompose app_simple.py into focused modules
MrScripty Feb 20, 2026
1f9f59f
refactor(upload): decompose file_upload.py and extract CSS
MrScripty Feb 20, 2026
40b927f
refactor(streaming): decompose streaming_results.py and extract CSS
MrScripty Feb 20, 2026
df5c403
refactor(config): extract magic numbers to named constants
MrScripty Feb 20, 2026
5496361
fix(utils): stop swallowing unexpected errors in auth and client init
MrScripty Feb 20, 2026
b3a7f89
fix(launcher): replace os.execv with cross-platform subprocess.run
MrScripty Feb 20, 2026
36306ae
refactor(scripts): remove platform-specific shell scripts
MrScripty Feb 20, 2026
ef77041
docs(readme): add FFmpeg install instructions for all platforms
MrScripty Feb 20, 2026
6fa048a
fix(ui): restore upload method cards and styled drop zone on Transfor…
MrScripty Feb 20, 2026
67495c4
chore: remove obsolete planning and tracking documents
MrScripty Feb 20, 2026
47453bd
fix(lint): resolve all ruff warnings across codebase
MrScripty Feb 20, 2026
eb9a668
fix(config): switch Streamlit base theme from light to dark
MrScripty Feb 20, 2026
c2d0916
fix(ui): update CSS selectors for Streamlit 1.54 widget theming
MrScripty Feb 20, 2026
2234a8a
refactor(core): add foundation modules for codebase quality refactor
MrScripty Feb 20, 2026
19f5540
refactor(core): convert utils.py to re-export shim and decouple leaf …
MrScripty Feb 20, 2026
c26714e
refactor(core): replace magic numbers with constants and add specific…
MrScripty Feb 20, 2026
f0e4014
refactor(core): rewire pipeline and CLI to use pipeline_engine
MrScripty Feb 20, 2026
ba6ae20
feat(core): add multi-provider AI support for OpenAI, Anthropic, and …
MrScripty Feb 20, 2026
2f477ff
ci(workflow): add GitHub Actions CI pipeline with ruff and pytest
MrScripty Feb 20, 2026
257adb5
fix(core): correct logger.logger delegation bug across 3 files
MrScripty Feb 20, 2026
7524e24
refactor(core): centralize remaining magic numbers in constants.py
MrScripty Feb 20, 2026
5f49185
refactor(core): replace broad except Exception with specific exceptio…
MrScripty Feb 20, 2026
736a241
refactor(core): extract MCPSupabaseIntegration into dedicated module
MrScripty Feb 20, 2026
4c26de3
refactor(core): route API key handling through auth persistence layer
MrScripty Feb 20, 2026
9bb7bf6
Merge PR #16: Comprehensive codebase quality overhaul
claude Feb 20, 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
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
"8501": {
"label": "WhisperForge App",
"onAutoForward": "notify",
"server": "streamlit run app_simple.py --server.enableCORS false --server.enableXsrfProtection false"
"server": "streamlit run app_simple.py --server.enableCORS false --server.enableXsrfProtection true"
}
},
"postCreateCommand": "pip install -r requirements.txt",
"remoteUser": "vscode"
}
}
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt

- name: Lint
run: ruff check .

- name: Format check
run: ruff format --check .

- name: Run tests
run: pytest -m "not ai and not supabase and not slow" --tb=short
27 changes: 25 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Environment variables
.env
.env.local
.env.production
.env.*
!env.example

# Python
__pycache__/
Expand All @@ -27,6 +27,7 @@ wheels/

# Virtual environments
venv/
.venv/
env/
ENV/

Expand All @@ -46,3 +47,25 @@ logs/

# Streamlit
.streamlit/secrets.toml

# Testing / Coverage
.pytest_cache/
htmlcov/
.coverage
.coverage.*

# Type checking
.mypy_cache/
.ruff_cache/

# Local databases
*.sqlite3
*.db

# TLS / Certificates
*.pem
*.key
*.crt

# Credentials config (never commit secrets)
credentials.conf
14 changes: 14 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.7
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
6 changes: 3 additions & 3 deletions .streamlit/config.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[server]
port = 8501
address = "0.0.0.0"
address = "127.0.0.1"
headless = true
enableCORS = false
enableXsrfProtection = false
enableXsrfProtection = true

[browser]
gatherUsageStats = false

[theme]
base = "light"
base = "dark"
16 changes: 8 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

### **✂️ Features REMOVED (Intentionally)**
- **Research Enrichment**: Removed entity extraction and research link generation
- **Editor System**: Removed AI editor critique and revision loops
- **Editor System**: Removed AI editor critique and revision loops
- **Image Prompts**: Removed AI image generation prompt creation
- **Multiple AI Providers**: Removed Anthropic/Claude and Groq support
- **Complex Settings**: Removed feature toggles and provider selection
Expand All @@ -16,7 +16,7 @@
- **Audio Upload**: Enhanced large file processing (25MB-2GB)
- **Transcription**: OpenAI Whisper speech-to-text
- **Wisdom Extraction**: Key insights and takeaways
- **Outline Creation**: Structured content organization
- **Outline Creation**: Structured content organization
- **Article Generation**: Complete written content
- **Social Media**: 5 platform-optimized posts
- **Notion Publishing**: Auto-publish with beautiful formatting
Expand Down Expand Up @@ -222,7 +222,7 @@ WhisperForge is now a **focused, reliable tool** that does one thing excellently

### 🔧 **ENHANCED 8-STEP PIPELINE**
1. 🎙️ **Transcription** - Speech-to-text conversion
2. 💡 **Wisdom Extraction** - Key insights and takeaways
2. 💡 **Wisdom Extraction** - Key insights and takeaways
3. 🔍 **Research Enrichment** - Supporting links & context ⭐ **RESTORED**
4. 📋 **Outline Creation** - Structured content organization
5. 📝 **Article Generation** - Complete written content
Expand Down Expand Up @@ -261,7 +261,7 @@ WhisperForge is now a **focused, reliable tool** that does one thing excellently

### 🔧 **Enhanced Pipeline (6 Steps)**
1. 🎙️ **Transcription** - Speech-to-text conversion
2. 💡 **Wisdom Extraction** - Key insights and takeaways
2. 💡 **Wisdom Extraction** - Key insights and takeaways
3. 📋 **Outline Creation** - Structured content organization
4. 📝 **Article Generation** - Complete written content
5. 📱 **Social Media** - Platform-optimized posts
Expand Down Expand Up @@ -293,13 +293,13 @@ WhisperForge is now a **focused, reliable tool** that does one thing excellently
- **Database Investigation**: Found all 27 content items stored under correct user
- **Field Mapping**: Updated display to match actual database schema
- `transcript` (not `transcription`)
- `wisdom` (not `wisdom_extraction`)
- `wisdom` (not `wisdom_extraction`)
- `outline` (not `outline_creation`)
- `article` (not `article_creation`)
- `social_content` (not `social_media`)

### 🚀 **TRANSCRIPTION PIPELINE RESTORED**
- **Circular Imports**: Eliminated blocking dependencies
- **Circular Imports**: Eliminated blocking dependencies
- **Pipeline Flow**: Fixed streaming results display
- **Database Storage**: Corrected field names for new content
- **Session State**: Simplified initialization prevents conflicts
Expand Down Expand Up @@ -392,7 +392,7 @@ WhisperForge is now a **focused, reliable tool** that does one thing excellently

---

## [2.0.0] - 2025-06-08 🌌 **Aurora UI Transformation**
## [2.0.0] - 2025-06-08 🌌 **Aurora UI Transformation**

### 🎨 **Major UI Redesign**
- **Aurora Bioluminescent Theme**: Complete visual transformation with cyan/teal color scheme
Expand Down Expand Up @@ -505,4 +505,4 @@ WhisperForge is now a **focused, reliable tool** that does one thing excellently

---

**For detailed technical information, see [README.md](README.md)**
**For detailed technical information, see [README.md](README.md)**
182 changes: 0 additions & 182 deletions CLEANUP_SUCCESS_SUMMARY.md

This file was deleted.

14 changes: 5 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,13 @@ Thank you for considering contributing to WhisperForge!
## Getting Started

1. Fork the repository and clone your fork.
2. Create a virtual environment:
2. Set up the development environment:
```bash
python -m venv venv
source venv/bin/activate
python main.py --setup --dev
```
3. Install dependencies required for development and testing:
```bash
pip install -r requirements.txt
```
You can also run `scripts/setup_test_env.sh` which performs these steps for you.
4. Run the test suite to ensure everything works:
This creates a `.venv`, installs all dependencies (including dev/test), and
configures pre-commit hooks.
3. Run the test suite to ensure everything works:
```bash
pytest
```
Expand Down
Loading
Loading