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
* Re-enable libtextsecure unit tests, get passing, run in CI
* Save prekeys optimistically, track confirmed, new clean behavior
* Eliminate potential conflicts when rotating on startup
* Remove last symlink: get libtextsecure tests running on windows
* Validate config-provided locatio against available screens
* Increase buffer around screen from 10px to 100px
* Protect against null mainWindow, fix height/width typo
* Properly handle missing x and y
* Move to _.isNumber for checking x and y
* Use greater than or less than to allow for y = 0, exactly 100px
* Log the files discovered in logPath
I've encountered some logs which include very old entries; and my
suspicion is that we're not cleaning up old log files properly.
* Log prekey fetches (success and failure), just like signed keys
* Force log file information into the final web-ready log
* Log when we get a blocked numbers sync message
* Save three old signed keys in addition to the current active
* Remove the mystery from all the error-related log messages
* Log successful load of signed key - to help debug prekey errors
* removeSignedPreKey: Don't hang or crash in error cases
* Log on top-level unhandled promise rejection
* Remove trailing comma in param list, Electron 1.6 does not like
* Harden top-level error handler for strange object shapes
* Retry failed signed key rotation; start rotation when registered (#1772)
* rotateSignedPrekeys: Fix 'res is not defined' error
* If the server rejects key rotation, don't retry immediately
* Force a signed key rotation on launch of any new version
* 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
This commit adds a tray icon to the application, shown in the system
tray bar, that can be used to minimise the application window. This
is a common feature on most desktop messaging apps (e.g. Telegram
Desktop or Slack) and allows to save space in the system task bar.
The tray icon provides a context menu that contains a button to
show/hide the application window, and a button to quit the
application. When the tray icon is clicked, the visibility of the
window is toggled. When the close (x) button of the window is
pressed, the application is not terminated but minimised to the tray
icon instead (it can be terminated by using the "Quit" entry in the
File menu or in the context menu of the tray icon).
The tray icon is disabled by default, and two command line arguments
are available to enable it:
--use-tray-icon: enables the tray icon
--start-in-tray: enables the tray icon and the application starts
minimised in the tray bar
Resolves: #1480
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
Remove conversation from left pane on 'delete messages' (#1807)
'Reset session' option for a conversation now resolves more error
situations (#1796)
Import: Link to export docs, make clear that import should only happen
once (#1803)
Remove last seen indicator if we sent a message in this conversation on
another device (#1805)
New version dialog (OSX and Windows) should now be less obtrusive
(#1795)
About dialog can be dismissed with escape key, important on some Linux
window managers with minimal chrome (#1795)
Dev:
- Group changes are better localizable (#1802)
- Import: better logging of errors (#1785)
* web requests: Don't fail if JSON not well-formed in error cases
Turns out that before our move to node-fetch, we ignored JSON.parse()
failures: https://github.com/WhisperSystems/Signal-Desktop/pull/1552/files#diff-1103a6aff0f28b6066715c6994278767L37518
* Update to libsignal v1.2.0, delete sessions on reset session
Previously we only archived sessions when sending or receiving a
'reset secure session, which didn't match up with the mobile apps.
Import: Save attachments serially for more efficient RAM usage (#1768)
Dev:
- Import: Better logging when things go wrong (#1768)
- removeSignedPrekey: Be resilient to delete returning nothing (#1769)
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)
* Added top level menu shortcuts (Fixes#1688 and #1695).
The ampersand (&) character in front of a letter in a menu label
indicates that the letter that follows '&' will be used as a keyboard
shortcut letter to access this menu. In Windows/Linux, the default
shortcut combination is Alt+<letter>.
* Use non-hardcoded menu labels.
The menu labels were hardcoded in English.
We should not be using plain strings right in the source code, but
pulling them from the `messages.json` files instead.
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)