CI to automate build of webrtc tarball for signal-desktop aport https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/testing/signal-desktop
Find a file
Scott Nonnenberg c6c3b65bbc
Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219)
Quite a bit of change here.

First, the basics:

- New dependencies were added: react, typescript, tslint, and react-styleguidist
- A new npm script: transpile. It uses typescript to process .tsx files in js/react, putting .js files next to the original file. It's part of the watch functionality of grunt dev as well as the default task run with just grunt (used to build the app prior to release). A lighter-weight to get watch behavior when just working on React components is to run yarn transpile --watch.
- yarn run clean-transpile will remove generated .js files


Style guide via react-styleguidist. Example site: https://react-styleguidist.js.org/examples/basic/

- Start with yarn styleguide
- Component.md files right next to the .tsx file
- jsdoc-style comments are picked up and added to the generated part of the styleguide - the overall summary and a table listing methods and properties of the component
- It has hot-reloading!
- It uses webpack, which means that our app now pulls in webpack though we don't use it to generate anything for the production app.
- I did a bunch of work to enable the use of Backbone views in this context, which will allow us to move smoothly from the old world to the new. First, add all the permutations in the old way, and then slowly start to re-render those same views with React.

A bit of dependency cleanup to enable use in React components:

- moment was moved from our Bower dependencies to our npm dependencies, so it can be used in React components not running in a browser window.
- i18n was moved into the new commonjs format, so it can be used in React components even if window is not available.

Lastly, a bit of Gruntfile cleanup:

- Removal of Chrome App-era modifications of background.js
- Make jshint/jscs watch more targeted, since more and more we'll be using other tools
2018-04-06 08:13:00 -07:00
.github Request translation changes to be made via Transifex 2018-03-21 11:29:34 -04:00
.tx Transifex config specific to electron, updated translations (#1478) 2017-09-14 17:48:09 -07:00
_locales Add initialization view 2018-03-26 16:56:37 -04:00
app Add Attachments.createWriteForExisting 2018-04-04 18:41:50 -04:00
build Bypass often-corrupt node_modules/.bin/grunt.cmd on windows (#1481) 2017-09-15 10:20:29 -07:00
components Move moment from bower deps to npm deps 2018-04-04 16:00:38 -07:00
config New design for import/install, 'light' import (#2053) 2018-02-22 10:40:32 -08:00
fixtures Add mp3 to project, make binary files available in rsg on util 2018-04-05 08:30:30 -07:00
fonts Add fonts so we don't have to hit googlefonts 2015-02-11 17:37:57 -08:00
images New section in settings screen, full-screen 'are you sure?' 2018-03-14 14:42:13 -07:00
js Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219) 2018-04-06 08:13:00 -07:00
libtextsecure Verify makeAttachmentPointer and encryptAttachment arguments 2018-03-26 16:38:34 -04:00
protos Sync Protocol Buffers with libsignal-service-java (#2046) 2018-02-15 15:06:14 -05:00
scripts Add start-backup script 2018-04-04 19:11:46 -04:00
stylesheets Ensure first message is not cut off in iOS theme 2018-03-20 14:31:43 -04:00
test Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219) 2018-04-06 08:13:00 -07:00
ts Simplify assignment; add warning to preload.js about Style Guide 2018-04-05 17:16:15 -07:00
.aptly.conf Setup publishing to s3 2017-09-14 16:53:36 -07:00
.bowerrc Rename bower_components 2014-10-30 16:53:08 -07:00
.editorconfig UX Improvements: Global Menu & Copy Changes (#2078) 2018-03-02 15:59:39 -05:00
.eslintignore window.Signal.React -> window.Signal.Components 2018-04-05 16:10:59 -07:00
.eslintrc.js Disallow exclusive tests, i.e. .only 2018-03-08 16:23:51 -05:00
.gitignore Big refactor: ts/ directory for all typescript, including react 2018-04-05 15:30:40 -07:00
.jscsrc Fix minor style errors 2016-02-18 13:45:22 -08:00
.jshintrc jshint: Turn on ES6 mode, fix a few issues in new logging file 2017-09-25 15:32:31 -07:00
.nvmrc Upgrade to Electron 1.8.2 / Node.js 8.2.1 (#2066) 2018-03-02 14:43:03 -05:00
.travis.yml Add nsp to dev dependencies and to travis and CI scripts 2018-03-14 14:42:13 -07:00
.yarnclean Full styleguide now available via yarn styleguide 2018-04-04 16:08:38 -07:00
about.html Merge branch 'master' into development 2017-11-21 18:25:59 -08:00
appveyor.yml Add nsp to dev dependencies and to travis and CI scripts 2018-03-14 14:42:13 -07:00
aptly.sh aptly.sh: Fix broken switch commands - distro and config fix 2017-12-04 18:51:38 -08:00
background.html Big refactor: ts/ directory for all typescript, including react 2018-04-05 15:30:40 -07:00
bower.json Move moment from bower deps to npm deps 2018-04-04 16:00:38 -07:00
CONTRIBUTING.md Mention correct branch to rebase off of 2018-03-23 12:15:52 -07:00
dev-app-update.yml.sample Show dialog box when there's an update for download 2017-09-14 16:53:50 -07:00
find_broken_perms.sh Add two scripts to handle broken permissions in release dir 2017-09-14 16:53:49 -07:00
fix_broken_perms.sh Beta builds: A few updates required for successful release (#1739) 2017-11-08 19:32:44 -08:00
Gruntfile.js Big refactor: ts/ directory for all typescript, including react 2018-04-05 15:30:40 -07:00
index.html App loading screen: show messages processed so far 2017-08-04 12:03:25 -07:00
LICENSE Add GPLv3 LICENSE file (#1309) 2017-10-20 09:36:49 -07:00
main.js Wire up writeAttachment 2018-03-26 16:38:34 -04:00
package.json Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219) 2018-04-06 08:13:00 -07:00
preload.js Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219) 2018-04-06 08:13:00 -07:00
prepare_beta_build.js New design for import/install, 'light' import (#2053) 2018-02-22 10:40:32 -08:00
prepare_import_build.js New design for import/install, 'light' import (#2053) 2018-02-22 10:40:32 -08:00
README.md Update links to community forum (#2083) 2018-02-28 15:50:56 -05:00
styleguide.config.js Big refactor: ts/ directory for all typescript, including react 2018-04-05 15:30:40 -07:00
travis.sh Remove built assets from repo, updates to docs + GH templates (#1955) 2018-01-09 15:31:23 -08:00
tsconfig.json Big refactor: ts/ directory for all typescript, including react 2018-04-05 15:30:40 -07:00
tslint.json New tslint rule: Interfaces must not start with I 2018-04-05 12:24:43 -07:00
yarn.lock Parse theme from querystring, put on util. Moment from require() 2018-04-05 08:31:43 -07:00

Build Status Signal Desktop

Signal Desktop is an Electron application that links with your Signal Android or Signal iOS app.

Install production version: https://signal.org/download/

Install the beta

You can install it on a computer which already has the production version installed. It uses different data and install locations.

Got a question?

You can find answers to a number of frequently asked questions on our support site: https://support.signal.org/. The community forum is another good place for questions: https://community.signalusers.org/.

Found a Bug? Have a feature request?

Please search the existing issues for your bug and create a new one if the issue is not yet tracked!

https://github.com/signalapp/Signal-Desktop/issues

Contributing Translations

Interested in helping to translate Signal? Contribute here:

https://www.transifex.com/projects/p/signal-desktop

Contributing Code

Please see CONTRIBUTING.md for setup instructions and contributor guidelines. And don't forget to sign the CLA.

Contributing Funds

You can donate to Signal development through the Freedom of the Press Foundation.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2014-2017 Open Whisper Systems

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html