Commit graph

2666 commits

Author SHA1 Message Date
Evan Morikawa
0d4fe7e5e5 fix(scheduler): fix time bar scroll height 2016-04-06 13:59:24 -07:00
Evan Morikawa
0aa8aeb70f fix(calendar): today correctly jumps to this week 2016-04-06 13:59:24 -07:00
Evan Morikawa
6b2d820316 fix(scheduler): fix top banner 2016-04-06 13:59:24 -07:00
Ben Gotow
2226e85e65 fix(cc/bcc): Make targets bigger, wait longer before declaring focus left 2016-04-06 13:54:39 -07:00
Ben Gotow
db79e4d48a fix(composer): Do not steal focus when it is in other components
This is to fix a bug where changing the "from" address to an address with a different signature caused the composer to become focused, hiding the from field.
2016-04-06 13:54:39 -07:00
Jackie Luo
53fb45aec5 🎨(preferences): Update styling 2016-04-06 13:08:44 -07:00
Ben Gotow
5c2ee75026 fix(*): Minor CSS fixes, open tracking fix when only message is draft 2016-04-06 12:35:30 -07:00
Ben Gotow
5f044c22bc fix(error): Show actual API domain in connection error bar 2016-04-06 12:35:30 -07:00
Jackie Luo
2dbd1a0914 fix(composer-emoji): Fix tabs to scroll correctly 2016-04-06 12:06:27 -07:00
Evan Morikawa
7b3d773c84 fix(schedule): extracted to own SyncbackDraftEventsTask 2016-04-06 11:50:21 -07:00
Ben Gotow
0086142a88 bump(version): 0.4.21 beta 2016-04-05 19:17:13 -07:00
Ben Gotow
1476764d00 fix(mail-rules): Only process inbox, never skip threads
Summary:
- Disable processing button while already processing
- Only process mail in the inbox in bulk reprocess task
- Advance through mail using "after X" rather than "offset X", avoiding the issue where mail can be deleted as you're advancing.

Test Plan: Run existing tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2847
2016-04-05 19:16:58 -07:00
Ben Gotow
a84b95359c fix(db-spec): Accompanying spec changes 2016-04-05 19:03:47 -07:00
Evan Morikawa
9eea7f52b9 feat(scheduler): add new date & time picker
Summary: Adds a date and time picker to the new event creator

Test Plan: todo

Reviewers: bengotow, juan

Reviewed By: bengotow, juan

Differential Revision: https://phab.nylas.com/D2842
2016-04-05 18:42:19 -07:00
Ben Gotow
f6b24c77ce fix(db): Always refresh entire range after unknown changes
Summary: When changes can't be accurately applied to a result set, always refresh the entire range, not just the missing range. This ensures that additional changes being applied while our query is in flight can't cause the result set to include the same item twice.

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2846
2016-04-05 18:32:38 -07:00
Juan Tejada
b03e560e30 fix(drag): Pass correct drag coordinates from event
- Don't use magic event variable without declaring it
2016-04-05 17:59:48 -07:00
Ben Gotow
b0768d337d perf(*): Make AccountStore / ContactRankingStore less noisy 2016-04-05 16:15:47 -07:00
Juan Tejada
d047cae9ba fix(scheduler): Fix moment-timezone require 2016-04-05 15:19:53 -07:00
Evan Morikawa
695c1e64f3 fix(scheduler): import from moment-timezone 2016-04-05 14:57:51 -07:00
Juan Tejada
a35d8605d2 fix(sync-status): Fix bug caught by specs 2016-04-05 14:53:37 -07:00
Juan Tejada
fc255873de fix(react): Fix several warnings in missing imports 2016-04-05 14:53:37 -07:00
Ben Gotow
afd8304359 fix(quoted-text): Correctly update container height 2016-04-05 14:27:54 -07:00
Ben Gotow
e58014a478 fix(collapsed-participants): Resize in correct scenarios 2016-04-05 14:16:24 -07:00
Juan Tejada
7d2bf7bed5 fix(sync-status): Actually fix sync status logic
- Must take into account that some accounts have `labels` and others
have `folders`
2016-04-05 14:04:10 -07:00
Jackie Luo
cef7809bd6 fix(theme-picker): Reformat invalid class names 2016-04-05 13:43:43 -07:00
Juan Tejada
eb1f9409ef fix(sync-status): Fix logic for checking sync status:
- Only check sync status keys that belong to actual models being synced
- Return false if state object is empty
2016-04-05 13:29:25 -07:00
Juan Tejada
79e15e8408 fix(thread-search): Correct typo 2016-04-05 13:29:25 -07:00
Ben Gotow
792c0e61f1 fix(notifs): _.reject does not support dict, Sentry 26699 2016-04-05 13:10:39 -07:00
Ben Gotow
e311f0cb61 fix(update): Initial autoupdate placeholder for linux 2016-04-05 12:27:33 -07:00
Juan Tejada
f08d59bca2 fix(warning): Add key to react component 2016-04-05 12:16:32 -07:00
Juan Tejada
b445f09854 fix(thread-search): Only rebuild index when # of accounts has changed 2016-04-05 12:16:32 -07:00
Ben Gotow
ca5caec97e fix(from): Align from icon correctly 2016-04-05 12:09:40 -07:00
Ben Gotow
427a743b18 fix(mail-rules): all "on" handlers need to be bound functions 2016-04-05 12:01:53 -07:00
Juan Tejada
954ef4ce89 fix(prefs): Fix this binding in mail rules prefs page 2016-04-05 11:28:08 -07:00
Juan Tejada
2d8f3ec2b0 fix(sync-status): Ignore keys that arent models when check sync status 2016-04-05 11:14:26 -07:00
Ben Gotow
0b4127bc4b fix(composer): Show when rendered, send draft JSON to composer windows 2016-04-04 18:30:50 -07:00
Ben Gotow
227f3345a0 fix(db): Remove - from table names, which was a bad idea 2016-04-04 17:44:45 -07:00
Ben Gotow
17a629cf6a bump(version): 0.4.20 beta 2016-04-04 17:26:48 -07:00
Juan Tejada
8a1aa6e9bb feat(thread-search): Add client side search
Summary:
This diff includes several updates:
- Update sqlite version to use FTS5
- Adds new methods to DatabaseStore to create and update Search Indexes
- Currently indexing subject, participants, and thread message bodies or snippets if the body is not available
- Update initial sync to fetch 5000 message bodies per account
- Adds a new SearchMatcher
- Add new thread-search-index package to run in the worker window to
  init and keep thread search index up to date
- Converts Thread to ES6

TODO:
- Remove/Update suggestions dropdown
- Add tests

Test Plan: - TODO

Reviewers: evan, bengotow

Reviewed By: evan, bengotow

Differential Revision: https://phab.nylas.com/D2826
2016-04-04 17:15:19 -07:00
Ben Gotow
79b365e930 fix(lint): Missing const breaking build 2016-04-04 17:12:59 -07:00
Ben Gotow
a3ede94423 feat(offline-status): Show a bar when not connected to the API
Summary:
The TaskQueue does it's own throttling and has it's own processQueue retry timeout, no need for longPollConnected

Remove dead code (OfflineError)

Rename long connection state to status so we don't ask for `state.state`

Remove long poll actions related to online/offline in favor of exposing connection state through NylasSyncStatusStore

Consoliate notifications and account-error-heaer into a single package and organize files into sidebar vs. header.

Update the DeveloperBarStore to query the sync status store for long poll statuses

Test Plan: All existing tests pass

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2835
2016-04-04 17:11:09 -07:00
Evan Morikawa
2ea0c3b078 fix(scheduler): add timezone & fix tabbing 2016-04-04 16:06:48 -07:00
Ben Gotow
f1c0a1615d fix(focus): Remove focusedField in favor of imperative focus, break apart ComposerView
Summary:
- Removes controlled focus in the composer!
  - No React components ever perfom focus in lifecycle methods. Never again.
  - A new `Utils.schedule({action, after, timeout})` helper makes it easy to say "setState or load draft, etc. and then focus"
  - The DraftStore issues a focusDraft action after creating a draft, which causes the MessageList to focus and scroll to the desired composer, which itself decides which field to focus.
  - The MessageList never focuses anything automatically.
- Refactors ComposerView apart — ComposerHeader handles all top fields, DraftSessionContainer handles draft session initialization and exposes props to ComposerView
  - ComposerHeader now uses a KeyCommandRegion (with focusIn and focusOut) to do the expanding and collapsing of the participants fields. May rename that container very soon.
- Removes all CommandRegistry handling of tab and shift-tab. Unless you preventDefault, the browser does it's thing.
- Removes all tabIndexes greater than 1. This is an anti-pattern—assigning everything a tabIndex of 0 tells the browser to move between them based on their order in the DOM, and is almost always what you want.
- Adds "TabGroupRegion" which allows you to create a tab/shift-tabbing group, (so tabbing does not leave the active composer). Can't believe this isn't a browser feature.

Todos:
- Occasionally, clicking out of the composer contenteditable requires two clicks. This is because atomicEdit is restoring selection within the contenteditable and breaking blur.
- Because the ComposerView does not render until it has a draft, we're back to it being white in popout composers for a brief moment. We will fix this another way - all the "return unless draft" statements were untenable.
- Clicking a row in the thread list no longer shifts focus to the message list and focuses the last draft. This will be restored soon.

Test Plan: Broken

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D2814
2016-04-04 15:22:01 -07:00
Evan Morikawa
7d9d7ff0f8 fix(console): remove log 2016-04-04 15:20:25 -07:00
Evan Morikawa
902526eafc fix(react): replace with ReactDOM 2016-04-04 15:17:50 -07:00
Evan Morikawa
39c37e10b9 feat(calendar): add week view for quick scheduler
Summary: New Calendar

Test Plan: TODO

Reviewers: drew, juan, bengotow

Reviewed By: bengotow

Subscribers: jackie

Differential Revision: https://phab.nylas.com/D2767
2016-04-04 15:05:48 -07:00
Jackie Luo
3cf2570561 fix(composer-emoji): Replace images with Unicode characters properly 2016-04-04 11:03:52 -07:00
Jackie Luo
4a1c068c29 Merge pull request #1861 from jamiewilson/darkside
(darkside) correcting window buttons, adding input focus
2016-04-02 13:40:24 -07:00
Jamie Wilson
57ee77c982 correcting size of window contol buttons
This addresses issue #1687 on nylas/n1
2016-04-02 15:02:26 -05:00
Jackie Luo
056cabb7f1 🎨(preferences): Darken tab icons during click 2016-04-01 14:50:56 -07:00