-
Notifications
You must be signed in to change notification settings - Fork 325
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 2022-01-18 #2055
Release 2022-01-18 #2055
Conversation
* Do not purge bucket in fake-s3 With `purge: true` the reaper script will delete the bucket's content when it runs, causing integration tests to fail occasionally. This fixes a very frequent flake in CI integration tests (e.g. https://bridge-ie-concourse.zinfra.io/builds/21651258).
* add first mapping * further discovered tests. * ormolu * changelog entry * fixup; add two tests * Add another test * fixup * comments * Add annotation for access token tests * Add subsystem tags in ZAuth.hs * Add subsystem tags * add testmapping to test from documentation * Update services/brig/test/integration/API/User/Auth.hs * Update services/brig/test/integration/API/User/Auth.hs * Update services/brig/test/integration/API/User/Auth.hs * Update services/brig/test/integration/API/User/Client.hs * Update services/brig/test/integration/API/User/Client.hs * Update services/brig/test/integration/API/User/Handles.hs * Update services/brig/test/integration/API/User/Auth.hs * Update services/brig/test/integration/API/User/Client.hs * Update services/brig/test/integration/API/User/Client.hs * Update services/spar/test-integration/Test/Spar/Scim/AuthSpec.hs * Update services/spar/test-integration/Test/Spar/Scim/UserSpec.hs * hi ci Co-authored-by: jschaul <[email protected]> Co-authored-by: VictorWissink <[email protected]> Co-authored-by: fisx <[email protected]> Co-authored-by: Leif Battermann <[email protected]>
* added stand alone test for checking that sending messages with missing clients should fail * naming Co-authored-by: fisx <[email protected]> * naming Co-authored-by: fisx <[email protected]> * description and more tags * changelog * wip * test for point 1. Co-authored-by: fisx <[email protected]>
* Add body argument to Service effect Also remove use of polysemy-mock from ExternalServer tests. * Remove dependency on polysemy-mocks * Federator: initial impl of service streaming * Remove unused function interpretService * Forward Content-Type header of service calls Co-authored-by: Sven Tennie <[email protected]> * Use Codensity IO as a base monad for Service This implements the bracketing pattern needed for closing a streaming response at the level of the base monad, instead of introducing CPS for the main polysemy actions. * Formatting fixes * Add basic response streaming primitive for HTTP2 Also use the same return type for the response as the one in Servant.Client, namely `ResponseF`. * RunStreamingClient instance for FederatorClient * Create test for withHTTP2Request * Fix CPS to Codensity in federator client * Test federator client streaming * Enable streaming in outward service Co-authored-by: Sven Tennie <[email protected]>
…section Add a paragraph about using VSCode in a direnv env
* Split cannon benchmarks and tests
* Moved integration test BSI tags to top * More descriptive test names
* Fix bug in SFT chart: multi sft args are quoted * Add changelog entry
* Improve documentation for tests per SQSERVICES-1127 Co-authored-by: fisx <[email protected]> * Update the changelog * Add a test: attempt to delete client via an incorrect password * Fixup Co-authored-by: fisx <[email protected]>
* added integration test and tag for BSI * clean up * More spar tests. Co-authored-by: fisx <[email protected]>
* Add end-tags for test tag parser (BSI audit). * Changelog. * Fixup * Make test identifiers unique-ish. * Fixup * Fixup
* schema-profunctor: better optional field API * Add nullable combinator and tests
…am feature (#1993) Internal endpoints for: * set guest link team feature status * get guest link team feature status * set guest link team feature lock status
* Schema instances for Asset and related types * Initial stub of cargohold servant API * Servantify asset upload endpoint * Add federation domain configuration to Cargohold * Add examples to Asset swagger schema * Formatting fixes * Document postAsset errors in Swagger * Add federation domain conf to kube-ci * Migrate v3 dowload assets endpoint to Servant * Migrate v3 delete asset endpoint to Servant * Simplify implementation of ZLocalUser * Simplify implementation of MultiVerb headers * Migrate v3 token endpoints to Servant * Add bot and provider asset APIs * Specialise asset API for bots and providers * Check Z-Type header for bot and provider requests * Migrate legacy asset API to Servant * Migrate internal status endpoints to Servant * Use dependent kinds to define `PrincipalPrefix` Thanks @isovector for suggesting this approach. * Add servant prometheus metrics and remove wai * Document new federationDomain option * Add CHANGELOG entry about cargohold domain * Improve federationDomain docs Co-authored-by: jschaul <[email protected]> * Formatting fixes * Fix and simplify API paths by principal * Support asset_token query parameter Co-authored-by: Sven Tennie <[email protected]> Co-authored-by: jschaul <[email protected]>
This reverts commit b3730cf.
Co-authored-by: Leif Battermann <[email protected]> Co-authored-by: Matthias Fischmann <[email protected]>
* Move NowSpec into spar:lb * Move DefaultSsoCodeSpec into spar:lib * Move IdPRawMetadataStoreSpec to spar:lib * Move ScimExternalIdStoreSpec to spar:lib * Move IdPSpec into spar:lib * Pend the flakey test * CI * make format * Changelog
* Fix cabal install script The script should create the `dist` directory, if it does not exist.
Note that streaming is not yet supported for the client. Therefore, when a client for an endpoint that includes a streaming response is invoked, and a streaming response is received, the client will just fail.
- This is for making an HTTP IPv4-based request to an SFT server to get a URL that clients can use
[FS-266] Fix SFT URL fecthing based on plain HTTP via IPv4
Co-authored-by: Matthias Fischmann <[email protected]>
…ft_servers_all.json (#2030) * Generalize getRandomSFTServers function * Use SFTs provided at GET /sft_servers_all.json * Polysemyize newConfig * Fix how SFT environments are constructed - This fixes the logic of how values around the sft_servers_all feature are computed. Now it only depends on either the SFT static URL or the SFT environment (the "sft" object in Brig's configmap.yaml). - Also promote an SFT static URL integration into several unit tests that provide better coverage * Clean up helm charts and integration test configuration
Servantify Cannon Public endpoint * Clean up * Remove servant-websockets by inlining it and fixing a subtle bug regarding failing requests * Better swagger doc inspired by MultiVerb * Add changelog entry * Update comment regarding the origin of WebSocketPending * Fix review issues Co-authored-by: Paolo Capriotti <[email protected]>
* Initial implementation of remote asset download * Add RPC to check if an asset exists * Download local asset for streaming * Implement federation test for get-asset Co-authored-by: Sven Tennie <[email protected]> * Added get-asset test * Test get-asset with public and private assets * WIP: federation: test large asset download * Test stream-asset * Improve large asset test * Test streaming invalid assets * Introduce TestM in Cargohold integration tests This ReaderT gives access to the HTTP manager and the Cargohold endpoint. The wrapped monad is HTTP (to make requests). * Reintroduce tasty resource for configuration file This avoids having to read the configuration file before every test. * Add more API client utilities in tests * Use servant client for federation tests * Set up federator mocking in cargohold * Fix formatting * Assert the content of a remote asset download * Add changelog.d entry * Test 404 when fetching remote asset * Check federated requests in remote asset test * Add config to cargohold integration chart * Simple end2end remote asset download test * Remove unused `uploadRandom` function * fixup! Simple end2end remote asset download test * Enable federation in cargohold helm chart * Make asset public in end-to-end test * Set hostname for instance with mocked federator * fixup! Set hostname for instance with mocked federator * Fix local domain in fed request assertions * Fix cargohold test in federator * Use `isJust` Co-authored-by: Marko Dimjašević <[email protected]> * Simplify implementation of `getAsset` Co-authored-by: Marko Dimjašević <[email protected]> * Remove redundant `$` Co-authored-by: Marko Dimjašević <[email protected]> Co-authored-by: Sven Tennie <[email protected]> Co-authored-by: Marko Dimjašević <[email protected]>
The generic mechanism in Servant for defining API types is cumbersome and slow to compile. This commit replaces the API record for the public Galley API with a tree explicitly built using the `:<|>` operator. To make up for the lack of record labels, it also introduces a `Named` combinator for servant API types, which can be used to tag an endpoint with a name (usually a symbol). The name must match the one with which the handler is wrapped.
Co-authored-by: fisx <[email protected]>
* Add failing test * Initial fix for Cargohold streaming bug
* integration.yaml add missing backendTwo.carghold * changelog
* Add federator failure test in cargohold Also turn the exception being thrown by streaming clients into a proper Wai error.
* Add restund to CHARTS_INTEGRATION * add changelog * Add restund to CHARTS_RELEASE * update changelog
* Replace servant-generic with Named in fed API * Fix usage of fed API in brig * Add domain to all federation endpoints * Fix usage of fed API in galley * Fix usage of fed API in cargohold * Fix usage of fed API in federator
- The test makes sure that the server certificate has to have an extension marking its purpose for server authentication
This reverts commit 1cb0a65.
* cabal-run-integration.sh - remove indirection * add changelog entry * remove pattern argument * change wording of comment
…cker images (#1852) Also upgrade nixpkgs pin and stack Co-authored-by: Akshay Mankar <[email protected]>
CHANGELOG.md
Outdated
* Add qualified v4 endpoints for downloading and deleting assets. The upload API is still on the same path, but the asset object it returns now contains a `domain` field. Note that federated behaviour is still not implemented. (#2002) | ||
* Enable downloading assets from a remote (federated) cargohold instance via the v4 API. | ||
The content of remote assets is returned as stream with content type | ||
`application/octet-stream`. | ||
Please refer to the Swagger API documentation for more details. (#2004) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These sound like they could be merged into one line (together with the asset bugfix 2037 and 2038). The problem with the automated changelog is than the resulting changelog is of less good quality as multiple PRs together implementing one thing are not grouped into one changelog item, but many individual ones.
Not a blocker though. Some other things in this changelog could also be combined. (SFT stuff, a range of internal items)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not really a problem with the automated changelog, just a mistake. Whoever wrote the second entry should have updated the first one as well. This is going to be true for any system where the changelog is updated incrementally at every commit. But honestly, I'm not sure why we're not just using the PR description here.
Release notes
federationDomain
configuration setting to cargohold. Please update yourvalues/wire-server/values.yaml
to setcargohold.settings.federationDomain
to the same value as the corresponding option in galley (and brig). (Servantify cargohold and addfederationDomain
option #1990)setDefaultLocale
has been replaced bysetDefaultUserLocale
andsetDefaultTemplateLocale
(see docs/reference/config-options.md for details) (Set Default User Locale #2028)cargohold, etc.) will be using Ubuntu 20.04 as the base. The images are about
30-35 MB larger than the previous alpine based images. (Upgrade to GHC 8.10 and use Ubuntu 20.04 as base image for haskell docker images #1852)
API changes
GET /teams
now ignores query parametersids
,start
(SQSERVICES 1011 Servantify Gally Team API (GET /teams) #2027)domain
field. Note that federated behaviour is still not implemented. (Federated Cargohold API #2002)The content of remote assets is returned as stream with content type
application/octet-stream
.Please refer to the Swagger API documentation for more details. (Cargohold: remote assets #2004)
Features
get /conversations/join
,post /conversations/:cnv/code
, andget /conversations/:cnv/code
will return an error. (SQSERVICES-547 post/get conversation/:cnv/code returns error if feature disabled #1980)setDefaultLocale
to distinguish between default user locale and default template locale if the user's locale is n/a. (Set Default User Locale #2028)Bug fixes and other updates
Documentation
Internal changes
Named
combinator (Remove uses of servant-generic in public Galley API #2022)make c test=1
#1987)cabal-install-artefacts.sh
script now creates thedist
directory if it does not exist (Fix cabal install script #2007)purge: false
in fake-s3 chart (Do not purge bucket in fake-s3 #1981)rangedSchema
does not need to be passed singletons explicitly anymore (SimplifyrangedSchema
function #2017)Federation changes
Named
routes for the federation API (Use named routes in Federation API #2033)