Commit graph

1508 commits

Author SHA1 Message Date
Yoeri Stessens 4567183d3a Merge branch 'master' of github.com:nylas/N1 2015-12-07 12:04:41 +01:00
Yoeri Stessens 9d6769ba89 Add remove fallback for archiving messages 2015-12-07 11:29:31 +01:00
Juan Tejada 92365294a3 update(examples): Update examples to use new ExtensionRegistry api
- Remove deprecated use of DraftStoreExtension and DraftStore.register
2015-12-05 01:07:38 -08:00
Ben Gotow 8a3633d509 fix(search): Do not clear search mail view filter on account switch
Fixes #94
2015-12-04 19:01:52 -08:00
Ben Gotow 386a599fbc fix(keymaps): Listen to atom commands instead of DOM events
Using `addEventListener` only works when the command is triggered by the atom keymaps manager, NOT when the command is triggered by the command registry (NylasEnv.commands.dispatch). Odds are, when you subscribe to key commands you /really/ mean to subscribe to the command, no matter how it's invoked.

This fixes #556, in which the down / up arrows in the message list weren't working.
2015-12-04 18:27:11 -08:00
Juan Tejada bdfd96fed2 feat(print): Add functionality to print currently focused thread
Summary:
- Adds button inside the message list to print the thread
- Adds cmdctrl-p binding to print thread
- Adds new action and new internal_package to listen to this action.
- Creates a standalone browser window with current thread html, and removes all
collapsed messsages from the print view

Test Plan: - Manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2310
2015-12-04 18:12:06 -08:00
Ben Gotow b9c4a64910 fix(signatures): Make the entire signature box clickable
Fixes #580
2015-12-04 17:06:12 -08:00
Evan Morikawa e8805b357e fix(travis): only build ci-test 2015-12-04 16:39:42 -08:00
Ben Gotow f308e51f62 fix(unread-icon): Show the correct icon for the action 2015-12-04 16:38:26 -08:00
Ben Gotow f509a41ce7 fix(counts): compute deltas for unpersist events, more specs
This fix should resolve #489
2015-12-04 16:29:26 -08:00
Ben Gotow 980f3ba7aa changelog: Notes about 0.3.27 patch 2015-12-03 18:58:08 -08:00
Juan Tejada e133896e68 feat(messages): Add button to expand/collapse all messages in thread
Summary:
- Works like Gmail does
- Adds specs

Test Plan: - Unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2301
2015-12-03 11:57:48 -08:00
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
Yoeri Stessens 44e3f99cc9 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 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
Yoeri Stessens da56a9b5c8 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 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