Beta versions support: SxS support, in-app env/instance display (#1606)

* Script for beta config; unique data dir, in-app env/type display

To release a beta build, increment the version and add -beta-N to the
end, then go through all the standard release activities.

The prepare-build npm script then updates key bits of the package.json
to ensure that the beta build can be installed alongside a production
build. This includes a new name ('Signal Beta') and a different location
for application data.

Note: Beta builds can be installed alongside production builds.

As part of this, a couple new bits of data are shown across the app:

- Environment (development or test, not shown if production)
- App Instance (disabled in production; used for multiple accounts)

These are shown in:

- The window title - both environment and app instance. You can tell
  beta builds because the app name, preceding these data bits, is
  different.
- The about window - both environment and app instance. You can tell
  beta builds from the version number.
- The header added to the debug log - just environment. The version
  number will tell us if it's a beta build, and app instance isn't
  helpful.

* Turn on single-window mode in non-production modes

Because it's really frightening when you see 'unable to read from db'
errors in the console.

* aply.sh: More instructions for initial setup and testing

* Gruntfile: Get consistent with use of package.json datas

* Linux: manually update desktop keys, since macros not available
This commit is contained in:
Scott Nonnenberg 2017-10-30 13:57:13 -07:00 committed by GitHub
parent a3fbb9a6aa
commit c94d4efd18
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 158 additions and 34 deletions

View file

@ -1,12 +1,9 @@
const fs = require('fs');
const path = require('path');
console.log('reading package.json');
const jsonFile = fs.readFileSync(path.join(__dirname, '..', 'package.json'));
const package_json = JSON.parse(jsonFile, 'utf-8');
const environment = package_json.environment || process.env.NODE_ENV || 'development';
const packageJson = require('../package.json');
console.log('configuring');
const environment = packageJson.environment || process.env.NODE_ENV || 'development';
// Set environment vars to configure node-config before requiring it
process.env.NODE_ENV = environment;