Highlights
One-click API key creation
The welcome page (step 2) and Settings → Connection both gained a Generate key from my session button that mints a scoped API key against your Immich without asking for a password. Works for OAuth, SSO, and password-based Immich logins — the extension piggybacks on the session cookie your browser already has from when you signed into Immich. The cookie value is never read (it's httpOnly); only the resulting API key is stored.
Why this is worth knowing about:
- OAuth-only users can finally onboard without copy-paste. Click Generate key from my session with an Immich tab signed in, the extension does the rest.
- Same path doubles as a "rotate the key" button in Settings → Connection — useful if you suspect leakage, after a server reset, or when the recommended-scopes list grows.
- The key created has exactly the eight scopes the extension actually uses (
asset.upload,asset.read,asset.download,asset.update,asset.view,album.read,albumAsset.create,sharedLink.create). Frozen at module import time — no path mints a "full access" key by accident.
SECURITY.md has a new section breaking the security guarantees down per surface.
New tab paints instantly (closes #8)
Every new-tab open now paints from a small pre-fetched cache (Cache API for the image bytes, chrome.storage.local for a 3-entry queue) and immediately fires a message to the background service worker to refill the cache for the next open. Two parts to the speedup:
- The cache itself. Cold start is the same speed as before — but every new tab after that opens with the photo already there.
- First-paint snap. The 600 ms opacity fade-in is skipped on first paint (was making cached opens still feel slow). Auto-rotate cycles still get the smooth fade because there it actually transitions between two visible photos.
Storage hygiene:
- Worst case: 3 × ~500 KB previews ≈ 1.5 MB on disk.
- 24-hour staleness window — entries older than that get evicted on the next open.
- FIFO eviction past the 3-entry cap.
- Cache top-up runs in the background service worker, not the new-tab page, so it survives the page unloading the moment you type a URL or click a result. (This was the bug behind "the cache feels slow" — the page was dying mid-fetch and the queue stayed empty.)
State / region in the location overlay (closes #9)
The new-tab corner used to show "Boulder, United States". It now includes the state when Immich has it from EXIF GPS reverse-geocoding: "Boulder, Colorado, United States". Photos without a state value fall through cleanly — the empty field is filtered out.
"Replace new tab" defaults back to ON
The v0.7.0 default-off ("you have to opt in to the photo new tab") turned out to be more confusing than helpful — users were installing the extension and then asking why their new tab wasn't being replaced. New installs again default to on; existing users keep whatever they explicitly chose (the storage value overrides the default).
Closed issues
- #8 — Cache images used as new-tab background. Closed by the cache flow above.
- #9 — Add State to location data when viewing new tab image. Closed by the location-overlay change.
- #4 — Don't want the extension to control my tabs. Already closed; the README's Customising the new tab (or getting out of it) section documents the platform constraint and the in-extension workarounds.
Compatibility
- Existing settings persist across the update — server URL, API key, default album, theme, all feature toggles, the saved-uploads list.
chrome.storage.localsurvives the in-place update from every store. - The redundant v0.7.0 onInstalled migration that wrote
featureNewtab: truefor upgraders is removed; the new default does the same job for everyone (storage values still override). - Verified untouched in this release: the save-to-immich flow, content script, popup search / video preview / filter pills / Maps / update banner / bug-report consent flow, Safari workflow, manifest permissions. The Chrome and Firefox zips are byte-equal to v0.7.0 in those areas.
Install
- Chrome Web Store — auto-updates within ~1–2 days. Also covers Edge, Brave, Vivaldi, Arc, Opera and other Chromium browsers.
- Firefox Add-ons — auto-updates within ~1 day.
- Safari (macOS, experimental) —
immich-companion-safari-0.8.0.zipbelow; follow SAFARI.md for the Xcode build steps.
Full Changelog: v0.7.0...v0.8.0