Commit Graph

7480 Commits

Author SHA1 Message Date
lilia
de3816b094 Get standalone registration working in development
Whisper.events.trigger('openStandalone') to open the standalone
registration view.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
e60111f34d Ignore .DS_Store 2017-09-14 16:53:39 -07:00
lilia
3a9f4f0df3 Flatten database migrations
We can compress or toss out most of these one-off data migrations since
everyone starts from scratch with electron.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
46b0146a4c Log user data directory 2017-09-14 16:53:38 -07:00
lilia
bdeee1d2b1 Add CSP 2017-09-14 16:53:38 -07:00
lilia
1c8d3fb41a Bump version 2017-09-14 16:53:38 -07:00
lilia
7627bddcfa Update default grunt task 2017-09-14 16:53:38 -07:00
lilia
98fe29b419 Fix aptly path 2017-09-14 16:53:38 -07:00
lilia
ab9f5beead Fix release script
// FREEBIE
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
75f4c3c522 Update CONTRIBUTING.md
Add how-to for storageProfile config

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
bc80e5e3b6 Add local.json to gitignore 2017-09-14 16:53:38 -07:00
lilia
6574958087 Remove check for open windows
We now live in a single-window world.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
e4e41140c4 Refactor app view
Introduce a top level view for navigating between the inbox and the
installer, enabling an in-window relink flow. Navigation is driven
through the openInbox and openInstaller global events.

// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
3f5505907f Fix setUnreadCount 2017-09-14 16:53:37 -07:00
lilia
75dbc27cfa Fix i18n of timer options
It is important to return something falsey in the case where there is
no translation.

// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
590284e4cb Open links in the default browser 2017-09-14 16:53:37 -07:00
lilia
72c3dc286c Remove onLaunched handler
This is now handled outside the renderer.

// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
83a020cc5e Move focus listeners to their own file
// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
9f47ff9040 Adjust initial window size 2017-09-14 16:53:37 -07:00
lilia
0839a358d3 Fix scroll overflow in installer layout
Make it slightly more responsive at smaller window sizes.

// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
8015dc73e3 Add local config overrides to .gitignore
// FREEBIE
2017-09-14 16:53:37 -07:00
lilia
4963af60c9 Use default output dir: ./dist 2017-09-14 16:53:37 -07:00
lilia
d12c94d44e Update CONTRIBUTING.md 2017-09-14 16:53:36 -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
34042415e9 Database logging cancels persistent debug log storage
Database logging is helpful as a debugging tool, but it creates an
infinite loop with the debug log, which wants to write to the database,
which wants to write to the log, which wants to write to the database,
which wants to write to the log, which wants to write to the database,
which wants to write to the log, which wants to write to the database...

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
550b926a15 Log on preload 2017-09-14 16:53:36 -07:00
lilia
6a49036da9 Bump to 1.0.1 2017-09-14 16:53:36 -07:00
lilia
a381d9c975 Fix focus detection 2017-09-14 16:53:36 -07:00
lilia
81a40bb548 Remove spaces from windows installer name
Spaces in the file name get escaped to %20. Then the percent sign gets
escaped again on the way to s3 upload, such that the object name on s3
ends up as %2520. To fix this, we can simply omit spaces from our
artifact names.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
5650748961 Fix pre-populated device name 2017-09-14 16:53:36 -07:00
lilia
32be90c728 Fix missing icons on linux
Move these to where the build expects them to be.

In theory electron-builder should generate these from a build/icon.icns
but that doesn't seem to be working.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
9e39442ea8 Setup publishing to s3 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
25b0fbd949 Fix exceptions on window close
The stopListening function was being passed the close event as an
argument, which caused it to throw.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
49cdc98386 Fix lightbox 2017-09-14 16:53:35 -07:00
lilia
a99890d254 Generate ico and icns from png
`npm run icon-gen` builds icon files from png files in the images
directory, outputting to build/icon.{ico,icns} (the expected location
for electron-builder).

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
3b287185ef Fix autoUpdater error in development 2017-09-14 16:53:35 -07:00
lilia
acd19fd759 Fix inbox styles 2017-09-14 16:53:35 -07:00
lilia
86d703bc87 Fix debug log 2017-09-14 16:53:35 -07:00
lilia
63657db3be Quick fix for i18n
Just use the english locale for now. Load locale data from the
filesystem in the main process and pass it to the renderer preload
script via ipc. Note that we need the locale data to be available by the
time view scripts are loaded.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
88893079d2 Fix restart 2017-09-14 16:53:35 -07:00
lilia
2bbd0d58c6 Separate development and production environments
Set NODE_ENV at run time or build time to switch the app between dev and
production modes.

At build time, the current NODE_ENV will be included in the packaged
app's package.json file. At runtime we read NODE_ENV from package.json,
but also allow the local environment variable to override. A query
string parsed by a preload script exposes the value to the renderer,
which then determines whether we use the staging or production server.
Additionally, different environments have different user data
directories.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
45bf7330ac Scope install styles to install element 2017-09-14 16:53:35 -07:00