Commit graph

1443 commits

Author SHA1 Message Date
Ben Gotow b224347e10 docs(notifs): On linux, display a note about Zenity in prefs 2015-12-03 11:36:54 -08:00
Ben Gotow 015e8a5aba fix(autoload-images): Catch images with no extension, add tests 2015-12-03 11:25:26 -08:00
Drew Regitsky 71328855ee feat(templates-plugin): Add prefs page with template editor, fix bugs.
[Composer Templates / Quick Reply plugin example]

Add a page to preferences with a basic editor for quick reply templates,
allowing add, delete, and edit (HTML and rendered text), with instructions
for how to add variable regions. Add methods to TemplatesStore to enable
these. Fix issues in plugin with quoted text handling, name conflicts,
`this` scoping.
2015-12-02 21:28:49 -08:00
Evan Morikawa 29868429fa fix(deploy): add travis-test branch to build whitelist 2015-12-02 16:49:14 -08:00
Evan Morikawa f0b4005ce7 fix(build): ignore submodules on travis 2015-12-02 15:17:29 -08:00
Evan Morikawa e9936581be feat(build): add nylas resources 2015-12-02 15:12:56 -08:00
Evan Morikawa be60f38daf feat(build): add nylas build resources 2015-12-02 13:59:54 -08:00
Evan Morikawa f508dd8683 refactor(spec): remove spectron from main app 2015-12-02 13:42:09 -08:00
Evan Morikawa 783d835100 test(contenteditable): add in contenteditable list specs 2015-12-02 13:41:47 -08:00
Evan Morikawa 21353031be test(contenteditable): add test harness 2015-12-02 13:41:29 -08:00
Evan Morikawa c3ecca2692 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 fe95af37f8 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 5bd63dc0a7 fix($n): Expose nylas-exports as $n on the console 2015-12-02 11:11:06 -08:00
Ben Gotow ceb9e2cdb1 feat(keybindings): Show all keybindings in prefs 2015-12-01 18:31:19 -08:00
Drew Regitsky ec19890aa2 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 b9d45375ce fix(menu): On Win32, display autoupdate / debug toggle in menu
Fixes #375
2015-12-01 17:00:11 -08:00
Drew Regitsky 1dc1ab5b28 fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00
Drew Regitsky a6ddbae498 fix(examples): Small fixes to QuickSchedule plugin 2015-12-01 15:35:31 -08:00
Evan Morikawa 0ab5886423 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 6d2f39cd6c fix(tray): On Win32 / Linux click should open main window if closed 2015-12-01 14:46:08 -08:00
Ben Gotow 439529c51f 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
Ben Gotow bd9181f62e fix(badge): Badge respects option in prefs
Fixes #516
2015-11-30 19:17:35 -08:00
Michael Grinich a413c69f3b Update README.md 2015-11-30 18:37:24 -08:00
Michael Grinich 078947d5ee Update README.md 2015-11-30 18:36:52 -08:00
Michael Grinich 942bb4cf84 add example images 2015-11-30 18:35:44 -08:00
Michael Grinich adf391ba95 Update README.md 2015-11-30 18:33:17 -08:00
Michael Grinich 4844ff9d5c Update README.md 2015-11-30 18:33:03 -08:00
Juan Tejada 24978b2a4b 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 e356fd378d fix(error): Define mapSourcePosition in nylas-env to prevent undefined error 2015-11-30 18:21:10 -08:00
Ben Gotow 5c8f5e6fd6 bump(changelog): Add a few more notes about 0.3.26 2015-11-30 18:01:13 -08:00
Ben Gotow d48fa50654 feat(rsvp): "Quick RSVP" to events recongized by the API 2015-11-30 17:12:45 -08:00
Evan Morikawa 09728d8cbc feat(contenteditable): add bold, underline, etc keymaps 2015-11-30 16:15:53 -08:00
Juan Tejada 9f309d399b 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 beda078c56 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 b1c925883d fix(signatures): Monospace font, nested scrolling fix 2015-11-30 14:26:11 -08:00
Ben Gotow 6a9ca20df6 bump(version): 0.3.26 and updated Changelog 2015-11-30 14:11:31 -08:00
Evan Morikawa c2beaee006 feat(signatures): add raw signature support 2015-11-30 14:02:58 -08:00
Ben Gotow be491d6cae fix(signatures): Display signatures tab, blur after prefs changes 2015-11-30 13:39:42 -08:00
Ben Gotow 734e670e81 fix(specs): Remove promise usage, process.env as fn to fix node 0.10 2015-11-30 12:39:17 -08:00
Ben Gotow f66f503a75 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 83b0a4db5f 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 6a4613b4a1 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 c58c48b6ff Update travis.yml for only branches 2015-11-29 21:30:11 -08:00
Juan Tejada 84adfb3bdf 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 242b54eea6 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 8784350787 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 c200306eeb 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 e532fa91f8 fix(grunt): update location of rpm icon name 2015-11-27 15:18:46 -05:00
mbilker ba5a8ed432 fix(fedora-spec): copy nylas icons into hicolor folder 2015-11-27 14:41:53 -05:00
Evan Morikawa a69dad52a3 fix(task): spec task uses Promise 2015-11-26 13:03:44 -08:00