Skip to content

feat: email alias settings, mask generation and Ctrl+E (#72, #73, #74) - #97

Merged
parthashirolkar merged 6 commits into
mainfrom
feat/72-74-email-alias-ui
Sep 14, 2026
Merged

parthashirolkar merged 6 commits into
mainfrom
feat/72-74-email-alias-ui

Conversation

@parthashirolkar

@parthashirolkar parthashirolkar commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Implements slices 2-4 of the email alias PRD (#70) on top of the merged backend slice 1.

Closes #72
Closes #73
Closes #74

#72 - Alias provider settings UI

  • New AliasSettings component embedded in Settings.tsx: add/edit integrations (provider type + description + API access token), delete, and set default.
  • Backend: AliasConfig.description, list_configs (never exposes tokens), delete_config (also clears a matching default), set_default_config, plus Tauri commands list_alias_configs, delete_alias_config, set_default_alias_provider; save_alias_config now takes an optional description.

#73 - Username generator UI & pre-fill

  • Username field gains a dropdown action listing the default action plus every active provider.
  • In-input spinner while a mask is generating (PaletteInput.iconSpin), generated mask pre-fills the username, and the originating provider is shown as a badge.
  • Entry.alias_provider_id is round-tripped through add_entry / update_entry / get_full_entry.

#74 - Keyboard shortcut (Ctrl/Cmd+E)

  • Ctrl+E (Cmd+E on macOS) generates a mask using the default provider.
  • Without a default provider, a helpful message plus an "Open Settings" action is shown below the Username field.
  • Backend/provider errors (timeouts, invalid tokens) surface as clean validation messages below the Username field.

Testing

  • Frontend: bun run test (67 passing), bun run typecheck, bun run lint.
  • Backend: cargo fmt --check, cargo check --all-targets, cargo clippy --all-targets --all-features -- -D warnings, cargo test (104 passing).
  • Added AliasSettings.test.tsx and new AddCredential.test.tsx / apiClient.test.ts cases covering add/edit/delete/default, mask generation, pre-fill, metadata persistence and the Ctrl+E flow.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 2cd44715-c5f8-455c-8074-008b9b4305e1

📥 Commits

Reviewing files that changed from the base of the PR and between 9792083 and 2431694.

📒 Files selected for processing (20)
  • frontend/src-tauri/src/commands/alias.rs
  • frontend/src-tauri/src/commands/credential.rs
  • frontend/src-tauri/src/commands/health.rs
  • frontend/src-tauri/src/commands/totp.rs
  • frontend/src-tauri/src/lib.rs
  • frontend/src-tauri/src/vault/alias.rs
  • frontend/src-tauri/src/vault/entries.rs
  • frontend/src-tauri/src/vault/mod.rs
  • frontend/src-tauri/src/vault/search.rs
  • frontend/src-tauri/src/vault_health/audit.rs
  • frontend/src/api/client.ts
  • frontend/src/api/types.ts
  • frontend/src/components/AliasSettings.tsx
  • frontend/src/components/PaletteInput.tsx
  • frontend/src/components/Settings.tsx
  • frontend/src/components/modes/AddCredential.tsx
  • frontend/src/test/AddCredential.test.tsx
  • frontend/src/test/AliasSettings.test.tsx
  • frontend/src/test/apiClient.test.ts
  • frontend/src/utils/aliasProviders.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Sep 14, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 3/5

The PR should not merge until alias generation is sequenced correctly and destructive integration deletion requires confirmation.

Findings

  1. P1 Generation requests can race
  2. P1 Deletion lacks confirmation
  3. P2 Stale provider metadata

Summary

  • Adds persisted alias descriptions, configurable defaults, deletion, and token-safe listing commands.
  • Adds settings UI for managing SimpleLogin and DuckDuckGo integrations.
  • Adds mask generation, provider provenance metadata, and Ctrl/Cmd+E support to credential creation and editing.
  • Adds frontend and backend tests for configuration management, generation, and metadata persistence.

Reviews (1) · Last reviewed commit: "feat: email alias settings UI, mask gene..."

Comment thread frontend/src/components/modes/AddCredential.tsx Outdated
Comment thread frontend/src/components/modes/AddCredential.tsx
Comment thread frontend/src/components/AliasSettings.tsx
@parthashirolkar
parthashirolkar merged commit ee7fe09 into main Sep 14, 2026
8 checks passed
@parthashirolkar
parthashirolkar deleted the feat/72-74-email-alias-ui branch September 14, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant