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
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
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
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
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
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
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
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
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
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
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
Summary:
When two or more buttons are grouped together, cut the padding off one interior edge so they're spaced more appropriately
Remove source list graphics for active states we aren't using
Starred in the sidebar
Small fix to the feature that keeps the selected item visible as you scroll
Test Plan: No new tests yet
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1607
Summary: You can now add file attachments by pasting them.
Test Plan: Run 3 new specs! We only had specs for sanitization so I added some for the paste event handler as well.
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1604
Summary: Fixes T1191
Test Plan: No new tests to see here.
Reviewers: evan
Reviewed By: evan
Maniphest Tasks: T1191
Differential Revision: https://phab.nylas.com/D1603
Summary:
ScrollRegion with support for tooltips shown as you scroll, custom tooltips for thread list and message list.
fix(specs): all other scrollbars hidden to prevent incompatibility
fix scrollbar sizing when used in conjunction with resizableregion
Test Plan: Need to write tests and docs for ScrollRegion - no tests yet
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1597
Summary: Add docs for new RetinaImg modes
Test Plan: Not much to test, except that it looks good!
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1595
Summary:
This diff attempts to improve the responsiveness of the app when you hit "Reply". This is achieved by being smarter about creating the draft and loading it into the draft store, and also by allowing the compose* actions to take objects instead of just IDs (resulting in a fetch of the object).
Allow Actions.composeReply,etc. to optionally be called with thread and message objects instead of IDs. This prevents a database lookup and the data is "right there."
Create DraftStoreProxy for new drafts optimistically—this allows us to hand it the draft model we just created and it doesn't have to go query for it
When we create a new Draft, immediately bind it to a LocalId. This means that when the MessageStore receives the trigger() event from the Database, it doesn't have to wait while a localId is created
When MessageStore sees a new Message come in which is on the current thread, a draft, and not in the localIds map, assume it's a new draft and shortcut fetchFromCaceh to manually add it to the items array and display. This means the user sees the...
...draft instantly.
Remove delays from focusing draft, scrolling to draft after content is ready. I actually removed these thinking it would break something, and it didn't break anything.... Maybe new Chromium handles better?
Fix specs
Test Plan: Run specs - more in progress right now
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1598
Summary:
Fix T1822 - saving templates not working, not showing template
Fix T1800 - give composers a minimum size
Fix the bottom bar of the composer so the gray bar goes all the way across in popout mode.
Fix T1825 - switch to a more attractive "June 4, 2015 at 3:10 PM" styling for expanded dates
Remove, rather than hide, react components for text fields in composer. Fixes T1147
Fix specs
Switch to 999+ instead of infinity. Fixes T1768
Fix broken TemplateStore specs
Test Plan: Run tests
Reviewers: evan
Reviewed By: evan
Maniphest Tasks: T1147, T1768, T1822, T1800, T1825
Differential Revision: https://phab.nylas.com/D1601
Summary:
Features:
- ThreadListParticipants ignores drafts when computing participants, renders "Draft" label, pending design
- Put the WorkspaceStore in every window—means they all get toolbars and custom gumdrop icons on Mac OS X
Bug Fixes:
- Never display notifications for email the user just sent
- Fix obscure issue with DatabaseView trying to update metadata on items it froze. This resolves issue with names remaining bold after marking as read, drafts not appearing in message list immediately.
- When you pop out a draft, save it first and *wait* for the commit() promise to succeed.
- If you scroll very fast, you node.contentWindow can be null in eventedIframe
Other:
Make it OK to re-register the same component
Make it possible to unregister a hot window
Break the Sheet Toolbar out into it's own file to make things manageable
Replace `package.windowPropsReceived` with a store-style model where anyone can listen for changes to `windowProps`
When I put the WorkspaceStore in every window, I ran into a problem because the package was no longer rendering an instance of the Composer, it was declaring a root sheet with a composer in it. This meant that it was actually a React component that needed to listen to window props, not the package itself.
`atom` is already an event emitter, so I added a `onWindowPropsReceived` hook so that components can listen to window props as if they were listening to a store. I think this might be more flexible than only broadcasting the props change event to packages.
Test Plan: Run tests
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1592
Summary:
Update a few more packages to deactivate properly
Miscelaneous fixes
Initial commit of new settings package
WIP
WIP - can load and unload and install / uninstall
Click to create new boilerplate package, package updating
Test Plan: Run tests
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1582