diff --git a/.env.template b/.env.template index 5399d02a..21b28572 100644 --- a/.env.template +++ b/.env.template @@ -391,6 +391,8 @@ ## - "ssh-agent-v2": Enable the current SSH agent implementation in Desktop. (Verified in Desktop 2026.7.0) ## - "ssh-ecdsa": Allow importing supported ECDSA SSH keys in Desktop; also enable "ssh-agent-v2". (Verified in Desktop 2026.7.0) ## - "desktop-ui-settings-dialog": Use the Desktop settings dialog. (Verified in Desktop 2026.7.0) +## - "innovation-sprint-shared-unlock-part-1": Enable the shared-unlock Desktop/Browser leader. Must be enabled with part 2. +## - "innovation-sprint-shared-unlock-part-2": Enable the shared-unlock Browser/Web follower and controls. Must be enabled with part 1. ## - "pm-34224-mobile-attachment-updates": Use the updated Android attachment screen. (Verified in Android 2026.7.0) ## - "pm-30529-webauthn-related-origins": Allow passkey operations across domains a site declares as related. (Verified in Browser 2026.7.0) ## - "pm-34410-attachment-upload-progress": Show attachment upload progress in supported clients. (Verified in Browser/Desktop 2026.7.0) diff --git a/src/config.rs b/src/config.rs index d62b67c9..00303119 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1428,6 +1428,9 @@ pub const SUPPORTED_FEATURE_FLAGS: &[&str] = &[ "ssh-ecdsa", // Desktop Team "desktop-ui-settings-dialog", + // Key Management Team + "innovation-sprint-shared-unlock-part-1", + "innovation-sprint-shared-unlock-part-2", // Mobile Team "pm-34224-mobile-attachment-updates", // Platform Team diff --git a/src/util.rs b/src/util.rs index e7dbc993..0366b18b 100644 --- a/src/util.rs +++ b/src/util.rs @@ -819,6 +819,22 @@ mod feature_flag_tests { assert!(invalid.contains_key("unknown")); assert!(invalid.contains_key("removed")); } + + #[test] + fn shared_unlock_feature_flags_are_supported() { + let flags = parse_experimental_client_feature_flags( + "innovation-sprint-shared-unlock-part-1, innovation-sprint-shared-unlock-part-2", + &FeatureFlagFilter::ValidOnly, + ); + + assert_eq!( + flags, + HashMap::from([ + ("innovation-sprint-shared-unlock-part-1".to_owned(), true), + ("innovation-sprint-shared-unlock-part-2".to_owned(), true), + ]), + ); + } } /// TODO: This is extracted from IpAddr::is_global, which is unstable: