💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Go to file
Evan Morikawa 9859e594f2 feat(composer): typing at the end of the composer tracks scrolling
Summary:
When you're typing at the end of the composer, then the composer should
look like it's scrolling along with you.

When you're typing in the middle of the composer, if the footer
inforamtion scrolls past the end of the page, then that's fine.

When the selection changes, the contenteditable component now caches
whether or not the selection is at the end of the content. It has to do it
at this point, otherwise the cloned, cached DOM nodes of the saved
selection are not the same nodes that will show up in the future.

Whether the cursor is at the end is queried by the composer on a body
change. If it is, then the composer expects a callback from its parent
(the message list), to call to update the scroll position.

The message list immediately updates the scroll position to move the
bottom of the composer to the bottom of the message-wrap window.

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://review.inboxapp.com/D1366
2015-03-27 19:35:27 -04: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(attachments): forwarded messages get attachments too 2015-03-25 21:25:08 -04:00
internal_packages feat(composer): typing at the end of the composer tracks scrolling 2015-03-27 19:35:27 -04: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(reply): don't reply to yourself 2015-03-26 22:07:21 -04:00
src fix(performance): Thread-list re-renders too often 2015-03-27 16:34:59 -07:00
static feat(icons): mac hover state shows icons 2015-03-27 19:35:15 -04: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(spellcheck): Turn on atom spellchecker, new contextual menu 2015-03-27 10:12:56 -07: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.