![]() - [x] Index each `Message` based on whether it has an attachment (visual or document), e.g. ~~`attachmentTypes: 'visual' | 'document' | 'mixed' | 'none'`~~. ~~`attachmentTypes: 'visual' | 'document' | 'none'`~~ - `hasVisualMediaAttachments: IndexedDB.IndexablePresence` (`1 | undefined`) - `hasFileAttachment: IndexedDB.IndexablePresence` (`1 | undefined`) - `hasAttachments: IndexedDB.IndexableBoolean` (`1 | 0`) - [x] Create migration to initialize index - [x] Add menu for viewing all media: **View All Media** - [x] Add IndexedDB index for: - [x] visual media attachments - [x] file attachments - [x] attachments (general) - [x] Render tabs: **Media** and **Documents** - [x] Group messages by date - [x] Add `GoogleChrome` module to explicitly whitelist file formats it can render / play back. - [x] Render list of media thumbnails - [x] Avoid loading videos into memory as they are too big. **TODO:** Could we do that for any large attachment before we have thumbnails? - [x] Show video icon for videos as we don’t have thumbnails (yet). - [x] Implement lightbox - [x] Rebuild Backbone lightbox using React - [x] Add right arrow SVG (`forward.svg` for symmetry with `back.svg`). - [x] Add next / previous buttons - [x] Port support for `Escape` key to close - [x] Port click close - [x] Show lightbox when clicking on media thumbnail - [x] Switch from `MIME.is*` to `GoogleChrome.is[Image|Video]TypeSupported` - [x] Disable access to media gallery until it’s complete. - [x] **Infrastructure:** Move `filesize` from Bower to npm/yarn. - [x] **Infrastructure:** Add support for _Prettier_ code formatting. Opt-in via pragma: ``` /** * @prettier */ ``` Run via `yarn format` command. **TODO:** Add support Git commit hook, etc. - [x] **Infrastructure:** Add basic TypeScript type definitions for Backbone `Model` and `Collection`. - [x] **Infrastructure:** Created pattern for fetching index data without adding more code to existing Backbone collections. See `Conversation.fetchVisualMediaAttachments`. - [x] **Infrastructure:** Created variable for `z-index`. **TODO:** Replace all usages of explicit `z-index` with variables over time. - [x] **Infrastructure:** Created `Signal.Backbone.Views.Lightbox` module to experiment interop with Backbone without using Backbone or jQuery itself to align with long-term plans. - [x] **Infrastructure:** Enable all strict checks by TypeScript compiler. - [x] **Infrastructure:** Add new TSLint rules (see comments in `tslint.json`). ### Phase 1 - [x] Only show images in media gallery until we have video support in lightbox (and potentially thumbnails for grid). - [x] Show up to 50 of most recent images until we have infinite scrolling. - [x] Hide ‘Save As…’ button in media gallery until we port underlying functionality from Backbone to React. - [x] Disable previous/next navigation until implemented. |
||
---|---|---|
.github | ||
.tx | ||
_locales | ||
app | ||
build | ||
components | ||
config | ||
fixtures | ||
fonts | ||
images | ||
js | ||
libtextsecure | ||
protos | ||
scripts | ||
stylesheets | ||
test | ||
ts | ||
.aptly.conf | ||
.bowerrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.jscsrc | ||
.jshintrc | ||
.nvmrc | ||
.travis.yml | ||
.yarnclean | ||
about.html | ||
appveyor.yml | ||
aptly.sh | ||
background.html | ||
bower.json | ||
CONTRIBUTING.md | ||
dev-app-update.yml.sample | ||
find_broken_perms.sh | ||
fix_broken_perms.sh | ||
Gruntfile.js | ||
index.html | ||
LICENSE | ||
main.js | ||
package.json | ||
preload.js | ||
prepare_beta_build.js | ||
prepare_import_build.js | ||
README.md | ||
styleguide.config.js | ||
travis.sh | ||
tsconfig.json | ||
tslint.json | ||
yarn.lock |
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.
- Windows: You can find the most recent build here: https://updates.signal.org/desktop/beta.yml
- Mac: You can find the most recent build here: https://updates.signal.org/desktop/beta-mac.yml
- Linux: same instructions as the production install steps linked above, but run
apt-get install signal-desktop-beta
instead
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