Commit Graph

3296 Commits (770e4ac96b5afc24fb95dd34894d77b66d2a2873)
 

Author SHA1 Message Date
Daniel Gasienica 770e4ac96b Merge #2111 from gasi: Autofix: Move Debug Logs From GitHub Gists to debuglogs.org
- [x] Apply ESLint autofixes in preparation of changes to debug log publish change.
- [x] Remove now unnecessary `/* eslint-env browser */` directives from some files. This is now part of our per-folder ESLint configuration.

Manual changes: 77cc9b61c9..0cf64f5083
7 years ago
Daniel Gasienica 969127a72a Remove triple parens 7 years ago
Daniel Gasienica f6fd979ccb Remove explicit ESLint `browser` directives 7 years ago
Daniel Gasienica 168788600a Fix lint errors 7 years ago
Daniel Gasienica 325c0628cd Remove Vim modeline 7 years ago
Daniel Gasienica b3a3729261 Fix lint errors 7 years ago
Daniel Gasienica 6f7f55f783 Whitelist globals 7 years ago
Daniel Gasienica 090345523f Disable ESLint `strict` rule for module
`js/logging.js` acts as a module even though it lives in `js/*`.
7 years ago
Daniel Gasienica 7db44e35bd Allow `node` environment for `js/logging.js` 7 years ago
Daniel Gasienica d4c9422a99 Apply ESLint auto-fixes: `debug_log_view.js` 7 years ago
Daniel Gasienica 5d6cd0ea39 Apply ESLint auto-fixes: `js/logging.js` 7 years ago
Daniel Gasienica 9d638797de Whitelist `js/views/debug_log_view.js` for ESLint 7 years ago
Daniel Gasienica 0f512e3925 Whitelist `js/logging.js` for ESLint 7 years ago
Scott Nonnenberg 9b25e106dc
v1.6.0-beta.2
Upgrade to the latest version of Electron, 1.8.2 (#2066)

Replace custom notification sound with system sound (#2108)

Update menus (#2078 and #2099)
  - A few copy changes to make things clearer
  - Settings now available via the File (Windows/Linux) or Signal
    Desktop (macOS) OS menu
  - Eliminate the triple-dot menu in the top-center of the screen

Fix: Hitting enter after entering device name on install would not move
to next screen (#2085)

Dev:
  - Ensure consistent builds using `yarn --frozen-lockfile` (#2098)
  - Update code to match eslint-enforced formatting (#2077)
  - Upgrade to latest version of electron-builder and associated
    packages (#2066 and #2097)
7 years ago
Daniel Gasienica 4562de8b24 Replace custom notification sound with system sound (#2108) 7 years ago
Daniel Gasienica a61f2939fd Make `isEnabled` an instance variable 7 years ago
Daniel Gasienica d6ff5af843 🎨 `shouldUpdate` --> `needUpdate` 7 years ago
Daniel Gasienica 541e0bfb72 Reduce log noise / size 7 years ago
Daniel Gasienica a5a4ed7de7 Extract `isAudioNotificationEnabled` constant 7 years ago
Daniel Gasienica dc38d40f20 Revert to disabled notification sound on <= Windows 7
We haven’t had the chance to test this using `node-notifier` on Windows 7.
7 years ago
Daniel Gasienica 4e01ca5135 Persist flashing of taskbar on Windows until window is focused
Fixes #1679.
7 years ago
Daniel Gasienica 5a4773fee7 Only play audio notification on supported platforms 7 years ago
Daniel Gasienica 85b121aca4 Rename `shouldShowAudioNotificationSetting`
Use `isAudioNotificationSupported` to make it less presentation layer specific.
7 years ago
Daniel Gasienica 105eb95391 Add tests for `Settings.shouldShowAudioNotificationSetting` 7 years ago
Daniel Gasienica a98a7ba690 Add `sinon` dev dependency
Useful tool for testing: http://sinonjs.org/
7 years ago
Daniel Gasienica dcf651fb51 Hide notifications audio setting on Linux 7 years ago
Daniel Gasienica 21339c6866 Add `Settings` type 7 years ago
Daniel Gasienica 91daedd619 Add `OS` module 7 years ago
Daniel Gasienica dbc242c37f Improve debug log for notifications 7 years ago
Daniel Gasienica b5e7882267 Use system notification sounds
Alternatively, there is per-platform support for specific sounds, but that would
require a larger investment:
- macOS: 9420a38fc3 (all-notification-options-with-their-defaults)
- Windows: https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh761492(v=win.10)
7 years ago
Daniel Gasienica 59e59fb754 Remove new message audio notification
Bye, bye, dear Ka-Klunk!
7 years ago
Daniel Gasienica 8a8972f7ac NOTE: Improve i18n pluralization 7 years ago
Daniel Gasienica a76b1389e6 Extract `hasNotifications` 7 years ago
Daniel Gasienica 9516d667da Rename `enabled` --> `isEnabled` 7 years ago
Scott Nonnenberg 59bee6690d
Choose device name screen: Finish by pressing enter (#2085) 7 years ago
Daniel Gasienica 40ee88ead3
Remove ‘Ctrl+,’ keyboard shortcut on Windows & Linux (#2099) 7 years ago
Daniel Gasienica 3f20feb96d
Ensure consistent builds using `yarn --frozen-lockfile` (#2098)
As recommended by documentation:
> If you need reproducible dependencies, which is usually the case with the
> continuous integration systems, you should pass `--frozen-lockfile` flag.
-- https://yarnpkg.com/lang/en/docs/cli/install/
7 years ago
Daniel Gasienica 3df22026ab UX Improvements: Global Menu & Copy Changes (#2078)
- [x] Removed ‘Restart Signal’ global menu item
- [x] Change _Click to create contact…_ to _Start conversation…_
- [x] Move global menu (top-left kebab) into OS menu bar,
      i.e. **Settings** > **Preferences…**
- [x] Add tests for OS menu bar templates
- [x] Fix bug with **Window** menu on macOS when showing setup options
- [x] Use _Title Case_ for all OS menu bar menu items for consistency

commit dedf7c9af0de90980388559659df0d92a77b864c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:53:42 2018 -0500

    Use ‘Title Case’ to be consistent with OS menus

    References:
    - Apple:
        - https://developer.apple.com/macos/human-interface-guidelines/menus/menu-anatomy/#menu-and-menu-item-titles
        - https://developer.apple.com/library/content/documentation/FinalCutProX/Conceptual/FxPlugHIG/TextStyleGuidelines/TextStyleGuidelines.html#//apple_ref/doc/uid/TP40013782-CH6-SW1
    - https://titlecaseconverter.com/

commit 3286da29b334bd4526c587b17707c2f230cec8f5
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:36:50 2018 -0500

    Fix bug for macOS ‘Window’ menu with setup options

commit 236a23d1eafe2a16073394a27b9013298b682a25
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:27:46 2018 -0500

    Test menus with included setup options

commit c5d5f5abb8d7f52d6a4aa182a86c92f7ddceade0
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:10:27 2018 -0500

    Move settings (‘Preferences’) into OS-level menu

    This reduces our reliance on custom UI until we have more design resources.

commit 027803f8f4983cffa443f0beff1854dcf541689b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:02:56 2018 -0500

    Prepare tests for menu with/without included setup

commit 9e2f006924b85eb249a8a1261c1c4dd1a706afa6
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 15:55:46 2018 -0500

    Destructure `includeSetup`

commit 6b2a1eccdf724fd722e58415d2700da73942d9e8
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 15:55:14 2018 -0500

    🔤 `createTemplate` `options`

commit c2fecba34b153fed106f414ed3347d46299f6fe5
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:49:55 2018 -0500

    Test menu for Windows and Linux

commit 60281b1af9ad1f022cdbc40711ebd0b688a7355d
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:40:39 2018 -0500

    Add `yarn run test-app` command

commit 1a0489919c0a97b03fe88196260fef894fb3d9e4
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:40:29 2018 -0500

    Add test for `SignalMenu.createTemplate` on macOS

commit 9638b86c0f00f231e44562a5aa01626f0e5fdd8b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:34:46 2018 -0500

    Make `createTemplate` pure

    Extracting `options.platform` makes it easier to test without having to
    stub `process.platform`.

commit 9c26404892d7c9a7bd0199a9e8367a165a3b365c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:47:39 2018 -0500

    Extract `locale.load` `appLocale` & `logger` for testability

    This allows us to run this code in a non-Electron environment, e.g. Node.js
    Mocha test suite.

commit 710b22438df25c8d5e8431845a035c55ec8fc0b7
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:46:13 2018 -0500

    🔤 npm scripts

commit 9ae22937fbce078f91443023b560b3c0468c1380
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:45:30 2018 -0500

    Use 2-space indendation for `app` module tests

commit 22c26baf6159bd2e1f5a787c10e2260f09395329
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:22:55 2018 -0500

    Prefer named exports

commit 9c9526195266ac77ac2ca04135a1e675f617dfd2
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:22:46 2018 -0500

    🔤 Organize `require`s

commit 2f144d24d9e9a9ef72fe418996e3c911b304b00a
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:13:50 2018 -0500

    Remove existing global hamburger menu

    This will be replaced by a OS-level ‘Preferences’ menu.

commit f5adb374cb742e5f319ececda8ab6d8adee88d7e
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 18:40:54 2018 -0500

    Remove ‘Restart Signal’ menu from settings

    Apparently, this is a remnant from the Chrome web application.

commit d7a206bc8e67ef44022085e804ca040ed1b219f7
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 17:16:49 2018 -0500

    Clarify label for starting a new conversation

    When user a enters a number that is not a contact, we prompt them to start a new
    conversation.

commit 715a4064367fb61d85c1a4f9d48261b2ce002435
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 16:46:26 2018 -0500

    Use ‘Enter name or number’ as prompt’

    This follows implementation of Android and recommendation from Alissa.
7 years ago
Daniel Gasienica 3c15e01630
Auto-fixes: UX Improvements (#2077)
* Whitelist `conversation_search_view` for ESLint

* Autofix `conversation_search_view`

* Remove Vim modeline

* Whitelist globals for ESLint

* Ignore unnamed module IIFE

* Whitelist legacy `then` expressions

* Extract `isSearchable`

Fixes line length violations.

* Remove unused constant

* Remove unnecessary escaping for parens

Suggested by ESLint `no-useless-escape` rule.

* 🎨 Organize file list

* Whitelist `inbox_view` for ESLint

* Autofix `inbox_view`

* Remove Vim modeline

* Add function names

* Whitelist globals for ESLint

* Fix lint errors

* 🔤 `options` properties

* 🎨 Improve `then` chain formatting

* Consider `js/*.js` files as scripts not modules

Forces use of 'use strict' directive per ESLint.

* Ignore unnamed module IIFE

* Fix function argument line breaks
7 years ago
Daniel Gasienica 9eb1fed766
Update `yarn.lock` after manual `package.json` changes (#2097)
To update the following dependencies…

- electron-updater
- electron-builder
- electron-publisher-s3
- spectron

…`package.json` was mistakenly updated manually which prevented an update
of `yarn.lock`.

This change brings them in sync.
7 years ago
Daniel Gasienica a4c52b8d64
Upgrade to Electron 1.8.2 / Node.js 8.2.1 (#2066)
* Upgrade to Electron 1.8.2 / Node.js 8.2.1

* Update CI Node.js versions

* Make `engines` top-level property

This was accidentally included under `build` which is disallowed
by `electron-builder`.

* Refactor notification updates

Allows easier debugging through variable inspection.

* Use `appId` for Application User Model ID

Recommended in:
https://github.com/electron/electron/issues/10864#issuecomment-346229090

* Update `spectron` to 3.8.0

* Bump `electron-builder` based dependencies

* Use `config.extraMetadata` instead of `em`

Prevents `Unknown argument: em` error.

See: https://github.com/electron-userland/electron-builder/issues/2615

* Revert AUMID to be based on `packageJson.name`

In our build artifact `packageJson.build.appId` causes an NPE.
7 years ago
Scott Nonnenberg 3a334f3d8d
v1.6.0-beta.1
Note: This release is equivalent to v1.5.2

Fixed: If interrupted in the middle of an import, next registration
would leave that imported data in the database (#2072)

Fixed: In some cases on OSX, View menu would not have Debug Log option
(#2089)

Fixed: In import/registration flow, choosing View -> Debug Log would do
nothing (#2089)

Fixed: In some cases contact/group syncs would turn off disappearing
messages in all conversations (#2086)

Fixed: On initial setup, conversations with disappearing messages
enabled would be at the top of the conversation list (#2084)
7 years ago
Scott Nonnenberg e40bd8d348
Merge branch 'master' into development 7 years ago
Scott Nonnenberg fde0b785ae
v1.5.2
Fixed: In some cases on OSX, View menu would not have Debug Log option (#2089)

Fixed: In import/registration flow, choosing View -> Debug Log would do nothing (#2089)
7 years ago
Scott Nonnenberg c87a035f1a
Show View -> Debug on OSX, ensure Debug Log is visible (#2089)
* Ensure debug log is visible during registration/import

* Restore the proper View menu on MacOSX
7 years ago
Scott Nonnenberg ed4ef181af
Merge branch 'master' into development 7 years ago
Scott Nonnenberg e66cdf86e4
v1.5.1
Fixed: In some cases contact/group syncs would turn off disappearing
messages in all conversations (#2086)

Fixed: On initial setup, conversations with disappearing messages
enabled would be at the top of the conversation list (#2084)
7 years ago
Scott Nonnenberg 634f1ae9f4
Don't pop conversations with timer change to top (#2084)
* Don't re-sort conversation list after expiration timer change

Now that we respond to the expiration timer included in contact and
group sync messages, we need to ensure that this doesn't pop
conversations to the top of the list.

* Introduce explaining variable for updateLastMessage filter
7 years ago
Daniel Gasienica caa579f3b8
Hotfix: Ignore iOS group expire timer sync resets (#2086)
Hotfix: Ignore invalid expire timer sync resets

iOS omits `expireTimer` protobuf property to denote disappearing messages have been turned off. However, that doesn’t allow us to distinguish it from old clients that are not aware of this property. This change ignores these invalid values until we consistently use `0` to denote disabled disappearing messages (as Android does).

- [x] Ignore non-numeric `expireTimer` values during contact sync. Long-term, we’ll use `0` to denote turning off expire timers.
- [x] Log what value `expireTimer` is set to.
- [x] Log changes to `expireTimer` in `handleDataMessage` until it uses `ConversationController::updateExpirationTimer`.
7 years ago
Daniel Gasienica e64a08657d
Update links to community forum (#2083) 7 years ago