Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2021-06-08 #1577

Merged
merged 41 commits into from
Jun 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
20d0028
Merge pull request from GHSA-hxmc-g6x8-h2mh
jschaul May 27, 2021
90c154c
Use Servant.respond instead of explicit SOP (#1535)
pcapriotti May 27, 2021
7db6eba
Add remote members to conversations (#1529)
pcapriotti May 27, 2021
86edb37
Add end2end test for adding remote users to a conversation (#1538)
pcapriotti May 27, 2021
9ae3195
Add required fields to Swagger for SchemaP (#1536)
pcapriotti May 28, 2021
021f2e4
More examples in schema-profunctor documentation (#1539)
pcapriotti May 28, 2021
ec54431
Block device handshake in case of LH policy conflict (#1526)
fisx May 28, 2021
26e3392
Allow Legalhold for large teams (>2000) if enabled via whitelist (#1546)
smatting May 29, 2021
076f07b
Fix: Connection type when unblocking after LH (#1549)
fisx May 30, 2021
d3caf83
Refactoring-friendly FutureWork data type (#1550)
fisx May 30, 2021
88e13d1
Update Rich Info docs (#1544)
arianvp May 31, 2021
a843ef2
Add ClientCapabilities to NewClient. (#1552)
fisx May 31, 2021
870511c
Add Galley component to federator API (#1555)
pcapriotti May 31, 2021
a468fe9
Add some missing charts (#1533)
arianvp May 31, 2021
f637703
Update conversation membership (#1540)
pcapriotti May 31, 2021
816e269
expose /conversations/{cnv}/members/v2 for federation backends (#1543)
jschaul Jun 1, 2021
8845102
[charts] Update versions of webapp, team-settings, account-pages (#1559)
lucendio Jun 1, 2021
959fc08
Parametric mock federator (#1558)
pcapriotti Jun 2, 2021
e8ec6f6
Set swagger type of text schema (#1561)
pcapriotti Jun 2, 2021
dfdf6fc
Make botsAndUsers pure (#1562)
pcapriotti Jun 2, 2021
aa6d9ee
Legalhold: dynamic whitelisted teams & whitelist-teams-and-implicit-c…
smatting Jun 2, 2021
a44afd8
Generalises the mock federator to work with any MonadIO m monad (#1564)
mdimjasevic Jun 2, 2021
1db37c9
Federation: new endpoint: GET /conversations/{domain}/{cnv} (#1566)
jschaul Jun 2, 2021
27ba3be
nginz/Dockerfile: Run 'apk add' verbosely for debugging (#1565)
akshaymankar Jun 2, 2021
75efce2
Add more information to federation errors (#1560)
pcapriotti Jun 3, 2021
5705756
Fix build
pcapriotti Jun 3, 2021
3de9b43
Introduce a generalized version of wai-extra Session type constructor…
mdimjasevic Jun 3, 2021
a0ebee5
Avoid wrapping error in rethrow middleware (#1567)
pcapriotti Jun 3, 2021
8ded34b
Introduces the HasGalley class (#1568)
mdimjasevic Jun 3, 2021
ed7e93f
Add remote users when creating a conversation (#1569)
mdimjasevic Jun 3, 2021
0c3ef6e
Servantify JSON endpoint to send messages (#1532)
akshaymankar Jun 3, 2021
8521e6f
Qualify users and conversations in Event (#1547)
pcapriotti Jun 4, 2021
52da58a
Revert "Merge pull request from GHSA-hxmc-g6x8-h2mh" (#1571)
smatting Jun 4, 2021
304c813
Add missing /list-users route (#1572)
pcapriotti Jun 7, 2021
44028b0
wire-api: Introduce ErrorDescription (#1573)
akshaymankar Jun 7, 2021
aa65a4a
Legalhold: Remove caching for whitelisted teams (#1574)
smatting Jun 7, 2021
a427505
federator: rename Brig -> Service and add galley (#1570)
pcapriotti Jun 7, 2021
eec56af
Revert "Revert "Merge pull request from GHSA-hxmc-g6x8-h2mh" (#1571)"…
smatting Jun 7, 2021
3dc0f92
update changelog
smatting Jun 7, 2021
384cdd8
Update CHANGELOG.md
smatting Jun 8, 2021
ee26eb4
Differentiate release notes
smatting Jun 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,58 @@

-->

# [2021-06-08]

## Release Notes

This release doesn't require any extra considerations to deploy.

## Release Notes for Wire.com Cloud operators

Deploy brig before galley (#1526, #1549)
jschaul marked this conversation as resolved.
Show resolved Hide resolved

## Features
* Update versions of webapp, team-settings, account-pages (#1559)
* Add missing /list-users route (#1572)
* [Legalhold] Block device handshake in case of LH policy conflict (#1526)
* [Legalhold] Fix: Connection type when unblocking after LH (#1549)
* [Legalhold] Allow Legalhold for large teams (>2000) if enabled via whitelist (#1546)
* [Legalhold] Add ClientCapabilities to NewClient. (#1552)
* [Legalhold] Dynamic whitelisted teams & whitelist-teams-and-implicit-consent feature in tests (#1557, #1574)
* [Federation] Add remote members to conversations (#1529)
* [Federation] Federation: new endpoint: GET /conversations/{domain}/{cnv} (#1566)
* [Federation] Parametric mock federator (#1558)
* [Federation] Add more information to federation errors (#1560)
* [Federation] Add remote users when creating a conversation (#1569)
* [Federation] Update conversation membership in a remote backend (#1540)
* [Federation] expose /conversations/{cnv}/members/v2 for federation backends (#1543)

## Bug fixes and other updates
* Fix MIME-type of asset artifacts
* Add some missing charts (#1533)

# Internal changes
* Qualify users and conversations in Event (#1547)
* Make botsAndUsers pure (#1562)
* Set swagger type of text schema (#1561)
* More examples in schema-profunctor documentation (#1539)
* Refactoring-friendly FutureWork data type (#1550)
* nginz/Dockerfile: Run 'apk add' verbosely for debugging (#1565)
* Introduce a generalized version of wai-extra Session type constructor (#1563)
* Avoid wrapping error in rethrow middleware (#1567)
* wire-api: Introduce ErrorDescription (#1573)
* [Federation] Use Servant.respond instead of explicit SOP (#1535)
* [Federation] Add end2end test for adding remote users to a conversation (#1538)
* [Federation] Add required fields to Swagger for SchemaP (#1536)
* [Federation] Add Galley component to federator API (#1555)
* [Federation] Generalises the mock federator to work with any MonadIO m monad (#1564)
* [Federation] Introduces the HasGalley class (#1568)
* [Federation] Servantify JSON endpoint to send messages (#1532)
* [Federation] federator: rename Brig -> Service and add galley (#1570)

## Documentation
* Update Rich Info docs (#1544)

# [2021-05-26]

## Release Notes
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CHARTS_INTEGRATION := wire-server databases-ephemeral fake-aws nginx-ingress-
# (e.g. move charts/brig to charts/wire-server/brig)
# this list could be generated from the folder names under ./charts/ like so:
# CHARTS_RELEASE := $(shell find charts/ -maxdepth 1 -type d | xargs -n 1 basename | grep -v charts)
CHARTS_RELEASE := wire-server databases-ephemeral fake-aws aws-ingress backoffice calling-test demo-smtp elasticsearch-curator elasticsearch-external fluent-bit minio-external cassandra-external nginx-ingress-controller nginx-ingress-services reaper wire-server-metrics sftd
CHARTS_RELEASE := wire-server redis-ephemeral databases-ephemeral fake-aws fake-aws-s3 fake-aws-sqs aws-ingress fluent-bit kibana backoffice calling-test demo-smtp elasticsearch-curator elasticsearch-external elasticsearch-ephemeral fluent-bit minio-external cassandra-external nginx-ingress-controller nginx-ingress-services reaper wire-server-metrics sftd
BUILDAH_PUSH ?= 0
KIND_CLUSTER_NAME := wire-server
BUILDAH_KIND_LOAD ?= 1
Expand Down
2 changes: 1 addition & 1 deletion charts/account-pages/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resources:
cpu: "1"
image:
repository: quay.io/wire/account
tag: 2.1.4-5f9c54-v0.26.5-production
tag: 2.1.6-7ee369-v0.27.5-production
service:
https:
externalPort: 443
Expand Down
2 changes: 2 additions & 0 deletions charts/brig/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ data:
host: gundeck
port: 8080

{{- if .enableFederator }}
# TODO remove this
federator:
host: federator
Expand All @@ -54,6 +55,7 @@ data:
federatorInternal:
host: federator
port: 8080
{{- end }}

{{- with .aws }}
aws:
Expand Down
1 change: 1 addition & 0 deletions charts/brig/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ config:
# -- If set to false, 'dynamoDBEndpoint' _must_ be set.
randomPrekeys: true
useSES: true
enableFederator: false # keep enableFederator default in sync with galley chart's config.enableFederator as well as wire-server chart's tag.federator
emailSMS:
general:
templateBranding:
Expand Down
4 changes: 4 additions & 0 deletions charts/federator/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ data:
host: brig
port: 8080

galley:
host: galley
port: 8080

{{- with .Values.config }}

logNetStrings: True # log using netstrings encoding:
Expand Down
4 changes: 3 additions & 1 deletion charts/federator/templates/tests/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ data:
brig:
host: brig
port: 8080

galley:
host: galley
port: 8080
6 changes: 6 additions & 0 deletions charts/galley/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ data:
host: spar
port: 8080

{{- if .enableFederator }}
federator:
host: federator
port: 8080
{{- end }}

{{- if (.journal) }}
journal:
queueName: {{ .journal.queue }}
Expand Down
4 changes: 4 additions & 0 deletions charts/galley/templates/tests/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ data:
host: cannon
port: 8080

federator:
host: federator
port: 8080

provider:
privateKey: /etc/wire/integration-secrets/provider-privatekey.pem
publicKey: /etc/wire/integration-secrets/provider-publickey.pem
Expand Down
1 change: 1 addition & 0 deletions charts/galley/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ config:
cassandra:
host: aws-cassandra
replicaCount: 3
enableFederator: false # keep enableFederator default in sync with brig chart's config.enableFederator as well as wire-server chart's tag.federator
settings:
maxTeamSize: 500
maxConvSize: 500
Expand Down
8 changes: 8 additions & 0 deletions charts/nginz/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ nginx_conf:
envs:
- all
doc: true
- path: /list-users
envs:
- all
- path: ~* ^/api/swagger.json$
disable_zauth: true
envs:
Expand Down Expand Up @@ -210,6 +213,11 @@ nginx_conf:
- staging
disable_zauth: true
basic_auth: true
- path: ~* ^/i/legalhold/whitelisted-teams(.*)
envs:
- staging
disable_zauth: true
basic_auth: true
- path: /cookies
envs:
- all
Expand Down
2 changes: 1 addition & 1 deletion charts/team-settings/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resources:
cpu: "1"
image:
repository: quay.io/wire/team-settings
tag: 3.4.0-03c7a9-v0.28.2-production
tag: 3.5.1-e08322-v0.28.10-production
service:
https:
externalPort: 443
Expand Down
2 changes: 1 addition & 1 deletion charts/webapp/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resources:
cpu: "1"
image:
repository: quay.io/wire/webapp
tag: 2021-04-01-production.0-254d51-v0.28.3-production
tag: 2021-05-10-production.0-2e9ab3-v0.28.10-production
service:
https:
externalPort: 443
Expand Down
2 changes: 1 addition & 1 deletion charts/wire-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ tags:
team-settings: false
account-pages: false
legalhold: false
federator: false
federator: false # see also galley.config.enableFederator and brig.config.enableFederator
sftd: false
5 changes: 5 additions & 0 deletions deploy/services-demo/conf/nginz/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,11 @@ http {
proxy_pass http://brig;
}

location /list-users {
include common_response_with_zauth.conf;
proxy_pass http://brig;
}

location /search {
include common_response_with_zauth.conf;
proxy_pass http://brig;
Expand Down
71 changes: 56 additions & 15 deletions docs/reference/user/rich-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,35 +70,76 @@ Connected users who are not members of user's team will not receive an event (no

## SCIM support {#RefRichInfoScim}

Rich info can be pushed to Wire by setting the `"richInfo"` field belonging to the `"urn:wire:scim:schemas:profile:1.0"` extension. Both `PUT /scim/v2/Users/:id` and `POST /scim/v2/Users/:id` can contain rich info. Here is an example for `PUT`:
Rich info can be pushed to Wire by setting JSON keys under the `"urn:ietf:params:scim:schemas:extension:wire:1.0:User"` extension. Both `PUT /scim/v2/Users/:id` , `PATCH /scim/v2/Users/:id` and `POST /scim/v2/Users/:id` can contain rich info. Here is an example for `PUT`:

```javascript
PUT /scim/v2/Users/:id

{
...,
"urn:wire:scim:schemas:profile:1.0": {
"richInfo": [
{
"type": "Department",
"value": "Sales & Marketing"
},
{
"type": "Favorite color",
"value": "Blue"
}
]
"urn:ietf:params:scim:schemas:extension:wire:1.0:User": {
"Department": "Sales & Marketing",
"FavoriteColor": "Blue"
}
}
```

Here is an example for `PATCH`:

```json
PATCH /scim/v2/Users/:id

{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"operations": [
{
"op": "add",
"path": "urn:ietf:params:scim:schemas:extension:wire:1.0:User:Department",
"value": "Development "
},
{
"op": "replace",
"path": "urn:ietf:params:scim:schemas:extension:wire:1.0:User:Country",
"value": "Germany"
},
{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:wire:1.0:User:City"
}
]
}

```

Rich info set via SCIM can be queried by doing a `GET /scim/v2/Users` or `GET /scim/v2/Users/:id` query.

### SCIM provisioning agent support {#RefRichInfoScimAgents}
### Set up SCIM RichInfo mapping in Azure {#RefRichInfoScimAgents}

Go to your provisioning page

![image](https://user-images.githubusercontent.com/628387/119977043-393b3000-bfb8-11eb-9e5b-18a955ca3181.png)

Click "Edit attribute mappings"

Then click "Mappings" And then click **Synchronize Azure Active Directory Users to _appname_**
![image](https://user-images.githubusercontent.com/628387/119977488-c9797500-bfb8-11eb-81b8-46376f5fdadb.png)

Click "Show Advanced options" and then **Edit attribute list for _appname_**
![image](https://user-images.githubusercontent.com/628387/119977905-3f7ddc00-bfb9-11eb-90e2-28da82c6f13e.png)

Add a new attribute name. The type should be `String` and the name should be prefixed with `urn:ietf:params:scim:schemas:extension:wire:1.0:User:`
e.g. `urn:ietf:params:scim:schemas:extension:wire:1.0:User:Location`

![image](https://user-images.githubusercontent.com/628387/119978050-70f6a780-bfb9-11eb-8919-93e32bf76d79.png)

Hit **Save** and afterwards hit **Add New Mapping**

Select the Azure AD Source attribute you want to map, and map it to the custom **Target Attribute** that you just added.
![image](https://user-images.githubusercontent.com/628387/119978316-c5018c00-bfb9-11eb-9290-2076ac1a05df.png)

* Okta: unable to push fields in the format we require (checked on 2019-02-21).

* OneLogin: likely able to push fields.

## Limitations {#RefRichInfoLimitations}

Expand Down
6 changes: 4 additions & 2 deletions hack/helm_vars/wire-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags:
cannon: true
cargohold: true
spar: true
federator: true
federator: true # also see galley.config.enableFederator and brig.config.enableFederator
proxy: false
webapp: false
team-settings: false
Expand Down Expand Up @@ -53,6 +53,7 @@ brig:
sessionTokenTimeout: 20
accessTokenTimeout: 30
providerTokenTimeout: 60
enableFederator: true # keep in sync with galley.config.enableFederator and tags.federator!
optSettings:
setActivationTimeout: 5
# keep this in sync with brigSettingsTeamInvitationTimeout in spar/templates/tests/configmap.yaml
Expand Down Expand Up @@ -140,6 +141,7 @@ galley:
cassandra:
host: cassandra-ephemeral
replicaCount: 1
enableFederator: true # keep in sync with brig.config.enableFederator and tags.federator!
settings:
maxConvAndTeamSize: 16
maxTeamSize: 32
Expand All @@ -150,7 +152,7 @@ galley:
federationDomain: integration.example.com
featureFlags:
sso: disabled-by-default # this needs to be the default; tests can enable it when needed.
legalhold: disabled-by-default
legalhold: whitelist-teams-and-implicit-consent
teamSearchVisibility: disabled-by-default
journal:
endpoint: http://fake-aws-sqs:4568
Expand Down
3 changes: 2 additions & 1 deletion libs/api-bot/src/Network/Wire/Bot/Monad.hs
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,8 @@ addBotClient self cty label = do
newClientType = cty,
newClientClass = Nothing,
newClientCookie = Nothing,
newClientModel = Nothing
newClientModel = Nothing,
newClientCapabilities = Nothing
}
cid <- clientId <$> runBotSession self (registerClient nc)
clt <- BotClient cid label box <$> liftIO Clients.empty
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,6 @@ createConv users name = sessionRequest req rsc readBody
method POST
. path "conversations"
. acceptJson
. json (NewConvUnmanaged (NewConv users name mempty Nothing Nothing Nothing Nothing roleNameWireAdmin))
. json (NewConvUnmanaged (NewConv users [] name mempty Nothing Nothing Nothing Nothing roleNameWireAdmin))
$ empty
rsc = status201 :| []
1 change: 1 addition & 0 deletions libs/api-client/src/Network/Wire/Client/API/Push.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ module Network.Wire.Client.API.Push
OtrMessage (..),
SimpleMembers (..),
SimpleMember (..),
smId,
UserIdList (..),
UserInfo (..),

Expand Down
3 changes: 2 additions & 1 deletion libs/bilge/bilge.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cabal-version: 1.12
--
-- see: https://github.com/sol/hpack
--
-- hash: d7b6994200506c693bb43f8b717b697cb25b91d7f649aea638af47d010c72c40
-- hash: 8edb13a7bddfafe7d2906bff5e3671bd529be1c1726e113907c70a373cfc2606

name: bilge
version: 0.22.0
Expand All @@ -30,6 +30,7 @@ library
Bilge.Response
Bilge.Retry
Bilge.RPC
Bilge.TestSession
other-modules:
Paths_bilge
hs-source-dirs:
Expand Down
Loading