Commit graph

1537 commits

Author SHA1 Message Date
Evan Morikawa 2f1a6c3dd8 feat(build): add nylas build resources 2015-12-02 13:59:54 -08:00
Evan Morikawa f007962500 refactor(spec): remove spectron from main app 2015-12-02 13:42:09 -08:00
Evan Morikawa ced66902d5 test(contenteditable): add in contenteditable list specs 2015-12-02 13:41:47 -08:00
Evan Morikawa 40e143e3f2 test(contenteditable): add test harness 2015-12-02 13:41:29 -08:00
Evan Morikawa 73e7c1c52e feat(tests): add integration tests
comment

Adding test harness

Using key strokes in main window test

Tests work now

Clean up argument variables

Rename list manager and get rid of old spec-helper methods

Extract out time overrides from spec-helper

Spectron test for contenteditable

fix spec exit codes and boot mode

fix(spec): cleanup N1.sh and make specs fail with exit code 1

Revert tests and get it working in window

Move to spec_integration and add window load tester

Specs pass. Console logs still in

Remove console logs

Extract N1 Launcher ready method

Make integrated unit test runner

feat(tests): adding integration tests

Summary:
The /spectron folder got moved to /spec_integration

There are now unit tests (the old ones) run via the renamed
`script/grunt run-unit-tests`

There are now integration tests run via the command `script/grunt
run-integration-tests`.

There are two types of integration tests:
1. Tests that operate on the whole app via Selenium/Chromedriver. These
tests have access to Spectron APIs but do NOT have access to any JS object
running inside the application. See the `app-boot-spec.es6` for an example
of these tests. This is tricky because we want to test the Main window,
but Spectron may latch onto any other of our loading windows. Code in
`integration-helper` give us an API that finds and loads the main window
so we can test it

2. Tests that run in the unit test suite that need Spectron to perform
integration-like behavior. These are the contentedtiable specs. The
Spectron server is accessed from the app and can be used to trigger
actions on the running app, from the app. These tests use the
windowed-test runner so Spectron can identify whether the tests have
completed, passed, or failed. Unfortunately Spectron can't access the logs
, nor the exit code of the test script thereby forcing us to parse the
HTML DOM. (Note this is still a WIP)

I also revamped the `N1.sh` file when getting the launch arguments to work
properly. It's much cleaner. We didn't need most of the data.

Test Plan: new tests

Reviewers: juan, bengotow

Differential Revision: https://phab.nylas.com/D2289

Fix composer specs

Tests can properly detect when Spectron is in the environment

Report plain text output in specs

fixing contenteditable specs

Testing slow keymaps on contenteditable specs

Move to DOm mutation

Spell as `subtree` not `subTree`
2015-12-02 13:41:14 -08:00
Ben Gotow bc839fb541 fix(labels): Allow user to label as spam or trash from the dropdown
Also fixes the sort ordering of standard labels in the category picker. Fixes #555
2015-12-02 11:43:37 -08:00
Ben Gotow f95a5a3548 fix($n): Expose nylas-exports as $n on the console 2015-12-02 11:11:06 -08:00
Yoeri Stessens c54131ad96 Alter the text to a more general approach and run tests
The text is now more in line with other mail clients to minimalize possible confusion between users of multiple mail clients and/or platforms.
2015-12-02 08:23:03 +01:00
Ben Gotow 092956b379 feat(keybindings): Show all keybindings in prefs 2015-12-01 18:31:19 -08:00
Drew Regitsky 465d60489f fix(event-rsvp): fix issue with event RSVPs being repeatedly resent
Event RSVPs would resend every time the app was opened, due to `resolve`
never being called on the `Promise` after successfully sending an event
RSVP.
2015-12-01 17:39:47 -08:00
Ben Gotow c4ef6ed56c fix(menu): On Win32, display autoupdate / debug toggle in menu
Fixes #375
2015-12-01 17:00:11 -08:00
Drew Regitsky 786304872a fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00
Drew Regitsky 589972c555 fix(examples): Small fixes to QuickSchedule plugin 2015-12-01 15:35:31 -08:00
Evan Morikawa f3d58aaede refactor(contenteditable): use DOM mutation observers
Summary: This uses DOM mutation observers instead of `onInput`

Test Plan: manual and new integration tests

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2291

feat(contenteditable): add bold, underline, etc keymaps

Moving button extensions out of toolbar

Extracted floating toolbar buttons

Convert ContenteditableExtension to new spec

Update packages to use new callback signature

Fix specs
2015-12-01 15:31:03 -08:00
Ben Gotow b4dda021b1 fix(tray): On Win32 / Linux click should open main window if closed 2015-12-01 14:46:08 -08:00
Ben Gotow 9371f7f9ba fix(quit): On Win32, Linux, N1 should not quit when the main window is closed
Fixes #475
2015-12-01 14:08:26 -08:00
Yoeri Stessens ceec7f625d Change backspace behavior
There is a setting so that the backspace can delete messages instead of archiving.
I think that backspace must delete the message, but like many other clients, you have the choice.
2015-12-01 17:07:46 +01:00
Ben Gotow 99c20f3b56 fix(badge): Badge respects option in prefs
Fixes #516
2015-11-30 19:17:35 -08:00
Michael Grinich 10d607080c Update README.md 2015-11-30 18:37:24 -08:00
Michael Grinich c156e11b98 Update README.md 2015-11-30 18:36:52 -08:00
Michael Grinich 33266a2e1f add example images 2015-11-30 18:35:44 -08:00
Michael Grinich a06e09f27f Update README.md 2015-11-30 18:33:17 -08:00
Michael Grinich b518099257 Update README.md 2015-11-30 18:33:03 -08:00
Juan Tejada e804dbf69f feat(shortcuts): Add listeners for unread/important keyboard shortcuts
Summary:
- Adds KeyCommandRegions to hook up missing listeners for marking as unread and
  important keyboard shortcuts
- Updates specs

Test Plan: - All tests pass

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2300
2015-11-30 18:29:45 -08:00
Juan Tejada 40bde98854 fix(error): Define mapSourcePosition in nylas-env to prevent undefined error 2015-11-30 18:21:10 -08:00
Ben Gotow b2844c0c98 bump(changelog): Add a few more notes about 0.3.26 2015-11-30 18:01:13 -08:00
Ben Gotow 864e19d6b0 feat(rsvp): "Quick RSVP" to events recongized by the API 2015-11-30 17:12:45 -08:00
Evan Morikawa 3eb12507f1 feat(contenteditable): add bold, underline, etc keymaps 2015-11-30 16:15:53 -08:00
Juan Tejada cfdc401c54 update(extensions): Rename DraftStoreExtension and MessageStoreExtension
Summary:
- Rename DraftStoreExtension to ComposerExtension
- Rename MessageStoreExtension to MessageViewExtension
- Rename ContenteditablePlugin to ContenteditableExtension
  - Update Contenteditable to use new naming convention
  - Adds support for extension handlers as props
- Add ExtensionRegistry to register extensions:
  - ContenteditableExtensions will not be registered through the
    ExtensionRegistry. They are meant for internal use, or if anyone wants
    to use our Contenteditable component directly in their plugins.
  - Adds specs
- Refactors internal_packages and src to use new names and new ExtensionRegistry api
- Adds deprecation util function and deprecation notices for old api methods:
  - DraftStore.{registerExtension, unregisterExtension}
  - MessageStore.{registerExtension, unregisterExtension}
  - DraftStoreExtension.{onMouseUp, onTabDown}
  - MessageStoreExtension
- Adds and updates docs

Test Plan: - Unit tests

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2293
2015-11-30 16:08:05 -08:00
Ben Gotow 02633ffd57 fix(build): Temporarily disable tests on linux CI. See details
The linux CI server @ Nylas is running debian wheezy, which is too old to run N1 / Electron 0.35+. We need to switch to making the builds with Travis or https://packagecloud.io/.
2015-11-30 15:04:28 -08:00
Ben Gotow c2055907f3 fix(signatures): Monospace font, nested scrolling fix 2015-11-30 14:26:11 -08:00
Ben Gotow 6150d51eda bump(version): 0.3.26 and updated Changelog 2015-11-30 14:11:31 -08:00
Evan Morikawa 8292a6ff68 feat(signatures): add raw signature support 2015-11-30 14:02:58 -08:00
Ben Gotow 25d4f6cd31 fix(signatures): Display signatures tab, blur after prefs changes 2015-11-30 13:39:42 -08:00
Ben Gotow 9899de30a2 fix(specs): Remove promise usage, process.env as fn to fix node 0.10 2015-11-30 12:39:17 -08:00
Ben Gotow 7c74957b57 Merge pull request #496 from mbilker/fedora-icons
fix(rpm): copy N1 icons into hicolor folder
2015-11-30 11:57:20 -08:00
Evan Morikawa f9dd31b94c feat(signatures): add signature support
Summary:
Add signatures back in.

Extract contenteditable css to its own file instead of being bundled with
the composer.

Test Plan: manual

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2295
2015-11-30 11:48:24 -08:00
Ben Gotow d7d5ed2832 feat(prefs): Allow tabs with an accounts submenu
Summary:
This diff:
- Improves the styling of the tabs in the preferences sidebar.
- Adds an optional param to section cofnig that puts an "account" submenu beneath the tab item.
- Renames preferences "sections" => "tabs", and renames the PreferencesSectionStore to PreferencesUIStore. I think we should include "UI" in more of our stores, and I think "tabs" is a good idea because it's unambigious—there's no way you could confuse it for a "section" of the NylasEnv.config tree or think it deals with actually saving prefs.

Test Plan: Inspect visually

Reviewers: evan, juan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2296
2015-11-30 11:43:49 -08:00
Evan Morikawa 847ac1f10e Update travis.yml for only branches 2015-11-29 21:30:11 -08:00
Juan Tejada 10f291eb4e fix(prefs): Focus main window when open prefs and prevent dupe sheets
- Fixes #498
- Fixes #484
2015-11-28 09:08:45 -08:00
Juan c849f95674 Merge pull request #497 from enrique-ramirez/fix-dock-icon-open
Removing deprecated 'activate-with-no-open-windows' event
2015-11-28 09:04:04 -08:00
Enrique Ramírez 048ac6a214 Removing deprecated 'activate-with-no-open-windows' event
As mentioned on this Electron's issue: https://github.com/atom/electron/pull/2777

The 'activate-with-open-windows' event has been deprecated in favor of a global 'activate' event with a 'hasVisibleWindows' parameter.

This fixes Nylas from crashing when closing the main window and opening via clicking the Dock icon.
2015-11-27 17:05:33 -06:00
mbilker e3460a7a9b fix(redhat-spec): copy 512x512 icon to /usr/local/share/nylas/resources/app/nylas.png
The icon build/resources/nylas.png is exactly the same as build/resources/linux/icons/512.png
Not confident that the spec script is run from base N1 directory to use the nylas.png in the spec file
2015-11-27 16:20:04 -05:00
mbilker e32d52ff3d fix(grunt): update location of rpm icon name 2015-11-27 15:18:46 -05:00
mbilker c46a38362f fix(fedora-spec): copy nylas icons into hicolor folder 2015-11-27 14:41:53 -05:00
Evan Morikawa 2dea234de0 fix(task): spec task uses Promise 2015-11-26 13:03:44 -08:00
Ben Gotow 79413e7c45 fix(autolinker): Add title attr to all links in emails to display href
Fixes GitHub Issues #479 and #335
2015-11-25 18:29:59 -08:00
Ben Gotow 0a413a1598 fix(sidebar): selected is not actually a required prop
Fixes #476
2015-11-25 16:30:01 -08:00
Ben Gotow 4b96ac4bc3 fix(deprecation): app.terminate deprecated in favor of quit 2015-11-25 16:28:08 -08:00
Ben Gotow 72a840e1f0 rm(spectron): Don't run during CI builds, it's timeout-based and fails randomly 2015-11-25 15:06:34 -08:00