Not sure how to test them as part of Grunt `unit-tests` task as `test/index.html` doesn’t
allow for inclusion of CommonJS modules that use `require`. The tests are silently
skipped.
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)
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
* 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
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.
We've simplified; HTTPS_PROXY or https_proxy is used for all requests.
We also require that only our self-signed certificates are used for
secure traffic. That rules out all SSL-terminating MITM proxies, since
we don't trust their root certificate.
Once we're sure that this system works for people, we'll improve config
on MacOS and Windows.
Reduce download size by ~125MB versus the previous beta build, about
~25MB over the previous production build (#1869)
Dev:
- Update to v1.0.41 equivalence
(5bc70c35e7)
- This update to match production includes update fixes for OSX.
Note: The transition v1.1.0-beta.3->v1.1.0-beta.4 will still have
upgrade difficulties. When v1.1.0-beta.4 updates to the next release
version, the behavior will be fixed.
Add proxy support based on environment variables (#1855)
Fix issue where window would not show new message alerts on some Linux
systesm - thanks @cornerman (#1820)
Add a tray icon to the application behind command-line argument -
thanks @m-pilia (#1676)
Emoji:
- Fix issue where clicks in emoji panel wouldn't do anything (#1849)
- Add support for Emoji 5 - thanks @liliakai (#1797)
- Eliminate unused emoji images from production package (#1849)
Deployment:
- aptly.sh: support for current and previous ubuntu versions (#1856)
- deployment: update electron-publisher-s3 to match builder update
(17f0bb42bc)
Dev:
- Update development branch to include everything up to v1.0.40
(f013eed9d1
and 3ac29a4ba3)
- Update readme.md to use signal.org URLs - thanks @scienmind (#1814)
We pull proxy settings from environment variables:
- HTTPS_PROXY for sending, profile pulls, and attachment download/upload
- WSS_PROXY for connecting to the websocket for receiving messages
- ALL_PROXY to provide one server for both
More details on our proxy handling:
- https://github.com/Rob--W/proxy-from-env#environment-variables
- https://github.com/TooTallNate/node-proxy-agent
This is the natural way of things for Linux. My understanding is that
most proxies on MacOS are system-wide and transparent, so it's not so
urgent. But Windows will likely require further UI for configuration.
Will need to do some testing with Windows users.
* Emoji: Ensure that all clicks work by using emoji data directly
* Eliminate a number of unused emoji images from final build
* Re-add the generic sheets directory, which we partially filter
* Add support for Emoji 5
Update to latest emoji-datasource and emoji-js and switch to an up-to-date fork
of emoji-panel.
// FREEBIE
* Dark theme support for emoji-panel
Fixes#1763
// FREEBIE
Windows 7: Use an alternate mechanism for notifications (#1812)
Retry failed signed key rotation; start rotation when registered (#1772)
Dev:
- Update to electron-builder 19.29.0; may allow windows shortcut to
stay deleted on update (#1804)
- aptly.sh: Instructions for pruning old packages from repo (#1771)
- Update development branch to include everything up to v1.0.39
0e328f3911
Fix missing application icon on some Linux distributions (#1735)
Update to electron 1.7.9 (#1736)
Dev:
- Be resilient to thrown non-errors in import process (#1737)
- Beta builds: A few updates required for successful release (#1739)
- Use icon from /images for window creation instead of /build (#1738)
- Update development branch to include everything up to v1.0.37 9e6d50b966
Fix issue where application won't start up when /tmp is mounted noexec on Linux (#1734)
Fix issue where more and more messages would be loaded on every restart (#1719)
Add accelerators for top-level menu shorts, and ensure they can be localized - thanks to @cyberang3l! (#1702)
Update strings for: de, el, es, es_419, fa, hi, it, no, pt_PT, ro, ru, sl, and zh_TW (#1733)
Import: wait for IndexedDB transactions to complete; should solve
out-of-memory problems (#1698)
Increase web request timeout to 10s for slower networks (#1699)
Drop failed delivery receipts, which caused loading screen to go higher
and higher over time (#1699)
Emoji picker (#1608)
Prevent drawAttention() when notifications are turned off - thanks
@canerelci! (#1612)
Support new 833 area code with update to libphonenumber (#1598)
Dev:
- Support for beta releases installed beside production versions
(#1606)
- Display of environment and app instance in title bar/about window
(#1606)
- Fix json parsing exceptions obscuring server errors (#1605)
* 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