👽 Wire for web
You can find the published source code at github.com/wireapp/wire.
For licensing information, see the attached LICENSE file and the list of third-party licenses at wire.com/legal/licenses/.
a. You agree not to change the way the Open Source App connects and interacts with our servers; b. You agree not to weaken any of the security features of the Open Source App; c. You agree not to use our servers to store data for purposes other than the intended and original functionality of the Open Source App; d. You acknowledge that you are solely responsible for any and all updates to your Open Source App.
For clarity, if you compile the open source software that we make available from time to time to develop your own mobile, desktop or web application, and do not cause that application to connect to our servers for any purposes, then that application will not be deemed an Open Source App and the foregoing will not apply to that application.
No license is granted to the Wire trademark and its associated logos, all of which will continue to be owned exclusively by Wire Swiss GmbH. Any use of the Wire trademark and/or its associated logos is expressly prohibited without the express prior written consent of Wire Swiss GmbH.
.envin order to configure the application. This configuration can override/extend the configuration from the previous step.
cd server && yarn start:prod
yarn startand Wire's web app will be available at: https://localhost:8081/auth/
/etc/hosts, Windows 10:
127.0.0.1 local.wire.com(to connect with production backend)
127.0.0.1 local.zinfra.io(to connect with staging backend)
--user-data-dir=to the start parameters
--profileto the start parameters
--disable-web-securityto the start parameters
SameSiteattribute to allow cross-site cookies
--disable-features=SameSiteByDefaultCookiesto the start parameters
about:configand make sure you have the following settings:
--ignore-certificate-errorsto the start parameters
If you would like your browser to trust the certificate from "local.wire.com" or "local.zinfra.io":
CAROOTenvironment variable to
To launch the full test suite (types check + linting + server tests + app tests), simply run:
Alternatively, you can test specific parts of the app:
| Stage | Branch | Action | Environment | Backend | | :-: | :-: | :-: | :-: | :-- | | 1 (feature development) | edge | commit | wire-webapp-edge | Staging | | 2 (nightly test automation) | dev | commit or squash merge from edge | wire-webapp-dev | Staging | | 3 (internal release) | dev | tag (format:
YYYY-MM-DD-staging.X) | wire-webapp-staging | Production | | 4 (RC testing) | master | merge (don't squash) from "dev"; afterwards generate release notes | wire-webapp-master | Staging | | 5 (production release) | master | tag (format:
YYYY-MM-DD-production.X) | wire-webapp-prod | Production |
yarn release:staging(if the commit ID is omitted, the latest commit from
devwill be used)
yarn release:staging 90fda951916f0d60a5bffce69a7267830e313391
Before RC testing we create a merge commit (don't squash!) from "dev" to "master" branch, so that our QA team can run tests on the latest version of our app.
Similar to "Staging Bumps" with the exception that you need to run
yarn release:production(if the commit ID is omitted, the latest commit from
masterwill be used).
yarn release:production 90fda951916f0d60a5bffce69a7267830e313391
Release notes will be automatically generated by the CI setup when releasing a production tag on GitHub. If you want to generate release notes before releasing a production version, you can run
yarn changelog:dev, which will log all changes between the latest production release and the current development branch.
Based on the git branch and/or tags, builds get deployed automatically by GitHub Actions. In case the actions are not working, a manual deployment can be triggered using
All Wire translations are crowdsourced via Crowdin.
keys/crowdin.yamlin this repository and add the following entries:
api_key: your-account-api-key api_token: your-personal-access-token project_identifier: wire-webapp username: your-username
If our CI pipeline is broken, you still have the option to upload new strings manually. For this case do the following:
Once translations are uploaded on Crowdin, our (and external) translators can translate the new strings on Crowdin. There is a script that will run to create PRs with translation updates. As an alternative, translations can be downloaded the following way:
Contributions are welcome! Feel free to check our issues page.
The following commits will help you getting started quickly with our code base: