release: v0.32.0 - BeReal memories import support#1254
release: v0.32.0 - BeReal memories import support#1254Kurisudes wants to merge 5 commits intosimulot:mainfrom
Conversation
Implement a new adapter to import BeReal memories with: - Automatic separation into main (front) and selfie (back) assets with proper tags - Optional per-memory album grouping via --bereal-album flag - Robust path resolution for various BeReal export formats - Proper stacking of front/back image pairs via GroupByRawJpg - Location metadata support from BeReal memory JSON Features: - CLI command: `upload from-bereal <path>` - Tags applied: BeReal_Main (front), BeReal_Selfie (back) - Album support: single album 'BeReal' or per-memory 'BeReal/YYYY-MM-DD' - Handle path variants (leading slash, user-id segments) in JSON - Comprehensive unit tests for path resolution and pairing Includes: - New adapter at adapters/bereal/ with Browse, load, and asset creation - Updated upload command registration - Test fixtures with sample memories.json and images - Tests for path resolution and front/back pairing
Update docs/architecture.md to reflect BeReal as a standard, implemented feature rather than a future extension: - Add bereal to adapter layer diagram - Add BeReal description to adapter section (tagging, stacking, albums) - Replace "Extension Points: Adding BeReal Support" with generic "Adding New Import Sources" pattern for any new adapters - Replace "Next Steps for BeReal Feature" with practical "Running Tests" section - Streamline documentation to essentials only This normalizes BeReal as a core part of the project architecture.
- Add BeReal command description to 'How immich-go Works' section describing tags, stacking, and per-memory album support - Add link to Architecture documentation in main docs table - Update tests to use bundled fixture data from adapters/bereal/DATA/
Major Features: - Add from-bereal command for importing BeReal memories (simulot#1248) - Automatic separation of front and back camera images - Smart stacking with front camera as cover - Intelligent tagging (BeReal_Main, BeReal_Selfie) - Per-memory album organization support - Metadata preservation (location, captions, dates) Architecture: - Introduce GroupByDualCamera grouping type - Support for dual-camera import sources Infrastructure: - Add comprehensive E2E tests for BeReal import - Update documentation with BeReal as standard adapter - Improve cross-platform shell script compatibility Improvements: - Remove unused code - Enhance metadata handling This release makes immich-go the first open-source tool with native support for importing BeReal memories while preserving the essence of the dual-camera capture. Closes simulot#1248
- Correct camera terminology: BackImage=Main (rear), FrontImage=Selfie (front) - Fix album naming documentation: single 'BeReal' album, not per-date - Update all references in release notes and architecture docs - Clarify flag descriptions and known limitations
|
@simulot Do you have some feedback to the pull request? |
|
@Kurisudes Hi, thank you for the work on this PR — it looks nice! I’m particularly interested in the BeReal import functionality for Immich. I opened a feature request last year regarding BeReal support in Immich itself, but it didn’t gain much traction, so I was glad to see this implementation. I have a few questions about the current approach, if you don’t mind:
Thanks again for your work, and for any clarification you can provide. |
|
Thanks for your interest in my pull request. Happy to see that there are people interested in it.
I did not see any of those in my data. It was always two pictures or two videos. These are added in stack to with front/main camera as the cover.
They are added with a BeReal Tag and they can be automatically added to an Album by parameter to the command.
Correct, I did not want to merge the picture somehow and tinker with the original assets. I wanted to add a kind of BeReal view in Immich. But I did not have motivation for it yet.
I think, no that is not possible. This would be the more towards the handling of external libraries in Immich but I am no expert on this. |
|
Thank you for answering! As soon as this branch is merged I will make it a try, I really want to see my BeReal history added to all my other photos. About the third media, it comes in this format: It's just some seconds of a video taken before the backImage, pretty similar to Live Photos. BeReal seems to act a bit weird with that feature sometimes, but it's a nice to-have in the app. It can be activated with the "BTS On" when taking a BeReal. I can give you some test data if you tell me how. |
|
Thank you for your contribution to immich-go. I’ve just had a look through the BeReal adapter you've implemented. It looks like a solid addition to our supported platforms. I particularly appreciate the inclusion of end-to-end tests. To move forward with the review process, could you please rebase your PR onto the develop branch? |

Release v0.32.0: BeReal Memories Import Support
This PR merges the complete BeReal import feature to main for release.
What's New
✨ New Feature: BeReal Memories Import (
from-bereal)🏗️ Architecture
GroupByDualCameragrouping type for flexible import sources🧪 Testing
📖 Documentation
Changes Summary
Quality Assurance
Related Issue
Closes #1248