Summary: Minor tweaks so that the word is selected and spellcheck / replacement works
Test Plan: No test coverage at the moment - need to think about ways to test selection
Reviewers: evan, dillon
Reviewed By: dillon
Differential Revision: https://phab.nylas.com/D2006
Summary:
write tests for adding/removing existing labels and popover closing
add more tests
address code review comments
fix the tests
add test for creating label
add test for creating label and queueing change label task
add test for creating a folder
add syncback category task spec
make the rest of the tests pass
remove unnecessary parens
add a few more tests
add last test
Test Plan: added some tests. all tests green
Reviewers: bengotow, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2010
Summary: Small change that resets focus and keyboard selection after moving threads
Test Plan: Run existing tests, plan to overhaul this whole class so no additioanl tests atm
Reviewers: dillon, evan
Reviewed By: evan
Maniphest Tasks: T3382
Differential Revision: https://phab.nylas.com/D1996
Summary:
Fixes:
- Search bar dropdown doesn’t go away if you focus into a message
- If a search times out, it continues to display nothing
- Clicked “Inbox” from a search and it didn’t clear the search box
Test Plan: edgehill --test
Reviewers: dillon, bengotow
Reviewed By: dillon, bengotow
Differential Revision: https://phab.nylas.com/D2000
Summary:
This started when I noticed that drafts weren't dissapearing from the
draft list after send. This was a pretty big bug because if you ever
clicked on one again and tried to re-send it would throw a 400 error
saying the draft id doesn't exist.
This uncovered a few fundamental issues with the DB.
First of all, the reason the draft list wasn't updating was because the DB
trigger that happened when we got in a new message, was being ignored
since the diff contained no drafts (it's now a message).
The bigger issue was that if you had a draft with only a clientId, gave it
a serverId, and tried to call "save", the REPLACE INTO method would not
update the old object, but rather create a second duplicate. This is
because the `id` field was being used as the PRIMARY KEY, and in this
case, that `id` field changed! The fix was to change the PRIMARY KEY to be
the `cilent_id` instead of the `id` and use that as the REPLACE INTO
index.
We still need the `id` field; however, because all of our reads depend on
that field usually being the serverId
Fixes T3507
Test Plan: See new and updated tests
Reviewers: dillon, bengotow
Reviewed By: bengotow
Maniphest Tasks: T3507
Differential Revision: https://phab.nylas.com/D1992
+ Starred view
+ All new spellcheck!
+ Loading screen
+ Lots of bug fixes!
Fixes:
- Forwarding messages with files
- Mode toggle now opens/closes sidebar
- Min-width is more appropriate
- Mixpanel analytics fixes
- Better draft sending errors, timeout errors
- Improvements to quoted text display, more edge cases handled
- Mailto: links that launch the app work properly
- Fix for database busy errors
- Message items resize when their container is resized
- Message items now populate HTML doctype, fixing some rendering issues
- We now sanitize HTML in replies and forwards to avoid potential issues
- Valid email addresses can now contain `=`
- Folder and label names in the sidebar wrap nicely
- Undo/redo in the composer no longer triggers task undo/redo
- EdgeForce is now in it's own repository
- Worker process moves expensive syncing out of hte main window
- 404s from the server correctly purge items from the database
- Lots more minor changes!