fix(chat): принимать PSD-файлы в чате - #846
Merged
Merged
Conversation
Клиент присылает макеты в .psd — загрузка падала с «Unsupported type». Причин две: типа не было в белом списке, а браузер для .psd часто вообще шлёт application/octet-stream или пустой content-type, и запасной разбор по расширению покрывал только текстовые файлы. В поле выбора файла на фронте .psd тоже не значился, так что файл даже не выбирался. - image/vnd.adobe.photoshop и его варианты в белом списке, тип доопределяется по расширению (_resolve_content_type) - PSD обрабатывается как изображение: Pillow читает сведённую копию, дальше обычный путь — размеры, превью, OCR - превью конвертируется в RGB из любого режима: PSD приходит в CMYK или с альфа-каналом, JPEG такого не примет - PSD без сведённой копии (сохранён без «Maximize compatibility») Pillow не откроет — файл всё равно сохраняется и прикладывается к сообщению, теряется только превью - .psd добавлен в accept в админке и в мобильном приложении ## NEWS 🎨 **В чат теперь можно загружать .psd** Макеты и схемы в формате Photoshop раньше просто не принимались. Теперь файл загружается, показывается превью, а текст с макета распознаётся и попадает в контекст разговора. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Клиент присылает макеты в
.psd— загрузка падала с «Unsupported type». Причин две:ALLOWED_MIME_TYPES, а браузер для.psdчасто шлётapplication/octet-streamили пустой content-type. Запасной разбор по расширению покрывал только текстовые файлы.acceptполя выбора файла.psdне значился — файл даже не выбирался в диалоге.Что сделано
image/vnd.adobe.photoshopи его варианты (image/psd,application/x-photoshop, …) в белом списке; тип доопределяется по расширению —_resolve_content_type.psdдобавлен вacceptв админке и в мобильном приложенииNEWS
🎨 В чат теперь можно загружать .psd
Макеты и схемы в формате Photoshop раньше просто не принимались. Теперь файл загружается, показывается превью, а текст с макета распознаётся и попадает в контекст разговора.
Test plan
tests/unit/test_upload_psd.py— 10 тестов: доопределение типа по расширению (в том числе.PSDв верхнем регистре и пустой content-type), загрузка RGB и CMYK PSD с превью, битый PSD не срывает загрузку, неизвестный бинарник по-прежнему отвергаетсяruff check+format— чисто/var/www/admin-ai-sekretar24/, загрузить .psd в чатМобильное приложение: правка в
mobile/srcесть, но APK не пересобирал — уедет со следующим мобильным релизом.🤖 Generated with Claude Code