Commit Graph
40 Commits
Author SHA1 Message Date
Serge Zaigraeff 0af80fde24 Merge branch 'dev' 2026-03-31 12:07:25 +03:00
Serge Zaigraeff 7c8d283103 README: add recommended model link 2026-03-31 12:07:22 +03:00
Serge Zaigraeff 4c06fbdc8d Merge branch 'dev' 2026-03-31 12:06:23 +03:00
Serge Zaigraeff 39c0e89c67 README: remove project structure section 2026-03-31 12:06:20 +03:00
Serge Zaigraeff c533da9d86 README: add recommended model link, remove project structure section 2026-03-31 12:05:52 +03:00
Serge Zaigraeff 0a7b20f408 Add Flash Attention 2 capability check for older GPUs 2026-03-31 12:01:49 +03:00
Serge Zaigraeff 2c6f7aee8e Update README: add missing config params, async endpoints, fix default values 2026-03-31 11:52:02 +03:00
Serge Zaigraeff 3b1e90a54d Add client.png from main 2026-03-31 11:32:28 +03:00
Serge ZaigraeffandClaude Sonnet 4.6 5b468c87f7 Fix ffmpeg overwrite and empty language fallback
- Add -y flag to ffmpeg to overwrite mkstemp-created empty temp files
  (ffmpeg exits 0 without writing when file exists and stdin is /dev/null)
- Fix language fallback: use `or` instead of dict.get default so empty
  string from client falls back to config value
- Fix language value in config: ru -> russian

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 01:23:34 +03:00
Serge ZaigraeffandClaude Sonnet 4.6 ca2e41e0f5 Refactor logging, clean dead code, fix temp files and async tasks
- Replace f-string logging with % formatting throughout
- Fix create_temp_file: use mkstemp() instead of mkdtemp() (no leaked dirs)
- Add cleanup background thread and copy.deepcopy to AsyncTaskManager
- Fix transcribe_audio_async signature to accept transcription_service + params
- Use resample_poly instead of scipy_resample for better audio quality
- Remove unused validate_file/BinaryIO methods from FileValidator
- Add requests to requirements.txt
- Add error handling for pip install in server.sh
- Add __all__ and module docstrings to __init__.py files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 00:43:53 +03:00
Serge ZaigraeffandClaude Sonnet 4.6 1e778cae86 Fix thread safety, implement prompt, fix resource leaks, add history rotation
- Add threading.Lock around asr_pipeline calls (thread-safe inference on shared GPU)
- Implement prompt parameter: propagate through process_file → transcribe → generate_kwargs
- Fix prompt_ids device mismatch (.to(self.device) for CUDA)
- Replace mkdtemp() with create_temp_file() in sources.py (no more leaked /tmp dirs)
- Add max_history_days (default 30) with automatic cleanup of old history directories
- Add intentional comments for SSRF and /config decisions (internal service)
- Lower normalize_audio log level from INFO to DEBUG

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 00:43:06 +03:00
Serge ZaigraeffandClaude Opus 4.6 2138651474 Fix code review issues: security, race conditions, resource leaks
- Fix race condition: pass return_timestamps as parameter instead of mutating shared state
- Remove /local/transcriptions endpoint (path traversal vulnerability)
- Add timeout=30 and URL scheme validation to prevent SSRF
- Add temp file cleanup via try/finally in all route handlers
- AsyncTaskManager: add threading.Lock and TTL cleanup for completed tasks
- Change audio_rate to 16000 (matches Whisper's expected sample rate)
- Extract filename from URL via Content-Disposition/path
- Detect base64 audio format via python-magic
- Fix response_size_bytes to use json.dumps instead of str()
- Move scipy import to module level
- Clamp temperature to [0.0, 1.0]
- Deduplicate _load_model() code
- Fix docstrings, README structure, typo, log level

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 00:54:50 +03:00
Serge ZaigraeffandClaude Opus 4.6 ff4bd2ba3d Add deploy section to RULES.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:43:48 +03:00
Serge ZaigraeffandClaude Opus 4.6 2e2bad8255 Simplify architecture: remove overengineering, flatten structure
- Remove dead code: cache.py, context_managers.py, decorators.py, flask-limiter
- Replace AudioSource ABC + FakeFile (5 classes) with 4 plain functions
- Replace TempFileManager class with create_temp_file/cleanup_temp_files functions
- Simplify RequestLogger from 233 to 65 lines, remove file reading side-effect
- Convert HistoryLogger and AudioUtils classes to module-level functions
- Remove unused speed_up_audio and audio_speed_factor config
- Flatten single-file directories: shared/, api/, storage/, validation/, async_tasks/, logging/
- Merge logging config + request_logger into single infrastructure/log.py
- Fix request_logging config key (was request_logger)
- Trim CLAUDE.md to high-level only

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:28:34 +03:00
Serge ZaigraeffandClaude Opus 4.6 38785398b3 Fix Waitress, service_port, CORS and history path
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 02:44:55 +03:00
Serge ZaigraeffandClaude Opus 4.6 64c5a53d5b Remove dead code, backup files, and unused modules
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 02:36:06 +03:00
Serge Zaigraeff b28bc632bb add device selector 2026-02-04 22:13:46 +03:00
Serge Zaigraeff 852f7975b9 Refactor project structure and add new features 2025-10-23 00:42:09 +03:00
Apel-sin 144414fcf8 add temperature param 2025-04-02 15:36:14 +03:00
Serge Zaigraeff fcd3b936cf add merge tools 2025-03-04 22:10:20 +03:00
Serge Zaigraeff 1af3ebd80e settings optimization 2025-03-04 16:29:36 +03:00
Serge Zaigraeff cbbbbabe23 . 2025-03-04 10:23:28 +03:00
Serge Zaigraeff 08d0e514d1 . 2025-03-04 09:57:49 +03:00
Serge Zaigraeff 8dab730d4a add transcription history logging 2025-03-04 09:55:47 +03:00
Serge Zaigraeff 450750c47b add base return_timestamps support 2025-03-03 15:59:38 +03:00
Serge Zaigraeff 8de54b7c8f add gitignore 2025-03-02 23:53:47 +03:00
Serge Zaigraeff 46d2a8efbe env activation bug fix 2025-03-02 23:48:27 +03:00
Serge Zaigraeff 9207892552 add models url 2025-03-02 12:39:11 +03:00
Serge Zaigraeff eed8dd2813 add description 2025-03-02 12:35:37 +03:00
Serge Zaigraeff 5af6225c51 . 2025-03-02 10:17:16 +03:00
Serge Zaigraeff de81eba532 structute optimization 2025-03-02 10:14:15 +03:00
Serge Zaigraeff e6b6ed52b7 . 2025-03-02 09:33:55 +03:00
Serge Zaigraeff 3e414630a7 beautify code :) 2025-03-02 00:25:46 +03:00
Serge Zaigraeff 69a35ca30b naming :) 2025-03-02 00:16:03 +03:00
Serge Zaigraeff 846ee25201 refactoring server structure 2025-03-01 23:59:46 +03:00
Serge Zaigraeff 3b5cd3b995 . 2025-03-01 22:54:55 +03:00
Serge Zaigraeff 0fec235757 . 2025-03-01 22:54:20 +03:00
Serge Zaigraeff e0f872b87d . 2025-03-01 19:48:35 +03:00
Serge Zaigraeff 2838f64922 . 2025-03-01 19:31:04 +03:00
Serge Zaigraeff 3f8b28730f first commit 2025-03-01 19:24:03 +03:00