Release history

Loupely Lens Changelog

Every release, documented. What shipped, what changed, and why it matters.

16 releases

version 1.0.8
1 Apr 2026 Patch

Loupely Lens ships: extension foundation, magic link auth, and capture relay

What this is

The Loupely Lens Chrome extension shipped its first working build. The extension installed on any website in Chrome, the picker activated, and captures downloaded as structured files. The backend infrastructure was built from scratch: a Supabase development project with shared users, credits, and sessions tables, a deployed lens-diagnose.ts Edge Function stub, and the useloupely.com auth callback page and extension-ids.json file that the magic link authentication system depended on.

Authentication shipped end-to-end using magic links. An email field, a send-link button, a 60-second resend countdown, and a post-click idle state. No password. The session survived extension reinstalls and worked across devices. The service worker stored the access token in module scope only, following the Loupely v5.3 auth-manager security model.

Captures were written to chrome.storage.local via a relay mechanism, not via direct download from the content script. The popup read the relay on open and served the download. A diagnostics page was added for internal development use.

What it answers

- how do i install loupely lens chrome extension
- does loupely lens require a password to sign in
- how does loupely lens authenticate without a password
- what does loupely lens capture when you click an element
- does the loupely lens extension work on any website

Why we built it

The narrowest possible working slice first. Every subsequent feature was built on top of this foundation. Nothing else could start until the picker worked, the relay wrote, and the file downloaded.

Improvements 9
  • Supabase development project created with users, credits, and sessions tables, RLS policies, and a new-user trigger
  • Lens-diagnose.ts stub deployed to the development Supabase project, returning a test diagnosis response on a valid JWT
  • Useloupely.com/auth-callback page and extension-ids.json deployed, enabling the magic link auth callback flow
  • Manifest updated: ExtPay removed, content scripts scope changed to any website (*://*/*), externally_connectable set to loupely.com
  • Service worker rebuilt with onInstalled, onStartup, GET_AUTH_TOKEN, SIGN_OUT, and token storage in module scope only
  • Magic link authentication shipped end-to-end with 60-second resend countdown and idle state on successful sign-in
  • Capture relay built: content script writes ll_capture_result and ll_capture_ready to chrome.storage.local; popup reads relay on open and triggers the file download
  • Stale and corrupt relay keys handled: age check clears expired captures, corrupt JSON clears keys without crashing
  • Diagnostics page added at lens-diagnostics.html with storage viewer, inject test values, Copy All, and auto-refresh