Commit graph

2886 commits

Author SHA1 Message Date
Matt Bilker 5fd8faa82c fix(imports): switch to Electron's require('electron') (#1907)
* fix(imports): switch to Electron's require('electron')

Electron in 0.37.5 phases out the usage of `require('built-in-module')`
in favor of `require('electron').builtInModule`. This commit corrects usage in
some cases that cause N1 to not start under Electron 0.37.5.

* fix(specs): use new Electron remote import
2016-04-12 18:09:13 -07:00
Matt Bilker fad1594c01 fix(plugins): expose react-addons-test-utils for spec testing (#1925) 2016-04-12 18:08:00 -07:00
Ben Gotow 6924965b87 perf(require): Don't assume require is free, cache deferred imports 2016-04-12 17:30:44 -07:00
Ben Gotow 5a9d6c9eba bump(react) 0.14.7 => 15.0.1 2016-04-12 16:58:45 -07:00
Jackie Luo cf926b0346 fix(composer-emoji): Fix calculation for category positioning 2016-04-12 14:51:56 -07:00
Ben Gotow d5fb58a029 fix(emoji): Improve variable names / diff feedback 2016-04-12 14:46:03 -07:00
Ben Gotow 0971c8d498 changelog: 0.4.25 release notes 2016-04-12 14:43:46 -07:00
Ben Gotow fc7ae4b415 fix(emoji): Don't allow emoji images to be dragged into attachments 2016-04-12 14:37:14 -07:00
Ben Gotow 370edc40e9 fix(emoji): Re-use img tag to avoid running out of file descriptors
Summary:
On my machine the new emoji picker was causing "too many open file descriptor"
errors. I think that this was because it was creating 1300 image tags in 50msec.

I refactored this code so that it uses a single image tag and only loads one image
at a time. This could make it slower on some people's machines, but eliminates the
possibility of it breaking the app!

Test Plan: Run tests

Reviewers: jackie

Differential Revision: https://phab.nylas.com/D2878
2016-04-12 14:29:59 -07:00
Ben Gotow 5e49962cfb fix(metadata): Add missing joinOnField declaration, assertion 2016-04-12 12:03:41 -07:00
Ben Gotow 6d01120558 fix(account-store): Allow updateAccount in all windows 2016-04-12 11:48:16 -07:00
Ben Gotow be3b795811 shrink(emoji): TinyPNG emoji, convert to 32x32 2016-04-12 11:34:45 -07:00
Jackie Luo 90366d38ae lint(utils): Fix linter issue 2016-04-12 10:43:13 -07:00
Jackie Luo 2a431fcec7 fix(composer-emoji): Switch to characters to PNGs (#1898)
* Add PNGs and JSON file

* Add Apple and Twitter emoji

* Fix linter issues and tests

* Get correct path from EmojiStore

* Add emoji regex and update extensions

* Remove the scary regex
2016-04-12 10:27:24 -07:00
Ben Gotow 1e073be8a3 bump(version): 0.4.25 2016-04-12 09:50:32 -07:00
Ben Gotow 9a2af44b5f perf(db): Use same subselect for "related emails" queries 2016-04-12 09:50:08 -07:00
Evan Morikawa c5f4c7305d feat(scheduler): add an event preview when sending a meeting request
Summary: add event preview

Test Plan: manual

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2874
2016-04-11 22:45:36 -04:00
Ben Gotow f1261cc000 rm(log): Fix bad log statement 2016-04-11 18:59:09 -07:00
Ben Gotow 793b9efae0 fix(scheduler): Don't cast durations to integers, fix 1.5, 2.5 hour blocks 2016-04-11 18:52:49 -07:00
Ben Gotow 24d9157ee5 fix(scheduler): End should work even if the mouse isn't over a time 2016-04-11 18:42:17 -07:00
Ben Gotow c3fad8cca7 fix(scheduler): Make popover width even so it's not blurry 2016-04-11 18:33:53 -07:00
Ben Gotow 7e07c199c4 fix(empty): Add padding to empty message 2016-04-11 18:20:28 -07:00
Ben Gotow 8f86968ddd fix(scheduling): Enable by default in new installations 2016-04-11 18:07:37 -07:00
Ben Gotow 046c8b3122 fix(sync): Handle "Invalid cursor" scenario by 💣🔥 away the cache 2016-04-11 17:34:52 -07:00
Evan Morikawa d24f653e26 fix(scheduler): minor style tweaks to scheduler popover 2016-04-11 19:33:27 -04:00
Ben Gotow 2eab0e3a75 fix(timestamps): Don't crash on null times #1929 2016-04-11 16:17:58 -07:00
Juan Tejada 9848f8f086 Revert "fix(build): Actually make verbose"
This reverts commit a3156a1799.
2016-04-11 16:12:05 -07:00
Juan Tejada 18231b0496 fix(build): Lock spellchecker to 3.2.3 2016-04-11 15:51:17 -07:00
Juan Tejada a3156a1799 fix(build): Actually make verbose 2016-04-11 15:40:40 -07:00
Evan Morikawa ceee33eb10 fix(scheduler): fix jumping calendar and add popover
fix(scheduler): fix jumping calendar and add popover

Summary: feat(scheduler): improved calendar picker

Test Plan: manual

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2873
2016-04-11 18:23:06 -04:00
Juan Tejada 191cc144db update(build): Add verbose flag 2016-04-11 15:20:31 -07:00
Ben Gotow 586d099c23 fix(schedule): Move z-indexes to prevent dropdown layering issue 2016-04-11 14:58:58 -07:00
Ben Gotow db90db3131 fix(schedule): Use draft session to udpate metadata, always save in syncback 2016-04-11 14:32:54 -07:00
Ben Gotow f906b0bc12 fix(db): Don't blow up over table SCANs with covering indexes 2016-04-11 13:51:58 -07:00
Ben Gotow 5220b471e3 fix(db): Counts no longer require Thread table join 2016-04-11 13:51:31 -07:00
Ben Gotow 07861f64be perf(db): Use subselect to improve thread list query perf (53%!)
Summary:
- Use a sub-select query with much better performance to display the thread list
- Perform analyze on tables after launch

The new query is:

```
SELECT `Thread`.`data` FROM `Thread` WHERE `Thread`.`id` IN (SELECT `id` FROM `ThreadCategory` AS `M26` WHERE `M26`.`value` IN ('9m9ks71k06n5rmx82kgues09p','9s9k25q6j1krjgpkovbcjm7d','13b7ufruoymvih07ki0uahlto','dtmhlzz6phr47zp512knhjgf8','16dvjb84bszfh15kgfrjj37i3','aclwmgncdqjfibp51bvgbeik','17qad7jhbp6tozog3klm5zagt','4x4bkbawiq825u4eu3aus8tll','7axr9f5f1lzpwm2rw2ghkirhq','dsnn660af0pmou2gg3nstga8a','361qr5rva1ieby2r0ec3sn0bm','10fyvba7pjyjgeyr5i65i1zri') AND `M26`.`in_all_mail` = 1  ORDER BY `M26`.`last_message_received_timestamp` DESC LIMIT 200 OFFSET 0) ORDER BY `Thread`.`last_message_received_timestamp` DESC;
`
0|0|0|SEARCH TABLE Thread USING INDEX Thread_id (id=?)
0|0|0|EXECUTE LIST SUBQUERY 1
1|0|0|SCAN TABLE Thread-Category AS M26 USING COVERING INDEX ThreadFancyIndex
1|0|0|EXECUTE LIST SUBQUERY 2
0|0|0|USE TEMP B-TREE FOR (only on 200 result items)
```

Which is twice as performant as:
```
SELECT `Thread`.`data` FROM `Thread` INNER JOIN `ThreadCategory` AS `M26` ON `M26`.`id` = `Thread`.`id` WHERE `M26`.`value` IN ('9m9ks71k06n5rmx82kgues09p','9s9k25q6j1krjgpkovbcjm7d','13b7ufruoymvih07ki0uahlto','dtmhlzz6phr47zp512knhjgf8','16dvjb84bszfh15kgfrjj37i3','aclwmgncdqjfibp51bvgbeik','17qad7jhbp6tozog3klm5zagt','4x4bkbawiq825u4eu3aus8tll','7axr9f5f1lzpwm2rw2ghkirhq','361qr5rva1ieby2r0ec3sn0bm','10fyvba7pjyjgeyr5i65i1zri') AND `M26`.`in_all_mail` = 1  ORDER BY `M26`.`last_message_received_timestamp` DESC LIMIT 200 OFFSET 0;

0|0|1|SCAN TABLE Thread-Category AS M26 USING COVERING INDEX ThreadFancyIndex
0|0|0|EXECUTE LIST SUBQUERY 1
0|1|0|SEARCH TABLE Thread USING INDEX Thread_id (id=?)
```

Test Plan: Broken!

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2869
2016-04-11 13:29:05 -07:00
Juan Tejada a02b2b62fd fix(thread-list): Prevent empty state from showing when loading list
- EmptyState should only be displayed when the thread-list is actually
empty, not while it is being loaded
- Update ObservableListDataSource to have a state of loaded only when
the requested range is > 0, i.e. when we are actually requesting threads
2016-04-11 13:15:59 -07:00
Ben Gotow f46101e633 bump(version): 0.4.24 2016-04-11 12:01:47 -07:00
Ben Gotow c00190c492 fix(auth): Fix missing var. This is why we should go ES6! 2016-04-11 10:48:16 -07:00
Juan Tejada 7fd18f23c2 fix(perspective): Fix specs for FocusedPerspectiveStore 2016-04-11 07:59:40 -07:00
Ben Gotow b4b67c65c9 fix(initial-sync): Fix sync sidebar showing all the time 2016-04-11 00:43:06 -07:00
Ben Gotow 99bd3c1e69 fix(perspective): Just wait for first CategoryStore trigger to load perspective
The FocusedPerspectiveStore wants to restore a saved current perspective from disk. It needs to wait for the categories to be ready, but it doesn't necessarily need to wait for them to be synced, because it's unlikely unsynced categories are in the saved perspective and it just falls back to unified inbox.

I think there was some dead code in `_onCategoryStoreChanged` that initialized the perspective also, so I merged the two
2016-04-11 00:43:02 -07:00
Ben Gotow df44eb493d bump(version): 0.4.23 2016-04-10 17:31:54 -07:00
Juan Tejada e27da61a8e fix(deps): Add moment-round 2016-04-10 16:37:33 -07:00
Juan Tejada 3716706833 feat(thread-search): Add spinner to indicate search in progress
Summary:
- This diff also restructures the search package in a few ways:
  - Rename package to `thread-search` instead of `search-bar`
  - Move SearchQuerySubscription and SearchMailboxPerspective inside
  package. This allows SearchQuerySubscription to have access to
  SearchActions in a clean way and keeps all of the search related code
  in 1 package
  - Remove SearchMailboxPerspetcive from mailbox-perspective.coffee
- Adds temporary spinner while we get a new design for it

Test Plan: - TODO

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2868
2016-04-10 16:20:26 -07:00
Evan Morikawa e2e9a72233 fix(scheduler): use proper start and end time formats for when block 2016-04-10 11:44:24 -04:00
Evan Morikawa 33c469f064 fix(spec): fix bad ref 2016-04-09 22:07:50 -04:00
Evan Morikawa 42d7aa47b4 fix(scheduler): properly formatting when objects for post 2016-04-09 21:47:52 -04:00
Evan Morikawa 8960009643 fix(scheduler): properly set proposals 2016-04-09 21:25:01 -04:00
Evan Morikawa 8f7b99ee4f refactor(scheduler): move all event data into metadata
Summary: Moved events into metadata. Removed a lot of code

Test Plan: todo

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2866
2016-04-09 21:19:01 -04:00