Skip to content

v0.2.5 — Guided Tour, In-App Camera, Nested Areas, and Import Overhaul

Choose a tag to compare

@akifbayram akifbayram released this 23 Mar 04:13
· 886 commits to main since this release

Release Note (Customer-Facing)

OpenBin v0.2.5 — Guided Tour, In-App Camera, Nested Areas, and Import Overhaul

This release introduces an interactive guided tour, in-app photo capture, hierarchical area nesting, and a completely rebuilt import/export system.

Key improvements:

  • Interactive guided tour walks new users through the app's core features step-by-step, with a "Replay Tour" option in Settings
  • In-app camera capture lets you take consecutive photos directly from OpenBin without leaving the app
  • Hierarchical areas now support nesting — organize areas inside other areas with a collapsible tree view
  • Full location export/import includes settings, areas, trash, pins, saved views, members, and tag colors
  • CSV and ZIP import with dry-run preview showing exactly what will be created before committing
  • AI reanalysis sends existing photos and previous results back to your AI provider for smarter, context-aware suggestions
  • Fuzzy search uses Levenshtein distance matching, so typos and partial matches now surface results
  • Inline quantity parsing — type "screws x10" or "screws (10)" in quick-add and quantities are extracted automatically
  • Undo swipe-delete — accidentally swiped an item away? A 5-second undo toast lets you recover it
  • Sort direction toggle and improved filter layout for more control over bin lists
  • Invite code preview on the registration page shows which location you're joining
  • Two-location quick switcher replaces the dropdown with a single-tap swap button when you have exactly two locations
  • Flat design system — renamed all glass-style tokens to flat tokens for a cleaner, more consistent look
  • Diffusion denoise animation replaces the old AI scan-line with a smoother, more polished visual effect
  • Custom field remapping when moving bins between locations preserves field values by matching field names

Engineering Note (Technical)

Tour system, camera capture, hierarchical areas, and import/export rebuild

Guided Tour:

  • 573184c: Tour system with TourOverlay, TourProvider, useTour hook, step definitions in tourSteps.ts, data-tour attributes on target elements, tour preferences in userPreferences.tsx, replay button in SettingsPage.tsx (19 files)

In-App Camera:

  • c0880ae: CapturePage.tsx + useCapture.ts using getUserMedia, capturedPhotos.ts store, auto-open-on-capture hook (9 files)
  • 784cd98: Extract duplicated auto-open effect into useAutoOpenOnCapture.ts
  • b655e99: Direct return to summary when editing photo from bulk-add summary step

Hierarchical Areas:

  • 34430fe: parent_id column in schema.sql, recursive tree queries in areas.ts, buildAreaTree utility, AreaDialogs.tsx parent picker, AreasPage.tsx tree UI (20 files)

Import/Export:

  • 5fb0b6f: CSV import with csvParser.ts, unified export/import dialogs in DataSection.tsx (7 files)
  • 478bf5c: ZIP import via adm-zip, polished dialog UI (7 files)
  • 468954f: Full location export/import — settings, areas, trash, pins, views, members in exportHelpers.ts and export.ts (5 files)
  • 26d06be: Dry-run preview for JSON/CSV/ZIP import in export.ts (3 files)
  • c952483: Inline location selector in export/import dialogs (4 files)

AI Enhancements:

  • d4f8aaa: Context-aware reanalysis with photos and previous results in aiProviders.ts, aiStream.ts, AiSuggestionsPanel.tsx (13 files)
  • 6665268, 8d8e300, 04476ca, 0840701: Diffusion denoise animation replacing scan-line (index.css, AiStreamingPreview.tsx, QRCodeDisplay.tsx)

Search & Filtering:

  • 1042a71: fuzzy_match with Levenshtein distance in db.ts, replacing word_match (3 files)
  • c5d7fae: Sort direction toggle in SortMenu.tsx, area filter layout in BinFilterDialog.tsx (4 files)
  • 23eff63: Simplified filter dialog, removed color filter (11 files)

UX Improvements:

  • 694ec90: Inline quantity parsing in itemQuantities.ts with parseQuantityFromInput() (3 files)
  • d976ddf: Undo swipe-delete with 5s delay in ItemList.tsx
  • b8deb70: Invite code preview via GET /api/auth/invite-preview/:code (4 files)
  • bcebf08: 403/410 differentiation for bin access errors, improved scan/create UX (6 files)
  • 4275d17: Fix focus loss when clicking add-item button (2 files)
  • 5324e07: Fix sidebar item shift with transparent border on inactive items
  • bffff27: Clear bulk selection when switching locations

Design System:

  • 16d344e: Flatten design system, improve onboarding transitions (34 files)
  • 67b717d: Rename glass-* tokens to flat-*, show member usernames (53 files)
  • f486509, 4167303: Dashboard full bin cards, print preview fidelity, name card typography
  • d97e74f, 3244855: Settings page polish, consistent dashboard section headers

Data & Backend:

  • 8bd815e: Custom field remapping on cross-location bin move in customFieldHelpers.ts, server tests (6 files)
  • 14a2f26: Expanded demo seed with quantities, custom fields, nested areas, viewer role (2 files)

Documentation:

  • 33db99b, c425875: OpenAPI spec audit and corrections (16 files)
  • 8e01ea8: Docs trimmed of redundant UI narration (27 files)

Cleanup: