Skip to content

Add list/grid view modes, category filter bar, in-place encrypt/decrypt, and cancel token support#53

Merged
ultraelectronica merged 34 commits into
mainfrom
versionF
Jun 30, 2026
Merged

Add list/grid view modes, category filter bar, in-place encrypt/decrypt, and cancel token support#53
ultraelectronica merged 34 commits into
mainfrom
versionF

Conversation

@ultraelectronica

Copy link
Copy Markdown
Member

Summary

Adds list and grid view modes for the explorer, a category filter bottom bar replacing TabBar, in-place file encryption/decryption with management screen, cancel token support for the decrypt pipeline, and an animated Latch logo widget.

Changes

View Modes

  • Add list view mode alongside existing grid view for files and folders
  • Rename explorer modes from navigation/sidebar to list/grid
  • Remove sidebar view and resizer widget

Category Filter

  • Add category filter bottom bar to gallery vault (all, images, videos, songs, docs)
  • Add shared preferences persistence for enabled categories
  • Add customize bar option in overflow menu

File Encryption/Decryption

  • Add encryptFileInPlace and decryptFileInPlace with progress callback
  • Add encrypt and remove encryption buttons to settings screen
  • Add encryption management screen for batch encrypt/decrypt
  • Add decrypt and reencrypt operations to progress sheet
  • Refactor reEncryptVault to report per-file progress and use async key derivation
  • Remove unused re-encryption feature

FileInfoSheet

  • Extract file info dialog into reusable FileInfoSheet widget

Cancel Token

  • Add cooperative cancellation token for decrypt pipeline
  • Add cancel token support to isolate file decryption
  • Add cancel token support to getVaultedFile method
  • Refactor file open service with phased progress and cancel support

UI

  • Add animated Latch logo widget and welcome screen tests
  • Reduce animation duration and stagger span in Latch logo
  • Remove FAB elevation across screens
  • Use theme-aware accent and success colors
  • Migrate AuthMethodCard to context-based theming

Update Dialog

  • Add skip version feature to update dialog
  • Add version skipping and deduplicate update emission

- Allow users to skip a specific update version
- Check for skipped versions before showing update dialog
Replace TabBar with PageView and bottom navigation bar for file
category filtering. Introduce VaultCategory enum with all, images,
videos, songs, and docs tabs. Add shared preferences persistence
for enabled categories and a customize bar option in the overflow
menu.
Introduce a new list view alongside the existing grid view for
displaying folders and files. The view mode is determined by the
`ExplorerViewMode.list` enum value, allowing users to switch between a
compact grid layout and a detailed list layout.
Refactor reEncryptFile to use _isLegacyCbcFile instead of
detectFileFormat
for reliable CBC detection until header_codec endianness bug is fixed
Extend `VaultService` with `encryptVaultFiles` and `removeEncryption`
methods for in-place encryption/decryption of vault files. Refactor
`reEncryptVault` to report per-file progress, handle missing IVs
gracefully, filter files from journal recovery, and use async key
derivation to avoid UI hangs.
@ultraelectronica ultraelectronica self-assigned this Jun 30, 2026
@ultraelectronica ultraelectronica merged commit cce8e4a into main Jun 30, 2026
1 check failed
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.

1 participant