Skip to content

Conversation

@andrebispo5
Copy link
Contributor

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-28997

📔 Objective

This pull request introduces the initial implementation of the "Migrate to My Items" feature, which guides users through transferring ownership of vault items to their organization or leaving the organization if they decline. It includes new UI views, state management, processor logic, localized strings, and supporting assets. The changes are grouped below by theme:

Feature Implementation: Migrate to My Items Flow

  • Added a new SwiftUI view MigrateToMyItemsView that presents a two-step flow: prompting the user to accept or decline an item transfer, and confirming their intent to leave the organization if they decline. The view uses new illustrations, localized strings, and links to help documentation. [1] [2] [3]
  • Introduced state management for the flow via MigrateToMyItemsState, which tracks the current page and organization name, and new enums for actions (MigrateToMyItemsAction) and effects (MigrateToMyItemsEffect). [1] [2] [3]
  • Implemented MigrateToMyItemsProcessor to handle side effects, state transitions, and navigation, including stubs for API calls to accept the transfer or leave the organization.

Localization and User Guidance

  • Added multiple new localized strings to support the UI and messaging for the transfer and leave flow, including dynamic organization names and explanatory text.
  • Added a new external link constant for transfer ownership help documentation.

UI Enhancements

  • Added a reusable backToolbarButton extension for SwiftUI views to provide a consistent back button in the toolbar, supporting both iOS 26+ and earlier versions.

These changes lay the groundwork for the "Migrate to My Items" feature, providing a user-friendly interface and state-driven logic for handling organization item ownership policies.

📸 Screenshots

In the screenshots the organization name is missing, it will be added later on.

Simulator Screenshot - iPhone 17 Pro - 2025-12-12 at 11 05 24 Simulator Screenshot - iPhone 17 Pro - 2025-12-12 at 11 05 28 Simulator Screenshot - iPhone 16 Pro - 2025-12-12 at 10 56 27 Simulator Screenshot - iPhone 16 Pro - 2025-12-12 at 10 56 24

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@github-actions
Copy link
Contributor

Logo
Checkmarx One – Scan Summary & Details16b8fc57-7d0f-4380-9ccf-c894bcb36df4

Great job! No new security vulnerabilities introduced in this pull request

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.

2 participants