Commit graph

3121 commits

Author SHA1 Message Date
Jackie Luo d9b6529df7 Revert "🎨(ui-dark): Remove iframe inversion" 2016-05-25 23:46:36 -07:00
Ben Gotow 2eb331aae3 fix(packages): Show version numbr of 3rd party plugins 2016-05-25 14:13:42 -07:00
Ben Gotow 7e3ddba016 fix(ubuntu): Update theme, fix a few strange glitches 2016-05-25 14:03:09 -07:00
Ben Gotow 0c77f61838 fix(config): removeAtKeyPath => undo, guard with assertions 2016-05-25 14:03:09 -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 48b68a8edc fix(nylas-exports): Remove nonexistent module 2016-05-24 17:56:15 -07:00
Juan Tejada db868740c8 fix(build): Fix lint error 2016-05-24 17:53:15 -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
Evan Morikawa c9ea5b6483 feat(scheduler): Add Overlaid Components
Summary:
SEE ASSOCIATED SUBMODULE DIFF

This enables rich React components (like the Scheduler's `NewEventCard`)
to be used in contenteditables.

We introduce the concept of an "Overlaid Component". These are rendered
React components that are absolutely positioned on top of an equivalent
"Anchor" in a contenteditable.

Inside the contenteditable are special `<img />` tags that have an
id corresponding to a particular rich overlaid component. This way, even
if those img tags are cut and pasted or moved, they'll have a mapping to a
  particular component stored in the `OverlaidComponentStore`. Img tags
  are fairly well handled natively by contenteditable and allow you to
  maniuplate these overlaid components as normal text elements.

The `OverlaidComponentStore` is responsible for listening to and managing
the state of the Anchors and their equivalent OverlaidComponents.

We use a decorator called `ListenToChanges` that allows us to wrap
components to update their corresponding anchor. Since we need to know
about ALL changes that could affect rendered height and width, we need to
use a `MuatationListener` instead of the React render cycle.

This is only the initial diff. There are several TODOs here:
https://paper.dropbox.com/doc/Composer-Overlaid-Components-FoZrF0cFggzSUZirZ9MNo

Test Plan: TODO. Manual

Reviewers: juan, bengotow

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2946
2016-05-24 15:47:49 -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
Jackie Luo c3d8ab5ceb feat(multi-send): Allow multi-send for non-Exchange accounts
Summary:
Updates the send task to use multi-send for emails with link/open tracking metadata sent via SMTP. Places an email without link/open tracking in the sent folder.

TODO: Override send button (i.e., mail merge) and move all of the multi-send tasks to package.

Test Plan: Tested locally.

Reviewers: evan, bengotow, juan

Reviewed By: bengotow, juan

Differential Revision: https://phab.nylas.com/D2974
2016-05-24 11:24:57 -07:00
MAA 3211301b66 Fixing small typo. (#2298) 2016-05-24 11:08:40 -07:00
Ben Gotow c2e9ac6fab fix(dialogs): Use new buttonLabel as needed 2016-05-23 10:34:44 -07:00
Ben Gotow 9507deb322 bump(version): 0.4.41, Electron 1.1.1 2016-05-23 10:34:44 -07:00
Jackie Luo 0700a28dc5 feat(multi-send): Register opens/clicks by individual recipient
Summary: The activity list now shows specifically which recipient
opened/clicked for an event.

Test Plan: Tested locally.

Reviewers: bengotow, evan, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2971
2016-05-20 11:00:05 -07:00
Hon Nguyen 9900c2867c fixed bug timezone cannot detect in fedora (#2250)
* fixed bug timezone cannot detect in fedora

* update spec build fedora package

* rpm package for fedora 22

* change code follow coffee-script style

* remove fedora binary file
2016-05-19 16:16:00 -07:00
Juan Tejada 65ace228ed fix(mail-merge): Prevent send button from being pressed multiple times 2016-05-19 16:13:35 -07:00
Ben Gotow 60632b5ee0 fix(send-later): Add isValidDraft to specs 2016-05-19 15:27:43 -07:00
Ben Gotow 52f050c5f5 fix(pli): Always indent where indicators are, even if blank 2016-05-19 14:58:12 -07:00
Juan Tejada 87d4d102e4 fix(window-launcher): Check if instance of hot window is present 2016-05-19 14:57:34 -07:00
Ben Gotow f14bbdadac fix(changelog): Additional releas notes 2016-05-19 14:53:42 -07:00
Ben Gotow d8f1d9d9fe fix(config): Using fs.resolve as path.join 2016-05-19 14:38:54 -07:00
Juan Tejada 072490ebcc fix(send-later): Check if draft is valid before scheduling send later 2016-05-19 13:28:28 -07:00
Juan Tejada eeda318c15 fix(send-later): Update button to show Sending now when time is past 2016-05-19 12:47:21 -07:00
Juan Tejada 9ac83df24d fix(specs): Fix specs for TaskQueue 2016-05-19 12:33:31 -07:00
Evan Morikawa 73529d9db7 fix(spec): fix asynchronicity in NewEventCardSpec due to draft session 2016-05-19 12:30:13 -07:00
Ben Gotow cd40bb7e6d fix(win-launching): Only create hot window when one is used 2016-05-19 12:28:29 -07:00
Juan Tejada 11799c8ce8 fix(accts): Display perspective for a newly added acct correctly
- Will wait for categories to be ready before attempting to focus the
inbox for the new account, preventing a blank screen when a new account
is added
- Add temprary action to set the collapsed state of a sidebar action
after adding a new account
2016-05-19 12:12:22 -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 bf25a8efc2 fix(tasks): ensure NotifyPluginsOfTask gets properly serialized
Fixes:
https://sentry.nylas.com/sentry/edgehill/group/31200/
2016-05-19 11:31:21 -07:00
Juan Tejada 04e3a5a3a1 fix(sidebar): Add state to determine wether to show unified sidebar
- Adds a piece of global state that will be persisted to
`NylasEnv.savedState` indicating wether the accounts for the sidebar
should be reset whenever the FocusedPerspective changes
- #2257
2016-05-19 11:30:31 -07:00
Ben Gotow dcc665ce71 bump(version): 0.4.40 and changelog 2016-05-19 11:15:56 -07:00
Juan Tejada bb6a6b5b47 fix(hot-window): Correctly manage references to the hot window
- Fixes issue where app was not properly relaunching when all accounts were
removed
2016-05-19 10:15:32 -07:00
Ben Gotow 37019a599b fix(accounts): When removing, focus remaining accts before accountForId() stops working 2016-05-18 17:57:57 -07:00
Juan Tejada 7f735e9f41 fix(aliases): Properly set selected state on account update 2016-05-18 17:35:07 -07:00
Ben Gotow 394c5a3e4d fix(config): id was only added recently, use getId() 2016-05-18 17:27:46 -07:00
Ben Gotow 6dbf4ad51a fix(config): Don't loop config changes through ipc 2016-05-18 17:12:57 -07:00
Evan Morikawa c370f3583c refator(undo): convert UndoRedoStore from coffee to es6 2016-05-18 16:58:06 -07:00
Evan Morikawa 7091bc0784 fix(undo): can redo more than one undo item 2016-05-18 16:43:48 -07:00
Ben Gotow 1999e11504 fix(win32): Wait longer before quitting if no windows are open 2016-05-18 16:25:06 -07:00
Ben Gotow a8f54c25df fix(win32): Ignore path in argv when --squirrel flag is present 2016-05-18 16:25:06 -07:00
Jackie Luo 29b448989c fix(plugins): Update plugins list on install 2016-05-18 16:02:57 -07:00
Evan Morikawa 690229aad2 fix(db): can manually call _handleSetupError with no args 2016-05-18 15:44:47 -07:00
Ben Gotow 8b0f0a2323 fix(quit): Booleans on globals are not exposed through remote properly 2016-05-18 15:41:24 -07:00
Evan Morikawa 37eeb5a7a4 fix(scheduler): don't event events 1 second early 2016-05-18 15:37:26 -07:00
Jackie Luo fdc7b0aa5d 🎨(templates): Change language and remove gray box in demo template 2016-05-18 15:30:16 -07:00
Ben Gotow 5b5320997f fix(pkg-install): Use the package.json name, not the folder name 2016-05-18 15:25:18 -07:00