Synchronizes our protocol buffers with `libsignal-service-java` project.
**Changes**
- [x] **BREAKING:** Rename `package` from `textsecure` to `signalservice`.
⚠️~~Workaround: Rename back to `textsecure`.~~
Changed all protobuf `package` names across our project.
- [x] Rename `java_` metadata.
- [x] Move `NullMessage`, `ReceiptMessage`, and `Verified`.
- [x] Rename `Contacts.isComplete` to `Contacts.complete`. Confirmed to be
unreferenced in our project.
- [x] Rename `Settings` to `Configuration` (`textsecure.protobuf.Settings` seems
to be unused)
- [x] Rename `libtextsecure` `MessageReceiver` `settings` event to
`configuration`.
- [x] Rename `ReceiptMessage.timestamps` to `ReceiptMessage.timestamp`.
- [x] Add `AttachmentPointer` `width` and `height`.
- [x] Renamed `IncomingPushMessageSignal.proto` to `SignalService.proto` to
match server.
---
commit 2b6aa19bf9ea5d8f2f4fd9e4102699a9d06a2b45
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Wed Feb 14 19:41:24 2018 -0500
Rename protobuf `package`: `textsecure` --> `signalservice`
Brings us closer to `libsignal-service-java`.
commit 91612880a5bf2c9ae8a9334877ac24e91102b905
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Wed Feb 14 19:19:35 2018 -0500
Rename `SyncMessage.Settings` to `SyncMessage.Configuration`
commit 848eb9559928c54dffd3426bba8e7cd7b1687cdc
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 13 20:16:43 2018 -0500
Rename `ReadReceipt` `timestamps` --> `timestamp`
commit 39859e64b41ddf41127b52d963fe7cc2b9fcad68
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Wed Feb 14 18:43:42 2018 -0500
Rename `IncomingPushMessageSignal.proto` to `SignalService.proto`
This matches the `libsignal-service-java` filename.
commit fd4bfd76af57ffa44178caf21d350cca211dc048
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 13 16:24:36 2018 -0500
Revert protobuf `package` to `textsecure`
This was a breaking change and would need to be introduced with additional
changes.
commit 9f618fa91717a0349f1ea28bf6d365ef0a5c9ca5
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 13 16:09:55 2018 -0500
Sync service protocol buffers with Java project
Snapshot: 4684a49b2e/protobuf/SignalService.proto
Update electron to 1.7.12 (#2029)
Fixed: incoming messages sometimes didn't appear at all (#2050)
Fixed: 'Cannot find module ./app/locale' error popup when attempting to
start another instance of the app on Windows (#2017)
Fixed: Setting NODE_ENV environment variable to 'development' would
point it at staging servers (#2010)
'Restart' -> 'Restart Signal' button in update dialog, thanks @StevenXL
(#2024)
Set conversation disappearing messages state and contact block state on
initial link (#1980)
Dev:
- Update to libsignal-protocol-javascript v1.3.0 (#2050)
- Make our binary comparisons constant time (#2047)
- Fix typo in issue template (#2020)
- Update to new signal branding (#2018)
Update to Electron 1.7.11 (#1996)
Fixed: Crash during input via Chinese IME on Mac (#1996)
Fixed: Expired disappearing messages would sometimes remain in
conversation (#1983)
Update to Electron 1.7.11 (#1996)
Fixed: Crash during input via Chinese IME on Mac (#1996)
Fixed: Expired disappearing messages would sometimes remain in
conversation (#1983)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iF4EABEIAAYFAlpqO/oACgkQpJMcCWRMZUupvQEAxJqYSaZZIfb+KZM0B6UqXiUT
KbgZL4+HMKcNHAepgE8BAJ8cGrbcFgXQ0ZQl3KvLwZL1vJlBnMzQep9tyELcPR4K
=1e19
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iF4EABEIAAYFAlpw8WwACgkQpJMcCWRMZUtNnAD9H7zRkXxo5cce0A2AVNDhZMXX
V9aQJ8SsAEvMDHBUHRwA/ifRzKM2ywoPVdJzjDsCpsS9GApd2QpQ5oq720kt6LuI
=5/BP
-----END PGP SIGNATURE-----
Merge tag 'v1.3.0-beta.1'
Update to Electron 1.7.11 (#1996)
Fixed: Crash during input via Chinese IME on Mac (#1996)
Fixed: Expired disappearing messages would sometimes remain in
conversation (#1983)
_Note: This release is equivalent to [v1.2.0-beta.2](https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v1.2.0-beta.2). Listed below are the changes from the previous production release: [v1.1.0](https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v1.1.0)_
Update to Electron 1.7.10 (#1919)
Fixed: clicking Windows notification would break window out of aero-snap location (#1918)
Fixed: forwarded video would not play (#1977)
Fixed: conversation was inaccessible if group member had invalid phone number (#1968)
Fixed: powershell warning caused cert validation of downloaded update to fail on windows (#1976)
Fixed: 'Missing signed prekey' errors after re-link (#1979)
Fixed: data older than three days would persist in logs dir (#1945)
Fixed: in the middle of send, disabled send field could be edited after click (#1937)
Update strings (#1921)
Add badge with unread count to the tray icon - thanks @m-pilia (#1934)
_Note:_ to try this test feature out, use the `--use-tray-icon` and `--start-in-tray` command-line arguments
Dev:
- Additional logging for unexpected situations during sort of conversation list (#1969)
- Dependency updates, fixes required for successful release (#1966 and #1976)
- Log more info along with http errors (#1968)
- Fix error to console when verifying contact in standalone mode (#1961)
- Remove all built assets from repo (#1955)
- Log out information from DOMException when import fails (#1923)
- Log clearer messages regarding prekey/signed prekey fetches (#1961)
- Make errors more debuggable; capture correct stack, include name (#1944)
- Add eslint/mocha with code coverage for non-browser code (#1945)
- Revamped github issue and pull request templates, updates to contributing.md/readme.md (#1955 and #1956)
- Document building/testing releases in Contributing.md, thanks @veggiedefender (#1867)
- Update a number of dependencies to the latest: builder, websocket, spellcheck (#1920)
* Log SyncMessage destination, even if it's a group
* Remove disappearing message even if deleted during fetch
This change fixes a potential race condition with disappearing message
removal from the UI. If the UI is in the middle of making a database
request for messages to display, then we need to wait for that to
complete before removing the newly-deleted expired message.
Fixed: forwarded video would not play (#1977)
Fixed: conversation was inaccessible if group member had invalid phone
number (#1968)
Fixed: powershell warning caused cert validation of downloaded update to
fail on windows (#1976)
Fixed: 'Missing signed prekey' errors after re-link (#1979)
Add badge with unread count to the tray icon - thanks @m-pilia (#1934)
Note: to try this test feature out, use the
`--use-tray-icon` and `--start-in-tray` command-line arguments
Dev:
- Additional logging for sort of conversation list (#1969)
- Dependency updates, fixes required for successful release
(#1966 and #1976)
- Log more info along with http errors (#1968)
Note: 1.2.0-beta.1 was never released - changes here:
https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v1.2.0-beta.1
This commit adds a badge to the tray icon that displays the number of
unread messages, if there is any. It is implemented by providing
alternative versions of the icon, that replace the default image when a
message is received.
The badge is rendered graphically as a red circle containing the number
of unread messages. Since a different icon file is needed for each
possible number of unread messages, but this number is clearly
unbounded, only the numbers from 1 to 9 are provided. If there are 10 or
more unread messages, a single badge (depicted as "9+") is used.
Resolves#1917
* api.js: HttpError now preserves more of original error info
* Allow invalid conversation to be added to ConversationController
If a number we don't believe is valid comes in as part of a group, we
fall apart. We event prevent display of that conversation. Because we
have 'isValid()' protections in place for the places we create contacts
from user input in desktop (the search bar), we can temporarily add an
invalid contact to our collection (not saving it to the database) to
unblock this group scenario.
Still investigating what kind of phone number is valid in a mobile app
but not valid for us.
* Finish the debuggable error support
* Fix logging in the case of an invalid number
* A number of fixes required for successful build after upgrades
- extract now takes an absolute directory only
- something changed, so we now need to force NODE_ENV=production; we use
electron-is-dev for this
- electron-builder, electron-publisher-s3, and electron-updater are now
updated to their latest available versions
* Add direct dependency on extract-zip, since we use it directly
* Load 'config' module after we've modified NODE_ENV
* Downgrade electron-builder due to bug, downgrade icon-maker too
The latest electron-builder came with a fix for one of our bugs as well
as a new bug that blocks builds on Windows: https://github.com/electron-userland/electron-builder/issues/2462
There's no good reason to upgrade icon-maker. And a good reason to keep at the version on github: https://github.com/jaretburkett/electron-icon-maker/issues/7
Update to Electron 1.7.10 (#1919)
Fix issue where clicking Windows notification breaks window out of
aero-snap location (#1918)
Fix issue where old log data would persist in logs dir (#1945)
Fix issue where disabled send field (in the middle of send) could be
edited after click (#1937)
Update strings (#1921)
Dev:
- Fix error to console when verifying contact in standalone mode
(#1961)
- Remove all built assets from repo (#1955)
- Log out information from DOMException when import fails (#1923)
- Log clearer messages regarding prekey/signed prekey fetches (#1961)
- Make errors more debuggable; capture correct stack, include name
(#1944)
- Add eslint/mocha with code coverage for non-browser code (#1945)
- Revamped github issue and pull request templates, updates to
contributing.md/readme.md (#1955 and #1956)
- Document building/testing releases in Contributing.md,
thanks @veggiedefender (#1867)
- Update a number of dependencies to the latest: builder, websocket,
spellcheck (#1920)
* Revamp issue and pull request templates, other docs tweaks
`yarn test` now runs all of our tests.
* Remove generated files from the repository
* Update to new Signal support URL
* Prevent the 'Test failed 2 == 1' from test-release in CI
* Another attempt to fix grunt test-release on Appveyor
* grunt test-release: Fail build if test fails
* Lint fix, and move jshint earlier in CI process
* Clean logs on startup; install server-side testing/linting
* Add eslint config, make all of app/ conform to its demands
* Add Node.js testing and linting to CI
* Lock project to Node.js 7.9.0, used by Electron 1.7.10
* New eslint error: trailing commas in function argumensts
Node 7.9.0 doesn't like trailing commas, but Electron does
* Move electron to devDependency, tell eslint it's built-in
No more errors like this in the logs!
```
INFO 2018-01-05T18:33:15.942Z Message.saveErrors: null Error
at file:///C:/Users/Test/AppData/Local/Programs/signal-desktop/resources/app.asar/js/libtextsecure.js:30:33
at file:///C:/Users/Test/AppData/Local/Programs/signal-desktop/resources/app.asar/js/libtextsecure.js:138:3
at file:///C:/Users/Test/AppData/Local/Programs/signal-desktop/resources/app.asar/js/libtextsecure.js:40718:3
```
It has no information in the title, and then the callstack points to
the `new Error()` line in the old `errors.js`.
This change will include the actual error name and message details in
the stack, and will include the original http error stack as well if
provided.
* Preserve disabled state in send-message field on click
Also: get consistent in treatment of 'disabled' property.
* Add some comments explaining how audio recording dismissal works
Note: This release is the same thing as https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v1.1.0-beta.6
Listed below are the changes from the previous production release: https://github.com/WhisperSystems/Signal-Desktop/releases/tag/v1.0.41
Update to electron 1.7.9 (#1736)
Support the latest phone number formats via libphonenumber update (#1899)
Reduce download size by ~25MB over the previous production build (#1869)
Emoji - thanks @liliakai:
- Emoji picker (#1608)
- Add support for Emoji 5 (#1797)
Notifications:
- Windows 7: Use an alternate mechanism for notifications (#1812)
- Prevent drawAttention() when notifications are turned off - thanks @canerelci! (#1612)
Linux:
- Support for current (artful) and previous (xenial) ubuntu versions (#1856)
- Fix missing application icon on some Linux distributions (#1735)
- Fix issue where window would not show new message alerts on some Linux systems - thanks @cornerman (#1820)
- Add .deb specific dependencies - thanks @veggiedefender (#1858)
The default button is now 'later', not 'restart' in the 'update available' dialog (#1894)
Make the window minimum width a little smaller - thanks @emptyflask (#1863)
Intl-friendly sort order for contact lists (#1900)
Fix issue where update would restore deleted windows shortcut (#1804)
Fix issue where .tif file attachments could not be sent or received (#1901)
(in testing) Add a tray icon to the application behind command-line argument - thanks @m-pilia (#1676)
--use-tray-icon enables the tray icon
--start-in-tray enables the tray icon and the application starts minimized in the tray bar
(in testing) Support pass-through proxies with HTTPS_PROXY environment variable (#1878)
Dev:
- Display of environment and app instance in title bar/about window (#1606)
- Support for beta releases installed beside production versions (#1606)
- Fix json parsing exceptions obscuring server errors (#1605)
- Be resilient to thrown non-errors in import process (#1737)
Fix issue where .tif file attachments could not be sent or received
(#1901)
Support the latest phone number formats via libphonenumber update
(#1899)
Intl-friendly sort order for contact lists (#1900)
Show window if hidden to tray when second instance attempts to start
(#1897)
Make the window minimum width a little smaller - thanks @emptyflask
(#1863)
Fix issue where duplicate emoji were listed in the emoji panel (#1893)
The default button is now 'later', not 'restart' in the
'update available' dialog (#1894)
Dev:
- Add .deb specific dependencies - thanks @veggiedefender (#1858)
Some barebones debian-based systems (e.g. Docker containers) don't come with the libasound2 and libxss1 libraries, which electron-builder does not include by default.