Commit graph

3801 commits

Author SHA1 Message Date
Ben Gotow
30ba6e6023 fix(composer): Show From: when replyToMessageId is null 2015-08-25 12:23:48 -07:00
Ben Gotow
13087a0dc8 fix(draft-account-switching): Need to totally delete draft threadId and replyToMessageId 2015-08-25 12:23:27 -07:00
Ben Gotow
65361251b1 fix(sentry-2518): Better debugging information for when token is not found 2015-08-25 11:49:51 -07:00
Ben Gotow
78c8b85558 fix(sentry-2523): Console.warning is not a method 2015-08-25 11:45:07 -07:00
Ben Gotow
7019dd9595 fix(less): Put pointer back on composer toolbar 2015-08-25 11:35:37 -07:00
Ben Gotow
3a98bc5d90 fix(mixpanel): Correctly associate events with distinct_ids 2015-08-25 11:33:36 -07:00
Evan Morikawa
7ebf9afac0 bump(version): 0.3.1 2015-08-25 14:03:27 -04:00
Evan Morikawa
d9a1609d5b fix(composer): display tooltip controls 2015-08-25 14:01:24 -04:00
Ben Gotow
58572ad416 downgrade(electron): Also fix less issue on Linux 2015-08-24 18:55:40 -07:00
Ben Gotow
8be765d9b7 bump(version): 0.3.0
- Multiple account support!
   + Known issue: Unread badge shows only currnetly selected account
   + Known issue: Canceling add account flow quits the app

- You can now create bullets and lists in the composer

- Fix for mail sent yesterday appearing to be sent "now"

- Third-party plugins can now define tasks and database models
2015-08-24 18:14:00 -07:00
Ben Gotow
93648dccd4 temp(composer): Do not allow user to switch accounts if files have been attached to draft 2015-08-24 17:39:41 -07:00
Ben Gotow
a099e677e0 fix(button-dropdown): Broken styles on reply/reply-all button dropdown 2015-08-24 17:31:03 -07:00
Ben Gotow
d25dc9b879 fix(database): Allow findVersions to be called with more than 250 items 2015-08-24 14:01:31 -07:00
Ben Gotow
ccce86088b fix(build-flow): Add missing resolve statement 2015-08-24 11:06:54 -07:00
Ben Gotow
d28af3075e fix(task-queue): Rename the task queue file to avoid upgrade issues 2015-08-24 10:51:50 -07:00
Ben Gotow
faa1dd6190 fix(build-flow): More minor tweaks to applescript runner 2015-08-24 10:47:43 -07:00
Ben Gotow
0af18c9f2e fix(add-account): Don't check for tokens from secondary windows 2015-08-21 18:23:24 -07:00
Ben Gotow
4faf2b1de2 fix(build-flow): Undefined call to getVersion 2015-08-21 16:51:59 -07:00
Ben Gotow
c639b85fad fix(object-serialization): Constrain use of __constructorName, fix infinite recursion, remove hackiness 2015-08-21 16:08:24 -07:00
Ben Gotow
607ca3bf10 feat(accounts): Kill namespaces, long live accounts
Summary:
This diff replaces the Namespace object with the Account object, and changes all references to namespace_id => account_id, etc. The endpoints are now `/threads` instead of `/n/<id>/threads`.

This diff also adds preliminary support for multiple accounts. When you log in, we now log you in to all the attached accounts on edgehill server. From the preferences panel, you can auth with / unlink additional accounts. Shockingly, this all seems to pretty much work.

When replying to a thread, you cannot switch from addresses. However, when creating a new message in a popout composer, you can change the from address and the SaveDraftTask will delete/re-root the draft on the new account.

Search bar doesn't need to do full refresh on clear if it never committed

Allow drafts to be switched to a different account when not in reply to an existing thread

Fix edge case where ChangeMailTask throws exception if no models are modified during performLocal

Show many dots for many accounts in long polling status bar

add/remove accounts from prefs

Spec fixes!

Test Plan: Run tests, none broken!

Reviewers: evan, dillon

Reviewed By: evan, dillon

Differential Revision: https://phab.nylas.com/D1928
2015-08-21 15:29:58 -07:00
dillon
893d36ff91 fix(message-sidebar): remove faulty component. fixes T2391.
Summary: I'm proposing this patch as a temp fix for this issue. Desired functionality should probably be defined before adding more code.

Test Plan: Attempting to test manually... can't get my runtime edgehill to propagate these changes tho :(

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T2391

Differential Revision: https://phab.nylas.com/D1911
2015-08-21 10:45:07 -07:00
Evan Morikawa
c9c552a56f fix(message): update MessageBodyProcess to key on message version 2015-08-20 16:44:13 -07:00
Evan Morikawa
eb7fc24b96 fix(thread): fix bug whereby thread list blows up if no "from" 2015-08-20 16:21:47 -07:00
dillon
be54063659 fix(message-list): collapsed message participants no longer looks broken. fixes T3377.
Summary: moved non-view logic outside of the render function, which also helped for testing purposes

Test Plan: added a test, but this also leaves the window open for testing the other use cases beyond T3377. not sure whether we should add tests for this patch or for another ticket.

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T3377

Differential Revision: https://phab.nylas.com/D1916
2015-08-19 17:39:16 -07:00
Evan Morikawa
d2b979e716 refactor(models): Enables 3rd party plugins to add Models & Tasks
Summary:
Adding serialzable registry

Added DatabaseObjectRegistry

rename modelReviver to deserializeObject

Consolidate deserizlie

Get rid of model methods from Utils

DatabaseRegistry change notifications

Logic to throttle database refresh requests

Fixes in nylas-exports

Silent model setup

Continue to resolving the database setup phase for non main windows.

A packages `activate` method does not actually get called until the
DatabaseStore says that it's ready. This is necessary to ensure that a
package that introduces database changes has those schema changes take
hold before the activate happens.

However, in windows like the `onboarding` window that do not depend on a
database at all, there is no setup that is run and the promise use to
never resolve thereby making the packages never activate.

In this case, any external windows will go ahead and let their packages
activate.

Check subclass instead of instance!

Use the correct types for "messages" and "drafts"

Move Salesforce models

Proper references to Model and Attributes

Convert Salesforce stores to NylasStores and fix paths

Move database setup to DB

Test Plan: todo

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1899
2015-08-19 16:25:56 -07:00
dillon
79a91b512a fix(message-timestamp): call @_formattedDate with correct params. fixes T3388.
Summary: small fix

Test Plan: I didn't add any tests, but this should probably be tested. Not sure the best way to test though. Would love to discuss with somebody!

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T3388

Differential Revision: https://phab.nylas.com/D1919
2015-08-19 15:50:10 -07:00
Evan Morikawa
0d294f6722 fix(specs): fix contenteditable specs 2015-08-19 13:35:12 -07:00
Evan Morikawa
b5624687d3 feat(composer): add bullets, numbered lists, and tab controls
Summary: Adding bullets, numbered lists, and tabbing indenting and outdenting

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1917
2015-08-19 13:26:11 -07:00
Evan Morikawa
a7b652a31d fix(iframe): catch relative and malformed uris
Summary:
Fixes T3252

When links were clicked with malformed, relative, or malicious href links
we'd perform default behavior instead of catching them.

If you have href="www.foo.bar" the browser by default thinks it's a
relative link. In our case it would prepend the full default base URI
which is file://path/to/edgehill. This would at best fail to do anything
and at worst execute an arbitrary file.

We now blacklist `file:` and check for the existence of a valid RFC 3986
schema on the URI.

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T3252

Differential Revision: https://phab.nylas.com/D1888
2015-08-19 10:20:41 -07:00
Ben Gotow
5b02c54d29 fix(build-flow): Fix broken promise chaining in publish phase 2015-08-18 18:28:10 -07:00
Ben Gotow
a4bf8c2f64 fix(build-flow): Slow down the script - jenkins is slow. 2015-08-18 18:19:17 -07:00
Ben Gotow
c21bc9498c fix(build-flow): New integration test at the end of mac builds 2015-08-18 18:04:47 -07:00
Ben Gotow
5b0c82abb1 fix(keymaps): JSON => CSON during cibuild final phase 2015-08-18 14:50:53 -07:00
Ben Gotow
9a87392617 fix(lint): Fix linter issues with preferences 2015-08-18 11:13:47 -07:00
Ben Gotow
9811b2646c bump(version): 0.2.5
Features:
- Preferences! You can now change all kinds of things from Menu > Preferences, including:
  + Key binding sets (Gmail, Outlook, Mail.app)
  + Theme (light or dark)
  + Mark-as-read delay
  + Attachment downloading policy
  + Sounds and notifications
  + Default reply behavior
- Layout and theme are now remembered when you re-launch Nylas Mail
- You can now star the message under the keyboard cursor by pressing 'S'

Performance:
- Creating drafts is now much faster on long threads

Fixes:
- "Hover and Archive" is now displayed correctly
- Signing in with an email with capitalization ("BEN@Nylas.com") no longer breaks subtle things
- Messages sent yesterday are now shown with relative time (2:31PM, 12 hours ago)
- NylasSyncWorker now backs off when it encounters network failure
- On Windows, the database is deleted properly when you log out
- Archiving now properly sends mail to All Mail in Gmail
- Images inside some emails now render without becoming distorted
- Mailto link handling is now case-insensitive
2015-08-18 10:57:37 -07:00
Ben Gotow
941e16bb11 fix(*): A few patches for minor sentry errors
Summary:
Fix edge cases where _getRangeInScope is null, fix logic errors

fix(1932) Edge case where we can't find a container for the message Id we're asked to scroll to

Check view exists before trying to perform actions. Will be fixed once keybindings are a React container

Test Plan: Run specs

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1906
2015-08-18 10:31:18 -07:00
dillon
07996da960 add more test coverage and refactor checking if a contact is the current user. fixes T3360.
Summary: @evan -- would love to get your opinion on this approach!

Test Plan: add new tests

Reviewers: evan

Reviewed By: evan

Subscribers: evan

Maniphest Tasks: T3360

Differential Revision: https://phab.nylas.com/D1904
2015-08-18 10:18:30 -07:00
Ben Gotow
920e7575fa perf(drafts): Cache results of running Autolinker, avoid props.children for EmailFrame, fix special case for new draft
Summary:
"results.length" not "result.length".

Eventually I want MessageBodyProcessor to be the public interface to another process which asynchronously runs message body parsing? At the very least, caching the results means that miscelaneous refreshes to the message list don't incur significant string processing cost.

Test Plan: No new tests here

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1898
2015-08-17 16:23:12 -07:00
Ben Gotow
6f46df3141 fix(sentry-archive): Import Actions into ThreadListQuickActions 2015-08-17 14:51:03 -07:00
Ben Gotow
a5828aff1f fix(email-frame): We can no longer specify a max-width on images, because it's relative to an unknown parent container and changes the dynamic of sizing of images inside of tables
We may need another fix, but we sure as hell can't have this one.
2015-08-17 14:50:40 -07:00
Ben Gotow
aba6cf80be fix(packages): Wait for package-store to be used before using APM to load the packages 2015-08-17 12:03:35 -07:00
Ben Gotow
5ea02ead4f fix(preferences): Display multiple keybindings when available 2015-08-14 16:41:52 -07:00
Ben Gotow
c661f5cb73 fix(preferences): Windows / Linux styling and adjustments 2015-08-14 16:24:53 -07:00
Ben Gotow
79b6c1d94a feat(preferences): WIP Preferences panel
Summary:
Things still to come:
- General tab
- Signatures tab (potentially remove and land)

Adding emacs things to gitignore

Adding progress. iterating on html/css is incredibly painful

Added layout for accounts page.

Adding layout for appearance page

layout for shortcuts preferences page

adding layount for notifications menu

Adding signatures layout

WIP

WIP - tab switching, accounts tab

WIP ALL THE THINGS

Keymap template support (Gmail / outlook, etc.)

Test Plan: No tests atm

Reviewers: evan

Differential Revision: https://phab.nylas.com/D1890
2015-08-14 15:40:11 -07:00
dillon
28369dc215 WIP: adding a test for review
Summary: Desired functionality works, and passing test cases added. Ready for code review for real now! @evan @bengotow

Test Plan: Added extra tests to cover recipient-only cases.

Reviewers: evan, bengotow

Reviewed By: bengotow

Maniphest Tasks: T2239

Differential Revision: https://phab.nylas.com/D1889
2015-08-14 14:17:15 -07:00
dillon
a1ab860af2 fix(thread-list): toggling select for an unread thread doesn't affect bolding anymore -- fixes T3219
Summary: Some CSS logic tweaks and simplifications.

Test Plan: Tested manually. No automated test unfortunately.

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T3219

Differential Revision: https://phab.nylas.com/D1882
2015-08-14 13:47:25 -07:00
EthanBlackburn
0bf41985cb Using All Mail folder as archive in Gmail
Summary: Archive folder does not exist in Gmail. Instead, use the all mail folder

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1891
2015-08-14 09:40:07 -07:00
EthanBlackburn
685fd2fc69 Quick actions fix
Summary: Fixes T2345.

Test Plan: Tested manually

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T2345

Differential Revision: https://phab.nylas.com/D1886
2015-08-13 14:56:22 -07:00
Ben Gotow
e8b1e98e60 fix(sync-worker): Fix specs, add one testing backoff 2015-08-13 11:20:36 -07:00
Ben Gotow
6991978928 fix(curl): If a curl URL a "&" in it, we need to wrap the url in quotes 2015-08-13 11:20:19 -07:00