Commit graph

455 commits

Author SHA1 Message Date
Robert McQueen 13920be848 feat(starring): Star/unstar from the message detail view
Summary: Adding star button to message-toolbar view

Test Plan: Added spec for starring message from the message-toolbar view

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1683
2015-06-25 10:33:26 -07:00
Robert McQueen 6e94f38ada Adding ATag component which prevents <a> tags from taking over edgehill when clicked.
Summary: Applying the new ATag to the admin sidebar per the bug T2075

Test Plan: Tested locally. I'm unsure how to test how an ATag can open a browser window, so I forego'd a unit test

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T2075

Differential Revision: https://phab.nylas.com/D1686
2015-06-25 10:28:31 -07:00
Robert McQueen a81b794046 Include unnamed files as attachements and rename to 'Unnamed Attachement'
Summary: Fixes T2024 and renames unnamed files to Unnamed Attachment before appending the attachement component to message list

Test Plan: Added a test to ensure file without filename is renamed to Unnamed Attachment

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T2024

Differential Revision: https://phab.nylas.com/D1685
2015-06-25 09:51:46 -07:00
Michael Grinich af291423cb add win32 exe renaming 2015-06-24 13:41:15 -07:00
Ben Gotow 03e0e9d960 fix(composer): Show a scrollbar in the popout composer
Summary:
Fixes T1990

Change the ScrollRegion component so that you can optionally provide a getScrollbar prop that resolves to a ScrollRegion.Scrollbar component. This allows you to easily put the Scrollbar outside of the ScrollRegion if necessary.

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1990

Differential Revision: https://phab.nylas.com/D1665
2015-06-23 15:21:25 -07:00
Evan Morikawa 6363bed89b fix(build): fix tello issue and less linter issue 2015-06-22 17:12:26 -07:00
Evan Morikawa d08aa7ca92 fix(less): import for build script 2015-06-22 16:28:25 -07:00
Evan Morikawa 7739f08e84 feat(message): New Message List UI
Summary:
Initial message list collapsing

messages can be expanded explicitly

styling message items

composer UI and collapsing

expanding and collapsing headers

style new reply area

adding in message controls

Add message actions dropdown

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1664
2015-06-22 15:49:52 -07:00
Ben Gotow 2a847d36bd fix(attachments): Wrong padding on image attachments 2015-06-19 19:29:59 -07:00
Ben Gotow f7e16f0eca fix(*) Minor friday fixes - see description
- Delete should archive selection in split pane mode
- Thread list "quick actions" should be inverted when row is dark blue
- New star "action hover" state
- Multiselect list state is based on WorkspaceStore.layoutMode so add it to state
2015-06-19 16:07:24 -07:00
Ben Gotow 783dacf9a0 fix(button-borders): Use box-shadow to acheive 0.5px borders 2015-06-19 15:01:13 -07:00
Ben Gotow cac8b22b27 fix(pinch-to-zoom): Catch ctrl-scroll to prevent trackpad zoom
Fixes T2011
2015-06-19 11:55:08 -07:00
Ben Gotow 19d97e5393 fix(*): Throttle so that DatabaseView won't pile on queries during scroll, better small attachment styles
Summary:
fix(attachment): Bad filenames breaking icons

fix developer bar colors

fix critical bug with files

Render small attachments inline-block, without hover effect, and with nice dotted transparency background

Test Plan: No new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1661
2015-06-19 11:31:27 -07:00
Ben Gotow 0e96dd3372 fix(mailto): Use paste logic to parse fields in mailto links, support poorly encoded URLs
Summary:
Fixes T1927

- Allow email addresses to contain `_`
- Centralize logic for parsing string into Contact objects into ContactStore
- Always decode and then encode mailto links to ensure spaces, special characters are properly encoded and that the URL is valid
- Add specs for mailto:// behavior

Test Plan: Run wonderful new tests covering mailto://

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1927

Differential Revision: https://phab.nylas.com/D1657
2015-06-18 11:58:07 -07:00
Ben Gotow 9b6117afdb fix(bold-emoji): Render bold emoji-range characters with standard weight font 2015-06-18 11:35:33 -07:00
Evan Morikawa bf11cf31cd fix(search): remove red search x 2015-06-18 09:43:18 -07:00
Ben Gotow 4848d3c4d8 fix(thread-list-narrow): Missing flex caused items to not be full-width 2015-06-17 22:38:55 -07:00
Evan Morikawa ab2b22749d fix(test): remove bad nondeterministic package spec 2015-06-17 20:49:06 -07:00
Evan Morikawa 1fa8e2d5fa fix(lint): fix minor style errors 2015-06-17 20:43:14 -07:00
Evan Morikawa c78ff03e60 feat(salesforce): new UI for Salesforce
Summary:
style opportunity picker and placeholder on tokenizing text fields

UI for synced opportunities

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1655
2015-06-17 20:40:08 -07:00
Ben Gotow 8d6dcfe549 perf(thread-list): Tailored SQLite indexes, ListTabular / ScrollRegion optimizations galore
Summary:
Allow Database models to create indexes, but don't autocreate bad ones

fix minor bug in error-reporter

Fix index on message list to make thread list lookups use proper index

Developer bar ignores state changes unless it's open

DatabaseView now asks for metadata for a set of items rather than calling a function for every item. Promise.props was cute but we really needed to make a single database query for all message metadata.

New "in" matcher so you can say `thread_id IN (1,2,3)`

Add .scroll-region-content-inner which is larger than the viewport by 1 page size, and uses transform(0,0,0) trick

ScrollRegion exposes `onScrollEnd` so listTabular, et al don't need to re-implement it with more timers. Also removing requestAnimationFrame which was causing us to request scrollTop when it was not ready, and caching the values of...

...clientHeight/scrollHeight while scrolling is in-flight

Updating rendered content 10 rows at a time (RangeChunkSize) was a bad idea. Instead, add every row in a render: pass as it comes in (less work all the time vs more work intermittently). Also remove bad requestAnimationFrame, and prevent calls to...

...updateRangeState from triggering additional calls to updateRangeState by removing `componentDidUpdate => updateRangeState `

Turning off hover (pointer-events:none) is now standard in ScrollRegion

Loading text in the scroll tooltip, instead of random date shown

Handle query parse errors by catching error and throwing a better more explanatory error

Replace "quick action" retina images with background images to make React render easier

Replace hasTagId with a faster implementation which doesn't call functions and doesn't build a temporary array

Print query durations when printing to console instead of only in metadata

Remove headers from support from ListTabular, we'll never use it

Making columns part of state was a good idea but changing the array causes the entire ListTabular to re-render.  To avoid this, be smarter about updating columns. This logic could potentially go in `componentDidReceiveProps` too.

Fix specs and add 6 more for new database store functionality

Test Plan: Run 6 new specs. More in the works?

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1651
2015-06-17 20:12:48 -07:00
Ben Gotow fd9e8166ae fix(selection): Thread mulit-selection should appear with focused style in split mode
Fixes T1983

Summary: Give classes handler nomenclature

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1653
2015-06-17 19:59:18 -07:00
Ben Gotow 606fb5839c fix(mark-as-read): Wait for messages to load, then 700msec, before marking as read
Summary: Resolves T1984 fixes T1984 closes T1984

Test Plan: Run two new test cases

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1984

Differential Revision: https://phab.nylas.com/D1654
2015-06-17 19:58:20 -07:00
Evan Morikawa 0b7b76c70e feat(composer): new composer and button styles
Summary:
initial styling of image attachments

more styles for composer overflow

style composer toolbar

toolbar styling

Fixes to inline composer

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1647
2015-06-17 16:03:50 -07:00
Evan Morikawa fe1e18740c feat(onboarding): refactor onboarding flow
Summary:
Add spinner and refactor container view to be router

add `NylasStore` as a global importable. specs for APIEnv

login page fixes

add old fixes to container view

finish extracting pages

fix onboarding flow

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1652
2015-06-17 15:58:58 -07:00
Ben Gotow 4638c5bc5b fix(error-handling): RFC822 endpoint not passing correct params 2015-06-17 14:39:50 -07:00
Ben Gotow c3287b7d57 fix(empty-states): Use quotes sparingly, show generic empty text in three-column mode and during search
Summary: We now show the inspirational quotes only when in list mode and viewing a tag. When you're viewing search results, or when you're in three-pane mode, you now see a more generic empty state.

Test Plan: No tests yet, may want to see if this refactor sticks when we start adding more empty states

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1642
2015-06-17 13:14:45 -07:00
Ben Gotow 672354260e fix(nylas-api): Globally handle 401s and notify user they need to sign in
Summary: Fixes T1843

Test Plan: No tests for this file yet

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1843

Differential Revision: https://phab.nylas.com/D1641
2015-06-17 12:29:49 -07:00
Ben Gotow e1af893510 fix(focus): Wait for cc/bcc to exist before trying to focus them
Summary:
It was hard to notice this regression because the `?` in `@refs[field]?.focus?()` meant `focus('textFieldCc')` failed silently.

Now we catch that the field we're asked to focus doesn't exist, and try again after the next render.

Fixes T1982

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1982

Differential Revision: https://phab.nylas.com/D1643
2015-06-17 12:29:32 -07:00
Ben Gotow fc796dc7aa fix(send-warnings): One character is valid body (T1929) and attachment is valid body (T1881)
Summary: This fixes T1881 and fixes T1929 and adds two additional test cases

Test Plan: Run 2 new tests

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1929, T1881

Differential Revision: https://phab.nylas.com/D1645
2015-06-17 12:29:21 -07:00
Ben Gotow 19378ef5b0 fix(source-list-icons): Updated artwork courtesy of @sdw 2015-06-16 12:07:25 -07:00
Evan Morikawa 16544700d7 fix(tests): remove unnecessary failing test 2015-06-16 09:53:27 -07:00
Evan Morikawa b5654b7803 v0.1.2 2015-06-15 18:48:42 -07:00
Evan Morikawa d5fc102f8a feat(attachment): improved downloading and draggable images
Summary:
Fixes T1975
Fixes T1900
Fixes T1899
Fixes T1979

Attachments downloading update progress

downloads will restart if the file on disk isn't complete

can drag images onto drive

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T1900, T1899, T1975, T1979

Differential Revision: https://phab.nylas.com/D1638
2015-06-15 18:48:17 -07:00
Evan Morikawa 304c34f918 fix(specs): silence noisy specs and fix warnings
Summary:
Silence buffered process spec

Clean up error reporter and spec bootup

fix errors in draft store spec

package manager spec and theme spec fixes

Fix memory leak in draft store

Test Plan: mmmmmm tests. Run all those green passing tests :)

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1628
2015-06-15 18:29:59 -07:00
Ben Gotow f6b5b7ea30 fix(T1251) When a returnsModel request returns a 404, unpersist the object
Summary:
Give DatabaseStore trigger payload a 'type' so that you can handle the deletion of objects (clear focus if the object is focused, know to remove it from database view)

Fix specs and add one for new DatabaseView => unpersist handler

Test Plan: Run new test case

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1639
2015-06-15 18:23:58 -07:00
Ben Gotow e090dd428a feat(subject-search): Use basic LIKE query and date ordering to find likely emails
Summary: Begins to fix T1866, but for now only doing a LIKE instead of FTS4, because there are many, many other things to think about there.

Test Plan: No new tests. I still want to rewrite the whole search bar.

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1866

Differential Revision: https://phab.nylas.com/D1634
2015-06-15 18:22:41 -07:00
Ben Gotow 646e159a69 fix(T1886): When sending, strip off fields if they result in specific, known errors on the API
Summary: Fixes T1886

Test Plan: Run 2 new tests

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1886

Differential Revision: https://phab.nylas.com/D1633
2015-06-15 18:19:52 -07:00
Ben Gotow 6f16659a30 fix(T1758): Handle initial focus properly if draft is not yet ready 2015-06-15 14:48:54 -07:00
Ben Gotow 42819e4d71 upgrade(electron): 0.28.1. Improvements to webview, clipboard on linux 2015-06-15 11:22:42 -07:00
Evan Morikawa 7b9f89bc5d fix(keymap): add ctrl-enter to send email 2015-06-12 17:47:59 -07:00
Evan Morikawa 3e30e18236 fix(thread-list): narrow mode isn't hidden 2015-06-12 13:31:30 -07:00
Evan Morikawa fed1076d04 Fixes T1928: don't lose focus on cc and bcc fields
Summary: Fixes T1928

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T1928

Differential Revision: https://phab.nylas.com/D1622
2015-06-11 18:48:55 -07:00
Ben Gotow f887e4e55a fix(style): Minor styling adjustments (floating toolbar, token carats) 2015-06-11 18:46:30 -07:00
Evan Morikawa 6f4f0c0ad0 Fixes T1868: tokenizing inputs resize properly
Summary:
Fixes T1868
The hidden sizing window was not getting whitespace properly and the width
was different because of different paddings

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T1868

Differential Revision: https://phab.nylas.com/D1623
2015-06-11 18:39:55 -07:00
Ben Gotow f7f1ab3605 feat(thread-actions): Hover actions on thread list, improved drawing performance
Summary: Adds hover actions to threads in the thread list, uses overflow:hidden to improve thread list render times

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1621
2015-06-11 18:38:57 -07:00
Ben Gotow aa10ddfd1c fix(thread-list): Narrow mode, and new selection rules for three-pane
Summary:
Fix bug in apm_wrapper

Refactor model selection so that it's easier to understand the logic for split vs list mode

Test Plan: Run new specs (WIP)

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1619
2015-06-11 18:00:40 -07:00
Evan Morikawa d7f12873b3 feat(update): autoupdater adds an updateLevel param
Summary:
There's now an `updateLevel` that can be set in the config file.

It has the valid values of "major", "minor", "patch", and "commit". By
default it upgrades on the "patch" level.

If you want to be on the bleeding edge, manually change the config file to
add `updateLevel: 'commit'`

Test Plan: A new `auto-update-manager-spec` :)

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1567
2015-06-11 12:23:31 -07:00
Evan Morikawa 4f62a7c9e1 feat(salesforce): can convert a Lead to a Contact
Summary:
In order to create a Contact from a Lead you need to:

1. Create an Account
2. Create an Opportunity and link it to the newly created Account
3. Create a Contact and link it to the Account
4. Create an OpportunityContactRole and link it to both a Contact and an
Opportunity

Working on passing pending object ids around

add in window openers

create lead and check if lead got deleted

Saving form

conversion workflow syncs with opportunities now

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1599
2015-06-11 12:05:12 -07:00
Evan Morikawa 6fcd5f2ced feat(attachments): new attachments & uploads UI with img support
Summary:
Initial styles on attachments ui

More file uploading UI

fix race condition in draft saving

attachments and uploads interweaved

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1610
2015-06-11 12:04:52 -07:00