Commit graph

399 commits

Author SHA1 Message Date
Ben Gotow 245e0389b7 fix(invariant): Remove event listener with "capture: true"
Fixes https://sentry.nylas.com/sentry/edgehill/group/1831/
2015-08-03 11:38:57 -07:00
Evan Morikawa 3e65c9e0b6 fix(tooltip): doesn't show on archive either 2015-08-03 10:57:56 -07:00
Ben Gotow 1959790183 fix(undo-redo): Clear timeout when component unmounts to avoid React errors 2015-08-03 10:21:04 -07:00
EthanBlackburn 76f16b112c Removed old code from thread-list 2015-07-31 14:02:13 -07:00
EthanBlackburn 9b3fcfc19a Merge branch 'master' of github.com:nylas/edgehill into receivedrecentdate-sent-folder-fix 2015-07-31 13:59:05 -07:00
EthanBlackburn 2814a0bc70 UndoRedoButton now shows
Summary: A notification now appears at the bottom of the window when the user performs an action that can be undone

Test Plan: Tested manually

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: mg

Differential Revision: https://phab.nylas.com/D1820
2015-07-31 13:12:47 -07:00
EthanBlackburn d050abd16a Merge branch 'master' of github.com:nylas/edgehill into receivedrecentdate-sent-folder-fix 2015-07-31 12:38:53 -07:00
Ben Gotow 12a2836ec9 fix(T2387): Use better file icons from SDW
Summary:
fix misc spec failure by making event store fetch immediately on setup

add specs for displayExtension, displayName

Test Plan: Run new tests

Reviewers: evan

Maniphest Tasks: T2387

Differential Revision: https://phab.nylas.com/D1821
2015-07-31 12:34:24 -07:00
Ben Gotow 431a1adbec fix(specs): Resolve merge issues in specs 2015-07-31 12:06:34 -07:00
EthanBlackburn 3e01a10758 Fixed bug where items in sent folder have "invalid date" 2015-07-31 08:23:03 -07:00
Ben Gotow b054ed431d fix(message-list-scrolling): Move scroll logic to ScrollRegion
Summary: This is still a work in progress and needs more specs

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1808
2015-07-30 18:29:38 -07:00
Ben Gotow 772a18c05d fix(T2347): Alignment of attachment icon is now consistent row-to-row
Fixes https://phab.nylas.com/T2347. Note that it could still appear indented a bit if a thread has a particularly long timestamp, but should account for all cases.
2015-07-30 16:43:44 -07:00
Ben Gotow 43711f93fe fix(T2418): Make buttons in the composer footer 4px taller
Fixes https://phab.nylas.com/T2418 ("Fixes")
2015-07-30 14:51:36 -07:00
EthanBlackburn 6609fe272c RSVP tile for events on messages
Summary: RSVP tile now appears for messages with attached events.

Test Plan: Tested manually. Will add unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1797
2015-07-28 18:21:30 -07:00
EthanBlackburn d51b3edec7 Threads now sorted by receivedrecetndate
Summary: Threads are now sorted using the thread's receivedrecentdate instead of recentdate

Test Plan: Tested Manually

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: mg

Differential Revision: https://phab.nylas.com/D1812
2015-07-28 14:03:55 -07:00
Ben Gotow 32e4e10366 fix(composer): Remove post-install script 2015-07-24 19:30:34 -07:00
Ben Gotow 98d008ef22 fix(T2117): Make draft body font size 15px instead of 15.9px
Fixes T2117 as much as possible. Still *slightly* kerned differently but there's not much we can do. DirectWrite font rendering just sucks on Windwos.
2015-07-24 19:25:49 -07:00
Ben Gotow bdc849c22b fix(build): Actually install package dependencies 2015-07-24 19:12:25 -07:00
Ben Gotow b6dc7f0c9b feat(hotloading): CJSX hotloading when running in dev mode
Summary:
# Conflicts:
#	static/components/tokenizing-text-field.less

Wat no

Test Plan: Tested with ci build

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1216

Differential Revision: https://phab.nylas.com/D1804
2015-07-24 14:10:48 -07:00
Evan Morikawa 9eb36f5813 fix(popover): don't let popover overflow
Summary:
The popover class now will adjust itself until it fits within the window
frame. You don't see the intermediate state in the double render.

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1795
2015-07-23 19:42:16 -07:00
Ben Gotow 60ccd86de1 fix(message): Show folder in expanded headers 2015-07-23 15:18:08 -07:00
Ben Gotow f79bb8f888 fix(thread-list): Cache MailLabel component instances to prevent needless rendering 2015-07-23 14:30:32 -07:00
Evan Morikawa a18fc0b84e fix(message-store): fix scoping issue in message store 2015-07-23 12:42:42 -07:00
Evan Morikawa feac0d1b8a feat(labels): replace account sidebar icon with proper image 2015-07-23 12:33:21 -07:00
Evan Morikawa 98ad2e6ebc fix(styles): fix button padding and styles 2015-07-23 12:22:27 -07:00
Evan Morikawa 348d60ea0c feat(picker): new folder and label picker
Summary:
The new, styled folder and label picker!

Some highlights:
- Folder picker has custom icons and a divider
- Label picker has checkboxes with off, checked, and intermediate state
- Extracted LabelColorizer out of mail-label
- Search will bold the results it found
- Fixes to Tooltip to prevent it displaying at invalid moments
- Keyboard UX improvements to Menu

Test Plan: coming soon

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1790
2015-07-23 11:47:46 -07:00
Ben Gotow b74d4fb1d6 Fix specs 2015-07-23 11:32:13 -07:00
Ben Gotow b412c580fc fix(workspace): Support for hidden locations / columns
Summary:
- New control will likely be shortlived - SDW mocking up replacement for when settings UI lands
- New action for toggling location hidden
- New rule for mail labels: can't remove "Sent"

Test Plan: Run tests - none new atm

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1782
2015-07-23 11:18:42 -07:00
Ben Gotow a559e3f89f feat(drag-threads): Move threads to folders/labels from thread list
Summary:
Drag threads to the folders / labels in the sidebar
WIP

Drag and drop is styled!

Test Plan: Tests WIP

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1785
2015-07-23 11:10:51 -07:00
Ben Gotow 4be05ff754 feat(tracking-pixels): New MessageStore extension cuts out tracking pixels you've *sent* so you don't trigger them
Summary:
- Remove thread_participants prop, we don't use them anywhere and the underscore-case is ugly.

- Move autolinker into extension, update autolinker to 0.18.1 for phone number support

- document message.coffee, add isFromMe()

- Add tracking pixel extension that removes pixels from mail you *send*. Maybe more features later.

Test Plan: Run 1 new test! (woo...)

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1787
2015-07-23 10:57:13 -07:00
Ben Gotow 2f6092d342 feat(draft-syncback): Sync drafts with Gmail (API does not support Exchange syncback)
Summary:
Sync drafts not files

WIP

Test Plan: Run syncback task specs

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1772
2015-07-22 11:18:23 -07:00
Evan Morikawa 45e27d7ded feat(labels): add a new label/folder picker
Summary:
This is the initial diff for the label picker UI. This is all of the
functionality and none of the CSS.

Test Plan: todo

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: sdw

Differential Revision: https://phab.nylas.com/D1761
2015-07-21 14:20:15 -07:00
Ben Gotow ffcb609194 fix(SDW): Styling of various controls and buttons. See description
- Message reply dropdown uses new images. Fixes T2355
- New hover actions which are darker. Fixes T2358
- New reply icon in the message footer. Fixes T2359
- Toolbar buttons are the correct height. Fixes T2360
- Thread list selection state changes mail label style
- Removed dead assets
2015-07-21 13:53:06 -07:00
Ben Gotow 3aa7801d89 fix(labels): Labels in the thread list and in the message subject line
Summary: Mail labels

Test Plan: No tests atm, just visual code

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1774
2015-07-21 11:50:08 -07:00
Ben Gotow 8956fa5e39 fix(account-sidebar): Fix icons and ordering—move more into the CategoryStore
Note: Starred is conspicuously missing. That label is being removed from the backend and exposed as "starred" which will unfortunately behave differently.
2015-07-21 11:49:44 -07:00
Evan Morikawa 4cad525cfd fix(quoted-text): new system to remove quoted text
Summary:
We need to remove quoted text completely from bodies in a composer.
Unfortunately, that makes it very difficult to determine how to put it
back in.

For now the scheme is to append the quoted text at the end. However, that
means that we need to only pull out quoted text at the end of a message.

Unfortunately there are lots of places that quoted text appears inline
with regular text.

Determining whether or not some content is at the "end" of a message
turned out to be non-trivial.

We now have a new `DOMUtils` that looks for empty areas at the end.

We also have a new quoted HTML parser that finds trailing quotes.

Fixes T2335

Test Plan: lots of new quoted text tests

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T2335

Differential Revision: https://phab.nylas.com/D1773
2015-07-21 11:34:47 -07:00
Ben Gotow e4752f3d3a fix(today): Temporarily remove today view
Fixes T2342
2015-07-20 11:53:48 -07:00
Ben Gotow 371a2a4b08 fix(uploads): Animate upload bars, throttle FileUploadStore updates triggered by progress changes 2015-07-17 18:28:18 -07:00
Ben Gotow a5108eb2c4 fix(specs): Accidentally broke specs because they included my user folder 2015-07-17 17:13:16 -07:00
Ben Gotow cba0fc50a5 fix(attachments): specs, bug fixes for attachments. See details.
Summary:
- You cannot drag an attachmentComponent unless it represents a fully downloaded file on disk.
- You cannot drag and drop an item from a composer onto the same composer.
- Attachments on expanded messages start downloading as soon as it's viewed (necessary for drag and dropping attachments, also probably best. Previously was just images.)
- You can now cancel an attachment download. Was really broken.

Test Plan: Run many new specs!

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1196

Differential Revision: https://phab.nylas.com/D1764
2015-07-17 16:36:28 -07:00
Ben Gotow 2b466e3c56 fix(thread-list): Show an attachment indicator using thread metadata 2015-07-17 16:34:56 -07:00
Ben Gotow a517c27a05 fix(account-sidebar): Remove oversize padding SDW doesn't like 2015-07-17 16:34:56 -07:00
EthanBlackburn 7ad046a8d3 Search implementation for edgehill
Summary: Edgehill search now using new backend search proxy

Test Plan: tested manually

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: spang, mg, evan

Differential Revision: https://phab.nylas.com/D1762
2015-07-17 13:58:55 -07:00
Ben Gotow bab66d8739 fix(notifications): > 5 should be >= 5 2015-07-16 20:34:55 -07:00
Ben Gotow 919368dc4e fix(notifications): make notifications clickable 2015-07-16 19:28:45 -07:00
Ben Gotow 42a3359fa8 fix(toolbar-style): Add gradient to top toolbar, blurred styling 2015-07-16 17:51:18 -07:00
Evan Morikawa 00c74cd1a9 WIP: This is the initial diff for new folders & labels.
Summary:
There are now two objects, Folders & Labels. These inherit from `Category`
(that's what Eben said they were using on the backend).

There are two separate tasks.

1. MoveToFolderTask
2. ApplyLabelsTask

It turns out that the semantics between the two are quite different.
The reverse operation for moving to a folder is a bit tricky.

As of 7-8-15, the Tasks are pretty much complete. I need to write tests
for them still and do some manual testing in the client.

Test Plan: Writing specs

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1724
2015-07-16 11:54:20 -04:00
Evan Morikawa 3f6257c009 fix(composer): performance improvement in composer
Summary:
The issue was that on every key stroke the whole composer, participants
and all, were getting re-rendered. According to React.perf, the
`TokenizingTextField`s were taking a very long time to render and never
changing. This was fixed by adding a simple `shouldComponentUpdate` check.

The composer also has several regions that only change when the `props`
do. These are now cached. The cache reset when the `props` do.

After all of that, rendering the whole composer still takes 20-40ms. If
you're tying in the composer very quickly, text entry can approach that
render time. This starts to stack multiple React rendering passes up and
bogs the whole system down.

Luckily, we can simply render the composer less frequently. Now, after
changes are persisted to the `DraftStoreProxy`, we simply debounce the
proxy `trigger`. The users don't see this because the native
`contenteditable` field will update immediately. When the debounced proxy
trigger fires, it will transparently update the view to the latest state.

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: mg

Differential Revision: https://phab.nylas.com/D1749
2015-07-16 10:41:04 -04:00
Ben Gotow b0f93dc52c fix(drag-n-drop): Remove react-dnd, display dropzone, allow tokens to be dragged out of app as plaintext
React-dnd is a nice library but it assumes it's going to be the only thing managing your drag and drop in the entire app. It also hides the underlying dataTransfer object so it's difficult to implement native drag and drop behaviors other than for Files and Urls, which they special-case.

Implementing it manually really isn't hard, and we can do things like attach a text/plain version of contact data to the contact drag.

Fixes T2054
2015-07-15 20:06:11 -07:00
Ben Gotow e6881573d9 fix(file-uploads): Smattering of bug fixes related to uploading & canceling uploads
Summary:
Cancelling a file upload properly makes the task return Task.Status.Finished (previously it was broken and returning Task.Status.Retry)

Dragging a directory now gives you a nice error message

Aborting an upload now looks for the task with the given ID, not a task with the given filepath since there could be identical uploads happening in other windows

Make it more explicit that the uploadId is not the task ID

Add a few tests

Test Plan: Run new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1750
2015-07-15 16:52:43 -07:00