mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-02-21 18:27:15 +00:00
- [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 dedf7c9af0
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 3286da29b3
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 236a23d1ea
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:27:46 2018 -0500
Test menus with included setup options
commit c5d5f5abb8
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 027803f8f4
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 16:02:56 2018 -0500
Prepare tests for menu with/without included setup
commit 9e2f006924
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 15:55:46 2018 -0500
Destructure `includeSetup`
commit 6b2a1eccdf
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 15:55:14 2018 -0500
🔤 `createTemplate` `options`
commit c2fecba34b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:49:55 2018 -0500
Test menu for Windows and Linux
commit 60281b1af9
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:40:39 2018 -0500
Add `yarn run test-app` command
commit 1a0489919c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 12:40:29 2018 -0500
Add test for `SignalMenu.createTemplate` on macOS
commit 9638b86c0f
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 9c26404892
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 710b22438d
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:46:13 2018 -0500
🔤 npm scripts
commit 9ae22937fb
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:45:30 2018 -0500
Use 2-space indendation for `app` module tests
commit 22c26baf61
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:22:55 2018 -0500
Prefer named exports
commit 9c95261952
Author: Daniel Gasienica <daniel@gasienica.ch>
Date: Tue Feb 27 11:22:46 2018 -0500
🔤 Organize `require`s
commit 2f144d24d9
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 f5adb374cb
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 d7a206bc8e
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 715a406436
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.
224 lines
7.9 KiB
JSON
224 lines
7.9 KiB
JSON
{
|
|
"name": "signal-desktop",
|
|
"productName": "Signal",
|
|
"description": "Private messaging from your desktop",
|
|
"repository": "https://github.com/signalapp/Signal-Desktop.git",
|
|
"version": "1.6.0-beta.1",
|
|
"license": "GPL-3.0",
|
|
"author": {
|
|
"name": "Open Whisper Systems",
|
|
"email": "support@signal.org"
|
|
},
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"postinstall": "electron-builder install-app-deps && rimraf node_modules/dtrace-provider",
|
|
"test": "npm run eslint && npm run test-server && grunt test && npm run test-app && npm run test-modules",
|
|
"lint": "grunt jshint",
|
|
"start": "electron .",
|
|
"asarl": "asar l release/mac/Signal.app/Contents/Resources/app.asar",
|
|
"icon-gen": "electron-icon-maker --input=images/icon_1024.png --output=./build",
|
|
"generate": "npm run icon-gen && grunt",
|
|
"build": "build --config.extraMetadata.environment=$SIGNAL_ENV",
|
|
"dist": "npm run generate && npm run build",
|
|
"pack": "npm run generate && npm run build -- --dir",
|
|
"prepare-beta-build": "node prepare_beta_build.js",
|
|
"prepare-import-build": "node prepare_import_build.js",
|
|
"pack-prod": "SIGNAL_ENV=production npm run pack",
|
|
"dist-prod": "SIGNAL_ENV=production npm run dist",
|
|
"dist-prod-all": "SIGNAL_ENV=production npm run dist -- -mwl",
|
|
"build-release": "SIGNAL_ENV=production npm run build -- --config.directories.output=release",
|
|
"build-mas-release": "npm run build-release -- -m --config.mac.target=mas",
|
|
"build-mas-dev": "npm run build-release -- -m --config.mac.target=mas --config.type=development",
|
|
"grunt": "grunt",
|
|
"prep-mac-release": "npm run build-release -- -m --dir",
|
|
"prep-release": "npm run generate && grunt prep-release && npm run build-release && npm run build-mas-release && grunt test-release",
|
|
"release-mac": "npm run build-release -- -m --prepackaged release/mac/Signal*.app --publish=always",
|
|
"release-win": "npm run build-release -- -w --prepackaged release/windows --publish=always",
|
|
"release-lin": "npm run build-release -- -l --prepackaged release/linux && NAME=$npm_package_name VERSION=$npm_package_version ./aptly.sh",
|
|
"release": "npm run release-mac && npm run release-win && npm run release-lin",
|
|
"test-app": "mocha --recursive test/app",
|
|
"test-modules": "mocha --recursive test/modules",
|
|
"test-server": "mocha --recursive test/server",
|
|
"test-server-coverage": "nyc --reporter=lcov --reporter=text mocha --recursive test/server",
|
|
"eslint": "eslint .",
|
|
"open-coverage": "open coverage/lcov-report/index.html"
|
|
},
|
|
"dependencies": {
|
|
"blob-util": "^1.3.0",
|
|
"blueimp-canvas-to-blob": "^3.14.0",
|
|
"blueimp-load-image": "^2.18.0",
|
|
"bunyan": "^1.8.12",
|
|
"config": "^1.28.1",
|
|
"electron-config": "^1.0.0",
|
|
"electron-editor-context-menu": "^1.1.1",
|
|
"electron-is-dev": "^0.3.0",
|
|
"electron-updater": "^2.21.0",
|
|
"emoji-datasource": "4.0.0",
|
|
"emoji-datasource-apple": "4.0.0",
|
|
"emoji-js": "^3.4.0",
|
|
"emoji-panel": "https://github.com/scottnonnenberg/emoji-panel.git#v0.5.5",
|
|
"firstline": "^1.2.1",
|
|
"google-libphonenumber": "^3.0.7",
|
|
"lodash": "^4.17.4",
|
|
"mkdirp": "^0.5.1",
|
|
"node-fetch": "https://github.com/scottnonnenberg/node-fetch.git#3e5f51e08c647ee5f20c43b15cf2d352d61c36b4",
|
|
"node-notifier": "^5.1.2",
|
|
"os-locale": "^2.1.0",
|
|
"proxy-agent": "^2.1.0",
|
|
"read-last-lines": "^1.3.0",
|
|
"rimraf": "^2.6.2",
|
|
"semver": "^5.4.1",
|
|
"spellchecker": "^3.4.4",
|
|
"testcheck": "^1.0.0-rc.2",
|
|
"websocket": "^1.0.25"
|
|
},
|
|
"devDependencies": {
|
|
"asar": "^0.14.0",
|
|
"bower": "^1.8.2",
|
|
"chai": "^4.1.2",
|
|
"electron": "1.8.2",
|
|
"electron-builder": "^20.2.0",
|
|
"electron-icon-maker": "0.0.3",
|
|
"electron-publisher-s3": "^20.2.0",
|
|
"eslint": "^4.14.0",
|
|
"eslint-config-airbnb-base": "^12.1.0",
|
|
"eslint-plugin-import": "^2.8.0",
|
|
"eslint-plugin-more": "^0.3.1",
|
|
"extract-zip": "^1.6.6",
|
|
"grunt": "^1.0.1",
|
|
"grunt-cli": "^1.2.0",
|
|
"grunt-contrib-concat": "^1.0.1",
|
|
"grunt-contrib-copy": "^1.0.0",
|
|
"grunt-contrib-jshint": "^1.1.0",
|
|
"grunt-contrib-watch": "^1.0.0",
|
|
"grunt-exec": "^3.0.0",
|
|
"grunt-gitinfo": "^0.1.7",
|
|
"grunt-jscs": "^3.0.1",
|
|
"grunt-sass": "^2.0.0",
|
|
"mocha": "^4.1.0",
|
|
"mocha-testcheck": "^1.0.0-rc.0",
|
|
"node-sass-import-once": "^1.2.0",
|
|
"nyc": "^11.4.1",
|
|
"spectron": "^3.8.0",
|
|
"tmp": "^0.0.33"
|
|
},
|
|
"engines": {
|
|
"node": "8.2.1"
|
|
},
|
|
"build": {
|
|
"appId": "org.whispersystems.signal-desktop",
|
|
"mac": {
|
|
"artifactName": "${name}-mac-${version}.${ext}",
|
|
"category": "public.app-category.social-networking",
|
|
"icon": "build/icons/mac/icon.icns",
|
|
"publish": [
|
|
{
|
|
"provider": "generic",
|
|
"url": "https://updates.signal.org/desktop"
|
|
},
|
|
{
|
|
"provider": "s3",
|
|
"region": "us-east-1",
|
|
"bucket": "updates.signal.org",
|
|
"path": "desktop",
|
|
"acl": "public-read"
|
|
}
|
|
],
|
|
"target": [
|
|
"dmg",
|
|
"zip"
|
|
],
|
|
"bundleVersion": "1"
|
|
},
|
|
"win": {
|
|
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"artifactName": "${name}-win-${version}.${ext}",
|
|
"certificateSubjectName": "Signal",
|
|
"publisherName": "Signal (Quiet Riddle Ventures, LLC)",
|
|
"icon": "build/icons/win/icon.ico",
|
|
"publish": [
|
|
{
|
|
"provider": "generic",
|
|
"url": "https://updates.signal.org/desktop"
|
|
},
|
|
{
|
|
"provider": "s3",
|
|
"region": "us-east-1",
|
|
"bucket": "updates.signal.org",
|
|
"path": "desktop",
|
|
"acl": "public-read"
|
|
}
|
|
],
|
|
"target": [
|
|
"nsis",
|
|
"zip"
|
|
]
|
|
},
|
|
"linux": {
|
|
"category": "Network",
|
|
"desktop": {
|
|
"StartupWMClass": "Signal"
|
|
},
|
|
"asarUnpack": "node_modules/spellchecker/vendor/hunspell_dictionaries",
|
|
"target": [
|
|
"deb",
|
|
"zip"
|
|
],
|
|
"icon": "build/icons/png"
|
|
},
|
|
"deb": {
|
|
"depends": [
|
|
"gconf2",
|
|
"gconf-service",
|
|
"libnotify4",
|
|
"libappindicator1",
|
|
"libxtst6",
|
|
"libnss3",
|
|
"libasound2",
|
|
"libxss1"
|
|
]
|
|
},
|
|
"files": [
|
|
"package.json",
|
|
"config/default.json",
|
|
"config/${env.SIGNAL_ENV}.json",
|
|
"config/local-${env.SIGNAL_ENV}.json",
|
|
"background.html",
|
|
"about.html",
|
|
"_locales/**",
|
|
"protos/*",
|
|
"js/**",
|
|
"stylesheets/*.css",
|
|
"!js/register.js",
|
|
"!js/views/standalone_registration_view.js",
|
|
"app/*",
|
|
"preload.js",
|
|
"main.js",
|
|
"audio/**",
|
|
"images/**",
|
|
"fonts/*",
|
|
"build/assets",
|
|
"node_modules/**",
|
|
"!node_modules/emoji-panel/dist/*",
|
|
"!node_modules/emoji-panel/lib/emoji-panel-emojione-*.css",
|
|
"!node_modules/emoji-panel/lib/emoji-panel-google-*.css",
|
|
"!node_modules/emoji-panel/lib/emoji-panel-twitter-*.css",
|
|
"!node_modules/emoji-panel/lib/emoji-panel-apple-{16,20,64}.css",
|
|
"!node_modules/emoji-datasource/emoji_pretty.json",
|
|
"!node_modules/emoji-datasource/*.png",
|
|
"!node_modules/emoji-datasource-apple/emoji_pretty.json",
|
|
"!node_modules/emoji-datasource-apple/img/apple/{sheets-128,sheets-256}/*.png",
|
|
"!node_modules/emoji-datasource-apple/img/apple/sheets/{16,20,32}.png",
|
|
"!node_modules/spellchecker/vendor/hunspell/**/*",
|
|
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts}",
|
|
"!**/node_modules/.bin",
|
|
"!**/node_modules/*/build/**",
|
|
"!**/*.{o,hprof,orig,pyc,pyo,rbc}",
|
|
"!**/._*",
|
|
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.editorconfig,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
|
|
"node_modules/spellchecker/build/Release/*.node",
|
|
"node_modules/websocket/build/Release/*.node"
|
|
]
|
|
}
|
|
}
|