Commit graph

1183 commits

Author SHA1 Message Date
Ben Gotow
d551fd37f2 feat(contact-ranking): Use /contacts/rankings in the Contact Store
Summary:
- New JSONCache class hides logic around saving/loading rankings from a file
- Contacts are sorted whenever they're loaded so the runtime of searchContacts is still O(limit * n)

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1793
2015-07-30 18:31:25 -07:00
Ben Gotow
43f9b0b8c3 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
cab654ec48 fix(sqlite): Connect to sqlite directly rather than sending queries over IPC (twice...)
Summary:
- We now build sqlite3 manually from source in script/bootstrap
- We now allow queries to run in parallel outside of transaction blocks

- When signining in and out, the main window creates the database file and then advances the database "phase", which allows all the windows to connect to the initialized database.

This diff also fixes T2411 where popout drafts opened twice, and several issues around Windows icons and install.

Test Plan: Run existing tests

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T2411

Differential Revision: https://phab.nylas.com/D1815
2015-07-30 18:09:20 -07:00
Ben Gotow
fa2519923f fix(T2337): Break words to ensure messages wrap, fall back to horizontal scrolling of messages
Fixes T2337
2015-07-30 17:49:06 -07:00
Ben Gotow
2c3d4d5307 fix(T2338): You can now use keyboard shortcuts on focused BrowserWindows
Fixes T2338, and also removes a bit of dead code
2015-07-30 17:32:21 -07:00
Ben Gotow
266e50607e 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
9d8174460f fix(T2408): On the Mac, show open / save dialogs as sheets
Fixes T2408
2015-07-30 16:34:25 -07:00
Ben Gotow
07322b3b6c 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
88a45dfd13 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
ef18f8ca20 Database version incremented for last_message_received_timestamp 2015-07-28 14:09:24 -07:00
EthanBlackburn
c622e2dbeb 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
79dfd0866a fix(unread-count): Add specs, fix logic in UnreadCountStore
Summary: Fixes T2376

Test Plan: Run 5 new specs

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T2376

Differential Revision: https://phab.nylas.com/D1805
2015-07-28 09:25:40 -07:00
Ben Gotow
abca6ffcea fix(spelling): Uprading => Upgrading 2015-07-28 00:36:41 -07:00
Ben Gotow
23afe673da bump(version): 0.2.2
- Fix script/bootstrap error
2015-07-26 13:54:17 -07:00
Ben Gotow
c0682e4eb5 fix(bootstrap): Fix syntax bug in script bootstrap 2015-07-24 19:48:31 -07:00
Ben Gotow
73a2f7c5c7 fix(composer): Remove post-install script 2015-07-24 19:30:34 -07:00
Ben Gotow
5a42bc7ac2 fix(window-manager): Stop bindng window state to config when quitting 2015-07-24 19:25:49 -07:00
Ben Gotow
9097d10e45 fix(window-showing): Continue running DOM timers in the main window even when it is not visible
This is a small fix that prevents the window from having to update when you re-show it.
2015-07-24 19:25:49 -07:00
Ben Gotow
1f748cc2fa 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
4850c67877 bump(version) 0.2.1
Bug fix for broken dependency building
2015-07-24 19:18:30 -07:00
Ben Gotow
8b751f2520 fix(build): Actually install package dependencies 2015-07-24 19:12:25 -07:00
Ben Gotow
0beca3e93a bump(version) 0.2.0 - see release notes!
- Labels and folders!
    + Multicolor labels for Gmail users, folders for everyone else
    + View and remove labels in message view
    + Move mail into labels or folders using the new picker
    + Move mail into labels or folders in the sidebar via drag and drop
    + "Folder" in expanded message headers
- New icons and style tweaks
- Tracking pixel detection
    + We no longer "view" tracking pixels in your sent mail
- React Component hot-loading
- Hide Sidebar button (design is temporary)
- Draft syncback to the Nylas API
- Today view has been sunset for now
- Quoted text stripping has been rebuilt
    + No longer removes quoted text between inline responses
    + Now supports more quoted text formats
- Lots of bug fixes!
2015-07-24 17:09:00 -07:00
Ben Gotow
90d78c8bea fix(popover): Critical binding fix for popover 2015-07-24 17:02:27 -07:00
Evan Morikawa
2442e0d6b6 refactor(cruft): remove old Atom docs and other cruft
Summary:
Getting rid of things that I'm pretty sure we don't need. Lmk if you see
anything to the otherwise.

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1799
2015-07-24 14:27:21 -07:00
Evan Morikawa
90dbd9f6ac fix(composer): fix tabbing in composer 2015-07-24 14:21:54 -07:00
Ben Gotow
d2833cfefa 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
d06e45b6b1 fix(objects): fix UpdateNylasObjectsTask 2015-07-23 19:58:15 -07:00
Evan Morikawa
5b7ca072cd 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
add780f28e fix(message): Show folder in expanded headers 2015-07-23 15:18:08 -07:00
Ben Gotow
45fd754fd3 fix(thread-list): Cache MailLabel component instances to prevent needless rendering 2015-07-23 14:30:32 -07:00
Ben Gotow
7dfeabf7c9 fix(multiselect-bar): Do not render components inside action bar when it's hidden 2015-07-23 14:12:14 -07:00
Evan Morikawa
344d938c24 fix(message-store): fix scoping issue in message store 2015-07-23 12:42:42 -07:00
Evan Morikawa
f1d9ba6233 feat(labels): replace account sidebar icon with proper image 2015-07-23 12:33:21 -07:00
Evan Morikawa
0b3dcd3e35 fix(styles): fix button padding and styles 2015-07-23 12:22:27 -07:00
Evan Morikawa
f22d154486 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
0aea79f0ba Fix specs 2015-07-23 11:32:13 -07:00
Ben Gotow
e1792a40dc Move mac CI spec and publish notifications to #edgehill-ci 2015-07-23 11:23:19 -07:00
Ben Gotow
5acbdb0955 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
814ed76510 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
b0af770cf3 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
Evan Morikawa
f29e0163aa fix(images): compress images
This reduced our image size by 92%. It saves us 4MB.

Several of our images had several hundred KB of plain text Adobe metadata
crap. Some had full blow Fireworks editing histories embedded in them.

I re-saved out these images and verified on both a diffing program and by
comparing the app that no pixels changed in the compression.
2015-07-22 22:41:19 -07:00
Ben Gotow
a436f2f8d3 fix(contacts): No longer allow autocompletion to contacts without emails 2015-07-22 15:53:46 -07:00
Ben Gotow
2f2f5e09c5 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
Ben Gotow
9b1b4d043b fix(nylas-api): Fix broken promise logic in NylasAPI success/error blocks
- Restores file uploading / canceling behavior
2015-07-21 18:15:45 -07:00
Evan Morikawa
b89fea38c0 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
a9d6795347 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
Evan Morikawa
6a61974f64 fix(salesforce): better message syncing
Summary:
Fixes: T2196

While new incoming messages were syncing properly, a new message you sent
was not getting synced.

Since we re-fetch all of the `Messages` immediately after a send, we had
to be sure that the `sendDraftSuccess` Action fired after the new Message
had been persisted to the DB. Unfortunately, `_handleModelResponse` was
returning before the persist happened. This makes `_handleModelResponse`,
and by extension `NylasAPI::makeRequest`, resolve only after the new
models have been persisted to the DB.

We also were just dumping all of the HTML into the synced SalesforceObject
thread, making it entirely unreadable.

We now grab the `innerText` instead, which works great for basic
conversations. It usually includes the `On {date} {person} wrote:`
information, except for the first message, which we manually include.

The next version will likely create individual tasks for each individual
message, however, doing this properly will require a much more complex
Message <-> SFObject syncing task, as well as tying into the QuotedText
enging so we only sync the correct pieces. We'll also likely need a more
sophisticated plain text interpreter other then `innerText`. I wish we
could get access to the raw TEXT MIME part…

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: gleb

Differential Revision: https://phab.nylas.com/D1766
2015-07-21 12:33:40 -07:00
Ben Gotow
9b506ac4c3 fix(update-object-task): Task MUST return a status code after rolling back 2015-07-21 11:58:09 -07:00
Ben Gotow
a272761951 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
b26081a741 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