Commit graph

364 commits

Author SHA1 Message Date
Ben Gotow
a620f86776 fix(tasks): Call super.isDependent, wrap model lookup in transaction
Summary:
ChangeFolder/ChangeLabel still need to call super.isDependentOnTask!

Formalize "retrieve latest models" part of the performLocal process, ensure that it's always /inside/ the transaction that is going to write the changes. This ensures that queueing two tasks for the same thread at the same time don't cause a race...

...condition between the two tasks (end result is currently arbitrary!)

Add "move to label" mail rule to go alongside "Add Label"

Test Plan: All broken... willfix.

Reviewers: juan, evan, jackie

Reviewed By: evan, jackie

Differential Revision: https://phab.nylas.com/D2999
2016-05-31 16:31:24 -07:00
Juan Tejada
6e57cbaee4 fix(build): Fix remaining specs (composer-view, send-draft-task) 2016-05-25 10:25:36 -07:00
Juan Tejada
39611f8962 fix(specs): Fix merge conflicts and some specs 2016-05-24 19:04:20 -07:00
Juan Tejada
a4ee61eadc fix(mail-merge): Refactor mass sending procedure
Summary:
This diff introduces several updates to mail merge to improve the procedure for sending a list of drafts.
Specifically, sending mass email will now:

- Clear mail merge metadata on the drafts that will actually be sent
- Upload attached files only /once/, and reuse those files on the drafts that will actually be sent
- Minimize database writes for new drafts being created
- Will queue a SendManyDraftsTask that will subsequently queue the necessary SendDraftTasks and keep track of them, and notify of any failed tasks

TODO:
- Add state to MailMerge plugin for failed sends and ability to attempt to re send them

Test Plan: - TODO

Reviewers: evan, bengotow, jackie

Reviewed By: bengotow, jackie

Subscribers: jackie

Differential Revision: https://phab.nylas.com/D2973
2016-05-24 17:22:09 -07:00
Ben Gotow
77733253eb fix(undo): Move undo/redo to session, properly undo all changes
Summary:
- Simplify undoManager to just maintain the undo/redo history items
- DraftEditingSession manages snapshotting state of draft, hack allows it to also save selection (still hoping to eventually put selection in body HTML as markers)
- Switch from `debounce` to `throttle` style behavior so typing for along time followed by undo doesn't undo away your entire block.

This resolves two issues:
+ Changes to participant fields are no longer undoable because they go straight to the session.
+ Changes to metadata weren't undoable.

Test Plan: Tests WIP

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2956
2016-05-24 11:48:33 -07:00
Juan Tejada
9ac83df24d fix(specs): Fix specs for TaskQueue 2016-05-19 12:33:31 -07:00
Evan Morikawa
b8adb922e3 fix(spec): remove obsolete account store spec 2016-05-19 11:59:02 -07:00
Evan Morikawa
bf9052391f fix(spec): fix config setting spy 2016-05-19 11:50:19 -07:00
Ben Gotow
3118f19c11 fix(tasks): Check Task is in registry, remove any non-tasks when loading 2016-05-19 11:35:48 -07:00
Evan Morikawa
7091bc0784 fix(undo): can redo more than one undo item 2016-05-18 16:43:48 -07:00
Juan Tejada
835e008ca2 fix(build): Fix lint errors 2016-05-16 19:53:26 -07:00
Ben Gotow
bb40df97fe fix(config): Move all reads / writes to the main process
Summary:
Moves all reading / writing of config file to the main process,
to avoid needing to write code to lock across processes. This should also
be more efficient than re-loading the file in all processes when it's
saved.

Test Plan: Run tests

Reviewers: evan, jackie

Reviewed By: evan, jackie

Differential Revision: https://phab.nylas.com/D2963
2016-05-16 16:38:46 -05:00
Ben Gotow
17b474c14f fix(retry): When tasks fail, try fewer times: 2s, 4s, 8s, 16s, 30s 2016-05-16 15:44:41 -05:00
Evan Morikawa
a53d351d37 fix(spec): update NylasEnv specs 2016-05-16 13:26:33 -07:00
Evan Morikawa
c565af9042 fix(spec): Convert NylasEnvSpec from coffee to es6 2016-05-16 11:43:48 -07:00
Ben Gotow
17ed847240 fix(401/403): Unify error bars, query /account, improve reconnect flow
Summary: See https://paper.dropbox.com/doc/Sync-disabling-for-N1-URZmjVpSSxWFvjC62TiFI

Test Plan: Tests incoming

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2959
2016-05-13 14:16:54 -07:00
Ben Gotow
b6073d2cb5 fix(fastmail): Strip "INBOX." prefix from displayNames
This can't be done on the API side because the API serves other customers.

The API will properly handle renames, crates and prepend `INBOX.`
2016-05-12 16:14:30 -07:00
Juan Tejada
b9bf5cf04c fix(specs): Remove fdescribe 2016-05-12 15:23:06 -07:00
Juan Tejada
c1cf7f9478 fix(specs): Fix spec for DraftEditingSession 2016-05-12 15:21:28 -07:00
Juan Tejada
8d84ef9fab fix(build): Fix linter errors 2016-05-11 16:38:30 -07:00
Juan Tejada
ab55bc68ea fix(build): Fix lint issues and specs 2016-05-11 15:33:52 -07:00
Juan Tejada
eb79ce9d44 specs(table): Add specs for table components
Summary:
- Add some docs to Table components
- Updates Table components to use a TableDataSource instead of accessing arrays, cleans up code a bit
- Add enzyme lib to have a cleaner and simpler api to write tests for React Components
- Updates decorators to extend from the BaseComponent instead of vanilla Component, this way instance methods are still available on composed components

Test Plan: - Unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2941
2016-05-11 14:36:59 -07:00
Ben Gotow
a83822d5ce fix(draft-factory): ReplyTo takes precedence over "from me" #2175 2016-05-10 10:33:46 -07:00
Evan Morikawa
e1f689de6f fix(spec): fix injected component spec 2016-05-06 16:42:55 -07:00
Ben Gotow
41ae914b9d fix(lint): Various linter fixes 2016-05-06 16:23:48 -07:00
Ben Gotow
42ef0e98a4 fix(lint): Various linter issues 2016-05-06 16:06:16 -07:00
Ben Gotow
d961b1e4d4 fix(lint): Correct more linter errors 2016-05-06 14:10:28 -07:00
Evan Morikawa
9355a2635d feat(babel6): fix es6 importing from coffee 2016-05-06 12:00:45 -07:00
Evan Morikawa
837627aa39 feat(babel6): 1,774 linter errors 2016-05-06 11:55:46 -07:00
Evan Morikawa
f2d153c87b feat(babel6): Fix autlinker spec 2016-05-06 11:55:32 -07:00
Evan Morikawa
cee732fd8c feat(babel6): Fix errors in es6 compilation and extending from coffeescript 2016-05-06 11:55:31 -07:00
Evan Morikawa
8f4e30329c feat(babel6): Convert message.coffee to message.es6 2016-05-06 11:55:27 -07:00
Evan Morikawa
4b6433a8cb feat(babel6): Convert account.coffee to account.es6 2016-05-06 11:55:25 -07:00
Evan Morikawa
50f301e845 feat(babel6): fix es6 describe function syntax 2016-05-06 11:55:20 -07:00
Evan Morikawa
b7eb359707 feat(babel6): fix participant field spec 2016-05-06 11:55:16 -07:00
Evan Morikawa
47c064617d feat(babel6): Fix destructuring default from exports and update linter 2016-05-06 11:55:14 -07:00
Evan Morikawa
aa6020c871 feat(babel6): Fix FixedPopover spec 2016-05-06 11:55:12 -07:00
Evan Morikawa
52593745c1 feat(babel6): Fix ModelWithMetadata spec 2016-05-06 11:55:10 -07:00
Evan Morikawa
ff7f909317 feat(babel6): Detect when packages don't have a default export 2016-05-06 11:54:57 -07:00
Evan Morikawa
7f50074c0d feat(babel6): Convert to use new es6 require syntax 2016-05-06 11:54:55 -07:00
Ben Gotow
8d9d979abc feat(keymaps): Edit your keymaps from preferences 2016-05-05 17:05:51 -07:00
Ben Gotow
5d9cf73c3c es6(*): AutoUpdateManager, ProtocolHandler, more. 2016-05-04 19:34:41 -07:00
Ben Gotow
aee07a80b8 rm(*): deprecated/unused Atom code, user stylesheet support 2016-05-04 14:27:46 -07:00
Ben Gotow
54427ccb9d fix(specs) 2016-05-04 11:50:54 -07:00
Ben Gotow
85c1b030b7 Revert "feat(mailto): Allow N1 to be default client on windows"
This reverts commit fad7c1ae86.
2016-05-03 19:04:04 -07:00
Ben Gotow
e0a368d178 fix(model): add specs around serializing bad API data 2016-05-03 15:58:14 -07:00
Ben Gotow
fad7c1ae86 feat(mailto): Allow N1 to be default client on windows 2016-05-03 14:47:21 -07:00
Evan Morikawa
87c7b5791c fix(spec): fix cache in spec 2016-05-02 18:58:31 -07:00
Juan Tejada
ea9538f444 feat(mail-merge): Add CSV imports, styling, and several fixes
Summary: Adds CSV imports, proper styles to mail merge plugin and fixes a handful of bugs

Test Plan: TODO

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2925
2016-04-27 18:22:32 -07:00
John McNair
dccf4f3ad3 Parse Office 365 names (#2016)
Office 365 likes to format email addresses as follows:
Last Name, First Name (Some Description) <email@address.org>

This causes Contact.firstName() (and hence sometimes displayName()) to return
"Last Name," which looks a bit odd in the message/thread views.

The intent of the commit is to correctly parse these names so that (using the
above example):
- firstName = "First Name"
- lastName = "Last Name (Some Description)"
- fullName = "First Name Last Name (Some Description)"

These behavioral changes only impact names containing a ','.

I don't know that this really provides exhaustive coverage of Office 365, and
keeping the description as part of the last name is not completely guilt free,
but it's not any worse than the previous state of affairs which also has
the description in the same field but combined instead with (misplaced)
first name data.
2016-04-27 10:26:23 -07:00