Skip to content

Comments

Release 2021-09-14#1764

Merged
jschaul merged 21 commits intomasterfrom
release-2021-09-14
Sep 13, 2021
Merged

Release 2021-09-14#1764
jschaul merged 21 commits intomasterfrom
release-2021-09-14

Conversation

@jschaul
Copy link
Member

@jschaul jschaul commented Sep 13, 2021

API changes

Features

Documentation

Internal changes

Federation changes

pcapriotti and others added 21 commits September 8, 2021 14:49
* Remove Public import alias in galley routes

* Test non-deprecated conversation rename endpoint

* Servantify conversation rename

* More conversation rename tests

* Servantify deprecated conversation rename endpoint
…1739)

* tasty-cannon: Add support for connecting as a specific client

* Ensure clients only receive messages meant for them in remote convs

This commit removes duplicated logic to push messages to clients by making logic
in Galley.API.Message.sendLocalMessages accommodating to pushing messages for
remote conversations, but still enforcing the recipients to be local. Using this
function from federation endpoint of galley allows us to not duplicate the logic
for how a message becomes an event and gets pushed to each client.

The commit also moves this logic from Galley.API.Update to Galley.API.Federation
as most of the logic to translate from inputs of the federation endpoint to
inputs for Galley.API.Message.sendLocalMessages is very federation specific and
doesn't need to live in the public API module.

Co-authored-by: Paolo Capriotti <paolo@capriotti.io>
…eld (#1726)

* Servantify `POST /connections`
* Remove the `message` field in connection requests, as it has been long deprecated. Some clients may still send it (as it was a mandatory field), but it was never visible at UI level in the past years, so we can remove it.
* fix an old TODO to make the 256 length check using the Range type, rather than doing it implicitly in the json parser.

The main changeset to types is in  libs/wire-api/src/Wire/API/Connection.hs 

Some golden tests have been removed as they are no longer relevant.
* Servantify conversation GET self endpoint

* Servantify updateSelfMember

* Add qualified updateSelfMember endpoint
* Initial certificate update monitor

This uses inotify to set up watches listening for events about client
certificates and remote CA.

We set up watches on both the files specified by the configuration and
their parent directories, in order to be able to react to both direct
modifications and to the files being deleted and recreated, or symlink
targets being swapped.

* Also handle monitor events in a Sem monad

* Make tls settings an MVar

This will allow the monitor to update it when certificates change.

* Reload client certificates when they change

* Handle watched directories correctly

* Log errors when updating certificates

* Use error handling fix in hs-certificate

wireapp/hs-certificate@e3ea2e1

* Split Monitor module into Internal and main

* Add missing copyright header

* Basic monitor test setup

* Replace TLSSettings MVar with IORef

* Add basic monitor unit tests

* Remove unused needReload case

* Replace file watches when a new file is created

* Delete replaced watches when stopping monitor

* Collect monitor state in a data structure

* Add property tests for mergePaths

* Also watch parent directories up to the fs root

* Recreate directory watches recursively

* Increase test timeout to 1 second

* Ensure event handlers do not run concurrently

* Remove monitor integration test stub

* Remove unneded explicit quantification

* Ensure watched paths are absolute

* Add unit tests for directory traversal

* Fix watch logic with symlinks

When a watched file or any of its ancestor directories is a symlink, the
symlink target needs to be recursively watched as well.

* Fix resolution of relative symlinks

* Always ignore errors when removing watches

* Add link to hs-certificate PR

* Do not expose IORef to Remote

Instead, replace `Reader` effect with `Input`, and interpret it by
reading the IORef every time.
* Document federation errors

Co-authored-by: Marko Dimjašević <marko.dimjasevic@wire.com>

* Remove `InvalidCertificate` federation error

It is currently not so easy to distinguish this particular error from a
generic TLS error (see #1662 for more context).

Since `InvalidCertificate` is never thrown, this PR simply removes it.
Note that this is a breaking change in the federation protobuf.

* Remove labels from protobuf errors

* Improve federation error descriptions

Also suggest client behaviour in some cases.

Co-authored-by: Marko Dimjašević <marko.dimjasevic@wire.com>
* Better swagger schema for the `Range` type

* Add better example for Domain

Co-authored-by: Paolo Capriotti <paolo@capriotti.io>
Co-authored-by: Akshay Mankar <akshay@wire.com>
* hscim: add TODO; tweak .gitignore

* Improve test coverage.

* Improve error response, simplify app logic.

SAML auto-provisioning only works if scim is disabled.  This commit
makes the guard more straight-forward and provides a less confusing
error message.

* Whitespace.

* Generate printable strings in arbitrary instance.

* Bump saml2-web-sso dep.

This introduces optionally case-insensitive emails.  This patch keeps
using case information, but it's now appearent where it could be
ignored in the future, and how.
* Remove otr_muted from Member and related types

This field has been deprecated for some time, and the clients do not
need it. Note that the corresponding conversation field in the database
is still present, and removing that is left to future work.

* Restore muted status assertions

Before these were assertions on the `otr_muted` field, but now that
field has been removed, so we should assert on `otr_muted_status`
instead.
* Removed mupConvRoleName and self role updates

  Updates to a member's role now always happen via `OtherMemberUpdate`,
  while `MemberUpdate` is used to change conversation self status
  (i.e. hidden/muted/archived).

* Remove qualified GET conversation self

  This was a newly added qualified endpoint stub, which raised an error
  when used on a remote conversation.

  We are now deprecating fetching conversation self membership information
  altogether (since clients do not use it, and they can always get that
  information from the conversation itself), so this endpoint can simply
  be removed.
* Clean up JSON golden tests for NameUpdate
* Clean up JSON golden tests for NewUser
* Allow blacklisting rules to changing phone numbers

* Hi CI

Co-authored-by: jschaul <jschaul@users.noreply.github.com>
…o serve more than one team. (#1755)

Co-authored-by: Julia Longtin <julia.longtin@wire.com>
Co-authored-by: jschaul <jschaul@users.noreply.github.com>
* Clean up JSON golden tests for NewUserPublic

* Clean up JSON golden tests for LimitedQualifiedUserIdList

* Clean up JSON golden tests for UserProfile

* Update the change log
@jschaul jschaul merged commit 26d73d0 into master Sep 13, 2021
@jschaul jschaul deleted the release-2021-09-14 branch September 13, 2021 22:43
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.

5 participants