Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cassandra-schema.cql
Original file line number Diff line number Diff line change
Expand Up @@ -1190,6 +1190,8 @@ CREATE TABLE galley_test.team_features (
app_lock_inactivity_timeout_secs int,
app_lock_status int,
conference_calling int,
conference_calling_one_to_one int,
conference_calling_status int,
digital_signatures int,
enforce_file_download_location text,
enforce_file_download_location_lock_status int,
Expand Down
1 change: 1 addition & 0 deletions changelog.d/1-api-changes/ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove the ability to set the TTL of a feature flag. Existing TTLs are still retrieved and returned as before. Note that this only applies to the conferenceCalling feature, as none of the others supported TTL anyway.
1 change: 1 addition & 0 deletions changelog.d/1-api-changes/wpb-10235
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add useSFTForOneToOneCalls as a config option for the Conference Calling feature flag and make its lock status explicit.
1 change: 1 addition & 0 deletions charts/galley/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ config:
conferenceCalling:
defaults:
status: enabled
lockStatus: locked
conversationGuestLinks:
defaults:
lockStatus: unlocked
Expand Down
9 changes: 9 additions & 0 deletions hack/helm_vars/wire-server/values.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,12 @@ brig:
setMaxConvSize: 16
# See helmfile for the real value
setFederationDomain: integration.example.com
setFeatureFlags:
conferenceCalling:
defaultForNew:
status: disabled
defaultForNull:
status: disabled
setFederationStrategy: allowAll
setFederationDomainConfigsUpdateFreq: 10
setDisabledAPIVersions: []
Expand Down Expand Up @@ -223,6 +229,9 @@ galley:
sso: disabled-by-default # this needs to be the default; tests can enable it when needed.
legalhold: whitelist-teams-and-implicit-consent
teamSearchVisibility: disabled-by-default
conferenceCalling:
defaults:
status: disabled
classifiedDomains:
status: enabled
config:
Expand Down
1 change: 1 addition & 0 deletions integration/integration.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ library
Test.Errors
Test.ExternalPartner
Test.FeatureFlags
Test.FeatureFlags.User
Test.FeatureFlags.Util
Test.Federation
Test.Federator
Expand Down
30 changes: 29 additions & 1 deletion integration/test/API/BrigInternal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -242,4 +242,32 @@ getClientsFull :: (HasCallStack, MakesValue users, MakesValue uid) => uid -> use
getClientsFull user users = do
val <- make users
baseRequest user Brig Unversioned do joinHttpPath ["i", "clients", "full"]
>>= submit "POST" . addJSONObject ["users" .= val]
>>= submit "POST"
. addJSONObject ["users" .= val]

-- | http://staging-nginz-https.zinfra.io/api-internal/swagger-ui/brig/#/brig/get_i_users__uid__features_conferenceCalling
getFeatureForUser :: (HasCallStack, MakesValue user) => user -> String -> App Response
getFeatureForUser user featureName = do
uid <- objId user
req <- baseRequest user Brig Unversioned $ joinHttpPath ["i", "users", uid, "features", featureName]
submit "GET" req

-- | http://staging-nginz-https.zinfra.io/api-internal/swagger-ui/brig/#/brig/put_i_users__uid__features_conferenceCalling
putFeatureForUser ::
(HasCallStack, MakesValue user, MakesValue config) =>
user ->
String ->
config ->
App Response
putFeatureForUser user featureName config = do
uid <- objId user
req <- baseRequest user Brig Unversioned $ joinHttpPath ["i", "users", uid, "features", featureName]
configValue <- make config
submit "PUT" $ req & addJSON configValue

-- | http://staging-nginz-https.zinfra.io/api-internal/swagger-ui/brig/#/brig/delete_i_users__uid__features_conferenceCalling
deleteFeatureForUser :: (HasCallStack, MakesValue user) => user -> String -> App Response
deleteFeatureForUser user featureName = do
uid <- objId user
req <- baseRequest user Brig Unversioned $ joinHttpPath ["i", "users", uid, "features", featureName]
submit "DELETE" req
4 changes: 4 additions & 0 deletions integration/test/API/Galley.hs
Original file line number Diff line number Diff line change
Expand Up @@ -648,3 +648,7 @@ setTeamFeatureConfigVersioned versioned user team featureName payload = do
p <- make payload
req <- baseRequest user Galley versioned $ joinHttpPath ["teams", tid, "features", fn]
submit "PUT" $ req & addJSON p

-- | http://staging-nginz-https.zinfra.io/v6/api/swagger-ui/#/default/get_feature_configs
getFeaturesForUser :: (HasCallStack, MakesValue user) => user -> App Response
getFeaturesForUser user = baseRequest user Galley Versioned "feature-configs" >>= submit "GET"
8 changes: 8 additions & 0 deletions integration/test/API/GalleyInternal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,14 @@ legalholdIsEnabled tid uid = do
baseRequest uid Galley Unversioned do joinHttpPath ["i", "teams", tidStr, "features", "legalhold"]
>>= submit "GET"

patchTeamFeatureConfig :: (HasCallStack, MakesValue domain, MakesValue team, MakesValue featureName, MakesValue payload) => domain -> team -> featureName -> payload -> App Response
patchTeamFeatureConfig domain team featureName payload = do
tid <- asString team
fn <- asString featureName
p <- make payload
req <- baseRequest domain Galley Unversioned $ joinHttpPath ["i", "teams", tid, "features", fn]
submit "PATCH" $ req & addJSON p

-- https://staging-nginz-https.zinfra.io/api-internal/swagger-ui/galley/#/galley/post_i_features_multi_teams_searchVisibilityInbound
getFeatureStatusMulti :: (HasCallStack, MakesValue domain, MakesValue featureName) => domain -> featureName -> [String] -> App Response
getFeatureStatusMulti domain featureName tids = do
Expand Down
Loading