Commit graph

58 commits

Author SHA1 Message Date
lilia
04e40043d2
Add View -> Debug Log to menu bar
Just send an event from the main process to the renderer,
The latter routes it the appropriate view method.

For now it's a no-op unless the main window exists and it is showing the inbox,
which will be addressed in a future commit.

// FREEBIE
2017-09-14 16:53:52 -07:00
Scott Nonnenberg
8243f25e5a
Fix auto-update dialog now that locale-loading has been changed
FREEBIE
2017-09-14 16:53:52 -07:00
Scott Nonnenberg
53d1e7e6c7
Load locale information only after application's 'ready' event
FREEBIE
2017-09-14 16:53:51 -07:00
David Balatero
a6af40e9f9
Couple of semicolons to match style 2017-09-14 16:53:51 -07:00
David Balatero
8f30e13ec1
Rename autoupdate -> auto_update, remove redundancy 2017-09-14 16:53:51 -07:00
David Balatero
ceaff68d55
Refactor locale to only expose the data we care about 2017-09-14 16:53:51 -07:00
David Balatero
5e5ca80a6e
Refactor configuration out into reusable files 2017-09-14 16:53:51 -07:00
David Balatero
ed831dacd0
Refactor external source files to live in app/ 2017-09-14 16:53:50 -07:00
David Balatero
db62494109
Force app to quit on Mac when we auto update 2017-09-14 16:53:50 -07:00
David Balatero
07d8b862db
Use app interface to get the version 2017-09-14 16:53:50 -07:00
David Balatero
1b2e94b100
Add a fallback message when no locale is set 2017-09-14 16:53:50 -07:00
David Balatero
9a7f4ae41c
Show dialog box when there's an update for download 2017-09-14 16:53:50 -07:00
David Balatero
9c21c3c7e6
Enforce a minimum window size 2017-09-14 16:53:50 -07:00
Scott Nonnenberg
0ad35cc0e6
Move electron-config init below our change to appData path 2017-09-14 16:53:48 -07:00
Scott Nonnenberg
69d4a77f1e
Remember window position, size, and maximized/fullscreen status
FREEBIE
2017-09-14 16:53:48 -07:00
Scott Nonnenberg
fd8b8910a3
Eliminate HIDE_DEV_TOOLS environment variable. Hide in test env.
FREEBIE
2017-09-14 16:53:47 -07:00
Scott Nonnenberg
f31125eccc
process.env.NODE_ENV -> environment
FREEBIE
2017-09-14 16:53:47 -07:00
Scott Nonnenberg
255ba58b2e
Enable complete exit of Electron process after grunt unit-tests
FREEBIE
2017-09-14 16:53:47 -07:00
Scott Nonnenberg
5635095d1a
Initial version of grunt unit-tests, tests from command-line
FREEBIE
2017-09-14 16:53:47 -07:00
Scott Nonnenberg
4402a91976
Use correct locale, fall back to en if we don't have translations
FREEBIE
2017-09-14 16:53:47 -07:00
Scott Nonnenberg
b4e3cc0e6c
Load test page and run tests on start when NODE_ENV=test
FREEBIE
2017-09-14 16:53:46 -07:00
lilia
7c6da5a157
Make 'Restart Signal' actually restart Signal
Previously it would just reload the page.

// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
2ccd8c21f3
Limit hidden window behavior to osx
Only on osx is it customary to remain running in the background when the
window is closed.

// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
cfb1e62603
Fix menu on non-darwin 2017-09-14 16:53:45 -07:00
lilia
b5649a6874
Add ability to unhide the window from the renderer
via ipc, for instance if a notification is clicked but the window is
closed/hidden.

// FREEBIE
2017-09-14 16:53:43 -07:00
lilia
d018fa63ff
Add Show option under the Window menu
Window > Show will reveal the mainWindow after it has been closed.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
d71250b752
More main process logging
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
b66a887184
Don't check for updates in the MAS build
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
ade5e593a7
Add some logging to main process startup sequence
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
c2014b062d
Don't makeSingleInstance in a MAS build
It seems that makeSingleInstance will always return true in the MAS
build.* Luckily, OSX mostly enforces single-instance for us when opening
the app from Finder. If the user attempts to run a second instance from
the command line, it will create a window but fail to load.

*TODO: Revisit why makeSingleInstance is broken in the MAS build.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
84fba7d968
Prevent window navigation
Navigation is the default handler for file drag and drop events on the
window.

// FREEBIE
2017-09-14 16:53:41 -07:00
lilia
c1fa33327d
Allow multi-instance in development 2017-09-14 16:53:41 -07:00
lilia
0c9cca08ba
Draw attention to the window on new messages
// FREEBIE
2017-09-14 16:53:41 -07:00
lilia
ea930d53ae
Set badge count
This is displayed on the launcher icon on linux/mac

// FREEBIE
2017-09-14 16:53:41 -07:00
lilia
44adc04395
Closing the window hides the window on mac
Clicking the dock icon restores it again.

// FREEBIE
2017-09-14 16:53:41 -07:00
lilia
77d5ef2f68
Add spellcheck
As of Electron 1.6.5, this requires disabling the sandbox in order to
get access to the `webFrame` api.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
878b15c288
Add node version to debug log
The chrome, electron, and signal versions are already included in the
user agent string.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
46b0146a4c
Log user data directory 2017-09-14 16:53:38 -07:00
lilia
934d06b512
Override environment vars in production
Don't allow environment vars to muck with configs in production.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
14b65a9dce
Log on app ready 2017-09-14 16:53:38 -07:00
lilia
a55c61a3ba
Use local var environment rather than NODE_ENV
Traditionally, NODE_ENV refers to an environment variable. For clarity,
let's keep it that way and don't reuse it in the renderer. Also, add a
note about explicitly overriding env vars for node-config.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
e7e030a5e2
Build expiration date
Add the buildExpiration config and add it to the renderer's config
object. Use grunt to write the build expiration to
config/local-production.json which will override the default value (no
expiration) in production. Finally, run this grunt task as part of the
build process.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
d0fc2f7e71
Ensure that package.json environment > NODE_ENV
We only set the environment in package.json when it is packaged for
deployment. When we do that, we don't want to allow a local environment
variable to override it.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
c83dbc1bf0
Rename window.env to window.config
Also normalize to camelCase for configs.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
590284e4cb
Open links in the default browser 2017-09-14 16:53:37 -07:00
lilia
9f47ff9040
Adjust initial window size 2017-09-14 16:53:37 -07:00
lilia
7e1bee1082
Configure app/build using node config
Add environment-specific configs under `./config` and integrate with the
build system. Also changes package.json `files` from blacklist to
whitelist.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
449c3e2428
Don't auto-open devtools in prod 2017-09-14 16:53:36 -07:00
lilia
e112217095
Add standard menus 2017-09-14 16:53:36 -07:00
lilia
3b287185ef
Fix autoUpdater error in development 2017-09-14 16:53:35 -07:00