Commit graph

1630 commits

Author SHA1 Message Date
Ben Gotow
3647305669 Revert "fix(json): serialize blob data"
This reverts commit 68c3c76ffa.
2015-12-08 15:14:35 -08:00
mbilker
23a2de603c fix(tests): replace () with [] for properties of process.env
This bug appeared during a Travis test run, and only appeared on
the Linux hosts running the tests. The function appears to treat
the `process.env` as a set of functions, not properties. This
commit correctly interprets them as properties.
2015-12-08 18:06:41 -05:00
Evan Morikawa
68c3c76ffa fix(json): serialize blob data
Summary:
A fix to reserialize JSON blob data properly for complex object types.
We should investigate overriding all of JSON.parse and JSON.stringify.
This coming in a future diff.

Also we were using old Electron APIs that were throwing backend errors

Test Plan: todo

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2326
2015-12-08 16:11:22 -05:00
Juan Tejada
8525717ff9 fix(composer): Pass in onFocus handler correctly to contenteditable
- Fixes issue where body lost focus when typing and focus switched to to
field
- Now passes the onFocus handler as part of a `ContenteditableExtension`
2015-12-08 11:00:33 -08:00
Evan Morikawa
aa20212431 fix(composer): fix bold, italic, underline keybinding 2015-12-08 10:20:49 -05:00
Ben Gotow
3931a0b948 fix(expand-all): Fixes for dark theme, don't show expand when one message 2015-12-07 18:01:06 -08:00
Ben Gotow
7f88e3e409 fix(templates): Example now depends on underscore 2015-12-07 17:33:51 -08:00
Ben Gotow
d115869667 fix(templates): Unregister preferences tab when disabled 2015-12-07 17:23:59 -08:00
Ben Gotow
62fab52f7b feat(observables): Implementation of observables to replace some stores
Summary:
Add concept of "final" to Query, clean up internals

Tiny bug fixes

RxJs Observables!

WIP

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2319
2015-12-07 16:52:46 -08:00
Evan Morikawa
632c06dbdd fix(composer): detect system language for spellchecking 2015-12-07 19:33:18 -05:00
Juan Tejada
f80921f4ac fix(specs): Update specs for EditableList 2015-12-07 15:59:24 -08:00
Juan Tejada
3abce37762 fix(editable-list): Fix use of children props in EditableNode + updates
- Fix issue with using this.props.children which was preventing
rerendering
- Updates styles for list
- Updates create item input:
  - Add key to prevent warning
  - Add prop for the placeholder
  - Add onBlur behavior
2015-12-07 15:57:30 -08:00
Ben Gotow
b00e5439e5 feat(paste): Paste accepts more HTML, paste and match style now available
Summary:
Related to #320, #494, #515, #553

Ignore newlines and returns in HTML, they can be inside tags

Allow all attributes so that paste from excel looks nice

Never let someone paste a `contenteditable` attribute

Update specs

Test Plan: Run new specs

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2309
2015-12-07 15:34:03 -08:00
Ben Gotow
47b46ac5b3 fix(theme): Dark mode styling for undo/redo component 2015-12-07 15:11:11 -08:00
Ben Gotow
b153eb38da fix(theme): Dark mode styling of the from field, "More contacts" button
Fixes #607
2015-12-07 15:05:44 -08:00
Ben Gotow
f8169273b8 fix(downloads): Improve inline attachment handling
- Show downloading state for inline attachments
- Ensure that the UI updates /after/ the download has completed
- Don't delete finished downloads (previously we were forgetting that a file was downloaded and checking again and again)

Fixes #462
2015-12-07 15:00:25 -08:00
Juan Tejada
daa4e2a038 update(components): Add support to create new items inside EditableList
- Adds logic to allow simple item creation
- Adds new onItemCreated callback
- Updates specs
2015-12-07 12:40:39 -08:00
Ben Gotow
e87c5d3181 bump(version): 0.3.28 2015-12-07 12:08:51 -08:00
Juan Tejada
7a5be0e7a7 fix(important): Fixes keymap handlers for mark as important/unimportant
- Updates to bind handlers inside thread list
- Fixes typo in event name
- Updates config path for showImportant
2015-12-07 12:05:40 -08:00
Ben Gotow
7f87ffbe17 fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
Ben Gotow
59888b9a50 Merge pull request #413 from mbilker/cleanup-download-delete-after-trigger
fix(FileDownloadStore): delete download from @_downloads after @trigger
2015-12-07 10:46:20 -08:00
Ben Gotow
f638f552fb Merge pull request #525 from Yerlix/master
Change backspace behavior
2015-12-07 10:40:43 -08:00
Ben Gotow
dc2d83b08b fix(search): URI encode search queries to prevent 400s 2015-12-07 10:37:26 -08:00
Evan Morikawa
d95cb45147 feat(ci): add Travis and AppVeyor ci support 2015-12-07 12:48:26 -05:00
Juan Tejada
07f81f81a6 feat(components): Add EditableList component to component-kit
Summary:
- Generic list component wich supports adding, editing and removing
string-like items or components
- Needs some css love

Test Plan: - Unit tests.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2322
2015-12-07 08:15:40 -08:00
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