Skip to content

feat: add HEIC/HEIF image format support#44

Open
grantfitzsimmons wants to merge 1 commit into
masterfrom
issue-43
Open

feat: add HEIC/HEIF image format support#44
grantfitzsimmons wants to merge 1 commit into
masterfrom
issue-43

Conversation

@grantfitzsimmons

@grantfitzsimmons grantfitzsimmons commented Jul 2, 2026

Copy link
Copy Markdown
Member

Fixes #43

This updates the base image to Ubuntu 26.04, Python to 3.14, and add libheif-plugin-libde265 dependency for HEIC/HEIF image processing.

Summary by CodeRabbit

  • New Features

    • Added support for generating thumbnails from HEIC and HEIF images.
    • Expanded thumbnail handling to cover more image/document formats.
  • Bug Fixes

    • Updated thumbnail processing so PDFs, TIFFs, HEIC, and HEIF files are consistently converted to PNG previews.
    • Improved environment compatibility by using a newer base system and Python version.

This updates the base image to Ubuntu 26.04, Python to 3.14, and add libheif-plugin-libde265 dependency for HEIC/HEIF image processing
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: bd592072-680d-4855-8d15-a130e4b893d5

📥 Commits

Reviewing files that changed from the base of the PR and between 21d1170 and 1d3ac50.

📒 Files selected for processing (3)
  • Dockerfile
  • server.py
  • settings.py

📝 Walkthrough

Walkthrough

Adds HEIC/HEIF MIME types to the CAN_THUMBNAIL allowlist and to the PNG-thumbnail-generation branch in resolve_file(). Updates the Dockerfile to use Ubuntu 26.04 and Python 3.14, and adds the libheif-plugin-libde265 package for HEIF decoding support.

Changes

HEIC/HEIF Thumbnail Support

Layer / File(s) Summary
Thumbnail mimetype allowlist and PNG generation
settings.py, server.py
CAN_THUMBNAIL now includes image/heic and image/heif, and resolve_file()'s PNG-thumbnail branch handles these mimetypes alongside PDF/TIFF, with an updated comment.
Docker base image and HEIF decoder dependency
Dockerfile
Base image bumped to ubuntu:26.04, Python upgraded from 3.12 to 3.14 (including the venv bootstrap step), and libheif-plugin-libde265 added to installed apt packages.

Possibly related issues

🚥 Pre-merge checks | ✅ 4 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Automatic Tests ⚠️ Warning The PR changes thumbnail-selection logic but adds no automated tests; the repo also has no test files/config and the workflow only wraps dockerization. Add automated coverage for settings.CAN_THUMBNAIL and server.resolve_file() covering HEIC/HEIF plus the existing PDF/TIFF thumbnail paths.
Testing Instructions ⚠️ Warning The PR description has no testing section, and the docs don’t give HEIC/HEIF-specific verification steps. Add explicit steps to rebuild the image and verify .heic/.heif thumbnail generation and download paths.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding HEIC/HEIF image format support.
Linked Issues check ✅ Passed The PR adds thumbnail support for .heic and related HEIF MIME types, satisfying issue #43.
Out of Scope Changes check ✅ Passed The Docker and runtime updates are described in the PR objectives as part of HEIC/HEIF support.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue-43

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Thumbnail support for .heic

1 participant