Commit graph

176 commits

Author SHA1 Message Date
Ben Gotow b11131d181 bump(version): 0.3.32 2015-12-15 11:59:01 -08:00
Ben Gotow 754b75d047 bump(version): 0.3.31 2015-12-14 14:36:17 -08:00
Ben Gotow 5a77552f9b bump(version): 0.3.30 2015-12-11 15:11:13 -08:00
Evan Morikawa 35f6273d52 fix(hot-api): remove react-hot-api 2015-12-11 11:22:22 -05:00
Evan Morikawa e4ca1b49c2 fix(win): remove winattr 2015-12-10 14:04:16 -05:00
Evan Morikawa d1d34963e2 fix(win): repalce fswin with winattr 2015-12-10 12:44:44 -05:00
Evan Morikawa 4014b4e187 feat(spec): add config dir to integration specs
Summary:
- You can now pass `--config-dir-path=/some/custom/path` to `./N1.sh`
- `main.coffee` cleaned up a bit. A lot of unused params from legacy Atom
  stuff were still being used
- Integration specs now set the config dir before booting.
- New spec to check for the autoupdater in the app and make sure it's
  pointing at the right place.

Test Plan: script/grunt run-integration-tests

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2331
2015-12-10 10:52:20 -05:00
Ben Gotow bdbeb31049 bump(electron): 0.35.4 2015-12-09 12:29:42 -08:00
Ben Gotow c993a1f51a bump(version): 0.3.29 2015-12-08 17:56:58 -08:00
Ben Gotow 30c58e90a6 feat(observables): Implementation of observables to replace some stores
Summary:
Add concept of "final" to Query, clean up internals

Tiny bug fixes

RxJs Observables!

WIP

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2319
2015-12-07 16:52:46 -08:00
Ben Gotow 68a0a81f77 bump(version): 0.3.28 2015-12-07 12:08:51 -08:00
Evan Morikawa e9936581be feat(build): add nylas resources 2015-12-02 15:12:56 -08:00
Evan Morikawa f508dd8683 refactor(spec): remove spectron from main app 2015-12-02 13:42:09 -08:00
Evan Morikawa c3ecca2692 feat(tests): add integration tests
comment

Adding test harness

Using key strokes in main window test

Tests work now

Clean up argument variables

Rename list manager and get rid of old spec-helper methods

Extract out time overrides from spec-helper

Spectron test for contenteditable

fix spec exit codes and boot mode

fix(spec): cleanup N1.sh and make specs fail with exit code 1

Revert tests and get it working in window

Move to spec_integration and add window load tester

Specs pass. Console logs still in

Remove console logs

Extract N1 Launcher ready method

Make integrated unit test runner

feat(tests): adding integration tests

Summary:
The /spectron folder got moved to /spec_integration

There are now unit tests (the old ones) run via the renamed
`script/grunt run-unit-tests`

There are now integration tests run via the command `script/grunt
run-integration-tests`.

There are two types of integration tests:
1. Tests that operate on the whole app via Selenium/Chromedriver. These
tests have access to Spectron APIs but do NOT have access to any JS object
running inside the application. See the `app-boot-spec.es6` for an example
of these tests. This is tricky because we want to test the Main window,
but Spectron may latch onto any other of our loading windows. Code in
`integration-helper` give us an API that finds and loads the main window
so we can test it

2. Tests that run in the unit test suite that need Spectron to perform
integration-like behavior. These are the contentedtiable specs. The
Spectron server is accessed from the app and can be used to trigger
actions on the running app, from the app. These tests use the
windowed-test runner so Spectron can identify whether the tests have
completed, passed, or failed. Unfortunately Spectron can't access the logs
, nor the exit code of the test script thereby forcing us to parse the
HTML DOM. (Note this is still a WIP)

I also revamped the `N1.sh` file when getting the launch arguments to work
properly. It's much cleaner. We didn't need most of the data.

Test Plan: new tests

Reviewers: juan, bengotow

Differential Revision: https://phab.nylas.com/D2289

Fix composer specs

Tests can properly detect when Spectron is in the environment

Report plain text output in specs

fixing contenteditable specs

Testing slow keymaps on contenteditable specs

Move to DOm mutation

Spell as `subtree` not `subTree`
2015-12-02 13:41:14 -08:00
Ben Gotow 6a9ca20df6 bump(version): 0.3.26 and updated Changelog 2015-11-30 14:11:31 -08:00
Ben Gotow 6a4613b4a1 feat(prefs): Allow tabs with an accounts submenu
Summary:
This diff:
- Improves the styling of the tabs in the preferences sidebar.
- Adds an optional param to section cofnig that puts an "account" submenu beneath the tab item.
- Renames preferences "sections" => "tabs", and renames the PreferencesSectionStore to PreferencesUIStore. I think we should include "UI" in more of our stores, and I think "tabs" is a good idea because it's unambigious—there's no way you could confuse it for a "section" of the NylasEnv.config tree or think it deals with actually saving prefs.

Test Plan: Inspect visually

Reviewers: evan, juan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2296
2015-11-30 11:43:49 -08:00
Ben Gotow c1c06cd794 bump(version): 0.3.25 2015-11-24 17:51:12 -08:00
Ben Gotow 4dcc2d479e bump(version): 0.3.24 2015-11-23 22:27:05 -08:00
Ben Gotow e0976fde2c bump(electron): 0.34.3 => 0.35.1
Electron 0.35.1 includes the tray fixes we contributed last week but also includes API restructuring and improvements. Most importantly, modules from electron are now imported via `require('electron')`
2015-11-23 22:09:17 -08:00
mbilker 5644f84e4a fix(packages): remove vm-compatibility-layer
vm-compatibility-layer was designed to support obsolete APIs in node
v0.11.x of node v0.10.x. It is only used in the build Gruntfile and
nowhere else in the project.
2015-11-21 00:17:27 -05:00
Ben Gotow a5256bd56a 🍒(atom): Pull new, cleaner compile cache + index.js 2015-11-17 19:43:08 -08:00
Evan Morikawa 5de64331b9 fix(package): revert to upgraded package.json 2015-11-17 16:25:58 -08:00
Evan Morikawa 46ee3d8cc8 fix(docs): fix docs so they compile properly. 2015-11-17 15:48:59 -08:00
Ben Gotow 74252d58d9 bump(️): Electron 0.29.2 > 0.34.3, Sqlite 3.0.11 > 3.1.1 2015-11-17 15:36:32 -08:00
Ben Gotow 94e0cb97d3 fix(bootstrap): Set apm environment vars to avoid Atom conflicts 2015-11-16 16:42:35 -08:00
Ben Gotow 95c7e763c0 fix(proxyquire): No longer need forked version 2015-11-16 15:43:47 -08:00
Ben Gotow 5e42f57514 fix(proxyquire): Reference http url instead of https 2015-11-16 15:22:27 -08:00
Ben Gotow ad2d2973cb cleanup(*): We do not support devDependencies as a concept 2015-11-16 11:46:36 -08:00
Ben Gotow 96762647a9 ASAR v0.8, because apparently 0.5 can skip files 2015-11-16 10:02:31 -08:00
Ben Gotow a67f93a014 bump(version): 0.3.23 2015-11-14 13:11:05 -08:00
Ben Gotow 32ffc7123a fix(deps): Remove nodobjc until we re-enable native notifications 2015-11-07 18:15:40 -08:00
Ben Gotow 5074fde43b fix(deps): Go away git-utils, we never used you anyway 2015-11-07 18:05:24 -08:00
Ben Gotow eb8810e01b fix(babel): Roll back to babel@5, see details
- move babelrc to static so that it can be used during the build process and also whenever the app is transpiling things on the fly.
- move babel back to version 5, which is compatible with `apm install`. (babel 6 seems to require the "dedupe" behavior of NPM3)
- update harmony-collections to use an unpublished commit that fixes the "WeakMap is not generic" issue
2015-11-07 14:27:18 -08:00
Ben Gotow 8dcbb7c1b4 bump(version): 0.3.22 2015-11-07 12:02:50 -08:00
Juan Tejada 5fa630b8c6 Update grunt tasks to lint and transpile es6 code using babel
Summary: - Linter uses predefined rules for ES6 and React from airbnb

Test Plan: - Manuel

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2242
2015-11-06 17:40:42 -08:00
Evan Morikawa 9ca4e42b68 fix(keymap): use atom-keymap 5.1.11 2015-11-06 15:16:57 -08:00
Evan Morikawa 37e3fe0f45 feat(keymap): add new <KeymapHandlers />
Summary:
Refactor keymaps to wrap components with a <KeymapHandlers /> component.
This more Reactful way of declaring keyback handlers prevents us from
needing to subscribe to `atom.commands`

Test Plan: new tests

Reviewers: bengotow, juan

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2226
2015-11-06 11:47:06 -08:00
Juan Tejada a6c44b8529 feat(system-tray): add system-tray package
Summary:
- Updates support for ES6 code inside packages
- Displays system tray icon with unread count on darwin, or with bubble on other platforms
- Uses canvas api to dynamically generate icon image given unread count:
  - Adds CavasUtils.canvasFromImgAndText to do this
- Adds config option to display system tray icon on darwin

Test Plan: Need to write the tests for this.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2231
2015-11-06 11:12:38 -08:00
Ben Gotow b9704c011c bump(version): 0.3.21 2015-11-02 16:40:25 -08:00
Ben Gotow 29cc5853b3 feat(notifs): Native notifications for Mac OS X, Win coming
Summary: Replaces `new Notification`-based HTML5 notifications with system native notifications on Mac OS X. This allows us to implement the "Reply" button in the notifications. This will also serve as the hook for native Windows notifications, which are unsupported in Chromium.

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2199
2015-10-29 11:23:51 -07:00
Evan Morikawa 8611b40d7a fix(analytics): remove analytics 2015-10-28 20:06:01 -04:00
Ben Gotow 19363d94dd bump(version): 0.3.20 2015-10-27 18:09:49 -07:00
Ben Gotow 43a61d2471 rm(aws-sdk): Ship logs via request, eliminate aws-sdk 2015-10-27 16:35:38 -07:00
Ben Gotow 10e6c864cb bump(version): 0.3.19 2015-10-23 16:05:48 -07:00
Ben Gotow d45cf79a3d bump(version): 0.3.18 2015-10-22 14:24:13 -07:00
Evan Morikawa ad5274049d fix(databse): fix memory leak on DatabaseStore.atomically
Summary:
The Promise chain we were creating was never cleared and created a memory
leak. We instead use a `PromiseQueue` to cleanup finished promises.

Also added several more tests and verified that the memory leak is gone
with the Chrome profiler

Test Plan: new tests

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2184
2015-10-22 14:19:39 -07:00
Ben Gotow af084f1507 bump(version): 0.3.17 2015-10-20 15:06:36 -07:00
Ben Gotow b6b1b63c9e bump(version): 0.3.16 2015-10-12 14:31:36 -07:00
Ben Gotow 7ba9431f0b revert(electron) 0.30.8 introduced a regression in --webkit-app-region: drag 2015-10-09 16:12:52 -07:00
Ben Gotow 344930973e fix(specs): sanitize-html update seems to have caused regression 2015-10-09 14:39:53 -07:00
Evan Morikawa 69e5b2ac9a Add ChaosMonkey to test misbehaving servers
Summary:
`ChaosMonkey.unleashOnAPI()` will by default cause all API requests to 500

`ChaosMonkey.unleashOnAPI(timeoutMonkey: true)` will cause all API requests
to SOCKETTIMEOUT

`ChaosMonkey.unleashOnAPI(numMonkeys: 10)` will cause the next 10 API
requests to 500

`ChaosMonkey.unleashOnAPI(errorCode: 401, numMonkeys: 10)` will cause the
next 10 API requests to 401.

It must be manually invoked from the console on each window you want the
Monkeys wrecking havok.

It is available on the `window` object as well

This was created to manually test our server failure cases.

Test Plan: manual

Reviewers: drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2133
2015-10-09 09:37:56 -07:00
Evan Morikawa 66e5371030 Upgrade to Electron 0.30.8. Remove unsused packages. Upgrade deps
- Upgrade node-sqlite3 from patched 3.0.2 to mainline 3.1.0

- Upgrade Electron to 0.30.8: NOTE: This is the latest in the 0.30 line.
  The 0.31+ line did a Chrome upgrade that we want to save for a later
  day. We've had a history of serious instabilities with these upgrades
  and are doing them conservatively

- Upgrade coffee-script from 1.9.0 to 1.10.0

- Package updates in /build folder
2015-10-07 16:52:49 -07:00
Evan Morikawa fb264ef365 Merge pull request #49 from mbilker/node-v4
Compile on Node 4.x and 0.12
2015-10-07 10:55:51 -07:00
Evan Morikawa 86f76b9e94 Merge pull request #16 from sbstnmsch/feature-travis-ci
Add basic travis-ci integration
2015-10-07 10:55:23 -07:00
Ben Gotow 14c5160a6d bump(version): 0.3.15 2015-10-07 10:19:16 -07:00
Matt Bilker ecbb12ebef Change Electron version to 0.30.7 2015-10-06 23:34:02 -04:00
Sebastian Misch 71b66b0c6b Add basic travis-ci integration 2015-10-05 23:59:43 +02:00
Ben Gotow e04c79cfc7 bump(version): 0.3.14 2015-10-05 03:39:29 -07:00
Christine Spang 4654c63bbe Update descriptions in package.json 2015-10-04 19:38:14 -07:00
Ben Gotow 063c2098c3 bump(version): 0.3.13 2015-10-04 00:43:07 -07:00
Ben Gotow fd7897b149 bump(version): 0.3.12 2015-10-03 21:16:20 -07:00
Ben Gotow db1eae5943 fix(updater): Send UUID and email accounts to enable more specific update distribution 2015-10-03 14:45:39 -07:00
Ben Gotow 769c10f42e bump(version): 0.3.11 2015-10-02 17:17:22 -07:00
Ben Gotow a1d4e6e729 fix(docs): Updating docs (round 1 of many) 2015-10-01 13:19:34 -07:00
Ben Gotow dccffe9acb bump(version): 0.3.10 2015-09-30 15:01:07 -07:00
Ben Gotow 8781626185 bump(version): 0.3.9 2015-09-28 10:25:29 -07:00
Ben Gotow 4ec059cf5b bump(version): 0.3.8 2015-09-22 14:43:59 -07:00
Ben Gotow cb4b1cafe4 bump(version): 0.3.7 2015-09-20 10:34:27 -07:00
Ben Gotow ad5086a06a bump(version): 0.3.6
Lots of bug fixes! See the commit history for more details. Many fixes in this release were reported from Sentry / user testing on Sept 8.
2015-09-10 19:01:15 -07:00
Ben Gotow 089aba0b22 bump(version): 0.3.5
- Important flag for Gmail
- Fixes for drafts not disappearing
- Subject line display
2015-09-08 17:16:51 -07:00
Evan Morikawa c7be2e7dc5 bump(version): 0.3.4
Critical fix to popout drafts
2015-09-06 14:58:35 -07:00
Ben Gotow 0ba437b2ab bump(version): 0.3.3
- Critical fix for broken search drill-down
2015-09-04 15:45:46 -07:00
Ben Gotow 926f3656d2 bump(version) 0.3.2
+ 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!
2015-09-04 13:43:18 -07:00
Ben Gotow 1daeaff367 fix(mixpanel): Critical fix for mixpanel users all having the same distinct_id alias
Summary: Mixpanel API misuse makes me sad.

Test Plan: No tests, but easy to check with Mixpanel.com

Reviewers: dillon, evan

Reviewed By: dillon, evan

Differential Revision: https://phab.nylas.com/D1978
2015-09-03 19:30:08 -07:00
Evan Morikawa 31714407f9 feat(composer): sanitizes and inlines CSS styles for replies and fwd 2015-09-01 11:53:38 -07:00
Evan Morikawa ff1b41a154 bump(version): 0.3.1 2015-08-25 14:03:27 -04:00
Ben Gotow 7aedb9d22a downgrade(electron): Also fix less issue on Linux 2015-08-24 18:55:40 -07:00
Ben Gotow a5d67e4984 bump(version): 0.3.0
- Multiple account support!
   + Known issue: Unread badge shows only currnetly selected account
   + Known issue: Canceling add account flow quits the app

- You can now create bullets and lists in the composer

- Fix for mail sent yesterday appearing to be sent "now"

- Third-party plugins can now define tasks and database models
2015-08-24 18:14:00 -07:00
Ben Gotow 81d2edcaf9 feat(accounts): Kill namespaces, long live accounts
Summary:
This diff replaces the Namespace object with the Account object, and changes all references to namespace_id => account_id, etc. The endpoints are now `/threads` instead of `/n/<id>/threads`.

This diff also adds preliminary support for multiple accounts. When you log in, we now log you in to all the attached accounts on edgehill server. From the preferences panel, you can auth with / unlink additional accounts. Shockingly, this all seems to pretty much work.

When replying to a thread, you cannot switch from addresses. However, when creating a new message in a popout composer, you can change the from address and the SaveDraftTask will delete/re-root the draft on the new account.

Search bar doesn't need to do full refresh on clear if it never committed

Allow drafts to be switched to a different account when not in reply to an existing thread

Fix edge case where ChangeMailTask throws exception if no models are modified during performLocal

Show many dots for many accounts in long polling status bar

add/remove accounts from prefs

Spec fixes!

Test Plan: Run tests, none broken!

Reviewers: evan, dillon

Reviewed By: evan, dillon

Differential Revision: https://phab.nylas.com/D1928
2015-08-21 15:29:58 -07:00
Ben Gotow f883732522 bump(version): 0.2.5
Features:
- Preferences! You can now change all kinds of things from Menu > Preferences, including:
  + Key binding sets (Gmail, Outlook, Mail.app)
  + Theme (light or dark)
  + Mark-as-read delay
  + Attachment downloading policy
  + Sounds and notifications
  + Default reply behavior
- Layout and theme are now remembered when you re-launch Nylas Mail
- You can now star the message under the keyboard cursor by pressing 'S'

Performance:
- Creating drafts is now much faster on long threads

Fixes:
- "Hover and Archive" is now displayed correctly
- Signing in with an email with capitalization ("BEN@Nylas.com") no longer breaks subtle things
- Messages sent yesterday are now shown with relative time (2:31PM, 12 hours ago)
- NylasSyncWorker now backs off when it encounters network failure
- On Windows, the database is deleted properly when you log out
- Archiving now properly sends mail to All Mail in Gmail
- Images inside some emails now render without becoming distorted
- Mailto link handling is now case-insensitive
2015-08-18 10:57:37 -07:00
Ben Gotow 4df04eaba9 bump(version): 0.2.4
- Perf:
    + Mail actions like starring and changing folders are significantly faster
    + Messages and drafts load faster in large mailboxes thanks to better indexing and query management
    + Ingesting changes from the Nylas API no longer floods the database with queries

- Features:
    + Emails with forms and other interactive elements are now supported
    + Drafts now have a blue focus ring, which makes it easier to see keyboard focus
    + Contact search now matches email domains
    + Command-option-F now highlights the search bar

- Bug fixes:
    + Downloading large attachments will no longer crash the app
    + Window focus / blur state is now correctly reflected in the toolbar
    + Emails with some specific image tags now render with the correct height
    + Undoing star/unstar changes to a group of threads now restores previous state correctly
    + The 'send' animation in the message list is now glitch-free
    + Thread participant parsing handles more edge cases
    + Loading "dots" no longer cover the thread list in some scenarios
    + Rapidly creating and destroying drafts no longer causes React errors
2015-08-10 18:09:03 -07:00
Ben Gotow 7a5d90cc56 bump(version): 0.2.3
- Threads sort the same way they do in Gmail, by "last message received"
- We now use native SQLite bindings, and SQLite 3.8.11.1, which is 22% faster
- We now display an affordance for undoing changes to threads
- Scroll handling in the message list is much better
- Contact chips have been overhauled in the composer, and are now editable
- Contact autocompletions are better, and based on frequency of use
- Messages wrap better in many scenarios
- More than 20 bug fixes!

We now have more than 1,000 specs for Nylas Mail.
2015-08-03 19:46:38 -07:00
Ben Gotow 23afe673da bump(version): 0.2.2
- Fix script/bootstrap error
2015-07-26 13:54:17 -07:00
Ben Gotow 4850c67877 bump(version) 0.2.1
Bug fix for broken dependency building
2015-07-24 19:18:30 -07:00
Ben Gotow 0beca3e93a bump(version) 0.2.0 - see release notes!
- Labels and folders!
    + Multicolor labels for Gmail users, folders for everyone else
    + View and remove labels in message view
    + Move mail into labels or folders using the new picker
    + Move mail into labels or folders in the sidebar via drag and drop
    + "Folder" in expanded message headers
- New icons and style tweaks
- Tracking pixel detection
    + We no longer "view" tracking pixels in your sent mail
- React Component hot-loading
- Hide Sidebar button (design is temporary)
- Draft syncback to the Nylas API
- Today view has been sunset for now
- Quoted text stripping has been rebuilt
    + No longer removes quoted text between inline responses
    + Now supports more quoted text formats
- Lots of bug fixes!
2015-07-24 17:09:00 -07:00
Ben Gotow d2833cfefa feat(hotloading): CJSX hotloading when running in dev mode
Summary:
# Conflicts:
#	static/components/tokenizing-text-field.less

Wat no

Test Plan: Tested with ci build

Reviewers: evan

Reviewed By: evan

Maniphest Tasks: T1216

Differential Revision: https://phab.nylas.com/D1804
2015-07-24 14:10:48 -07:00
Ben Gotow b0af770cf3 feat(tracking-pixels): New MessageStore extension cuts out tracking pixels you've *sent* so you don't trigger them
Summary:
- Remove thread_participants prop, we don't use them anywhere and the underscore-case is ugly.

- Move autolinker into extension, update autolinker to 0.18.1 for phone number support

- document message.coffee, add isFromMe()

- Add tracking pixel extension that removes pixels from mail you *send*. Maybe more features later.

Test Plan: Run 1 new test! (woo...)

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1787
2015-07-23 10:57:13 -07:00
Ben Gotow 809b43d8a7 bump(version): 0.1.11 2015-07-20 10:39:03 -07:00
Evan Morikawa 3954289cf4 WIP: This is the initial diff for new folders & labels.
Summary:
There are now two objects, Folders & Labels. These inherit from `Category`
(that's what Eben said they were using on the backend).

There are two separate tasks.

1. MoveToFolderTask
2. ApplyLabelsTask

It turns out that the semantics between the two are quite different.
The reverse operation for moving to a folder is a bit tricky.

As of 7-8-15, the Tasks are pretty much complete. I need to write tests
for them still and do some manual testing in the client.

Test Plan: Writing specs

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1724
2015-07-16 11:54:20 -04:00
Ben Gotow c31832a43a bump(version): 0.1.10 2015-07-15 20:08:19 -07:00
Ben Gotow 67c48b5136 fix(drag-n-drop): Remove react-dnd, display dropzone, allow tokens to be dragged out of app as plaintext
React-dnd is a nice library but it assumes it's going to be the only thing managing your drag and drop in the entire app. It also hides the underlying dataTransfer object so it's difficult to implement native drag and drop behaviors other than for Files and Urls, which they special-case.

Implementing it manually really isn't hard, and we can do things like attach a text/plain version of contact data to the contact drag.

Fixes T2054
2015-07-15 20:06:11 -07:00
Ben Gotow 9c5b2d175f bump(version): 0.1.9
New In This Release:
- Reply/Reply-All keyboard shortcuts now update existing draft rather than creating another new one.
- Extensions can adjust new drafts before they're displayed
- Signatures extension! (signatures still need to be setup manually)
- Pristine drafts are discarded correctly when you leave a thread in two-pane mode
- Fix for "destroy draft" task failing
- Fix for "double sending" issue
- Upgrade to Electron 0.29.2
- New "Show / hide quoted text" control
- Bug fixes
2015-07-14 12:27:17 -07:00
Ben Gotow f11bbe313a bump(electron): 0.29.2 and a few minor bug fixes
Summary:
Saving only 50 models at a time instead of 100 fixes a reproducible issue with database errors during initial sync on my machine. With 100, it reports "unexpected ; on line 2123..." during the query.

Only the main window should update the unread badge count.

Test Plan: Tests still pass and it seems like everything is still functional.

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1736
2015-07-13 16:28:06 -07:00
Evan Morikawa 07ef2e51a0 bump(version): 0.1.8 2015-07-09 14:32:14 -07:00
Ben Gotow af6f3c80b2 bump(version): 0.1.7 2015-07-06 16:02:20 -04:00
Ben Gotow e6cbc47716 bump(version): 0.1.6 2015-06-26 17:58:14 -07:00
Ben Gotow 19a9a68cc2 bump(version): 0.1.5 2015-06-26 13:26:45 -07:00
Evan Morikawa e8d24ea1b5 refactor(DB): promisify database
Summary:
WIP. The app launches and works for me. I still need to fix the tests
just the DB ones though :D

I changed the `DatabaseProxy` into a `DatabaseConnection` object. It will
request a fully instantiated databse from the backend Browser.

If we're already setup, it'll connect straight to the existing DB.

If we're not setup, then it'll create a new database and run the inital
schema migration on it. The `_createNewDatabase` promise won't resolve
until the migration has run.

Until we add in a more sophisticated migration system and get rid of the
stupid `modelClassMap` that's shoved in `Utils`, I'm passing in a series
of `_setupQueries()` to get everything started.

The `DatabaseConnection` is also the one responsible for queuing up
queries until the DB is fully populated and ready to go.

We actually get a lot of queries before we're setup because a lot of
Stores will make DB requests on `require` in their `constructor` or `init`
methods. (remember all the times we call `_populateStore` in `init`).

Now those queries are aggregated by the `DatabaseConnection` and then
executed sequentially.

Our methods like `persistModel` now resolve only after both the queries
have completed AND their corresponding `triggerLater` has completed as
well.

Test Plan: in progress

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D1688
2015-06-26 07:42:41 -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
Evan Morikawa b5654b7803 v0.1.2 2015-06-15 18:48:42 -07:00