Commit graph

1454 commits

Author SHA1 Message Date
Yoeri Stessens 11bbd5bf0c Merge branch 'master' of github.com:nylas/N1 2015-12-07 12:04:41 +01:00
Yoeri Stessens 0c908376de Add remove fallback for archiving messages 2015-12-07 11:29:31 +01:00
Juan Tejada ef7266d362 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 ec832f0793 fix(search): Do not clear search mail view filter on account switch
Fixes #94
2015-12-04 19:01:52 -08:00
Ben Gotow 5b9f368b7a 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 931a93af4e 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 d5bf5e47b7 fix(signatures): Make the entire signature box clickable
Fixes #580
2015-12-04 17:06:12 -08:00
Evan Morikawa 64188fc7fd fix(travis): only build ci-test 2015-12-04 16:39:42 -08:00
Ben Gotow 0dbf0f65ad fix(unread-icon): Show the correct icon for the action 2015-12-04 16:38:26 -08:00
Ben Gotow d19533ff7f fix(counts): compute deltas for unpersist events, more specs
This fix should resolve #489
2015-12-04 16:29:26 -08:00
Ben Gotow c0badff4da changelog: Notes about 0.3.27 patch 2015-12-03 18:58:08 -08:00
Juan Tejada e45a7526db 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 04d0b213b0 docs(notifs): On linux, display a note about Zenity in prefs 2015-12-03 11:36:54 -08:00
Ben Gotow 859333a1d5 fix(autoload-images): Catch images with no extension, add tests 2015-12-03 11:25:26 -08:00
Drew Regitsky 20c522ed39 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 031c4af043 fix(deploy): add travis-test branch to build whitelist 2015-12-02 16:49:14 -08:00
Evan Morikawa cb7449f0c3 fix(build): ignore submodules on travis 2015-12-02 15:17:29 -08:00
Evan Morikawa 1fb58d5c52 feat(build): add nylas resources 2015-12-02 15:12:56 -08:00
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