💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Ben Gotow 8f2211f6a0 feat(threads): List improvements and message collapsing
Summary:
This diff uses the new ?expanded=true threads request to fetch threads and the messages inside them at the same time. The messages from this endpoint don't contain bodies. Message bodies have been moved to a new "secondary attribute" type, which can be optionally requested when making queries. This allows us to 1) quickly fetch messages without worrying about MBs of JSON, 2) update messages without updating their bodies, and 3) avoid calls to /messages?thread_id=123. The new message store fetches just the items it wants to display in expanded mode, and we'll show snippets for the rest.

Fix up forwarded message

Approach: Thread.messageMetadata

join approach WIP

join approach complete

"" || null = null. OMG.

Make spinner a bit smarter, use code delays and not css delays

Search suggestion store should only show first 10 matches

Msg collapsing, refactored msg store that will fetch individual messages that are marked as expanded, set loaded = true when it's all done

Test Plan: Tests coming soon. The query refactoring here broke a lot of tests...

Reviewers: evan

Reviewed By: evan

Differential Revision: https://review.inboxapp.com/D1345
2015-03-25 12:41:48 -07:00
apm fix(packages): upgrade package versions to fix io.js bug 2015-02-09 10:29:58 -08:00
arclib fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
build fix(speed): Mark packages as engine:atom, don't include coffee,cjsx in compiled app 2015-03-20 17:53:11 -07:00
docs refactor(*): Remove Atom package dependecies and Atom styles! 2015-02-06 16:57:33 -08:00
dot-inbox fix(internal): Only for @nilas.com emails, linter errors 2015-03-21 11:59:47 -07:00
exports feat(sidebar): add more Salesforce states 2015-03-20 16:31:35 -07:00
internal_packages feat(threads): List improvements and message collapsing 2015-03-25 12:41:48 -07:00
keymaps feat(archive): archive now pops back to thread list 2015-03-25 14:17:57 -04:00
menus feat(menus): remove unused menu items 2015-03-10 17:52:30 -07:00
play Make ResizableRegion a core component, not registered with component registry 2015-03-03 09:49:15 -08:00
resources fix(windows): Windows build changes 2015-03-05 13:19:24 -08:00
script fix(windows): Windows build changes 2015-03-05 13:19:24 -08:00
spec feat(threads): List improvements and message collapsing 2015-03-25 12:41:48 -07:00
spec-inbox feat(threads): List improvements and message collapsing 2015-03-25 12:41:48 -07:00
src feat(threads): List improvements and message collapsing 2015-03-25 12:41:48 -07:00
static feat(threads): List improvements and message collapsing 2015-03-25 12:41:48 -07:00
vendor fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.arcconfig fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.gitattributes fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.gitignore fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.gitmodules fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.node-version fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.npmrc fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.pairs fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
.python-version fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
atom.sh fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
coffeelint.json fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
CONTRIBUTING.md fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
Dockerfile fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
LICENSE.md fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00
package.json feat(analytics) add Mixpanel 2015-03-13 20:05:55 -04:00
README.md fix(drafts): Various improvements and fixes to drafts, draft state management 2015-02-03 16:24:31 -08:00

Atom

Atom is a hackable text editor for the 21st century, built on atom-shell, and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.

Visit atom.io to learn more or visit the Atom forum.

Visit issue #3684 to learn more about the Atom 1.0 roadmap.

Installing

OS X

Download the latest Atom release.

Atom will automatically update when a new release is available.

Windows

Download the latest AtomSetup.exe installer.

Atom will automatically update when a new release is available.

You can also download an atom-windows.zip file from the releases page. The .zip version will not automatically update.

Uninstalling Chocolatey Version

The recommended installation of Atom on Windows used to be using Chocolatey. This is no longer recommended now that the Atom Windows installer & auto-updater exists.

To switch from Chocolatey to the new installer:

  • Upgrade to Atom 0.155 or above by running cup Atom
  • Run cuninst Atom to uninstall the Chocolatey version of Atom
    • This will not delete any of your installed packages or Atom config files.
  • Download the latest AtomSetup.exe installer.
  • Double-click the downloaded file to install Atom

Debian Linux (Ubuntu)

Currently only a 64-bit version is available.

  1. Download atom-amd64.deb from the Atom releases page.
  2. Run sudo dpkg --install atom-amd64.deb on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Red Hat Linux (Fedora, CentOS, Red Hat)

Currently only a 64-bit version is available.

  1. Download atom.x86_64.rpm from the Atom releases page.
  2. Run sudo yum localinstall atom.x86_64.rpm on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Building

Developing

Check out the guides and the API reference.