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 2023-01-12 - (expected chart version 4.30.0) #2977

Merged
merged 143 commits into from
Jan 12, 2023

Conversation

zebot
Copy link
Contributor

@zebot zebot commented Jan 12, 2023

[2023-01-12] (Chart Release 4.30.0)

Release notes

API changes

Features

Bug fixes and other updates

Documentation

Internal changes

Federation changes

pcapriotti and others added 30 commits November 3, 2022 16:22
* Fix bug in MLS user removal from conversation

The list of removed clients has to be compared with those in the
conversation, not the list of *all* clients of that user.

* Rename getMLSClients to getClientInfo

* Skip client check for deleted clients

The code skipping this check was incorrectly deleted in 49782f5. This
restores it (in a different form) and adds some comments explaining the
logic.
Add tests for invitation urls in team invitation responses. These depend on the settings of galley.
* Add mlsSelfConvId function
* Implement endpoint
* Fix a typo in a test function name
* Integration test: happy case
* Integration test: other user attempting to join
* Integration test: leaving a self-conversation
* Add a changelog

Co-authored-by: Marko Dimjašević <marko.dimjasevic@wire.com>
…ent data between brig and galley's clients tables. (#2830)
* Bump nixpkgs to latest unstable, stop using forked nixpkgs

* Use openssl 3.0.7 for HsOpenSSL

Latest nixpkgs unstable contains the fixed version of openssl.

* nix/sources.json: Update description and homepage

`niv update` misses this: nmattia/niv#358
* Split galley servant definition

* Split galley API routes
Master->Develop after release
* Add debugtools to wire-server images

* changelog

* convenience makefile target for local image building
* WIP

* make inputs explicit

* fixup for paths

* use alpine base image

* Support from flokli to fix issues

* formatting

* add nixified nginz-disco image

* attempt to add to default.nix

* nginx: [warn] could not build optimal variables_hash, you should increase either variables_hash_max_size: 1024 or variables_hash_bucket_size: 64; ignoring variables_hash_bucket_size

* PR feedback: openssl 1.1

* changelog

* also upload nginz and nginz-disco images

* PR feedback

* nix/nginz.nix: add nginz to contents

cannon has a preStop lifecycle hook that currently invokes nginx -c …
quit on stop.

* nginz container: drop exposed ports

All config is defined in the helm chart, just by building the container
we don't know which ports are exposed.

* services/nginz: drop Dockerfile, README and Makefile

We use Nix to build this now.

* Hi CI

* remove no-longer-necessary openssl1.1 override

Co-authored-by: Florian Klink <flokli@flokli.de>
This file is managed by niv
That list was taken from hack/bin/shellcheck.sh
amitsagtani97 and others added 15 commits January 2, 2023 23:58
* feat: track federation api calls
* chore: make format
* fix: give a default instance for other packages
* feat: galley callsfed tracking
* chore: make format
* fix: cargohold
* chore: make format
* doc: changelog.d
* feat: MakesFederatedCall servant combinator
* chore: make format
* doc: haddock
* fix: add RoutesToPaths instance
* feat: use updated extension point for MakesFederatedCall
* chore: make format
* chore: remove spurious HasCallStack
* feat: add some federated calls to brig
* feat: federated calls in brig/client API
* feat: more api calls
* fix: add callsFed
* feat: finish adding MakesFederatedCall documentation
* chore: make format
* feat: cargohold api
* Add changelogs
* Fix compilation of integration tests in Brig
* Revert "Fix compilation of integration tests in Brig"
This reverts commit 2310a32.
* fix: clean up brig integration test callsites
* feat: SolveCallsFed for variadic numbers of callsFed
* feat: track federation api calls
* chore: make format
* fix: give a default instance for other packages
* feat: galley callsfed tracking
* chore: make format
* fix: cargohold
* chore: make format
* doc: changelog.d
* feat: MakesFederatedCall servant combinator
* chore: make format
* doc: haddock
* fix: add RoutesToPaths instance
* feat: use updated extension point for MakesFederatedCall
* chore: make format
* chore: remove spurious HasCallStack
* feat: add some federated calls to brig
* feat: federated calls in brig/client API
* feat: more api calls
* fix: add callsFed
* feat: finish adding MakesFederatedCall documentation
* chore: make format
* feat: cargohold api
* Add changelogs
* Fix compilation of integration tests in Brig
* Revert "Fix compilation of integration tests in Brig"
This reverts commit 2310a32.
* fix: clean up brig integration test callsites
* feat: patch internal API
* feat: conversation API
* feat: many more galley apis
* feat: finish API porting
* fix: integration tests
* doc: changelog
* feat: SolveCallsFed for variadic numbers of callsFed
* feat: remove extaneous calls to callsFed
* chore: separate out ApplyMods
* doc: remove invalid scheme from example socks5 host
* doc: make example YAML config for deeplink configs a valid YAML file
Co-authored-by: Stefan Matting <stefan@wire.com>
Co-authored-by: Marko Dimjašević <marko.dimjasevic@wire.com>
* charts/coturn: add TLS cipher configuration, comply with BSI TR-02102-2 by default.

* changelog: update.
Co-authored-by: Leif Battermann <leif.battermann@wire.com>
* galley: Avoid duplicate work for conversation-created notificiations

For every member in the conversation, the view of the conversation differs as
they see their own member metadata in detail which other memebrs' metadata is
not so detailed. When a conversation is created, each member of the conversation
gets their own view of the convesation in a notification. The
`convRemoteMembers` and `convLocalMembers` fields are mostly repeated across all
of these views. This commit avoids computing these lists from scratch n times,
where n is the number of members in the conversation.

* Galley.Intra.Push.Internal: Remove StrictData langauge pragma

The pragma causes everything inside `PushTo` to be strict. This causes larger
pushes (e.g. a new Conversation notification to n conversation members) to
allocate a lot of thunks internally for the `pushJson` field way before they are
actually needed causing spike in memory usage.

* Galley.Intra.Push.Internal: Refactor logic to chunk pushes

Using `foldr` to create chunks caused each list in `[[Gundeck.Push]]` to get
allocated and kept alive until it was completed consumed, causing memory spikes.
This combined with `mapConcurrently` would cause all of the `Gundeck.Push`
objects to get allocated almost at once before they were all consumed.

The refactored logic chunks `PushTo a` without using `foldr` and instead
implements `chunk` so that it creates the chunks lazily while ensuring that
elements of each chunk are also computed lazily.

* Galley.Intra.Push.Internal: Use chunked encoding to push notifications

This ensures that http-client doesn't try to compute `Content-Length` of a very
big JSON which forces the JSON bytestring to get computed and hence allocates a
lot of memory.
`-with-rtsopts=-N1` was set very long time ago when brig started depending on
http-client-openssl. It doesn't seem relevant anymore and using multiple cores
should improve performance.
* Force V2 when serialising conversations in events

* Update golden tests
* docs: add documentation of client id to zauth readme

* docs: make tag specification consistent
@zebot zebot temporarily deployed to cachix January 12, 2023 11:31 — with GitHub Actions Inactive
@zebot zebot temporarily deployed to cachix January 12, 2023 11:31 — with GitHub Actions Inactive
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Jan 12, 2023
@battermann battermann temporarily deployed to cachix January 12, 2023 11:41 — with GitHub Actions Inactive
@battermann battermann temporarily deployed to cachix January 12, 2023 11:41 — with GitHub Actions Inactive
@battermann battermann temporarily deployed to cachix January 12, 2023 12:04 — with GitHub Actions Inactive
@battermann battermann temporarily deployed to cachix January 12, 2023 12:04 — with GitHub Actions Inactive
@battermann battermann temporarily deployed to cachix January 12, 2023 12:25 — with GitHub Actions Inactive
@battermann battermann temporarily deployed to cachix January 12, 2023 12:25 — with GitHub Actions Inactive
@battermann battermann merged commit 6e81282 into master Jan 12, 2023
@battermann battermann deleted the release_2023-01-12_11_30 branch January 12, 2023 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist
Projects
None yet
Development

Successfully merging this pull request may close these issues.