diff --git a/.appveyor.yml b/.appveyor.yml index ca43041cb..d269255ed 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -41,7 +41,7 @@ deploy: secret_access_key: secure: XlLzz7sdvrtgi4g459NvxLfrH/+hOutb+0Osz29unfi4Zcw9N8H8SEaq6m3ZeWc+ region: us-east-1 - bucket: merani-builds + bucket: mailspring-builds folder: "client/$(commit)" set_public: true diff --git a/.gitmodules b/.gitmodules index 791aa3a48..8eb973378 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "mailsync"] path = mailsync - url = git@github.com:Foundry376/Merani-Mailsync.git + url = git@github.com:Foundry376/Mailspring-Mailsync.git diff --git a/.travis.yml b/.travis.yml index 6e31337f5..f187d05dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,8 +16,8 @@ addons: paths: - mailsync - mailsync.dSYM.zip - - Merani.dmg - - Merani.zip + - Mailspring.dmg + - Mailspring.zip - $(find . -type f -name *.deb | tr "\n" ":") - $(find . -type f -name *.rpm | tr "\n" ":") apt: @@ -72,7 +72,7 @@ before_install: - source app/build/resources/certs/mac/set_unix_env.sh; # Checkout the (currently private) C++ Mailsync codebase - GIT_SSH_COMMAND='ssh -i app/build/resources/certs/mailsync-deploy-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - SSH_ASKPASS=/Users/travis/build/Foundry376/Merani/app/build/resources/certs/ssh-askpass-fix + SSH_ASKPASS=/Users/travis/build/Foundry376/Mailspring/app/build/resources/certs/ssh-askpass-fix DISPLAY=nothing:0 git submodule update --init mailsync diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92a654937..de973d71b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,17 +1,17 @@ # Filing an Issue -Thanks for checking out Merani! If you have a feature request, be sure to check out the [open source roadmap](http://trello.com/b/hxsqB6vx/n1-open-source-roadmap). If someone has already requested +Thanks for checking out Mailspring! If you have a feature request, be sure to check out the [open source roadmap](http://trello.com/b/hxsqB6vx/n1-open-source-roadmap). If someone has already requested the feature you have in mind, you can upvote the card on Trello—to keep things organized, we often close feature requests on GitHub after creating Trello cards. If you've found a bug, try searching for similars issue before filing a new one. Please include -the version of Merani you're using, the platform you're using (Mac / Windows / Linux), and the +the version of Mailspring you're using, the platform you're using (Mac / Windows / Linux), and the type of email account. (Gmail, Outlook 365, etc.) # Pull requests We require all authors sign our [Contributor License -Agreement](https://www.getmerani.com/cla.html) before pull requests (even +Agreement](https://www.getmailspring.com/cla.html) before pull requests (even minor ones) can be accepted. (It's similar to other projects, like NodeJS Meteor, or React). I'm really sorry, but Legal made us do it. diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index b2fa10189..327a0973c 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,20 +1,20 @@ ##### Are there any related issues? - + ... ##### What operating system are you using? ... -##### What version of Merani are you using? +##### What version of Mailspring are you using? ... -- diff --git a/README.md b/README.md index 5b4b52c35..7e9d92690 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -💌 Merani +💌 Mailspring ==== -[![Travis Status](https://travis-ci.org/Foundry376/Merani.svg?branch=master)](https://travis-ci.org/Foundry376/Merani) -[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/iuuuy6d65u3x6bj6?svg=true)](https://ci.appveyor.com/project/Foundry376/Merani) +[![Travis Status](https://travis-ci.org/Foundry376/Mailspring.svg?branch=master)](https://travis-ci.org/Foundry376/Mailspring) +[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/iuuuy6d65u3x6bj6?svg=true)](https://ci.appveyor.com/project/Foundry376/Mailspring) **Hello! I'm one of the original authors of Nylas Mail and this is a significant fork of the app which completely replaces JavaScript mail sync with a C++ core built on Mailcore2. Unfortunately, it's not ready for use - check back soon!** -![Merani Screenshot](https://github.com/Foundry376/Merani/raw/master/screenshots/hero_graphic_mac%402x.png) +![Mailspring Screenshot](https://github.com/Foundry376/Mailspring/raw/master/screenshots/hero_graphic_mac%402x.png) High level Goals: --- @@ -25,39 +25,39 @@ High level Goals: Roadmap and Progress: --- -See [ROADMAP.md](https://github.com/Foundry376/Merani/blob/master/ROADMAP.md) +See [ROADMAP.md](https://github.com/Foundry376/Mailspring/blob/master/ROADMAP.md) ---------------- -**Merani is an open-source mail client built on the modern web with [Electron](https://github.com/atom/electron), [React](https://facebook.github.io/react/), and [Flux](https://facebook.github.io/flux/).** It is designed to be extensible, so it's easy to create new experiences and workflows around email. Want to learn more? Check out the [full documentation](https://Foundry376.github.io/Merani/). +**Mailspring is an open-source mail client built on the modern web with [Electron](https://github.com/atom/electron), [React](https://facebook.github.io/react/), and [Flux](https://facebook.github.io/flux/).** It is designed to be extensible, so it's easy to create new experiences and workflows around email. Want to learn more? Check out the [full documentation](https://Foundry376.github.io/Mailspring/). -[![Slack Invite Button](http://slack-invite.getmerani.com/badge.svg)](http://slack-invite.getmerani.com) +[![Slack Invite Button](http://slack-invite.getmailspring.com/badge.svg)](http://slack-invite.getmailspring.com) -## Download Merani +## Download Mailspring -You can download compiled versions of Merani for Windows, Mac OS X, and Linux (.deb) from [https://getmerani.com/download](https://getmerani.com/download). You can also build and run Merani (Previously N1) on Fedora. On Arch Linux, you can install **[n1](https://aur.archlinux.org/packages/n1/)** or **[n1-git](https://aur.archlinux.org/packages/n1-git/)** from the aur. +You can download compiled versions of Mailspring for Windows, Mac OS X, and Linux (.deb) from [https://getmailspring.com/download](https://getmailspring.com/download). You can also build and run Mailspring (Previously N1) on Fedora. On Arch Linux, you can install **[n1](https://aur.archlinux.org/packages/n1/)** or **[n1-git](https://aur.archlinux.org/packages/n1-git/)** from the aur. ## Build A Plugin -Plugins lie at the heart of Merani and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the [Getting Started guide](https://Foundry376.github.io/Merani/) to write your first plugin in five minutes. To create your own theme, go to our [Theme Starter guide](https://github.com/nylas/N1-theme-starter). +Plugins lie at the heart of Mailspring and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the [Getting Started guide](https://Foundry376.github.io/Mailspring/) to write your first plugin in five minutes. To create your own theme, go to our [Theme Starter guide](https://github.com/nylas/N1-theme-starter). If you would like to run the N1 source and contribute, check out our [contributing -guide](https://github.com/Foundry376/Merani/blob/master/CONTRIBUTING.md). +guide](https://github.com/Foundry376/Mailspring/blob/master/CONTRIBUTING.md). ## Themes -The Merani user interface is styled using CSS, which means it's easy to modify and extend. Merani comes stock with a few beautiful themes, and there are many more which have been built by community developers +The Mailspring user interface is styled using CSS, which means it's easy to modify and extend. Mailspring comes stock with a few beautiful themes, and there are many more which have been built by community developers
#### Bundled Themes -- [Dark](https://github.com/Foundry376/Merani/tree/master/internal_packages/ui-dark) -- [Darkside](https://github.com/Foundry376/Merani/tree/master/internal_packages/ui-darkside) (designed by [Jamie Wilson](https://github.com/jamiewilson)) -- [Taiga](https://github.com/Foundry376/Merani/tree/master/internal_packages/ui-taiga) (designed by [Noah Buscher](https://github.com/noahbuscher)) -- [Ubuntu](https://github.com/Foundry376/Merani/tree/master/internal_packages/ui-ubuntu) (designed by [Ahmed Elhanafy](https://github.com/ahmedlhanafy)) -- [Less Is More](https://github.com/Foundry376/Merani/tree/master/internal_packages/ui-less-is-more) (designed by [Alexander Adkins](https://github.com/P0WW0W)) +- [Dark](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/ui-dark) +- [Darkside](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/ui-darkside) (designed by [Jamie Wilson](https://github.com/jamiewilson)) +- [Taiga](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/ui-taiga) (designed by [Noah Buscher](https://github.com/noahbuscher)) +- [Ubuntu](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/ui-ubuntu) (designed by [Ahmed Elhanafy](https://github.com/ahmedlhanafy)) +- [Less Is More](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/ui-less-is-more) (designed by [Alexander Adkins](https://github.com/P0WW0W)) @@ -93,8 +93,8 @@ The Merani user interface is styled using CSS, which means it's easy to modify a #### To install community themes: 1. Download and unzip the repo -2. In Merani, select `Developer > Install a Package Manually... ` -3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the Merani settings folder for your convinence +2. In Mailspring, select `Developer > Install a Package Manually... ` +3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the Mailspring settings folder for your convinence 5. Select `Change Theme...` from the top level menu, and you'll see the newly installed theme. That's it! @@ -102,21 +102,21 @@ Want to dive in more? Try [creating your own theme](https://github.com/nylas/nyl ## Plugin List -We're working on building a plugin index that makes it super easy to add them to Merani. For now, check out the list below! (Feel free to submit a PR if you build a plugin and want it featured here.) +We're working on building a plugin index that makes it super easy to add them to Mailspring. For now, check out the list below! (Feel free to submit a PR if you build a plugin and want it featured here.) #### Bundled Plugins Great starting points for creating your own plugins! -- [Translate](https://github.com/Foundry376/Merani/tree/master/internal_packages/composer-translate)—Works with 10 languages -- [Quick Replies](https://github.com/Foundry376/Merani/tree/master/internal_packages/composer-templates)—Send emails faster with templates -- [Emoji Keyboard](https://github.com/Foundry376/Merani/tree/master/internal_packages/composer-emoji)—Insert emoji by typing a colon (:) followed by the name of an emoji symbol -- [GitHub Sidebar Info](https://github.com/Foundry376/Merani/tree/master/internal_packages/github-contact-card) -- [View on GitHub](https://github.com/Foundry376/Merani/tree/master/internal_packages/message-view-on-github) -- [Personal Level Indicators](https://github.com/Foundry376/Merani/tree/master/internal_packages/personal-level-indicators) -- [Phishing Detection](https://github.com/Foundry376/Merani/tree/master/internal_packages/phishing-detection) +- [Translate](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/composer-translate)—Works with 10 languages +- [Quick Replies](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/composer-templates)—Send emails faster with templates +- [Emoji Keyboard](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/composer-emoji)—Insert emoji by typing a colon (:) followed by the name of an emoji symbol +- [GitHub Sidebar Info](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/github-contact-card) +- [View on GitHub](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/message-view-on-github) +- [Personal Level Indicators](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/personal-level-indicators) +- [Phishing Detection](https://github.com/Foundry376/Mailspring/tree/master/internal_packages/phishing-detection) ## Configuration -You can configure Merani in a few ways—for instance, pointing it to your self-hosted instance of the sync engine or changing the interface zoom level. [Learn more about how.](https://github.com/Foundry376/Merani/blob/master/CONFIGURATION.md) +You can configure Mailspring in a few ways—for instance, pointing it to your self-hosted instance of the sync engine or changing the interface zoom level. [Learn more about how.](https://github.com/Foundry376/Mailspring/blob/master/CONFIGURATION.md) ## Feature Requests / Plugin Ideas -Have an idea for a package or a feature you'd love to see in Merani? Search for existing [GitHub issues](https://github.com/Foundry376/Merani/issues) and join the conversation! +Have an idea for a package or a feature you'd love to see in Mailspring? Search for existing [GitHub issues](https://github.com/Foundry376/Mailspring/issues) and join the conversation! diff --git a/ROADMAP.md b/ROADMAP.md index 2d4f30609..10254c85b 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -5,7 +5,7 @@ Target Ship Date: Late September #### C++ MailSync *Goal: Reduce bugginess and battery impact, enable new controls over what mail data is synced, and dramatically improve performance by moving mailsync to a new C++ codebase based on MailCore2.* -- [x] Build a lightweight C++ command-line application that syncs mail using `MailCore2` and `libcurl` and writes to the same sqlite3 database schema used by Merani. +- [x] Build a lightweight C++ command-line application that syncs mail using `MailCore2` and `libcurl` and writes to the same sqlite3 database schema used by Mailspring. - [x] Remove the client-sync package and the Activity window and implement `MailsyncProcess`/`MailsyncBridge` wrappers around new C++ codebase. Broadcast database events from the C++ app into the JavaScript app so the UI updates as data changes. - [x] Remove thread and contact search indexing, perform indexing as data is retrieved from IMAP in C++. - [x] Remove migration support from JavaScript. Run the C++ app at launch with `--migrate` to run migrations before the main window is displayed. @@ -28,7 +28,7 @@ Target Ship Date: Late September - [x] Add support for Gmail authentication flow and XOAUTH2 - [ ] Add more robust retry / failure handling logic to C++ code. - [x] Decide what license to use for the C++ codebase / whether to open-source it or provide binaries. (Update: I've deciced to keep this closed source for now. [Here's why.](#why-is-mailsync-closed-source)) -- [x] Link the C++ codebase into Merani as a submodule, make Travis and AppVeyor CI build the C++ codebase. +- [x] Link the C++ codebase into Mailspring as a submodule, make Travis and AppVeyor CI build the C++ codebase. #### C++ MailSync Testing: - [x] Test with a Gmail account @@ -54,22 +54,22 @@ Target Ship Date: Late September + [x] Implement delta stream handling in the C++ codebase #### Deployment -- [x] Create a new AWS account for Merani project +- [x] Create a new AWS account for Mailspring project - [x] Create a Stripe account -- [x] Register Merani domain(s) +- [x] Register Mailspring domain(s) - [x] Setup Sentry for client error reporting - [x] Setup Sentry for server error reporting -- [x] Obtain Mac Developer Certificate for Merani -- [ ] Obtain Windows Verisign Certificate for Merani +- [x] Obtain Mac Developer Certificate for Mailspring +- [ ] Obtain Windows Verisign Certificate for Mailspring - [x] Setup Amazon VPC with public/private subnets, strong security group rules - [x] Setup fast, reproducible deployments w/ Docker containers -- [x] Deploy new identity API to id.getmerani.com -- [ ] Deploy new accounts API to accounts.getmerani.com +- [x] Deploy new identity API to id.getmailspring.com +- [ ] Deploy new accounts API to accounts.getmailspring.com - [ ] Deploy cloud workers to a secured AWS VPC *Blocked: Waiting for Nylas to open-source the rest of the code.* #### General -- [ ] Create a new logo / icon for Merani +- [ ] Create a new logo / icon for Mailspring - [x] Bump Electron to 1.7.6 - [x] Bump React to 15.x - [x] Remove "heavy" Node modules no longer needed in 2017 and contribute to slow launch time: @@ -85,7 +85,7 @@ Target Ship Date: Late September ## Roadmap Past 1.0 - [ ] Bring back Mail Rules! - [ ] Update documentation for creating plugins and themes -- [ ] Create help site using existing content from support.getmerani.com. +- [ ] Create help site using existing content from support.getmailspring.com. *Verify they are OK with this?* - [ ] Implement plugin / theme browser like the Chrome Web Store. + Decide whether to restore support for plugins that need native modules. @@ -105,13 +105,13 @@ Target Ship Date: Late September ## Why is Mailsync Closed Source? -For the initial release I've decided to keep the new C++ codebase closed-source. When you pull this repository and run `npm install`, the correct Mailsync build for your platform is automatically downloaded and put in place so you can hack away on the Merani Electron app. For those of you who are interested, here's why it's closed-source: +For the initial release I've decided to keep the new C++ codebase closed-source. When you pull this repository and run `npm install`, the correct Mailsync build for your platform is automatically downloaded and put in place so you can hack away on the Mailspring Electron app. For those of you who are interested, here's why it's closed-source: -- **Open source is a commitment.** When I was the lead engineer of the Nylas Mail team at Nylas, I spent thousands of hours responding to GitHub issues, helping people build the source, and trying to give PR feedback that was actionable and kind. I'm expecting to spend about 30% of my time working with the open-source community on the JavaScript side of Merani, and I'd rather focus on improving existing documentation and hackability than expand code surface area past what I can support. Especially until it's past the ["bus factor"](https://en.wikipedia.org/wiki/Bus_factor) of one! +- **Open source is a commitment.** When I was the lead engineer of the Nylas Mail team at Nylas, I spent thousands of hours responding to GitHub issues, helping people build the source, and trying to give PR feedback that was actionable and kind. I'm expecting to spend about 30% of my time working with the open-source community on the JavaScript side of Mailspring, and I'd rather focus on improving existing documentation and hackability than expand code surface area past what I can support. Especially until it's past the ["bus factor"](https://en.wikipedia.org/wiki/Bus_factor) of one! - **Mailsync is hard to compile.** Mailsync is written in C++0x and uses new features like `shared_ptr` and `condition_variable`. It requires GCC 4.8 and has a ton of dependencies and required build flags. If `node-sqlite3` is any indication, open-sourcing it in it's current form would be a GitHub Issues disaster. (Compared to mailsync, `node-sqlite3` is pretty easy to build but a whopping *35%* of it's open issues are [compilation-related!](https://github.com/mapbox/node-sqlite3/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20compile) 😰). - **The odds of great PRs are low.** Mailsync is a multithreaded, cross-platform C++ application that interfaces with old, fragile protocols that have their own learning curves and are difficult to mock. For folks to contribute meaningful pull requests, I'd have to write great docs and tests. I'd also need to spend a /lot/ of time reviewing changes for side-effects, enforcing good C++ techniques, and checking changes for performance impact. Maybe I'll be able to support this in the future, but not yet! -If you're interested in contributing to the Merani Mailsync codebase and have some time and skill to throw at it, please let me know! +If you're interested in contributing to the Mailspring Mailsync codebase and have some time and skill to throw at it, please let me know! diff --git a/app/build/create-signed-windows-installer.js b/app/build/create-signed-windows-installer.js index 680836e60..3e9fecc19 100644 --- a/app/build/create-signed-windows-installer.js +++ b/app/build/create-signed-windows-installer.js @@ -12,19 +12,19 @@ const {version} = require(path.join(appDir, 'package.json')); const config = { usePackageJson: false, outputDirectory: path.join(appDir, 'dist'), - appDirectory: path.join(appDir, 'dist', 'merani-win32-ia32'), + appDirectory: path.join(appDir, 'dist', 'mailspring-win32-ia32'), loadingGif: path.join(appDir, 'build', 'resources', 'win', 'loading.gif'), - iconUrl: 'http://edgehill.s3.amazonaws.com/static/merani.ico', + iconUrl: 'http://edgehill.s3.amazonaws.com/static/mailspring.ico', certificateFile: process.env.CERTIFICATE_FILE, certificatePassword: process.env.WINDOWS_CODESIGN_KEY_PASSWORD, - description: "Merani", + description: "Mailspring", version: version, - title: "merani", + title: "mailspring", authors: 'Foundry 376, LLC', - setupIcon: path.join(appDir, 'build', 'resources', 'win', 'merani.ico'), - setupExe: 'MeraniSetup.exe', - exe: 'merani.exe', - name: 'Merani', + setupIcon: path.join(appDir, 'build', 'resources', 'win', 'mailspring.ico'), + setupExe: 'MailspringSetup.exe', + exe: 'mailspring.exe', + name: 'Mailspring', } console.log(config); diff --git a/app/build/docs_src/SUMMARY.md b/app/build/docs_src/SUMMARY.md index 8f2d2ff12..6b2291a9e 100644 --- a/app/build/docs_src/SUMMARY.md +++ b/app/build/docs_src/SUMMARY.md @@ -1,6 +1,6 @@ -# Merani SDK +# Mailspring SDK -* Merani SDK Guides +* Mailspring SDK Guides * [Introduction](/README.md) * [Getting Started](/guides/GettingStarted.md) * [Getting Started Part 2](/guides/GettingStarted-2.md) @@ -8,7 +8,7 @@ * [Interface Concepts](/guides/InterfaceConcepts.md) * [UI Components](/guides/React.md) * [Application Architecture](/guides/Architecture.md) -* [Debugging Merani](/guides/Debugging.md) +* [Debugging Mailspring](/guides/Debugging.md) * [Accessing the Database](/guides/Database.md) * [Extending the Composer](/guides/ComposerExtensions.md) * [Writing Tests](/guides/WritingSpecs.md) diff --git a/app/build/resources/certs.tar.enc b/app/build/resources/certs.tar.enc index 6991aac00..15d734e89 100644 Binary files a/app/build/resources/certs.tar.enc and b/app/build/resources/certs.tar.enc differ diff --git a/app/build/resources/linux/debian/lintian-overrides b/app/build/resources/linux/debian/lintian-overrides index f7b90d3d9..561081fad 100644 --- a/app/build/resources/linux/debian/lintian-overrides +++ b/app/build/resources/linux/debian/lintian-overrides @@ -1,9 +1,9 @@ -merani: arch-dependent-file-in-usr-share -merani: changelog-file-missing-in-native-package -merani: copyright-file-contains-full-apache-2-license -merani: copyright-should-refer-to-common-license-file-for-apache-2 -merani: copyright-should-refer-to-common-license-file-for-lgpl -merani: embedded-library -merani: package-installs-python-bytecode -merani: unstripped-binary-or-object -merani: extra-license-file +mailspring: arch-dependent-file-in-usr-share +mailspring: changelog-file-missing-in-native-package +mailspring: copyright-file-contains-full-apache-2-license +mailspring: copyright-should-refer-to-common-license-file-for-apache-2 +mailspring: copyright-should-refer-to-common-license-file-for-lgpl +mailspring: embedded-library +mailspring: package-installs-python-bytecode +mailspring: unstripped-binary-or-object +mailspring: extra-license-file diff --git a/app/build/resources/linux/debian/postinst b/app/build/resources/linux/debian/postinst index 7eaa03f67..3d885b249 100755 --- a/app/build/resources/linux/debian/postinst +++ b/app/build/resources/linux/debian/postinst @@ -1,5 +1,5 @@ #!/bin/sh -# postinst script for merani +# postinst script for mailspring # # see: dh_installdeb(1) @@ -15,7 +15,7 @@ # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package -UBUNTU_CODENAMES="precise trusty utopic vivid" # "xenial is not yet available in merani repos." +UBUNTU_CODENAMES="precise trusty utopic vivid" # "xenial is not yet available in mailspring repos." DEBIAN_CODENAMES="squeeze wheezy jessie sid" case "$1" in @@ -31,12 +31,12 @@ case "$1" in DISTS=$DEBIAN_CODENAMES DISTRO="debian" else - echo "You are not running Debian, Ubuntu, ElementaryOS or LinuxMint. Not adding merani repository." + echo "You are not running Debian, Ubuntu, ElementaryOS or LinuxMint. Not adding mailspring repository." DISTRO="" fi if [ -n "$DISTRO" ]; then - # Add the merani repository. + # Add the mailspring repository. # Copyright (c) 2009 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license. @@ -92,7 +92,7 @@ KEYDATA fi done - REPOCONFIG="deb [arch=i386,amd64] http://apt.getmerani.com/$DISTRO $REPO main" + REPOCONFIG="deb [arch=i386,amd64] http://apt.getmailspring.com/$DISTRO $REPO main" APT_GET="`which apt-get 2> /dev/null`" APT_CONFIG="`which apt-config 2> /dev/null`" @@ -113,7 +113,7 @@ KEYDATA APT_SOURCESDIR="$APTDIR$APTETC$(apt_config_val 'Dir::Etc::sourceparts')" } - # Add the merani repository to the apt sources. + # Add the mailspring repository to the apt sources. # Returns: # 0 - no update necessary # 1 - sources were updated @@ -127,13 +127,13 @@ KEYDATA if [ -d "$APT_SOURCESDIR" ]; then # Nothing to do if it's already there. - SOURCELIST=$(grep -H "$REPOCONFIG" "$APT_SOURCESDIR/merani.list" \ + SOURCELIST=$(grep -H "$REPOCONFIG" "$APT_SOURCESDIR/mailspring.list" \ 2>/dev/null | cut -d ':' -f 1) if [ -n "$SOURCELIST" ]; then return 0 fi - printf "$REPOCONFIG\n" > "$APT_SOURCESDIR/merani.list" + printf "$REPOCONFIG\n" > "$APT_SOURCESDIR/mailspring.list" if [ $? -eq 0 ]; then return 1 fi diff --git a/app/build/resources/linux/debian/postrm b/app/build/resources/linux/debian/postrm index a7d2233c9..9e2c1363b 100755 --- a/app/build/resources/linux/debian/postrm +++ b/app/build/resources/linux/debian/postrm @@ -1,5 +1,5 @@ #!/bin/sh -# Remove the merani repository. +# Remove the mailspring repository. # Copyright (c) 2009 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license. @@ -46,7 +46,7 @@ clean_sources_lists() { find_apt_sources if [ -d "$APT_SOURCESDIR" ]; then - rm -f "$APT_SOURCESDIR/merani.list" + rm -f "$APT_SOURCESDIR/mailspring.list" fi return 0 diff --git a/app/build/resources/linux/merani.desktop.in b/app/build/resources/linux/mailspring.desktop.in similarity index 65% rename from app/build/resources/linux/merani.desktop.in rename to app/build/resources/linux/mailspring.desktop.in index 0a4a52205..2c4130fd5 100644 --- a/app/build/resources/linux/merani.desktop.in +++ b/app/build/resources/linux/mailspring.desktop.in @@ -2,10 +2,10 @@ Name=<%= productName %> Comment=<%= description %> GenericName=<%= productName %> -Exec=/usr/bin/merani %U -Icon=merani +Exec=/usr/bin/mailspring %U +Icon=mailspring Type=Application StartupNotify=true StartupWMClass=<%= productName %> Categories=GNOME;GTK;Network;Email;Utility;Development; -MimeType=text/plain;x-scheme-handler/mailto;x-scheme-handler/merani; +MimeType=text/plain;x-scheme-handler/mailto;x-scheme-handler/mailspring; diff --git a/app/build/resources/linux/redhat/mailspring.spec.in b/app/build/resources/linux/redhat/mailspring.spec.in new file mode 100644 index 000000000..0b4eae762 --- /dev/null +++ b/app/build/resources/linux/redhat/mailspring.spec.in @@ -0,0 +1,40 @@ +Name: <%= name %> +Version: <%= version %> +Release: 0.1%{?dist} +Summary: <%= description %> +License: GPLv3 +URL: https://github.com/Foundry376/Mailspring +AutoReqProv: no # Avoid libchromiumcontent.so missing dependency + +requires: libgnome-keyring + +%description +<%= description %> + +%install +mkdir -p %{buildroot}/usr/share/mailspring +cp -r <%= contentsDir %>/* %{buildroot}/usr/share/mailspring + +mkdir -p %{buildroot}/usr/bin/ + +ln -s ../share/mailspring/mailspring %{buildroot}/usr/bin/mailspring +chmod 755 %{buildroot}/usr/bin/mailspring + +mkdir -p %{buildroot}/usr/share/applications/ +mv mailspring.desktop %{buildroot}/usr/share/applications/ + +for s in 16 32 64 128 256 512; do + mkdir -p %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps + cp -p <%= linuxAssetsDir %>/icons/${s}.png %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps/mailspring.png +done + +%files +/usr/bin/mailspring +/usr/share/mailspring +/usr/share/applications/mailspring.desktop +/usr/share/icons/hicolor/16x16/apps/mailspring.png +/usr/share/icons/hicolor/32x32/apps/mailspring.png +/usr/share/icons/hicolor/64x64/apps/mailspring.png +/usr/share/icons/hicolor/128x128/apps/mailspring.png +/usr/share/icons/hicolor/256x256/apps/mailspring.png +/usr/share/icons/hicolor/512x512/apps/mailspring.png diff --git a/app/build/resources/linux/redhat/merani.spec.in b/app/build/resources/linux/redhat/merani.spec.in deleted file mode 100644 index 7b72e27e9..000000000 --- a/app/build/resources/linux/redhat/merani.spec.in +++ /dev/null @@ -1,40 +0,0 @@ -Name: <%= name %> -Version: <%= version %> -Release: 0.1%{?dist} -Summary: <%= description %> -License: GPLv3 -URL: https://github.com/Foundry376/Merani -AutoReqProv: no # Avoid libchromiumcontent.so missing dependency - -requires: libgnome-keyring - -%description -<%= description %> - -%install -mkdir -p %{buildroot}/usr/share/merani -cp -r <%= contentsDir %>/* %{buildroot}/usr/share/merani - -mkdir -p %{buildroot}/usr/bin/ - -ln -s ../share/merani/merani %{buildroot}/usr/bin/merani -chmod 755 %{buildroot}/usr/bin/merani - -mkdir -p %{buildroot}/usr/share/applications/ -mv merani.desktop %{buildroot}/usr/share/applications/ - -for s in 16 32 64 128 256 512; do - mkdir -p %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps - cp -p <%= linuxAssetsDir %>/icons/${s}.png %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps/merani.png -done - -%files -/usr/bin/merani -/usr/share/merani -/usr/share/applications/merani.desktop -/usr/share/icons/hicolor/16x16/apps/merani.png -/usr/share/icons/hicolor/32x32/apps/merani.png -/usr/share/icons/hicolor/64x64/apps/merani.png -/usr/share/icons/hicolor/128x128/apps/merani.png -/usr/share/icons/hicolor/256x256/apps/merani.png -/usr/share/icons/hicolor/512x512/apps/merani.png diff --git a/app/build/resources/mac/merani.icns b/app/build/resources/mac/mailspring.icns similarity index 100% rename from app/build/resources/mac/merani.icns rename to app/build/resources/mac/mailspring.icns diff --git a/app/build/resources/merani.png b/app/build/resources/mailspring.png similarity index 100% rename from app/build/resources/merani.png rename to app/build/resources/mailspring.png diff --git a/app/build/resources/win/merani-mailto-default.reg b/app/build/resources/win/mailspring-mailto-default.reg similarity index 100% rename from app/build/resources/win/merani-mailto-default.reg rename to app/build/resources/win/mailspring-mailto-default.reg diff --git a/app/build/resources/win/mailspring-mailto-registration.reg b/app/build/resources/win/mailspring-mailto-registration.reg new file mode 100755 index 000000000..cd7573c61 --- /dev/null +++ b/app/build/resources/win/mailspring-mailto-registration.reg @@ -0,0 +1,60 @@ +Windows Registry Editor Version 5.00 + +[{{HKEY_ROOT}}\SOFTWARE\Classes\Mailspring.Url.mailto] +"FriendlyTypeName"="Mailspring Url" + +[{{HKEY_ROOT}}\SOFTWARE\Classes\Mailspring.Url.mailto\shell] + +[{{HKEY_ROOT}}\SOFTWARE\Classes\Mailspring.Url.mailto\shell\open] + +[{{HKEY_ROOT}}\SOFTWARE\Classes\Mailspring.Url.mailto\shell\open\command] +@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart mailspring.exe --process-start-args %1" + + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring] +@="Mailspring" +"LocalizedString"="@{{PATH_TO_ROOT_FOLDER}}\\Update.exe,-123" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\DefaultIcon] +@="{{PATH_TO_APP_FOLDER}}\\mailspring.exe,1" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Capabilities] +"ApplicationName"="Mailspring" +"ApplicationDescription"="A fast, modern mail client designed to help you boost your productivity." + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Capabilities\StartMenu] +"Mail"="Mailspring" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Capabilities\URLAssociations] +"mailto"="Mailspring.Url.mailto" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols] + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols\mailto] +@="URL:MailTo Protocol" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols\mailto\DefaultIcon] +@="{{PATH_TO_APP_FOLDER}}\\mailspring.exe,1" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols\mailto\shell] + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols\mailto\shell\open] + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\Protocols\mailto\shell\open\command] +@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart mailspring.exe --process-start-args %1" + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\shell] + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\shell\open] + +[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Mailspring\shell\open\command] +@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart mailspring.exe" + +[{{HKEY_ROOT}}\SOFTWARE\RegisteredApplications] +"Mailspring"="Software\\Clients\\Mail\\Mailspring\\Capabilities" + + +[HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache] +"{{PATH_TO_ROOT_FOLDER}}\\Update.exe"="Mailspring" +"{{PATH_TO_ROOT_FOLDER}}\\Update.exe.FriendlyAppName"="Mailspring" +"{{PATH_TO_ROOT_FOLDER}}\\Update.exe.ApplicationCompany"="Mailspring" diff --git a/app/build/resources/win/merani.ico b/app/build/resources/win/mailspring.ico similarity index 100% rename from app/build/resources/win/merani.ico rename to app/build/resources/win/mailspring.ico diff --git a/app/build/resources/win/merani-mailto-registration.reg b/app/build/resources/win/merani-mailto-registration.reg deleted file mode 100755 index c3cffdaa9..000000000 --- a/app/build/resources/win/merani-mailto-registration.reg +++ /dev/null @@ -1,60 +0,0 @@ -Windows Registry Editor Version 5.00 - -[{{HKEY_ROOT}}\SOFTWARE\Classes\Merani.Url.mailto] -"FriendlyTypeName"="Merani Url" - -[{{HKEY_ROOT}}\SOFTWARE\Classes\Merani.Url.mailto\shell] - -[{{HKEY_ROOT}}\SOFTWARE\Classes\Merani.Url.mailto\shell\open] - -[{{HKEY_ROOT}}\SOFTWARE\Classes\Merani.Url.mailto\shell\open\command] -@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart merani.exe --process-start-args %1" - - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani] -@="Merani" -"LocalizedString"="@{{PATH_TO_ROOT_FOLDER}}\\Update.exe,-123" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\DefaultIcon] -@="{{PATH_TO_APP_FOLDER}}\\merani.exe,1" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Capabilities] -"ApplicationName"="Merani" -"ApplicationDescription"="A fast, modern mail client designed to help you boost your productivity." - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Capabilities\StartMenu] -"Mail"="Merani" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Capabilities\URLAssociations] -"mailto"="Merani.Url.mailto" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols] - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols\mailto] -@="URL:MailTo Protocol" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols\mailto\DefaultIcon] -@="{{PATH_TO_APP_FOLDER}}\\merani.exe,1" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols\mailto\shell] - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols\mailto\shell\open] - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\Protocols\mailto\shell\open\command] -@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart merani.exe --process-start-args %1" - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\shell] - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\shell\open] - -[{{HKEY_ROOT}}\SOFTWARE\Clients\Mail\Merani\shell\open\command] -@="\"{{PATH_TO_ROOT_FOLDER}}\\Update.exe\" --processStart merani.exe" - -[{{HKEY_ROOT}}\SOFTWARE\RegisteredApplications] -"Merani"="Software\\Clients\\Mail\\Merani\\Capabilities" - - -[HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache] -"{{PATH_TO_ROOT_FOLDER}}\\Update.exe"="Merani" -"{{PATH_TO_ROOT_FOLDER}}\\Update.exe.FriendlyAppName"="Merani" -"{{PATH_TO_ROOT_FOLDER}}\\Update.exe.ApplicationCompany"="Merani" diff --git a/app/build/tasks/create-mac-dmg.js b/app/build/tasks/create-mac-dmg.js index a06fdcb7d..3ad24404a 100644 --- a/app/build/tasks/create-mac-dmg.js +++ b/app/build/tasks/create-mac-dmg.js @@ -2,14 +2,14 @@ const path = require('path'); const createDMG = require('electron-installer-dmg') module.exports = (grunt) => { - grunt.registerTask('create-mac-dmg', 'Create DMG for Merani', function pack() { + grunt.registerTask('create-mac-dmg', 'Create DMG for Mailspring', function pack() { const done = this.async(); - const dmgPath = path.join(grunt.config('outputDir'), "Merani.dmg"); + const dmgPath = path.join(grunt.config('outputDir'), "Mailspring.dmg"); createDMG({ - appPath: path.join(grunt.config('outputDir'), "Merani-darwin-x64", "Merani.app"), - name: "Merani", + appPath: path.join(grunt.config('outputDir'), "Mailspring-darwin-x64", "Mailspring.app"), + name: "Mailspring", background: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'DMG-background.png'), - icon: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'merani.icns'), + icon: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'mailspring.icns'), overwrite: true, out: grunt.config('outputDir'), }, (err) => { diff --git a/app/build/tasks/create-mac-zip.js b/app/build/tasks/create-mac-zip.js index 69a40d326..deeb98c7b 100644 --- a/app/build/tasks/create-mac-zip.js +++ b/app/build/tasks/create-mac-zip.js @@ -6,20 +6,20 @@ const path = require('path'); module.exports = (grunt) => { const {spawn} = grunt.config('taskHelpers') - grunt.registerTask('create-mac-zip', 'Zip up Merani', function pack() { + grunt.registerTask('create-mac-zip', 'Zip up Mailspring', function pack() { const done = this.async(); - const zipPath = path.join(grunt.config('outputDir'), 'Merani.zip'); + const zipPath = path.join(grunt.config('outputDir'), 'Mailspring.zip'); if (grunt.file.exists(zipPath)) { grunt.file.delete(zipPath, {force: true}); } const orig = process.cwd(); - process.chdir(path.join(grunt.config('outputDir'), 'Merani-darwin-x64')); + process.chdir(path.join(grunt.config('outputDir'), 'Mailspring-darwin-x64')); spawn({ cmd: "zip", - args: ["-9", "-y", "-r", "-9", "-X", zipPath, 'Merani.app'], + args: ["-9", "-y", "-r", "-9", "-X", zipPath, 'Mailspring.app'], }, (error) => { process.chdir(orig); diff --git a/app/build/tasks/installer-linux-task.js b/app/build/tasks/installer-linux-task.js index 3f2ae575d..86b807bce 100644 --- a/app/build/tasks/installer-linux-task.js +++ b/app/build/tasks/installer-linux-task.js @@ -7,7 +7,7 @@ module.exports = (grunt) => { const {spawn} = grunt.config('taskHelpers'); const outputDir = grunt.config.get('outputDir'); - const contentsDir = path.join(grunt.config('outputDir'), `merani-linux-${process.arch}`); + const contentsDir = path.join(grunt.config('outputDir'), `mailspring-linux-${process.arch}`); const linuxAssetsDir = path.resolve(path.join(grunt.config('buildDir'), 'resources', 'linux')); const arch = { ia32: 'i386', @@ -49,17 +49,17 @@ module.exports = (grunt) => { version: grunt.config('appJSON').version, description: grunt.config('appJSON').description, productName: grunt.config('appJSON').productName, - linuxShareDir: '/usr/local/share/merani', + linuxShareDir: '/usr/local/share/mailspring', linuxAssetsDir: linuxAssetsDir, contentsDir: contentsDir, } - // This populates merani.spec - const specInFilePath = path.join(linuxAssetsDir, 'redhat', 'merani.spec.in') + // This populates mailspring.spec + const specInFilePath = path.join(linuxAssetsDir, 'redhat', 'mailspring.spec.in') writeFromTemplate(specInFilePath, templateData) - // This populates merani.desktop - const desktopInFilePath = path.join(linuxAssetsDir, 'merani.desktop.in') + // This populates mailspring.desktop + const desktopInFilePath = path.join(linuxAssetsDir, 'mailspring.desktop.in') writeFromTemplate(desktopInFilePath, templateData) const cmd = path.join(grunt.config('appDir'), 'script', 'mkrpm') @@ -92,23 +92,23 @@ module.exports = (grunt) => { name: grunt.config('appJSON').name, description: grunt.config('appJSON').description, productName: grunt.config('appJSON').productName, - linuxShareDir: '/usr/share/merani', + linuxShareDir: '/usr/share/mailspring', arch: arch, section: 'devel', - maintainer: 'Merani Team ', + maintainer: 'Mailspring Team ', installedSize: installedSize, } writeFromTemplate(path.join(linuxAssetsDir, 'debian', 'control.in'), data) - writeFromTemplate(path.join(linuxAssetsDir, 'merani.desktop.in'), data) + writeFromTemplate(path.join(linuxAssetsDir, 'mailspring.desktop.in'), data) - const icon = path.join(grunt.config('appDir'), 'build', 'resources', 'merani.png') + const icon = path.join(grunt.config('appDir'), 'build', 'resources', 'mailspring.png') const cmd = path.join(grunt.config('appDir'), 'script', 'mkdeb'); const args = [version, arch, icon, linuxAssetsDir, contentsDir, outputDir]; spawn({cmd, args}, (spawnError) => { if (spawnError) { return done(spawnError); } - grunt.log.ok(`Created ${outputDir}/merani-${version}-${arch}.deb`); + grunt.log.ok(`Created ${outputDir}/mailspring-${version}-${arch}.deb`); return done() }); }); diff --git a/app/build/tasks/package-task.js b/app/build/tasks/package-task.js index 624258392..0b6954fd3 100644 --- a/app/build/tasks/package-task.js +++ b/app/build/tasks/package-task.js @@ -130,8 +130,8 @@ module.exports = (grunt) => { appVersion: packageJSON.version, platform: platform, protocols: [{ - name: "Merani Protocol", - schemes: ["merani"], + name: "Mailspring Protocol", + schemes: ["mailspring"], }, { name: "Mailto Protocol", schemes: ["mailto"], @@ -143,14 +143,14 @@ module.exports = (grunt) => { 'win32': 'ia32', }[platform], icon: { - darwin: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'merani.icns'), - win32: path.resolve(grunt.config('appDir'), 'build', 'resources', 'win', 'merani.ico'), + darwin: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'mailspring.icns'), + win32: path.resolve(grunt.config('appDir'), 'build', 'resources', 'win', 'mailspring.ico'), linux: undefined, }[platform], name: { - darwin: 'Merani', - win32: 'merani', - linux: 'merani', + darwin: 'Mailspring', + win32: 'mailspring', + linux: 'mailspring', }[platform], appCopyright: `Copyright (C) 2014-${new Date().getFullYear()} Foundry 376, LLC. All rights reserved.`, derefSymlinks: false, @@ -216,9 +216,9 @@ module.exports = (grunt) => { osxSign: !!process.env.SIGN_BUILD, win32metadata: { CompanyName: 'Foundry 376, LLC', - FileDescription: 'Merani', + FileDescription: 'Mailspring', LegalCopyright: `Copyright (C) 2014-${new Date().getFullYear()} Foundry 376, LLC. All rights reserved.`, - ProductName: 'Merani', + ProductName: 'Mailspring', }, // NOTE: The following plist keys can NOT be set in the // extra.plist since they are manually overridden by @@ -235,7 +235,7 @@ module.exports = (grunt) => { // Electron.app/Contents/Info.plist. A majority of the defaults are // left in the Electron Info.plist file extendInfo: path.resolve(grunt.config('appDir'), 'build', 'resources', 'mac', 'extra.plist'), - appBundleId: "com.merani.merani", + appBundleId: "com.mailspring.mailspring", afterCopy: [ runCopyPlatformSpecificResources, runWriteCommitHashIntoPackage, @@ -245,7 +245,7 @@ module.exports = (grunt) => { }, }) - grunt.registerTask('package', 'Package Merani', function pack() { + grunt.registerTask('package', 'Package Mailspring', function pack() { const done = this.async(); const start = Date.now(); diff --git a/app/build/tasks/setup-mac-keychain-task.js b/app/build/tasks/setup-mac-keychain-task.js index 7da46d025..90e466c14 100644 --- a/app/build/tasks/setup-mac-keychain-task.js +++ b/app/build/tasks/setup-mac-keychain-task.js @@ -80,8 +80,8 @@ module.exports = (grunt) => { getCertData = () => { const certs = path.resolve(path.join(grunt.config('buildDir'), 'resources', 'certs', 'mac')); const appleCert = path.join(certs, 'AppleWWDRCA.cer'); - const nylasCert = path.join(certs, 'mac-merani.cer'); - const nylasPrivateKey = path.join(certs, 'mac-merani.p12'); + const nylasCert = path.join(certs, 'mac-codesigning.cer'); + const nylasPrivateKey = path.join(certs, 'mac-codesigning.p12'); const keyPass = process.env.APPLE_CODESIGN_KEY_PASSWORD; diff --git a/app/dot-nylas/README.md b/app/dot-nylas/README.md index e81b267b0..bb8dbd99b 100644 --- a/app/dot-nylas/README.md +++ b/app/dot-nylas/README.md @@ -1,5 +1,5 @@ # Default Config -These are the default Merani configs. This folder on setup is copied to -`/Library/Application Support/Merani` on a Mac and otehr appropriate folders +These are the default Mailspring configs. This folder on setup is copied to +`/Library/Application Support/Mailspring` on a Mac and otehr appropriate folders on Windows and Linux. diff --git a/app/internal_packages/account-sidebar/package.json b/app/internal_packages/account-sidebar/package.json index 2e6d4783c..bcd7ca07b 100755 --- a/app/internal_packages/account-sidebar/package.json +++ b/app/internal_packages/account-sidebar/package.json @@ -7,6 +7,6 @@ "private": true, "syncInit": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/analytics/analytics-electron/what-is-this.md b/app/internal_packages/analytics/analytics-electron/what-is-this.md index 42857d5d9..11ec2eeaa 100644 --- a/app/internal_packages/analytics/analytics-electron/what-is-this.md +++ b/app/internal_packages/analytics/analytics-electron/what-is-this.md @@ -1 +1 @@ -This folder contains a modified version of analytics-node. The original version uses `superagent`, which is both unnecessary (since we have both Browser and Node APIs and can use `fetch` and also added ~2.1MB of JavaScript to Merani.) \ No newline at end of file +This folder contains a modified version of analytics-node. The original version uses `superagent`, which is both unnecessary (since we have both Browser and Node APIs and can use `fetch` and also added ~2.1MB of JavaScript to Mailspring.) \ No newline at end of file diff --git a/app/internal_packages/analytics/lib/analytics-store.es6 b/app/internal_packages/analytics/lib/analytics-store.es6 index 1e0513bf8..9dac3c611 100644 --- a/app/internal_packages/analytics/lib/analytics-store.es6 +++ b/app/internal_packages/analytics/lib/analytics-store.es6 @@ -22,7 +22,7 @@ class AnalyticsStore extends NylasStore { // Allow requests to be grouped together if they're fired back-to-back, // but generally report each event as it happens. This segment library // is intended for a server where the user doesn't quit... - this.analytics = new AnalyticsSink("merani", { + this.analytics = new AnalyticsSink("mailspring", { host: `${NylasAPIRequest.rootURLForServer('identity')}/api/s`, flushInterval: 500, flushAt: 5, diff --git a/app/internal_packages/analytics/package.json b/app/internal_packages/analytics/package.json index b0a41f621..3ec1462e2 100644 --- a/app/internal_packages/analytics/package.json +++ b/app/internal_packages/analytics/package.json @@ -9,6 +9,6 @@ "default": true }, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/attachments/package.json b/app/internal_packages/attachments/package.json index c1d6882d2..dcdd0eecf 100644 --- a/app/internal_packages/attachments/package.json +++ b/app/internal_packages/attachments/package.json @@ -7,7 +7,7 @@ "private": true, "syncInit": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/category-picker/package.json b/app/internal_packages/category-picker/package.json index 76e070128..365a30c72 100755 --- a/app/internal_packages/category-picker/package.json +++ b/app/internal_packages/category-picker/package.json @@ -6,6 +6,6 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/composer-emoji/package.json b/app/internal_packages/composer-emoji/package.json index 03481cbb0..a708a8fb4 100644 --- a/app/internal_packages/composer-emoji/package.json +++ b/app/internal_packages/composer-emoji/package.json @@ -7,7 +7,7 @@ "url": "" }, "engines": { - "merani": "*" + "mailspring": "*" }, "isOptional": true, diff --git a/app/internal_packages/composer-markdown/package.json b/app/internal_packages/composer-markdown/package.json index 287be40a6..2c281cd81 100644 --- a/app/internal_packages/composer-markdown/package.json +++ b/app/internal_packages/composer-markdown/package.json @@ -7,7 +7,7 @@ "license": "GPL-3.0", "icon": "./icon.png", "engines": { - "merani": "*" + "mailspring": "*" }, "isOptional": true, "isHiddenOnPluginsPage": true, diff --git a/app/internal_packages/composer-signature/package.json b/app/internal_packages/composer-signature/package.json index 8be943fba..a72de1b83 100755 --- a/app/internal_packages/composer-signature/package.json +++ b/app/internal_packages/composer-signature/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/composer-spellcheck/package.json b/app/internal_packages/composer-spellcheck/package.json index 0a062c406..f1e8d91fb 100755 --- a/app/internal_packages/composer-spellcheck/package.json +++ b/app/internal_packages/composer-spellcheck/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/composer-templates/README.md b/app/internal_packages/composer-templates/README.md index 850708041..687cf665b 100644 --- a/app/internal_packages/composer-templates/README.md +++ b/app/internal_packages/composer-templates/README.md @@ -1,7 +1,7 @@ # Composer Templates Create templates you can use to pre-fill the N1 composer - never type the same -email again! Templates live in the templates folder inside the Merani config folder. +email again! Templates live in the templates folder inside the Mailspring config folder. Each template is an HTML file - the name of the file is the name of the template, and it's contents are the default message body. diff --git a/app/internal_packages/composer-templates/lib/template-picker.jsx b/app/internal_packages/composer-templates/lib/template-picker.jsx index 9f65621ad..4480c42ed 100644 --- a/app/internal_packages/composer-templates/lib/template-picker.jsx +++ b/app/internal_packages/composer-templates/lib/template-picker.jsx @@ -123,7 +123,7 @@ class TemplatePicker extends React.Component { title="Insert quick reply…" >   diff --git a/app/internal_packages/composer-templates/package.json b/app/internal_packages/composer-templates/package.json index 0f96f15bc..c9e039c50 100755 --- a/app/internal_packages/composer-templates/package.json +++ b/app/internal_packages/composer-templates/package.json @@ -12,7 +12,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/composer-translate/lib/main.jsx b/app/internal_packages/composer-translate/lib/main.jsx index 39a79a105..58afac05c 100644 --- a/app/internal_packages/composer-translate/lib/main.jsx +++ b/app/internal_packages/composer-translate/lib/main.jsx @@ -149,7 +149,7 @@ class TranslateButton extends React.Component { >   - github logo + github logo {profile.login}
{repoElements}
diff --git a/app/internal_packages/github-contact-card/package.json b/app/internal_packages/github-contact-card/package.json index 7ab90a2dc..5013e1490 100644 --- a/app/internal_packages/github-contact-card/package.json +++ b/app/internal_packages/github-contact-card/package.json @@ -12,7 +12,7 @@ "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "repository": { "type": "git", diff --git a/app/internal_packages/main-calendar/package.json b/app/internal_packages/main-calendar/package.json index b6c8cb4ed..0527c1608 100644 --- a/app/internal_packages/main-calendar/package.json +++ b/app/internal_packages/main-calendar/package.json @@ -8,7 +8,7 @@ "scripts": { }, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "calendar": true diff --git a/app/internal_packages/message-autoload-images/package.json b/app/internal_packages/message-autoload-images/package.json index 96cacab9a..bc34b1984 100755 --- a/app/internal_packages/message-autoload-images/package.json +++ b/app/internal_packages/message-autoload-images/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/message-list/lib/autolinker.es6 b/app/internal_packages/message-list/lib/autolinker.es6 index f8a0ee08f..51a79a662 100644 --- a/app/internal_packages/message-list/lib/autolinker.es6 +++ b/app/internal_packages/message-list/lib/autolinker.es6 @@ -62,7 +62,7 @@ export function autolink(doc, {async} = {}) { exclude: [/\..*[/|?].*@/], }], ['tel:', RegExpUtils.phoneRegex()], - ['', RegExpUtils.meraniCommandRegex()], + ['', RegExpUtils.mailspringCommandRegex()], ['', RegExpUtils.urlRegex({matchEntireString: false})], ]; diff --git a/app/internal_packages/message-list/lib/message-item-body.jsx b/app/internal_packages/message-list/lib/message-item-body.jsx index 41755a6e9..8d03c4ad2 100644 --- a/app/internal_packages/message-list/lib/message-item-body.jsx +++ b/app/internal_packages/message-list/lib/message-item-body.jsx @@ -77,7 +77,7 @@ export default class MessageItemBody extends React.Component { const inlineImgRegexp = new RegExp(`<\\s*img.*src=['"]cid:${file.contentId}['"][^>]*>`, 'gi') // Render a spinner merged = merged.replace(inlineImgRegexp, () => - 'spinner.gif' + 'spinner.gif' ); } else { // Render the completed download. We include data-nylas-file so that if the image fails diff --git a/app/internal_packages/message-list/package.json b/app/internal_packages/message-list/package.json index 3444aa31a..cd004c6d7 100755 --- a/app/internal_packages/message-list/package.json +++ b/app/internal_packages/message-list/package.json @@ -7,7 +7,7 @@ "private": true, "syncInit": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-in.html b/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-in.html index 64150c906..160ca0ff2 100644 --- a/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-in.html +++ b/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-in.html @@ -1,11 +1,11 @@ Hello world -merani is cool. +mailspring is cool. -merani://plugins?test=stuff +mailspring://plugins?test=stuff -merani:plugins?test=stuff +mailspring:plugins?test=stuff -merani://plugins?test=stuff +mailspring://plugins?test=stuff -Don't you like merani? +Don't you like mailspring? diff --git a/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-out.html b/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-out.html index af5c7229c..931539354 100644 --- a/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-out.html +++ b/app/internal_packages/message-list/specs/autolinker-fixtures/nylas-url-out.html @@ -1,11 +1,11 @@ Hello world -merani is cool. +mailspring is cool. -merani://plugins?test=stuff +mailspring://plugins?test=stuff -merani:plugins?test=stuff +mailspring:plugins?test=stuff -merani://plugins?test=stuff +mailspring://plugins?test=stuff -Don't you like merani? +Don't you like mailspring? diff --git a/app/internal_packages/message-view-on-github/lib/view-on-github-button.jsx b/app/internal_packages/message-view-on-github/lib/view-on-github-button.jsx index 8dd7914b0..df4a31355 100644 --- a/app/internal_packages/message-view-on-github/lib/view-on-github-button.jsx +++ b/app/internal_packages/message-view-on-github/lib/view-on-github-button.jsx @@ -158,7 +158,7 @@ export default class ViewOnGithubButton extends React.Component { > diff --git a/app/internal_packages/message-view-on-github/package.json b/app/internal_packages/message-view-on-github/package.json index d51d821fc..9e33238ae 100644 --- a/app/internal_packages/message-view-on-github/package.json +++ b/app/internal_packages/message-view-on-github/package.json @@ -13,6 +13,6 @@ "isHiddenOnPluginsPage": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/mode-switch/lib/main.es6 b/app/internal_packages/mode-switch/lib/main.es6 index 8f0373a63..82f161c23 100644 --- a/app/internal_packages/mode-switch/lib/main.es6 +++ b/app/internal_packages/mode-switch/lib/main.es6 @@ -5,7 +5,7 @@ import ModeToggle from './mode-toggle'; const ToggleWithTutorialTip = HasTutorialTip(ModeToggle, { title: 'Compose with context', - instructions: "Merani shows you everything about your contacts right inside your inbox. See LinkedIn profiles, Twitter bios, message history, and more.", + instructions: "Mailspring shows you everything about your contacts right inside your inbox. See LinkedIn profiles, Twitter bios, message history, and more.", }); // NOTE: this is a hack to allow ComponentRegistry diff --git a/app/internal_packages/mode-switch/package.json b/app/internal_packages/mode-switch/package.json index c4db8b270..1e17de97f 100644 --- a/app/internal_packages/mode-switch/package.json +++ b/app/internal_packages/mode-switch/package.json @@ -5,7 +5,7 @@ "main": "./lib/main", "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "private": true } diff --git a/app/internal_packages/notifications/lib/items/account-error-notif.jsx b/app/internal_packages/notifications/lib/items/account-error-notif.jsx index faeee6c77..c1aba1e08 100644 --- a/app/internal_packages/notifications/lib/items/account-error-notif.jsx +++ b/app/internal_packages/notifications/lib/items/account-error-notif.jsx @@ -26,7 +26,7 @@ export default class AccountErrorNotification extends React.Component { } _onContactSupport = (erroredAccount) => { - let url = 'https://support.getmerani.com/hc/en-us/requests/new' + let url = 'https://support.getmailspring.com/hc/en-us/requests/new' if (erroredAccount) { url += `?email=${encodeURIComponent(erroredAccount.emailAddress)}` const {syncError} = erroredAccount diff --git a/app/internal_packages/notifications/lib/items/default-client-notif.jsx b/app/internal_packages/notifications/lib/items/default-client-notif.jsx index 219fb157d..c557323fa 100644 --- a/app/internal_packages/notifications/lib/items/default-client-notif.jsx +++ b/app/internal_packages/notifications/lib/items/default-client-notif.jsx @@ -58,7 +58,7 @@ export default class DefaultClientNotification extends React.Component { } return ( ) } diff --git a/app/internal_packages/notifications/lib/items/offline-notification.jsx b/app/internal_packages/notifications/lib/items/offline-notification.jsx index a2d1aad9d..b2523927c 100644 --- a/app/internal_packages/notifications/lib/items/offline-notification.jsx +++ b/app/internal_packages/notifications/lib/items/offline-notification.jsx @@ -13,7 +13,7 @@ function OfflineNotification({isOnline, retryingInSeconds}) { return ( { - NylasEnv.windowEventHandler.openLink({href: 'mailto:support@getmerani.com'}) + NylasEnv.windowEventHandler.openLink({href: 'mailto:support@getmailspring.com'}) } render() { diff --git a/app/internal_packages/notifications/lib/items/update-notification.jsx b/app/internal_packages/notifications/lib/items/update-notification.jsx index 2704416a7..830c19aaa 100644 --- a/app/internal_packages/notifications/lib/items/update-notification.jsx +++ b/app/internal_packages/notifications/lib/items/update-notification.jsx @@ -34,7 +34,7 @@ export default class UpdateNotification extends React.Component { } _onViewChangelog = () => { - shell.openExternal('https://github.com/Foundry376/Merani/releases/latest') + shell.openExternal('https://github.com/Foundry376/Mailspring/releases/latest') } render() { @@ -45,7 +45,7 @@ export default class UpdateNotification extends React.Component { return ( { const errorStatusCode = err.statusCode if (err.errorType === "setting_update_error") { - errorMessage = 'The IMAP/SMTP servers for this account do not match our records. Please verify that any server names you entered are correct. If your IMAP/SMTP server has changed, first remove this account from Merani, then try logging in again.'; + errorMessage = 'The IMAP/SMTP servers for this account do not match our records. Please verify that any server names you entered are correct. If your IMAP/SMTP server has changed, first remove this account from Mailspring, then try logging in again.'; } if (err.errorType && err.errorType.includes("autodiscover") && (accountInfo.type === 'exchange')) { errorFieldNames.push('eas_server_host') @@ -178,10 +178,10 @@ const CreatePageForForm = (FormComponent) => { let articleURL; if (accountInfo.email.includes("@yahoo.com")) { message = "Have you enabled access through Yahoo?"; - articleURL = "https://support.getmerani.com/hc/en-us/articles/115001076128"; + articleURL = "https://support.getmailspring.com/hc/en-us/articles/115001076128"; } else { message = "Some providers require an app password." - articleURL = "https://support.getmerani.com/hc/en-us/articles/115001056608"; + articleURL = "https://support.getmailspring.com/hc/en-us/articles/115001056608"; } // We don't use a FormErrorMessage component because the content // we need to display has HTML. diff --git a/app/internal_packages/onboarding/lib/onboarding-helpers.es6 b/app/internal_packages/onboarding/lib/onboarding-helpers.es6 index 87c4d59f8..a28173003 100644 --- a/app/internal_packages/onboarding/lib/onboarding-helpers.es6 +++ b/app/internal_packages/onboarding/lib/onboarding-helpers.es6 @@ -50,7 +50,7 @@ export function makeGmailOAuthRequest(sessionKey) { } export async function authIMAPForGmail(serverTokenResponse) { - // At this point, the Merani server has retrieved the Gmail token, + // At this point, the Mailspring server has retrieved the Gmail token, // created an account object in the database and tested it. All we // need to do is save it locally, since we're confident Gmail will be // accessible from the local sync worker. diff --git a/app/internal_packages/onboarding/lib/onboarding-store.es6 b/app/internal_packages/onboarding/lib/onboarding-store.es6 index bb3cb98fe..009ce5513 100644 --- a/app/internal_packages/onboarding/lib/onboarding-store.es6 +++ b/app/internal_packages/onboarding/lib/onboarding-store.es6 @@ -165,7 +165,7 @@ class OnboardingStore extends NylasStore { } } catch (e) { NylasEnv.reportError(e); - NylasEnv.showErrorDialog("Unable to Connect Account", "Sorry, something went wrong on the Nylas server. Please try again. If you're still having issues, contact us at support@getmerani.com."); + NylasEnv.showErrorDialog("Unable to Connect Account", "Sorry, something went wrong on the Nylas server. Please try again. If you're still having issues, contact us at support@getmailspring.com."); } } diff --git a/app/internal_packages/onboarding/lib/page-account-onboarding-success.jsx b/app/internal_packages/onboarding/lib/page-account-onboarding-success.jsx index 17ab157e8..a034ad484 100644 --- a/app/internal_packages/onboarding/lib/page-account-onboarding-success.jsx +++ b/app/internal_packages/onboarding/lib/page-account-onboarding-success.jsx @@ -26,7 +26,7 @@ class AccountOnboardingSuccess extends Component { // eslint-disable-line

Successfully connected to {accountType.displayName}!

-

Adding your account to Merani…

+

Adding your account to Mailspring…

) diff --git a/app/internal_packages/onboarding/lib/page-initial-preferences.cjsx b/app/internal_packages/onboarding/lib/page-initial-preferences.cjsx index d23a03c21..d06fd230c 100644 --- a/app/internal_packages/onboarding/lib/page-initial-preferences.cjsx +++ b/app/internal_packages/onboarding/lib/page-initial-preferences.cjsx @@ -124,7 +124,7 @@ class InitialPreferencesPage extends React.Component render: =>
-

Welcome to Merani

+

Welcome to Mailspring

Let's set things up to your liking.

diff --git a/app/internal_packages/onboarding/lib/page-tutorial.jsx b/app/internal_packages/onboarding/lib/page-tutorial.jsx index 700913a91..7270b80c9 100644 --- a/app/internal_packages/onboarding/lib/page-tutorial.jsx +++ b/app/internal_packages/onboarding/lib/page-tutorial.jsx @@ -7,7 +7,7 @@ const Steps = [ id: 'people', title: 'Compose with context', image: 'feature-people@2x.png', - description: "Merani shows you everything about your contacts right inside your inbox. See LinkedIn profiles, Twitter bios, message history, and more.", + description: "Mailspring shows you everything about your contacts right inside your inbox. See LinkedIn profiles, Twitter bios, message history, and more.", x: 96.6, y: 1.3, xDot: 93.5, @@ -18,7 +18,7 @@ const Steps = [ id: 'activity', title: 'Track opens and clicks', image: 'feature-activity@2x.png', - description: "With activity tracking, you’ll know as soon as someone reads your message. Sending to a group? Merani shows you which recipients opened your email so you can follow up with precision.", + description: "With activity tracking, you’ll know as soon as someone reads your message. Sending to a group? Mailspring shows you which recipients opened your email so you can follow up with precision.", x: 12.8, y: 1, xDot: 15, @@ -29,7 +29,7 @@ const Steps = [ id: 'snooze', title: 'Send on your own schedule', image: 'feature-snooze@2x.png', - description: "Snooze emails to return at any time that suits you. Schedule messages to send at the ideal time. Merani makes it easy to control the fabric of spacetime!", + description: "Snooze emails to return at any time that suits you. Schedule messages to send at the ideal time. Mailspring makes it easy to control the fabric of spacetime!", x: 5.5, y: 23.3, xDot: 10, @@ -40,7 +40,7 @@ const Steps = [ // id: 'composer', // title: 'Eliminate hacky extensions', // image: 'feature-composer@2x.png', - // description: "Embed calendar invitations, propose meeting times, use quick reply templates, send mass emails with mail merge, and more—all directly from Merani’s powerful composer.", + // description: "Embed calendar invitations, propose meeting times, use quick reply templates, send mass emails with mail merge, and more—all directly from Mailspring’s powerful composer.", // x: 60.95, // y: 66, // xDot: 60.3, @@ -125,7 +125,7 @@ export default class TutorialPage extends React.Component {
- +

{current.title}

{current.description}

diff --git a/app/internal_packages/onboarding/lib/page-welcome.jsx b/app/internal_packages/onboarding/lib/page-welcome.jsx index ca305c7d5..70b4ee6c0 100644 --- a/app/internal_packages/onboarding/lib/page-welcome.jsx +++ b/app/internal_packages/onboarding/lib/page-welcome.jsx @@ -23,9 +23,9 @@ export default class WelcomePage extends React.Component {
- -

Welcome to Merani

- + +

Welcome to Mailspring

+
diff --git a/app/internal_packages/onboarding/package.json b/app/internal_packages/onboarding/package.json index f674c7418..c79a0b13f 100755 --- a/app/internal_packages/onboarding/package.json +++ b/app/internal_packages/onboarding/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "onboarding": true diff --git a/app/internal_packages/onboarding/styles/onboarding.less b/app/internal_packages/onboarding/styles/onboarding.less index 78c3c5418..4244f91ce 100644 --- a/app/internal_packages/onboarding/styles/onboarding.less +++ b/app/internal_packages/onboarding/styles/onboarding.less @@ -379,7 +379,7 @@ .screenshot { width: 523px; height: 385px; - background:url(merani://onboarding/assets/app-screenshot@2x.png) top left no-repeat; + background:url(mailspring://onboarding/assets/app-screenshot@2x.png) top left no-repeat; background-size: contain; margin:auto; position: relative; @@ -396,7 +396,7 @@ .overlay-content { transition: all cubic-bezier(0.65, 0.05, 0.36, 1) 260ms; transform: translate3d(-67px,-67px,0) scale(0.21); - background:url(merani://onboarding/assets/app-screenshot@2x.png) top left no-repeat; + background:url(mailspring://onboarding/assets/app-screenshot@2x.png) top left no-repeat; background-position: 10% 20%; border-radius: 73px; width: 146px; diff --git a/app/internal_packages/participant-profile/lib/sidebar-participant-profile.jsx b/app/internal_packages/participant-profile/lib/sidebar-participant-profile.jsx index e53f427b2..680aba3bb 100644 --- a/app/internal_packages/participant-profile/lib/sidebar-participant-profile.jsx +++ b/app/internal_packages/participant-profile/lib/sidebar-participant-profile.jsx @@ -104,7 +104,7 @@ export default class SidebarParticipantProfile extends React.Component { href={profile.url} > @@ -170,7 +170,7 @@ export default class SidebarParticipantProfile extends React.Component { return (

diff --git a/app/internal_packages/participant-profile/package.json b/app/internal_packages/participant-profile/package.json index 92b887a3e..4480103b7 100644 --- a/app/internal_packages/participant-profile/package.json +++ b/app/internal_packages/participant-profile/package.json @@ -11,7 +11,7 @@ "default": true }, "engines": { - "merani": "*" + "mailspring": "*" }, "license": "GPL-3.0" } diff --git a/app/internal_packages/personal-level-indicators/lib/personal-level-icon.jsx b/app/internal_packages/personal-level-indicators/lib/personal-level-icon.jsx index 67507c922..38d31c15d 100644 --- a/app/internal_packages/personal-level-indicators/lib/personal-level-icon.jsx +++ b/app/internal_packages/personal-level-indicators/lib/personal-level-icon.jsx @@ -18,7 +18,7 @@ export default class PersonalLevelIcon extends React.Component { return (

diff --git a/app/internal_packages/personal-level-indicators/package.json b/app/internal_packages/personal-level-indicators/package.json index f64f2118a..af517af81 100644 --- a/app/internal_packages/personal-level-indicators/package.json +++ b/app/internal_packages/personal-level-indicators/package.json @@ -15,7 +15,7 @@ "url": "" }, "engines": { - "merani": "*" + "mailspring": "*" }, "license": "GPL-3.0" } diff --git a/app/internal_packages/phishing-detection/README.md b/app/internal_packages/phishing-detection/README.md index 37270f28d..5776c402f 100644 --- a/app/internal_packages/phishing-detection/README.md +++ b/app/internal_packages/phishing-detection/README.md @@ -1,6 +1,6 @@ ## Phishing Detection -A sample package for Merani to detect simple phishing attempts. This package display a simple warning if +A sample package for Mailspring to detect simple phishing attempts. This package display a simple warning if a message's originating address is different from its return address. The warning looks like this: ![screenshot](./screenshot.png) diff --git a/app/internal_packages/phishing-detection/package.json b/app/internal_packages/phishing-detection/package.json index b464a09f8..32e4c9125 100644 --- a/app/internal_packages/phishing-detection/package.json +++ b/app/internal_packages/phishing-detection/package.json @@ -11,7 +11,7 @@ "isOptional": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/preferences/lib/tabs/preferences-account-details.jsx b/app/internal_packages/preferences/lib/tabs/preferences-account-details.jsx index 3b780a6f5..07423e7f5 100644 --- a/app/internal_packages/preferences/lib/tabs/preferences-account-details.jsx +++ b/app/internal_packages/preferences/lib/tabs/preferences-account-details.jsx @@ -113,7 +113,7 @@ class PreferencesAccountDetails extends Component { _onContactSupport = () => { const {shell} = require("electron"); - shell.openExternal("https://support.getmerani.com/hc/en-us/requests/new"); + shell.openExternal("https://support.getmailspring.com/hc/en-us/requests/new"); } // Renderers @@ -149,21 +149,21 @@ class PreferencesAccountDetails extends Component { switch (account.syncState) { case Account.N1_Cloud_AUTH_FAILED: return this._renderErrorDetail( - `Merani can no longer authenticate with Merani cloud services for + `Mailspring can no longer authenticate with Mailspring cloud services for ${account.emailAddress}. The password or authentication may have changed.`, "Reconnect", this._onReconnect); case Account.SYNC_STATE_AUTH_FAILED: return this._renderErrorDetail( - `Merani can no longer authenticate with ${account.emailAddress}. The password + `Mailspring can no longer authenticate with ${account.emailAddress}. The password or authentication may have changed.`, "Reconnect", this._onReconnect); default: return this._renderErrorDetail( - `Merani encountered an error while syncing mail for ${account.emailAddress}. - Try re-adding the account and contact Merani support if the problem persists.`, + `Mailspring encountered an error while syncing mail for ${account.emailAddress}. + Try re-adding the account and contact Mailspring support if the problem persists.`, "Contact support", this._onContactSupport); } diff --git a/app/internal_packages/preferences/lib/tabs/preferences-identity.jsx b/app/internal_packages/preferences/lib/tabs/preferences-identity.jsx index 22613994f..365b66dc7 100644 --- a/app/internal_packages/preferences/lib/tabs/preferences-identity.jsx +++ b/app/internal_packages/preferences/lib/tabs/preferences-identity.jsx @@ -38,14 +38,14 @@ class PreferencesIdentity extends React.Component { } _renderBasic() { - const learnMore = () => shell.openExternal("https://getmerani.com/pro") + const learnMore = () => shell.openExternal("https://getmailspring.com/pro") return (
- You are using Merani Basic. Upgrade to Merani Pro to unlock a more powerful email experience. + You are using Mailspring Basic. Upgrade to Mailspring Pro to unlock a more powerful email experience.
-
Upgrade to Merani Pro
+
Upgrade to Mailspring Pro
Learn More
@@ -54,12 +54,12 @@ class PreferencesIdentity extends React.Component { _renderPaidPlan(planName, effectivePlanName) { const unpaidNote = (effectivePlanName !== planName) && ( -

{`Note: Due to issues with your most recent payment, you've been temporarily downgraded to Merani ${effectivePlanName}. Click 'Billing' below to correct the issue.`}

+

{`Note: Due to issues with your most recent payment, you've been temporarily downgraded to Mailspring ${effectivePlanName}. Click 'Billing' below to correct the issue.`}

) return (
- Thank you for using {`Merani ${planName}`} and supporting independent software. + Thank you for using {`Mailspring ${planName}`} and supporting independent software. {unpaidNote}
diff --git a/app/internal_packages/preferences/lib/tabs/workspace-section.jsx b/app/internal_packages/preferences/lib/tabs/workspace-section.jsx index 9b252f676..c8c43a365 100644 --- a/app/internal_packages/preferences/lib/tabs/workspace-section.jsx +++ b/app/internal_packages/preferences/lib/tabs/workspace-section.jsx @@ -43,7 +43,7 @@ class DefaultMailClientItem extends React.Component { checked={this.state.defaultClient} onChange={this.toggleDefaultMailClient} /> - +
); } diff --git a/app/internal_packages/preferences/package.json b/app/internal_packages/preferences/package.json index cc160fd56..0a2be7985 100644 --- a/app/internal_packages/preferences/package.json +++ b/app/internal_packages/preferences/package.json @@ -7,6 +7,6 @@ "syncInit": true, "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/print/package.json b/app/internal_packages/print/package.json index b0980e1c4..81de88ed5 100644 --- a/app/internal_packages/print/package.json +++ b/app/internal_packages/print/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/remove-tracking-pixels/lib/main.es6 b/app/internal_packages/remove-tracking-pixels/lib/main.es6 index a8cf25d16..5881632ee 100644 --- a/app/internal_packages/remove-tracking-pixels/lib/main.es6 +++ b/app/internal_packages/remove-tracking-pixels/lib/main.es6 @@ -142,7 +142,7 @@ export function removeTrackingPixels(message) { // Remove Nylas read receipt pixels for the current account. If this is a // reply, our read receipt could still be in the body and could trigger // additional opens. (isFromMe is not sufficient!) - if (imageURL.indexOf(`getmerani.com/open/${message.accountId}`) >= 0) { + if (imageURL.indexOf(`getmailspring.com/open/${message.accountId}`) >= 0) { return true; } return false; diff --git a/app/internal_packages/remove-tracking-pixels/package.json b/app/internal_packages/remove-tracking-pixels/package.json index 17214f0df..7d1663a1e 100644 --- a/app/internal_packages/remove-tracking-pixels/package.json +++ b/app/internal_packages/remove-tracking-pixels/package.json @@ -4,7 +4,7 @@ "main": "./lib/main", "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-after.txt b/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-after.txt index b6cbd6dc8..66cd7dcd9 100644 --- a/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-after.txt +++ b/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-after.txt @@ -5,16 +5,16 @@ could you please put me in touch with them, so that we can get you guys set up correctly as soon as possible?

Thanks!

Gleb Polyakov

Head of Business Development and Growth

After Pixel -

Sent from Merani, the extensible, open source mail client.
+

Sent from Mailspring, the extensible, open source mail client.
On Apr 28 2016, at 2:14 pm, Ben Gotow (Careless) <careless@foundry376.com> wrote:
- nother mailA

Sent from Merani, the extensible, open source mail client.
+ nother mailA

Sent from Mailspring, the extensible, open source mail client.
On Apr 28 2016, at 1:46 pm, Ben Gotow (Careless) <careless@foundry376.com> wrote:
- Hi Ben this is just a test.

Sent from Merani, the extensible, open source mail client.
+ Hi Ben this is just a test.

Sent from Mailspring, the extensible, open source mail client.
On Apr 26 2016, at 6:03 pm, Ben Gotow <bengotow@gmail.com> wrote:
diff --git a/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-before.txt b/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-before.txt index 69a888872..8fe2c5555 100644 --- a/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-before.txt +++ b/app/internal_packages/remove-tracking-pixels/specs/fixtures/a-before.txt @@ -5,16 +5,16 @@ could you please put me in touch with them, so that we can get you guys set up correctly as soon as possible?

Thanks!

Gleb Polyakov

Head of Business Development and Growth

After Pixel -

Sent from Merani, the extensible, open source mail client.
+

Sent from Mailspring, the extensible, open source mail client.
On Apr 28 2016, at 2:14 pm, Ben Gotow (Careless) <careless@foundry376.com> wrote:
- nother mailA

Sent from Merani, the extensible, open source mail client.
+ nother mailA

Sent from Mailspring, the extensible, open source mail client.
On Apr 28 2016, at 1:46 pm, Ben Gotow (Careless) <careless@foundry376.com> wrote:
- Hi Ben this is just a test.

Sent from Merani, the extensible, open source mail client.
+ Hi Ben this is just a test.

Sent from Mailspring, the extensible, open source mail client.
On Apr 26 2016, at 6:03 pm, Ben Gotow <bengotow@gmail.com> wrote:
diff --git a/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-after.txt b/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-after.txt index f64f4e892..71fa076d9 100644 --- a/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-after.txt +++ b/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-after.txt @@ -1,6 +1,6 @@

Hey Ben,

This is the reply! This tracking pixel should not be removed. - +

This is the email I sent! diff --git a/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-before.txt b/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-before.txt index 53fb9e7ec..dd5cbd697 100644 --- a/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-before.txt +++ b/app/internal_packages/remove-tracking-pixels/specs/fixtures/b-before.txt @@ -1,8 +1,8 @@

Hey Ben,

This is the reply! This tracking pixel should not be removed. - +

This is the email I sent! - +
diff --git a/app/internal_packages/screenshot-mode/assets/font-override.css b/app/internal_packages/screenshot-mode/assets/font-override.css index aa1675801..c51035ee3 100644 --- a/app/internal_packages/screenshot-mode/assets/font-override.css +++ b/app/internal_packages/screenshot-mode/assets/font-override.css @@ -2,33 +2,33 @@ font-family: 'Nylas-Pro'; font-style: normal; font-weight: 200; - src: url('merani://screenshot-mode/assets/BLOKKNeue-Regular.otf'); + src: url('mailspring://screenshot-mode/assets/BLOKKNeue-Regular.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 300; - src: url('merani://screenshot-mode/assets/BLOKKNeue-Regular.otf'); + src: url('mailspring://screenshot-mode/assets/BLOKKNeue-Regular.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 400; - src: url('merani://screenshot-mode/assets/BLOKKNeue-Regular.otf'); + src: url('mailspring://screenshot-mode/assets/BLOKKNeue-Regular.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 500; - src: url('merani://screenshot-mode/assets/BLOKKNeue-Regular.otf'); + src: url('mailspring://screenshot-mode/assets/BLOKKNeue-Regular.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 600; - src: url('merani://screenshot-mode/assets/BLOKKNeue-Regular.otf'); + src: url('mailspring://screenshot-mode/assets/BLOKKNeue-Regular.otf'); } diff --git a/app/internal_packages/screenshot-mode/package.json b/app/internal_packages/screenshot-mode/package.json index e189111db..e0d8b9554 100755 --- a/app/internal_packages/screenshot-mode/package.json +++ b/app/internal_packages/screenshot-mode/package.json @@ -6,7 +6,7 @@ "license": "Proprietary", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "all": true diff --git a/app/internal_packages/send-and-archive/lib/send-and-archive-extension.es6 b/app/internal_packages/send-and-archive/lib/send-and-archive-extension.es6 index 69fa5ba7d..5f78d3fec 100644 --- a/app/internal_packages/send-and-archive/lib/send-and-archive-extension.es6 +++ b/app/internal_packages/send-and-archive/lib/send-and-archive-extension.es6 @@ -12,7 +12,7 @@ export const name = 'SendAndArchiveExtension' export function sendActions() { return [{ title: 'Send and Archive', - iconUrl: 'merani://send-and-archive/images/composer-archive@2x.png', + iconUrl: 'mailspring://send-and-archive/images/composer-archive@2x.png', isAvailableForDraft({draft}) { return draft.threadId != null }, diff --git a/app/internal_packages/send-and-archive/package.json b/app/internal_packages/send-and-archive/package.json index c2ea5782e..a1dff5797 100755 --- a/app/internal_packages/send-and-archive/package.json +++ b/app/internal_packages/send-and-archive/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/system-tray/package.json b/app/internal_packages/system-tray/package.json index a5a9c27f2..a2c5c0228 100644 --- a/app/internal_packages/system-tray/package.json +++ b/app/internal_packages/system-tray/package.json @@ -6,6 +6,6 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/theme-picker/package.json b/app/internal_packages/theme-picker/package.json index a7c133982..3dbc2e658 100644 --- a/app/internal_packages/theme-picker/package.json +++ b/app/internal_packages/theme-picker/package.json @@ -6,6 +6,6 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/thread-list/package.json b/app/internal_packages/thread-list/package.json index ed113eb56..ce040334a 100755 --- a/app/internal_packages/thread-list/package.json +++ b/app/internal_packages/thread-list/package.json @@ -7,6 +7,6 @@ "private": true, "syncInit": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/thread-search/package.json b/app/internal_packages/thread-search/package.json index dac663b33..044f10017 100755 --- a/app/internal_packages/thread-search/package.json +++ b/app/internal_packages/thread-search/package.json @@ -7,6 +7,6 @@ "private": true, "syncInit": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/thread-snooze/lib/snooze-popover.jsx b/app/internal_packages/thread-snooze/lib/snooze-popover.jsx index ae85b1f2e..bcb0837bf 100644 --- a/app/internal_packages/thread-snooze/lib/snooze-popover.jsx +++ b/app/internal_packages/thread-snooze/lib/snooze-popover.jsx @@ -83,7 +83,7 @@ class SnoozePopover extends Component { renderItem = (itemLabel) => { const date = SnoozeDatesFactory[itemLabel](); const iconName = SnoozeIconNames[itemLabel]; - const iconPath = `merani://thread-snooze/assets/ic-snoozepopover-${iconName}@2x.png`; + const iconPath = `mailspring://thread-snooze/assets/ic-snoozepopover-${iconName}@2x.png`; return (
**Open the theme directory** -> If you're on a Mac, you can find the theme files at `/Library/Application Support/Merani/packages`. To get there quickly, use the key command Cmd + Shift + G and enter `/Library/Application Support/Merani/packages`. +> If you're on a Mac, you can find the theme files at `/Library/Application Support/Mailspring/packages`. To get there quickly, use the key command Cmd + Shift + G and enter `/Library/Application Support/Mailspring/packages`. > **Change package.json** > In order to avoid conflicts between your custom theme and the pre-installed version, change `name` and `displayName` in `package.json` to: diff --git a/app/internal_packages/ui-darkside/package.json b/app/internal_packages/ui-darkside/package.json index b432d698e..a1bec47cf 100644 --- a/app/internal_packages/ui-darkside/package.json +++ b/app/internal_packages/ui-darkside/package.json @@ -3,10 +3,10 @@ "displayName": "Darkside", "theme": "ui", "version": "1.0.0", - "description": "A customizable, dark sidebar theme for Merani.", + "description": "A customizable, dark sidebar theme for Mailspring.", "license": "MIT", "engines": { - "merani": "*" + "mailspring": "*" }, "private": true } diff --git a/app/internal_packages/ui-less-is-more/package.json b/app/internal_packages/ui-less-is-more/package.json index 84e239838..1cecbcaff 100644 --- a/app/internal_packages/ui-less-is-more/package.json +++ b/app/internal_packages/ui-less-is-more/package.json @@ -3,10 +3,10 @@ "displayName": "Less Is More", "theme": "ui-less-is-more", "version": "1.0.7", - "description": "A minimal approach to email in Merani", + "description": "A minimal approach to email in Mailspring", "license": "MIT", "engines": { - "merani": "*" + "mailspring": "*" }, "styleSheets": ["less-is-more"], "private": true diff --git a/app/internal_packages/ui-light/package.json b/app/internal_packages/ui-light/package.json index 36fd6a5fb..65db1d05b 100644 --- a/app/internal_packages/ui-light/package.json +++ b/app/internal_packages/ui-light/package.json @@ -6,7 +6,7 @@ "description": "The N1 Client Theme", "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "private": true } diff --git a/app/internal_packages/ui-taiga/package.json b/app/internal_packages/ui-taiga/package.json index 59ce79b82..dbbd11a7e 100644 --- a/app/internal_packages/ui-taiga/package.json +++ b/app/internal_packages/ui-taiga/package.json @@ -3,10 +3,10 @@ "displayName": "Taiga", "theme": "ui", "version": "0.2.8", - "description": "A clean, Mailbox-inspired theme for Merani.", + "description": "A clean, Mailbox-inspired theme for Mailspring.", "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "styleSheets": ["controls", "email-frame", "sidebar", "threads", "notifications"], "private": true diff --git a/app/internal_packages/ui-ubuntu/README.md b/app/internal_packages/ui-ubuntu/README.md index a8e3e314b..21872b106 100644 --- a/app/internal_packages/ui-ubuntu/README.md +++ b/app/internal_packages/ui-ubuntu/README.md @@ -1,4 +1,4 @@ -# Ubuntu Theme for Merani # +# Ubuntu Theme for Mailspring # ![img](https://raw.githubusercontent.com/ahmedlhanafy/Ubuntu-Ui-Theme-for-Nylas-N1/master/Screenshot.png) diff --git a/app/internal_packages/ui-ubuntu/package.json b/app/internal_packages/ui-ubuntu/package.json index 9d6d97d50..7fde1e40f 100644 --- a/app/internal_packages/ui-ubuntu/package.json +++ b/app/internal_packages/ui-ubuntu/package.json @@ -6,7 +6,7 @@ "description": "The Ubuntu theme for N1.", "license": "Proprietary", "engines": { - "merani": "*" + "mailspring": "*" }, "private": true } diff --git a/app/internal_packages/undo-redo/package.json b/app/internal_packages/undo-redo/package.json index 0b68cd973..434c18a77 100644 --- a/app/internal_packages/undo-redo/package.json +++ b/app/internal_packages/undo-redo/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true, diff --git a/app/internal_packages/unread-notifications/package.json b/app/internal_packages/unread-notifications/package.json index 583705946..48d320b76 100755 --- a/app/internal_packages/unread-notifications/package.json +++ b/app/internal_packages/unread-notifications/package.json @@ -6,6 +6,6 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/internal_packages/verify-install-location/lib/main.es6 b/app/internal_packages/verify-install-location/lib/main.es6 index e9f820b0f..c942ea2f8 100644 --- a/app/internal_packages/verify-install-location/lib/main.es6 +++ b/app/internal_packages/verify-install-location/lib/main.es6 @@ -61,15 +61,15 @@ export function activate() { ] } - const msg = `We recommend that you move Merani to your Applications folder to get updates correctly and keep this folder uncluttered.` + const msg = `We recommend that you move Mailspring to your Applications folder to get updates correctly and keep this folder uncluttered.` const CANCEL_ID = 0; remote.dialog.showMessageBox({ type: "warning", buttons: buttons, - title: "A Better Place to Install Merani", - message: "Please move Merani to your Applications folder", + title: "A Better Place to Install Mailspring", + message: "Please move Mailspring to your Applications folder", detail: msg, defaultId: 0, cancelId: CANCEL_ID, diff --git a/app/internal_packages/verify-install-location/package.json b/app/internal_packages/verify-install-location/package.json index 61ad07917..a891abbd3 100644 --- a/app/internal_packages/verify-install-location/package.json +++ b/app/internal_packages/verify-install-location/package.json @@ -5,7 +5,7 @@ "description": "Verifies the install location for N1", "license": "GPL-3.0", "engines": { - "merani": "*" + "mailspring": "*" }, "windowTypes": { "default": true diff --git a/app/internal_packages_disabled/plugins/lib/package.jsx b/app/internal_packages_disabled/plugins/lib/package.jsx index 7b923938d..ac5742f7e 100644 --- a/app/internal_packages_disabled/plugins/lib/package.jsx +++ b/app/internal_packages_disabled/plugins/lib/package.jsx @@ -44,7 +44,7 @@ class Package extends React.Component { let uninstallButton = null; if (this.props.package.icon) { - icon = (); + icon = (); } else if (this.props.package.theme) { icon = (); } diff --git a/app/internal_packages_disabled/plugins/lib/packages-store.jsx b/app/internal_packages_disabled/plugins/lib/packages-store.jsx index df6fb0c72..288d86bfa 100644 --- a/app/internal_packages_disabled/plugins/lib/packages-store.jsx +++ b/app/internal_packages_disabled/plugins/lib/packages-store.jsx @@ -293,7 +293,7 @@ const PackagesStore = Reflux.createStore({ url: '', }, engines: { - merani: `>=${NylasEnv.getVersion().split('-')[0]}`, + mailspring: `>=${NylasEnv.getVersion().split('-')[0]}`, }, windowTypes: { 'default': true, diff --git a/app/internal_packages_disabled/plugins/lib/tab-installed.jsx b/app/internal_packages_disabled/plugins/lib/tab-installed.jsx index 6e569a547..af7de5cb6 100644 --- a/app/internal_packages_disabled/plugins/lib/tab-installed.jsx +++ b/app/internal_packages_disabled/plugins/lib/tab-installed.jsx @@ -70,7 +70,7 @@ class TabInstalled extends React.Component { {`You don't have any packages installed in ${NylasEnv.getConfigDirPath()}/dev/packages. `} These plugins are only loaded when you run the app with debug flags enabled (via the Developer menu).

Learn more about building - plugins with our docs. + plugins with our docs. ); devCTA = (
Create New Plugin...
); } diff --git a/app/internal_packages_disabled/plugins/package.json b/app/internal_packages_disabled/plugins/package.json index 798d120ef..619997c0b 100755 --- a/app/internal_packages_disabled/plugins/package.json +++ b/app/internal_packages_disabled/plugins/package.json @@ -6,6 +6,6 @@ "license": "GPL-3.0", "private": true, "engines": { - "merani": "*" + "mailspring": "*" } } diff --git a/app/menus/darwin.json b/app/menus/darwin.json index 732b00ca5..781ac3908 100644 --- a/app/menus/darwin.json +++ b/app/menus/darwin.json @@ -1,9 +1,9 @@ { "menu": [ { - "label": "Merani", + "label": "Mailspring", "submenu": [ - { "label": "About Merani", "command": "application:about" }, + { "label": "About Mailspring", "command": "application:about" }, { "type": "separator" }, { "label": "Preferences", "command": "application:open-preferences" }, { "label": "Change Theme...", "command": "window:launch-theme-picker" }, @@ -18,7 +18,7 @@ { "type": "separator" }, { "label": "Services", "submenu": [] }, { "type": "separator" }, - { "label": "Hide Merani", "command": "application:hide" }, + { "label": "Hide Mailspring", "command": "application:hide" }, { "label": "Hide Others", "command": "application:hide-other-applications" }, { "label": "Show All", "command": "application:unhide-all-applications" }, { "type": "separator" }, @@ -119,7 +119,7 @@ { "label": "Help", "submenu": [ - { "label": "Merani Help", "command": "application:view-help" } + { "label": "Mailspring Help", "command": "application:view-help" } ] } ] diff --git a/app/menus/linux.json b/app/menus/linux.json index 0eaea1afa..4b384f87f 100644 --- a/app/menus/linux.json +++ b/app/menus/linux.json @@ -98,7 +98,7 @@ "submenu": [ { "label": "VERSION", "enabled": false }, { "type": "separator" }, - { "label": "Merani Help", "command": "application:view-help" } + { "label": "Mailspring Help", "command": "application:view-help" } ] } ] diff --git a/app/package.json b/app/package.json index 615cd96ae..9d70a4e52 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { - "name": "merani", - "productName": "Merani", + "name": "mailspring", + "productName": "Mailspring", "version": "2.0.15", "commitHash": "COMMIT_INSERTED_DURING_PACKAGING", "description": "The best email app for people and teams at work", diff --git a/app/script/mkdeb b/app/script/mkdeb index 178502ba4..f4ebfbc95 100755 --- a/app/script/mkdeb +++ b/app/script/mkdeb @@ -18,11 +18,11 @@ FILE_MODE=755 TARGET_ROOT="`mktemp -d`" chmod $FILE_MODE "$TARGET_ROOT" -TARGET="$TARGET_ROOT/merani-$VERSION-$ARCH" +TARGET="$TARGET_ROOT/mailspring-$VERSION-$ARCH" mkdir -m $FILE_MODE -p "$TARGET/usr" mkdir -m $FILE_MODE -p "$TARGET/usr/share" -cp -r "$APP_CONTENTS_DIRECTORY" "$TARGET/usr/share/merani" +cp -r "$APP_CONTENTS_DIRECTORY" "$TARGET/usr/share/mailspring" mkdir -m $FILE_MODE -p "$TARGET/DEBIAN" cp "$OUTPUT_PATH/control" "$TARGET/DEBIAN/control" @@ -31,28 +31,28 @@ cp "$LINUX_ASSETS_DIRECTORY/debian/postinst" "$TARGET/DEBIAN/postinst" cp "$LINUX_ASSETS_DIRECTORY/debian/postrm" "$TARGET/DEBIAN/postrm" mkdir -m $FILE_MODE -p "$TARGET/usr/bin" -ln -s "../share/merani/merani" "$TARGET/usr/bin/merani" -chmod +x "$TARGET/usr/bin/merani" +ln -s "../share/mailspring/mailspring" "$TARGET/usr/bin/mailspring" +chmod +x "$TARGET/usr/bin/mailspring" mkdir -m $FILE_MODE -p "$TARGET/usr/share/applications" -cp "$OUTPUT_PATH/merani.desktop" "$TARGET/usr/share/applications" +cp "$OUTPUT_PATH/mailspring.desktop" "$TARGET/usr/share/applications" mkdir -m $FILE_MODE -p "$TARGET/usr/share/pixmaps" -cp "$ICON_FILE" "$TARGET/usr/share/pixmaps/merani.png" +cp "$ICON_FILE" "$TARGET/usr/share/pixmaps/mailspring.png" mkdir -m $FILE_MODE -p "$TARGET/usr/share/icons/hicolor" for i in 256 128 64 32 16; do mkdir -p "$TARGET/usr/share/icons/hicolor/${i}x${i}/apps" - cp "$LINUX_ASSETS_DIRECTORY/icons/${i}.png" "$TARGET/usr/share/icons/hicolor/${i}x${i}/apps/merani.png" + cp "$LINUX_ASSETS_DIRECTORY/icons/${i}.png" "$TARGET/usr/share/icons/hicolor/${i}x${i}/apps/mailspring.png" done -# Copy generated LICENSE.md to /usr/share/doc/merani/copyright -mkdir -m $FILE_MODE -p "$TARGET/usr/share/doc/merani" -cp "$TARGET/usr/share/merani/LICENSE" "$TARGET/usr/share/doc/merani/copyright" +# Copy generated LICENSE.md to /usr/share/doc/mailspring/copyright +mkdir -m $FILE_MODE -p "$TARGET/usr/share/doc/mailspring" +cp "$TARGET/usr/share/mailspring/LICENSE" "$TARGET/usr/share/doc/mailspring/copyright" # Add lintian overrides mkdir -m $FILE_MODE -p "$TARGET/usr/share/lintian/overrides" -cp "$ROOT/build/resources/linux/debian/lintian-overrides" "$TARGET/usr/share/lintian/overrides/merani" +cp "$ROOT/build/resources/linux/debian/lintian-overrides" "$TARGET/usr/share/lintian/overrides/mailspring" # Remove group write from all files chmod -R g-w "$TARGET"; @@ -61,5 +61,5 @@ chmod -R g-w "$TARGET"; find "$TARGET" -type f -name "*.node" -exec chmod a-x {} \; fakeroot dpkg-deb -b "$TARGET" -mv "$TARGET_ROOT/merani-$VERSION-$ARCH.deb" "$OUTPUT_PATH" +mv "$TARGET_ROOT/mailspring-$VERSION-$ARCH.deb" "$OUTPUT_PATH" rm -rf "$TARGET_ROOT" diff --git a/app/script/mkrpm b/app/script/mkrpm index 9bcab23b9..f0a5ef6b2 100755 --- a/app/script/mkrpm +++ b/app/script/mkrpm @@ -21,10 +21,10 @@ mkdir -p $RPM_BUILD_ROOT/RPMS cp -r "$APP_CONTENTS_DIRECTORY/"* "$RPM_BUILD_ROOT/BUILD" cp -r "$LINUX_ASSETS_DIRECTORY/icons" "$RPM_BUILD_ROOT/BUILD" -cp "$BUILD_DIRECTORY/merani.spec" "$RPM_BUILD_ROOT/SPECS" -cp "$BUILD_DIRECTORY/merani.desktop" "$RPM_BUILD_ROOT/BUILD" +cp "$BUILD_DIRECTORY/mailspring.spec" "$RPM_BUILD_ROOT/SPECS" +cp "$BUILD_DIRECTORY/mailspring.desktop" "$RPM_BUILD_ROOT/BUILD" -rpmbuild -ba "$BUILD_DIRECTORY/merani.spec" -cp $RPM_BUILD_ROOT/RPMS/$ARCH/merani-*.rpm "$BUILD_DIRECTORY" +rpmbuild -ba "$BUILD_DIRECTORY/mailspring.spec" +cp $RPM_BUILD_ROOT/RPMS/$ARCH/mailspring-*.rpm "$BUILD_DIRECTORY" rm -rf "$RPM_BUILD_ROOT" diff --git a/app/spec/auto-update-manager-spec.coffee b/app/spec/auto-update-manager-spec.coffee index e874d0a42..e132fc10b 100644 --- a/app/spec/auto-update-manager-spec.coffee +++ b/app/spec/auto-update-manager-spec.coffee @@ -19,19 +19,19 @@ describe "AutoUpdateManager", -> it "correctly sets the feedURL", -> m = new AutoUpdateManager("3.222.1-abc", @config, @specMode) spyOn(m, "setupAutoUpdater") - expect(m.feedURL).toEqual('https://updates.getmerani.com/check/darwin/x64/3.222.1-abc/anonymous/stable') + expect(m.feedURL).toEqual('https://updates.getmailspring.com/check/darwin/x64/3.222.1-abc/anonymous/stable') describe "with no attached commit", -> it "correctly sets the feedURL", -> m = new AutoUpdateManager("3.222.1", @config, @specMode) spyOn(m, "setupAutoUpdater") - expect(m.feedURL).toEqual('https://updates.getmerani.com/check/darwin/x64/3.222.1/anonymous/stable') + expect(m.feedURL).toEqual('https://updates.getmailspring.com/check/darwin/x64/3.222.1/anonymous/stable') describe "when an update identity is already set", -> it "should send it and not save any changes", -> @nylasIdentityId = "test-nylas-id" m = new AutoUpdateManager("3.222.1", @config, @specMode) - expect(m.feedURL).toEqual('https://updates.getmerani.com/check/darwin/x64/3.222.1/test-nylas-id/stable') + expect(m.feedURL).toEqual('https://updates.getmailspring.com/check/darwin/x64/3.222.1/test-nylas-id/stable') describe "when an update identity is added", -> it "should update the feed URL", -> diff --git a/app/spec/fixtures/emails/email_1.html b/app/spec/fixtures/emails/email_1.html index b729bb643..0150f825d 100644 --- a/app/spec/fixtures/emails/email_1.html +++ b/app/spec/fixtures/emails/email_1.html @@ -24,7 +24,7 @@ Karim Date: jeudi 28 mai 2015 20:21
To: Jeff Meister <jeff@esper.com>
Cc: Jennie Lees <jennie@nylas.com>, Andrew Lee <andrew@esper.com>, Mackenzie Dallas <mackenzie@esper.com>, - support <support@getmerani.com>, Karim Hamidou <karim@nylas.com>, Christine Spang <spang@nylas.com>
+ support <support@getmailspring.com>, Karim Hamidou <karim@nylas.com>, Christine Spang <spang@nylas.com>
Subject: Re: Esper <-> Nilas

@@ -182,7 +182,7 @@ We will be running a script today to back-fix recurring events created before la

To: Karim Hamidou <karim@nylas.com>, Christine Spang <spang@nylas.com>, Jeff Meister <jeff@esper.com>
-Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmerani.com>, Mackenzie Dallas <mackenzie@esper.com>, +Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmailspring.com>, Mackenzie Dallas <mackenzie@esper.com>, Jennie Lees <jennie@nylas.com>
Subject: Re: Esper <-> Nilas
@@ -219,7 +219,7 @@ We will be running a script today to back-fix recurring events created before la From: Andrew Lee <andrew@esper.com>
Date: lundi 18 mai 2015 19:20
To: Karim Hamidou <karim@nylas.com>, Christine Spang <spang@nylas.com>, Jeff Meister <jeff@esper.com>
-Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmerani.com>, Mackenzie Dallas <mackenzie@esper.com>, +Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmailspring.com>, Mackenzie Dallas <mackenzie@esper.com>, Jennie Lees <jennie@nylas.com>
@@ -278,7 +278,7 @@ We will be running a script today to back-fix recurring events created before la From: Andrew Lee <andrew@esper.com>
Date: mercredi 13 mai 2015 20:08
To: Christine Spang <spang@nylas.com>, Jeff Meister <jeff@esper.com>
-Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmerani.com>, Mackenzie Dallas <mackenzie@esper.com>, +Cc: Kavya Joshi <kavya@nylas.com>, support <support@getmailspring.com>, Mackenzie Dallas <mackenzie@esper.com>, Karim Hamidou <karim@nylas.com>, Jennie Lees <jennie@nylas.com>
diff --git a/app/spec/fixtures/emails/email_19.html b/app/spec/fixtures/emails/email_19.html index c37e17dc3..8b5fb5ebc 100644 --- a/app/spec/fixtures/emails/email_19.html +++ b/app/spec/fixtures/emails/email_19.html @@ -9,7 +9,7 @@ and again
Sent from -Merani, the extensible, open source mail client., the extensible, open source mail client. @@ -22,7 +22,7 @@ hey evan sorry to spam you so much

Sent from -Merani, the extensible, open source mail client. , the extensible, open source mail client.

@@ -33,7 +33,7 @@ wat

Sent from -Merani, the extensible, open source mail client., the extensible, open source mail client.

@@ -44,7 +44,7 @@ this should only happen once

Sent from -Merani, the extensible, open source mail client., the extensible, open source mail client.

@@ -55,7 +55,7 @@ and again

Sent from -Merani, the extensible, open source mail client., the extensible, open source mail client.

@@ -64,7 +64,7 @@ On Nov 4 2016, at 1:13 pm, Juan Tejada <juan@nylas.com> wrote:
eft:1ex;"> and some other stuff

-Sent from Merani, the exten= +Sent from Mailspring, the exten= sible, open source mail client.
diff --git a/app/spec/fixtures/emails/email_19_stripped.html b/app/spec/fixtures/emails/email_19_stripped.html index 707c027e4..13cbf39fb 100644 --- a/app/spec/fixtures/emails/email_19_stripped.html +++ b/app/spec/fixtures/emails/email_19_stripped.html @@ -5,7 +5,7 @@ and again

Sent from -Merani, the extensible, open source mail client. +Mailspring, the extensible, open source mail client.


diff --git a/app/spec/fixtures/emails/email_23.html b/app/spec/fixtures/emails/email_23.html index c11a8cdf7..fb7c8671b 100644 --- a/app/spec/fixtures/emails/email_23.html +++ b/app/spec/fixtures/emails/email_23.html @@ -172,7 +172,7 @@ On Oct 24 2016, at 11:54 pm, Last, Name <(858) 531-1718

Sent from -Merani, the extensible, open source mail client.
+Mailspring, the extensible, open source mail client.
@@ -202,7 +202,7 @@ On Oct 18 2016, at 7:21 pm, Last, Name <Evan

Sent from
-Merani, the extensible, open source mail client.
+Mailspring, the extensible, open source mail client.
@@ -237,7 +237,7 @@ On Oct 18 2016, at 2:03 pm, Last, Name <(858) 531-1718

Sent from -Merani, the extensible, open source mail client.
+Mailspring, the extensible, open source mail client.
@@ -277,7 +277,7 @@ On Oct 7 2016, at 9:17 am, Last, Name <(858) 531-1718

Sent from -Merani, the extensible, open source mail client.
+Mailspring, the extensible, open source mail client.
diff --git a/app/spec/fixtures/emails/email_5.html b/app/spec/fixtures/emails/email_5.html index e3df7866c..80e7a0987 100644 --- a/app/spec/fixtures/emails/email_5.html +++ b/app/spec/fixtures/emails/email_5.html @@ -14,8 +14,8 @@ class="gmail_sendername">Jeff Meister <jeff@esper.com>
Date: Mon, Jun 22, 2015 at 4:00 PM
Subject: Nylas bug reports
To: support <support@getmerani.com>
Cc: Michael Grinich <support@getmailspring.com>
Cc: Michael Grinich <mg@nilas.com>, Christine Spang <spang@nylas.com>, Kavya Joshi < { +describe('"mailspring" protocol URL', () => { it('sends the file relative in the package as response', () => { let called = false; const request = new XMLHttpRequest(); request.addEventListener('load', () => { called = true; return }); - request.open('GET', 'merani://account-sidebar/package.json', true); + request.open('GET', 'mailspring://account-sidebar/package.json', true); request.send(); waitsFor('request to be done', () => called === true); diff --git a/app/spec/models/message-spec.coffee b/app/spec/models/message-spec.coffee index 85ee9cd54..d25d30c3d 100644 --- a/app/spec/models/message-spec.coffee +++ b/app/spec/models/message-spec.coffee @@ -31,7 +31,7 @@ describe "Message", -> { itMsg: "has plain br's and a signature" body: """ - + """ isEmpty: true }, @@ -53,14 +53,14 @@ describe "Message", -> { itMsg: "has empty tags" body: """ - + """ isEmpty: true }, { itMsg: "has nested characters" body: """ - + """ isEmpty: false }, diff --git a/app/spec/models/model-spec.es6 b/app/spec/models/model-spec.es6 index 24564464e..e4f7a140d 100644 --- a/app/spec/models/model-spec.es6 +++ b/app/spec/models/model-spec.es6 @@ -185,7 +185,7 @@ describe("Model", function modelSpecs() { this.m.fromJSON({'test_boolean': 'true'}); expect(this.m.testBoolean).toBe(true); - // this case is important - there are several columns that Merani treats + // this case is important - there are several columns that Mailspring treats // as booleans that are actually integers on the mailsync side for book keeping,. this.m.testBoolean = undefined; this.m.fromJSON({'test_boolean': 4}); diff --git a/app/spec_disabled/default-client-helper-spec.coffee b/app/spec_disabled/default-client-helper-spec.coffee index 3a531d551..9c9dabb05 100644 --- a/app/spec_disabled/default-client-helper-spec.coffee +++ b/app/spec_disabled/default-client-helper-spec.coffee @@ -150,7 +150,7 @@ describe "DefaultClientHelper", -> "LSHandlerContentTagClass": "public.filename-extension", "LSHandlerRoleAll": "com.sublimetext.2" }, { - "LSHandlerRoleAll": "com.merani.merani", + "LSHandlerRoleAll": "com.mailspring.mailspring", "LSHandlerURLScheme": "mailto" }]) @helper.isRegisteredForURLScheme 'mailto', (registered) -> @@ -166,7 +166,7 @@ describe "DefaultClientHelper", -> LSHandlerContentTagClass: "public.filename-extension", LSHandlerRoleAll: "com.sublimetext.2" },{ - LSHandlerRoleAll: "com.merani.merani", + LSHandlerRoleAll: "com.mailspring.mailspring", LSHandlerURLScheme: "atom" }]) @helper.isRegisteredForURLScheme 'mailto', (registered) -> @@ -198,7 +198,7 @@ describe "DefaultClientHelper", -> @helper.registerForURLScheme 'mailto', => @helper.readDefaults (defaults) -> match = _.find defaults, (d) -> - d.LSHandlerURLScheme is 'mailto' and d.LSHandlerRoleAll is 'com.merani.merani' + d.LSHandlerURLScheme is 'mailto' and d.LSHandlerRoleAll is 'com.mailspring.mailspring' expect(match).not.toBe(null) it "should write the new defaults", -> diff --git a/app/src/browser/application.es6 b/app/src/browser/application.es6 index 57cb73575..00513001f 100644 --- a/app/src/browser/application.es6 +++ b/app/src/browser/application.es6 @@ -16,7 +16,7 @@ import ApplicationMenu from './application-menu'; import AutoUpdateManager from './auto-update-manager'; import SystemTrayManager from './system-tray-manager'; import DefaultClientHelper from '../default-client-helper'; -import MeraniProtocolHandler from './merani-protocol-handler'; +import MailspringProtocolHandler from './mailspring-protocol-handler'; import ConfigPersistenceManager from './config-persistence-manager'; import MailsyncProcess from '../mailsync-process'; @@ -37,7 +37,7 @@ export default class Application extends EventEmitter { this.safeMode = safeMode; this.fileListCache = new FileListCache(); - this.meraniProtocolHandler = new MeraniProtocolHandler({configDirPath, resourcePath, safeMode}); + this.mailspringProtocolHandler = new MailspringProtocolHandler({configDirPath, resourcePath, safeMode}); try { const mailsync = new MailsyncProcess(options, null); @@ -88,9 +88,9 @@ export default class Application extends EventEmitter { if (process.platform === 'linux') { const helper = new DefaultClientHelper(); - helper.registerForURLScheme('merani'); + helper.registerForURLScheme('mailspring'); } else { - app.setAsDefaultProtocolClient('merani'); + app.setAsDefaultProtocolClient('mailspring'); } if (process.platform === 'darwin') { @@ -180,7 +180,7 @@ export default class Application extends EventEmitter { this.windowManager.ensureWindow(WindowManager.MAIN_WINDOW); } else { this.windowManager.ensureWindow(WindowManager.ONBOARDING_WINDOW, { - title: "Welcome to Merani", + title: "Welcome to Mailspring", }); } } @@ -310,7 +310,7 @@ export default class Application extends EventEmitter { }); this.on('application:view-help', () => { - const helpUrl = 'https://support.getmerani.com/hc/en-us/categories/200419318-Help-for-N1-users'; + const helpUrl = 'https://support.getmailspring.com/hc/en-us/categories/200419318-Help-for-N1-users'; require('electron').shell.openExternal(helpUrl); }); @@ -705,7 +705,7 @@ export default class Application extends EventEmitter { if (parts.protocol === 'mailto:') { main.sendMessage('mailto', urlToOpen); - } else if (parts.protocol === 'merani:') { + } else if (parts.protocol === 'mailspring:') { // if (parts.host === 'calendar') { // this.openCalendarURL(parts.path); if (parts.host === 'plugins') { diff --git a/app/src/browser/auto-update-manager.es6 b/app/src/browser/auto-update-manager.es6 index e7bd6cef3..087e31e13 100644 --- a/app/src/browser/auto-update-manager.es6 +++ b/app/src/browser/auto-update-manager.es6 @@ -41,9 +41,9 @@ export default class AutoUpdateManager extends EventEmitter { channel: this.preferredChannel, }; - let host = `updates.getmerani.com`; + let host = `updates.getmailspring.com`; if (this.config.get('env') === 'staging') { - host = `updates-staging.getmerani.com`; + host = `updates-staging.getmailspring.com`; } this.feedURL = `https://${host}/check/${params.platform}/${params.arch}/${params.version}/${params.id}/${params.channel}`; @@ -145,14 +145,14 @@ export default class AutoUpdateManager extends EventEmitter { // On windows the update has already been "installed" and shortcuts // already updated. You just need to restart the app to load the new // version. - autoUpdater.restartMerani(); + autoUpdater.restartMailspring(); } else { autoUpdater.quitAndInstall(); } } iconURL() { - const url = path.join(process.resourcesPath, 'app', 'merani.png'); + const url = path.join(process.resourcesPath, 'app', 'mailspring.png'); if (!fs.existsSync(url)) { return undefined; } @@ -167,7 +167,7 @@ export default class AutoUpdateManager extends EventEmitter { icon: this.iconURL(), message: 'No update available.', title: 'No Update Available', - detail: `You're running the latest version of Merani (${this.version}).`, + detail: `You're running the latest version of Mailspring (${this.version}).`, }); }; diff --git a/app/src/browser/main.js b/app/src/browser/main.js index 0836666fa..45bb2e6c0 100644 --- a/app/src/browser/main.js +++ b/app/src/browser/main.js @@ -16,12 +16,12 @@ if (typeof process.setFdLimit === 'function') { } const setupConfigDir = (args) => { - let defaultDirName = "Merani"; + let defaultDirName = "Mailspring"; if (args.devMode) { - defaultDirName = "Merani-dev"; + defaultDirName = "Mailspring-dev"; } if (args.specMode) { - defaultDirName = "Merani-spec"; + defaultDirName = "Mailspring-spec"; } const configDirPath = path.join(app.getPath('appData'), defaultDirName); mkdirp.sync(configDirPath); @@ -49,17 +49,17 @@ const setupErrorLogger = (args = {}) => { const declareOptions = (argv) => { const optimist = require('optimist'); const options = optimist(argv); - options.usage(`Merani\n\nUsage: merani [options]\n\nRun Merani: The open source extensible email client\n\n\`merani --dev\` to start the client in dev mode.\n\n\`merani --test\` to run unit tests.`); + options.usage(`Mailspring\n\nUsage: mailspring [options]\n\nRun Mailspring: The open source extensible email client\n\n\`mailspring --dev\` to start the client in dev mode.\n\n\`mailspring --test\` to run unit tests.`); options.alias('d', 'dev').boolean('d').describe('d', 'Run in development mode.'); options.alias('t', 'test').boolean('t').describe('t', 'Run the specified specs and exit with error code on failures.'); options.boolean('safe').describe('safe', 'Do not load packages from the settings `packages` or `dev/packages` folders.'); options.alias('h', 'help').boolean('h').describe('h', 'Print this usage message.'); options.alias('l', 'log-file').string('l').describe('l', 'Log all test output to file.'); - options.alias('c', 'config-dir-path').string('c').describe('c', 'Override the path to the Merani configuration directory'); + options.alias('c', 'config-dir-path').string('c').describe('c', 'Override the path to the Mailspring configuration directory'); options.alias('s', 'spec-directory').string('s').describe('s', 'Override the directory from which to run package specs'); options.alias('f', 'spec-file-pattern').string('f').describe('f', 'Override the default file regex to determine which tests should run (defaults to "-spec.(coffee|js|jsx|cjsx|es6|es)$" )'); options.alias('v', 'version').boolean('v').describe('v', 'Print the version.'); - options.alias('b', 'background').boolean('b').describe('b', 'Start Merani in the background'); + options.alias('b', 'background').boolean('b').describe('b', 'Start Mailspring in the background'); return options; }; @@ -93,7 +93,7 @@ const parseCommandLine = (argv) => { const pathsToOpen = []; // On Windows and Linux, mailto and file opens are passed in argv. Go through - // the items and pluck out things that look like mailto:, merani:, file paths + // the items and pluck out things that look like mailto:, mailspring:, file paths let ignoreNext = false; // args._ is all of the non-hyphenated options. for (const arg of args._) { @@ -109,7 +109,7 @@ const parseCommandLine = (argv) => { if (path.resolve(arg) === resourcePath) { continue; } - if (arg.startsWith('mailto:') || arg.startsWith('merani:')) { + if (arg.startsWith('mailto:') || arg.startsWith('mailspring:')) { urlsToOpen.push(arg); } else if ((arg[0] !== '-') && (/[/|\\]/.test(arg))) { pathsToOpen.push(arg); @@ -166,7 +166,7 @@ const handleStartupEventWithSquirrel = () => { ) return true case '--squirrel-updated': - WindowsUpdater.restartMerani(app) + WindowsUpdater.restartMailspring(app) return true case '--squirrel-uninstall': WindowsUpdater.removeShortcuts(() => @@ -182,7 +182,7 @@ const handleStartupEventWithSquirrel = () => { }; const start = () => { - app.setAppUserModelId('com.squirrel.merani.merani'); + app.setAppUserModelId('com.squirrel.mailspring.mailspring'); if (handleStartupEventWithSquirrel()) { return; } diff --git a/app/src/browser/merani-protocol-handler.es6 b/app/src/browser/merani-protocol-handler.es6 index e567e1ea8..c2a23bf6c 100644 --- a/app/src/browser/merani-protocol-handler.es6 +++ b/app/src/browser/merani-protocol-handler.es6 @@ -5,7 +5,7 @@ import path from 'path'; // Handles requests with 'nylas' protocol. // // It's created by {N1Application} upon instantiation and is used to create a -// custom resource loader for 'merani://' URLs. +// custom resource loader for 'mailspring://' URLs. // // The following directories are searched in order: // * /assets @@ -28,7 +28,7 @@ export default class NylasProtocolHandler { // Creates the 'Nylas' custom protocol handler. registerNylasProtocol() { - protocol.registerFileProtocol('merani', (request, callback) => { + protocol.registerFileProtocol('mailspring', (request, callback) => { const relativePath = path.normalize(request.url.substr(7)); let filePath = null; diff --git a/app/src/browser/nylas-window.coffee b/app/src/browser/nylas-window.coffee index 3886fb505..4021f52f5 100644 --- a/app/src/browser/nylas-window.coffee +++ b/app/src/browser/nylas-window.coffee @@ -46,7 +46,7 @@ class NylasWindow browserWindowOptions = show: false - title: title ? 'Merani' + title: title ? 'Mailspring' frame: frame width: width height: height @@ -68,9 +68,9 @@ class NylasWindow # taskbar's icon. See https://github.com/atom/atom/issues/4811 for more. if process.platform is 'linux' unless WindowIconPath - WindowIconPath = path.resolve(__dirname, '..', '..', 'merani.png') + WindowIconPath = path.resolve(__dirname, '..', '..', 'mailspring.png') unless fs.existsSync(WindowIconPath) - WindowIconPath = path.resolve(__dirname, '..', '..', 'build', 'resources', 'merani.png') + WindowIconPath = path.resolve(__dirname, '..', '..', 'build', 'resources', 'mailspring.png') browserWindowOptions.icon = WindowIconPath @browserWindow = new BrowserWindow(browserWindowOptions) @@ -190,7 +190,7 @@ class NylasWindow chosen = dialog.showMessageBox @browserWindow, type: 'warning' buttons: ['Close', 'Keep Waiting'] - message: 'Merani is not responding' + message: 'Mailspring is not responding' detail: 'Would you like to force close it or keep waiting?' @browserWindow.destroy() if chosen is 0 @@ -209,8 +209,8 @@ class NylasWindow chosen = dialog.showMessageBox @browserWindow, type: 'warning' buttons: ['Close Window', 'Reload', 'Keep It Open'] - message: 'Merani has crashed' - detail: 'Please report this issue to us at support@getmerani.com.' + message: 'Mailspring has crashed' + detail: 'Please report this issue to us at support@getmailspring.com.' switch chosen when 0 then @browserWindow.destroy() when 1 then @browserWindow.reload() diff --git a/app/src/browser/system-tray-manager.es6 b/app/src/browser/system-tray-manager.es6 index cee3c10c4..3f5ffb9ac 100644 --- a/app/src/browser/system-tray-manager.es6 +++ b/app/src/browser/system-tray-manager.es6 @@ -15,7 +15,7 @@ function _getMenuTemplate(platform, application) { type: 'separator', }, { - label: 'Quit Merani', + label: 'Quit Mailspring', click: () => application.emit('application:quit'), }, ]; diff --git a/app/src/browser/windows-updater-squirrel-adapter.coffee b/app/src/browser/windows-updater-squirrel-adapter.coffee index b5b041c67..0c00bdb70 100644 --- a/app/src/browser/windows-updater-squirrel-adapter.coffee +++ b/app/src/browser/windows-updater-squirrel-adapter.coffee @@ -7,9 +7,9 @@ class WindowsUpdaterSquirrelAdapter setFeedURL: (@updateUrl) -> - restartMerani: -> + restartMailspring: -> if WindowsUpdater.existsSync() - WindowsUpdater.restartMerani(require('electron').app) + WindowsUpdater.restartMailspring(require('electron').app) else console.error("SquirrelUpdate does not exist") diff --git a/app/src/browser/windows-updater.js b/app/src/browser/windows-updater.js index bbf9722c3..c473a308e 100644 --- a/app/src/browser/windows-updater.js +++ b/app/src/browser/windows-updater.js @@ -5,7 +5,7 @@ * Read: https://github.com/electron-archive/grunt-electron-installer#handling-squirrel-events * Read: https://github.com/electron/electron/blob/master/docs/api/auto-updater.md#windows * - * When Merani gets installed on a Windows machine it gets put in: + * When Mailspring gets installed on a Windows machine it gets put in: * C:\Users\\AppData\Local\NylasMail\app-x.x.x * * The `process.execPath` is: @@ -112,7 +112,7 @@ function createRegistryEntries({allowEscalation, registerDefaultIfPossible}, cal spawnArgs = [regPath]; } - fs.readFile(path.join(appFolder, 'resources', 'merani-mailto-registration.reg'), (err, data) => { + fs.readFile(path.join(appFolder, 'resources', 'mailspring-mailto-registration.reg'), (err, data) => { if (err || !data) { callback(err); return; @@ -126,7 +126,7 @@ function createRegistryEntries({allowEscalation, registerDefaultIfPossible}, cal importContents = importContents.replace(/{{HKEY_ROOT}}/g, 'HKEY_CURRENT_USER'); } - const importTempPath = path.join(os.tmpdir(), `merani-reg-${Date.now()}.reg`); + const importTempPath = path.join(os.tmpdir(), `mailspring-reg-${Date.now()}.reg`); fs.writeFile(importTempPath, importContents, (writeErr) => { if (writeErr) { @@ -136,7 +136,7 @@ function createRegistryEntries({allowEscalation, registerDefaultIfPossible}, cal spawn(spawnPath, spawnArgs.concat(['import', escapeBackticks(importTempPath)]), (spawnErr) => { if (isWindows7 && registerDefaultIfPossible) { - const defaultReg = path.join(appFolder, 'resources', 'merani-mailto-default.reg') + const defaultReg = path.join(appFolder, 'resources', 'mailspring-mailto-default.reg') spawn(spawnPath, spawnArgs.concat(['import', escapeBackticks(defaultReg)]), (spawnDefaultErr) => { callback(spawnDefaultErr, true); }); @@ -163,7 +163,7 @@ exports.createRegistryEntries = createRegistryEntries; exports.existsSync = () => fs.existsSync(updateDotExe) // Restart N1 using the version pointed to by the N1.cmd shim -exports.restartMerani = (app) => { +exports.restartMailspring = (app) => { app.once('will-quit', () => { spawnUpdate(['--processStart', exeName], (() => {}), {detached: true}); }); diff --git a/app/src/components/billing-modal.jsx b/app/src/components/billing-modal.jsx index d3ac4ab4f..b64211950 100644 --- a/app/src/components/billing-modal.jsx +++ b/app/src/components/billing-modal.jsx @@ -61,7 +61,7 @@ export default class BillingModal extends React.Component { webview.executeJavaScript(receiveUserInfo, false, async (result) => { if (!result) return; if (result !== IdentityStore.identityId()) { - NylasEnv.reportError(new Error("id.getmerani.com/payment_success did not have a valid #payment-success-data field")) + NylasEnv.reportError(new Error("id.getmailspring.com/payment_success did not have a valid #payment-success-data field")) } const listenForContinue = ` var el = document.querySelector('#continue-btn'); diff --git a/app/src/components/feature-used-up-modal.jsx b/app/src/components/feature-used-up-modal.jsx index 94773d4ea..446886a89 100644 --- a/app/src/components/feature-used-up-modal.jsx +++ b/app/src/components/feature-used-up-modal.jsx @@ -30,7 +30,7 @@ export default class FeatureUsedUpModal extends React.Component { } onGoToFeatures = () => { - shell.openExternal("https://getmerani.com/pro"); + shell.openExternal("https://getmailspring.com/pro"); }; onUpgrade = (e) => { @@ -61,7 +61,7 @@ export default class FeatureUsedUpModal extends React.Component {

Want to {this.props.featureName} more?

-

Merani Pro includes:

+

Mailspring Pro includes:

  • Unlimited Snoozing
  • Unlimited Open & Link Tracking
  • diff --git a/app/src/components/oauth-signin-page.jsx b/app/src/components/oauth-signin-page.jsx index 499316e2a..4abb11cfc 100644 --- a/app/src/components/oauth-signin-page.jsx +++ b/app/src/components/oauth-signin-page.jsx @@ -29,7 +29,7 @@ export default class OAuthSignInPage extends React.Component { * Once we have the token, we can use that to retrieve the full * account credentials or establish a direct connection ourselves. * Some Nylas backends vend all account credentials along with the - * token making this function unnecessary and a no-op. Merani + * token making this function unnecessary and a no-op. Mailspring * local sync needs to use the returned OAuth token to establish an * IMAP connection directly that may have its own set of failure * cases. @@ -141,7 +141,7 @@ export default class OAuthSignInPage extends React.Component { return (

    Successfully connected to {this.props.serviceName}!

    -

    Adding your account to Merani…

    +

    Adding your account to Mailspring…

    ) } @@ -151,7 +151,7 @@ export default class OAuthSignInPage extends React.Component {

    Sorry, we had trouble logging you in

    {this.state.errorMessage}

    -

    Please try again. If you continue to see this error contact support@getmerani.com

    +

    Please try again. If you continue to see this error contact support@getmailspring.com

) } diff --git a/app/src/components/outline-view.jsx b/app/src/components/outline-view.jsx index 4b9dee9d3..7ba3fc3e4 100644 --- a/app/src/components/outline-view.jsx +++ b/app/src/components/outline-view.jsx @@ -134,7 +134,7 @@ class OutlineView extends Component { onMouseUp={this._onCreateButtonClicked} > diff --git a/app/src/components/retina-img.jsx b/app/src/components/retina-img.jsx index 764cae08f..a736be288 100644 --- a/app/src/components/retina-img.jsx +++ b/app/src/components/retina-img.jsx @@ -76,7 +76,7 @@ class RetinaImg extends React.Component { - `mode` (required) One of the RetinaImg.Mode constants. See above for details. - `name` (optional) A {String} image name to display. - `url` (optional) A {String} url of an image to display. - May be an http, https, or `merani:///` URL. + May be an http, https, or `mailspring:///` URL. - `fallback` (optional) A {String} image name to use when `name` cannot be found. - `selected` (optional) Appends "-selected" to the end of the image name when when true - `active` (optional) Appends "-active" to the end of the image name when when true diff --git a/app/src/components/webview.jsx b/app/src/components/webview.jsx index f105e7f6f..a42a57c79 100644 --- a/app/src/components/webview.jsx +++ b/app/src/components/webview.jsx @@ -42,7 +42,7 @@ class InitialLoadingCover extends React.Component { if (this.props.error) { message = this.props.error; } else if (this.state.slow) { - message = "Still trying to reach id.getmerani.com…"; + message = "Still trying to reach id.getmailspring.com…"; } else { message = ' ' } @@ -137,7 +137,7 @@ export default class Webview extends React.Component { if (httpResponseCode >= 400) { const error = ` Could not reach Nylas. Please try again or contact - support@getmerani.com if the issue persists. + support@getmailspring.com if the issue persists. (${originalURL}: ${httpResponseCode}) `; this.setState({ready: false, error: error, webviewLoading: false}); diff --git a/app/src/default-client-helper.es6 b/app/src/default-client-helper.es6 index 6355d0392..a875f6251 100644 --- a/app/src/default-client-helper.es6 +++ b/app/src/default-client-helper.es6 @@ -2,7 +2,7 @@ import {exec} from 'child_process'; import fs from 'fs'; import {remote, shell} from 'electron'; -const bundleIdentifier = 'com.merani.merani'; +const bundleIdentifier = 'com.mailspring.mailspring'; class Windows { available() { @@ -32,9 +32,9 @@ class Windows { type: 'info', buttons: ['Learn More'], message: "Visit Windows Settings to change your default mail client", - detail: "You'll find Merani, along with other options, listed in Default Apps > Mail.", + detail: "You'll find Mailspring, along with other options, listed in Default Apps > Mail.", }, () => { - shell.openExternal('https://support.getmerani.com/hc/en-us/articles/229277648'); + shell.openExternal('https://support.getmailspring.com/hc/en-us/articles/229277648'); }); } @@ -58,10 +58,10 @@ class Windows { type: 'info', buttons: ['Learn More'], defaultId: 1, - message: "Visit Windows Settings to finish making Merani your mail client", + message: "Visit Windows Settings to finish making Mailspring your mail client", detail: "Click 'Learn More' to view instructions in our knowledge base.", }, () => { - shell.openExternal('https://support.getmerani.com/hc/en-us/articles/229277648'); + shell.openExternal('https://support.getmailspring.com/hc/en-us/articles/229277648'); }); } callback(null, null); diff --git a/app/src/error-logger.js b/app/src/error-logger.js index 2e1f62520..a16d8111f 100644 --- a/app/src/error-logger.js +++ b/app/src/error-logger.js @@ -120,9 +120,9 @@ module.exports = ErrorLogger = (function() { ErrorLogger.prototype._startCrashReporter = function(args) { crashReporter.start({ - productName: 'Merani', - companyName: 'Merani', - submitURL: 'http://merani_prod.bugsplat.com/post/bp/crash/postBP.php', + productName: 'Mailspring', + companyName: 'Mailspring', + submitURL: 'http://mailspring_prod.bugsplat.com/post/bp/crash/postBP.php', uploadToServer: true, autoSubmit: true, }) diff --git a/app/src/extensions/composer-extension.coffee b/app/src/extensions/composer-extension.coffee index cfa4cc8a6..4addf1fc7 100644 --- a/app/src/extensions/composer-extension.coffee +++ b/app/src/extensions/composer-extension.coffee @@ -98,8 +98,8 @@ class ComposerExtension extends ContenteditableExtension # # - `tooltip`: A one or two word description of what your icon does # - # - `iconUrl`: The url of your icon. It should be in the `merani://` - # scheme. For example: `merani://your-package-name/assets/my-icon@2x.png`. + # - `iconUrl`: The url of your icon. It should be in the `mailspring://` + # scheme. For example: `mailspring://your-package-name/assets/my-icon@2x.png`. # Note, we will downsample your image by 2x (for Retina screens), so make # sure it's twice the resolution. The icon should be black and white. We # will directly pass the `url` prop of a {RetinaImg} diff --git a/app/src/flux/mailsync-bridge.es6 b/app/src/flux/mailsync-bridge.es6 index 98d86ccf9..622074898 100644 --- a/app/src/flux/mailsync-bridge.es6 +++ b/app/src/flux/mailsync-bridge.es6 @@ -216,8 +216,8 @@ export default class MailsyncBridge { this._crashTracker.recordClientCrash(fullAccountJSON, {code, error, signal}) const isAuthFailure = ( - `${error}`.includes("Response Code: 401") || // merani services - `${error}`.includes("Response Code: 403") || // merani services + `${error}`.includes("Response Code: 401") || // mailspring services + `${error}`.includes("Response Code: 403") || // mailspring services `${error}`.includes("ErrorAuthentication") // mailcore ); diff --git a/app/src/flux/models/category.es6 b/app/src/flux/models/category.es6 index 8a3b0b8f5..b4779c366 100644 --- a/app/src/flux/models/category.es6 +++ b/app/src/flux/models/category.es6 @@ -38,7 +38,7 @@ const HiddenRoleMap = ToObject([ "starred", "important", "snoozed", - "[Merani]", + "[Mailspring]", ]); /** @@ -62,7 +62,7 @@ Section: Models export default class Category extends Model { get displayName() { - for (const prefix of ['INBOX', '[Gmail]', '[Merani]']) { + for (const prefix of ['INBOX', '[Gmail]', '[Mailspring]']) { if (this.path.startsWith(prefix) && this.path.length > prefix.length + 1) { return this.path.substr(prefix.length + 1); // + delimiter } diff --git a/app/src/flux/models/message.es6 b/app/src/flux/models/message.es6 index bd67c9e98..0d10ab889 100644 --- a/app/src/flux/models/message.es6 +++ b/app/src/flux/models/message.es6 @@ -333,7 +333,7 @@ export default class Message extends ModelWithMetadata { return ( this.to.length === 1 && this.from.length === 1 && this.to[0].email === this.from[0].email && - (this.snippet || "").startsWith('Merani Reminder:') + (this.snippet || "").startsWith('Mailspring Reminder:') ) } } diff --git a/app/src/flux/nylas-api-request.es6 b/app/src/flux/nylas-api-request.es6 index 0328bde90..c1df8b20d 100644 --- a/app/src/flux/nylas-api-request.es6 +++ b/app/src/flux/nylas-api-request.es6 @@ -21,15 +21,15 @@ export function rootURLForServer(server) { if (server === 'identity') { return { development: "http://localhost:5101", - staging: "https://id-staging.getmerani.com", - production: "https://id.getmerani.com", + staging: "https://id-staging.getmailspring.com", + production: "https://id.getmailspring.com", }[env]; } if (server === 'accounts') { return { development: "http://localhost:5100", - staging: "https://accounts-staging.getmerani.com", - production: "https://accounts.getmerani.com", + staging: "https://accounts-staging.getmailspring.com", + production: "https://accounts.getmailspring.com", }[env]; } diff --git a/app/src/flux/stores/account-store.es6 b/app/src/flux/stores/account-store.es6 index 938e85daf..7cc4ad8e3 100644 --- a/app/src/flux/stores/account-store.es6 +++ b/app/src/flux/stores/account-store.es6 @@ -160,7 +160,7 @@ class AccountStore extends NylasStore { } /** - * When an account is removed from Merani, the AccountStore + * When an account is removed from Mailspring, the AccountStore * triggers. The local-sync/src/local-sync-worker/index.js listens to * the AccountStore and runs `ensureK2Consistency`. This will actually * delete the Account on the local sync side. diff --git a/app/src/flux/stores/folder-sync-progress-store.es6 b/app/src/flux/stores/folder-sync-progress-store.es6 index d2b36089d..83beab4db 100644 --- a/app/src/flux/stores/folder-sync-progress-store.es6 +++ b/app/src/flux/stores/folder-sync-progress-store.es6 @@ -66,7 +66,7 @@ class FolderSyncProgressStore extends NylasStore { } /** - * Returns true if Merani's local cache contains the entire list of available + * Returns true if Mailspring's local cache contains the entire list of available * folders and labels. * * This will be true if any of the available folders have started syncing, diff --git a/app/src/flux/stores/identity-store.es6 b/app/src/flux/stores/identity-store.es6 index 4cd90fa07..369688f83 100644 --- a/app/src/flux/stores/identity-store.es6 +++ b/app/src/flux/stores/identity-store.es6 @@ -8,7 +8,7 @@ import KeyManager from '../../key-manager'; import {makeRequest, rootURLForServer} from '../nylas-api-request'; // Note this key name is used when migrating to Nylas Pro accounts from old N1. -const KEYCHAIN_NAME = 'Merani Account'; +const KEYCHAIN_NAME = 'Mailspring Account'; class IdentityStore extends NylasStore { diff --git a/app/src/flux/stores/signature-store.es6 b/app/src/flux/stores/signature-store.es6 index 2a5d045c1..d6ebda6c7 100644 --- a/app/src/flux/stores/signature-store.es6 +++ b/app/src/flux/stores/signature-store.es6 @@ -2,7 +2,7 @@ import {Utils, Actions, AccountStore} from 'nylas-exports'; import NylasStore from 'nylas-store' import _ from 'underscore' -const DefaultSignatureText = "Sent from Merani, the best free email app for work"; +const DefaultSignatureText = "Sent from Mailspring, the best free email app for work"; class SignatureStore extends NylasStore { diff --git a/app/src/flux/tasks/send-draft-task.es6 b/app/src/flux/tasks/send-draft-task.es6 index f23f66507..64085b7b6 100644 --- a/app/src/flux/tasks/send-draft-task.es6 +++ b/app/src/flux/tasks/send-draft-task.es6 @@ -98,10 +98,10 @@ export default class SendDraftTask extends Task { if (key === 'no-sent-folder') { errorMessage = "We couldn't find a Sent folder in your account."; - errorDetail = "In order to send mail through Merani, your email account must have a Sent Mail folder."; + errorDetail = "In order to send mail through Mailspring, your email account must have a Sent Mail folder."; } else if (key === 'no-trash-folder') { errorMessage = "We couldn't find a Sent folder in your account."; - errorDetail = "In order to send mail through Merani, your email account must have a Trash folder."; + errorDetail = "In order to send mail through Mailspring, your email account must have a Trash folder."; } else if (key === 'send-partially-failed') { const [smtpError, emails] = debuginfo.split(':::'); errorMessage = "We were unable to deliver this message to some recipients. Click 'See Details' for more information." diff --git a/app/src/flux/tasks/send-feature-usage-event-task.es6 b/app/src/flux/tasks/send-feature-usage-event-task.es6 index 9069814f4..e46230aa4 100644 --- a/app/src/flux/tasks/send-feature-usage-event-task.es6 +++ b/app/src/flux/tasks/send-feature-usage-event-task.es6 @@ -15,7 +15,7 @@ export default class SendFeatureUsageEventTask extends Task { // Tasks must have an accountId so they can be assigned to a sync worker. // We don't really care what sync worker handles this, since it's just a - // POST to id.getmerani.com. Just assign the first account ID. + // POST to id.getmailspring.com. Just assign the first account ID. if (!this.accountId) { this.accountId = AccountStore.accountIds()[0]; } diff --git a/app/src/key-manager.es6 b/app/src/key-manager.es6 index 2c12f8e60..afad7e383 100644 --- a/app/src/key-manager.es6 +++ b/app/src/key-manager.es6 @@ -16,11 +16,11 @@ class KeyManager { * the names of these keys. If you change them be sure that old N1 is * fully deprecated or updated as well. */ - this.SERVICE_NAME = "Merani"; + this.SERVICE_NAME = "Mailspring"; if (NylasEnv.inDevMode()) { - this.SERVICE_NAME = "Merani Dev"; + this.SERVICE_NAME = "Mailspring Dev"; } - this.KEY_NAME = "Merani Keys" + this.KEY_NAME = "Mailspring Keys" } deleteAccountSecrets(account) { @@ -96,7 +96,7 @@ class KeyManager { } _try(fn) { - const ERR_MSG = "We couldn't store your password securely! For more information, visit https://support.getmerani.com/hc/en-us/articles/223790028"; + const ERR_MSG = "We couldn't store your password securely! For more information, visit https://support.getmailspring.com/hc/en-us/articles/223790028"; try { if (!fn()) { remote.dialog.showErrorBox("Password Management Error", ERR_MSG) diff --git a/app/src/native-notifications.es6 b/app/src/native-notifications.es6 index e79e96e89..9baf08053 100644 --- a/app/src/native-notifications.es6 +++ b/app/src/native-notifications.es6 @@ -28,7 +28,7 @@ class NativeNotifications { this._macNotificationsByTag[tag].close(); } notif = new MacNotifierNotification(title, { - bundleId: 'com.merani.merani', + bundleId: 'com.mailspring.mailspring', canReply: canReply, subtitle: subtitle, body: body, diff --git a/app/src/nylas-env.es6 b/app/src/nylas-env.es6 index e47d425db..8b070fc8b 100644 --- a/app/src/nylas-env.es6 +++ b/app/src/nylas-env.es6 @@ -201,9 +201,9 @@ export default class NylasEnvConstructor { // the window starts loading. require('nylas-exports'); - process.title = `Merani ${this.getWindowType()}`; + process.title = `Mailspring ${this.getWindowType()}`; return this.onWindowPropsReceived(() => { - process.title = `Merani ${this.getWindowType()}`; + process.title = `Mailspring ${this.getWindowType()}`; return process.title; }); } @@ -381,7 +381,7 @@ export default class NylasEnvConstructor { return this.getLoadSettings().isSpec; } - // Public: Get the version of Merani. + // Public: Get the version of Mailspring. // // Returns the version text {String}. getVersion() { @@ -394,7 +394,7 @@ export default class NylasEnvConstructor { return !/\w{7}/.test(this.getVersion()); } - // Public: Get the directory path to Merani's configuration area. + // Public: Get the directory path to Mailspring's configuration area. getConfigDirPath() { return this.getLoadSettings().configDirPath; } // Public: Get the time taken to completely load the current window. diff --git a/app/src/package-manager.es6 b/app/src/package-manager.es6 index 0651967d8..a14884262 100644 --- a/app/src/package-manager.es6 +++ b/app/src/package-manager.es6 @@ -74,9 +74,9 @@ export default class PackageManager { continue; } - if (!pkg.json.engines.merani) { + if (!pkg.json.engines.mailspring) { // don't use NylasEnv.reportError, I don't want to know about these. - console.error(`The package ${pkg.name} does not list "merani" in it's package.json's "engines" field. Ask the developer to test the plugin with Merani and add it.`); + console.error(`The package ${pkg.name} does not list "mailspring" in it's package.json's "engines" field. Ask the developer to test the plugin with Mailspring and add it.`); continue; } diff --git a/app/src/regexp-utils.coffee b/app/src/regexp-utils.coffee index a01445520..b96666802 100644 --- a/app/src/regexp-utils.coffee +++ b/app/src/regexp-utils.coffee @@ -36,7 +36,7 @@ RegExpUtils = # https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html ipAddressRegex: -> new RegExp(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/i) - meraniCommandRegex: -> new RegExp(/merani:\S+/i) + mailspringCommandRegex: -> new RegExp(/mailspring:\S+/i) # Test cases: https://regex101.com/r/pD7iS5/3 urlRegex: ({matchEntireString} = {}) -> @@ -48,10 +48,10 @@ RegExpUtils = '(' # This OR block matches any TLD if the URL includes a scheme, and only # the top ten TLDs if the scheme is omitted. - # YES - https://getmerani.ai + # YES - https://getmailspring.ai # YES - https://10.2.3.1 - # YES - getmerani.com - # NO - getmerani.ai + # YES - getmailspring.com + # NO - getmailspring.ai '(' # scheme, ala https:// (mandatory) '([A-Za-z]{3,9}:(?:\\/\\/))' @@ -141,12 +141,12 @@ RegExpUtils = imageTagRegex: -> /]*src="([^"]*)"[^>]*>/g # Regex that matches our link tracking urls, surrounded by quotes - # ("link.getmerani.com...?redirect=") + # ("link.getmailspring.com...?redirect=") # Test cases: https://regex101.com/r/rB4fO4/3 # Returns the following capturing groups # 1.The redirect url: the actual url you want to visit by clicking a url # that matches this regex - trackedLinkRegex: -> /[\"|\']https:\/\/link\.getmerani\.com\/link\/.*?\?.*?redirect=([^&\"\']*).*?[\"|\']/g + trackedLinkRegex: -> /[\"|\']https:\/\/link\.getmailspring\.com\/link\/.*?\?.*?redirect=([^&\"\']*).*?[\"|\']/g punctuation: ({exclude}={}) -> exclude ?= [] diff --git a/app/src/registries/sound-registry.es6 b/app/src/registries/sound-registry.es6 index dca8cea4a..36ef54df4 100644 --- a/app/src/registries/sound-registry.es6 +++ b/app/src/registries/sound-registry.es6 @@ -18,7 +18,7 @@ class SoundRegistry { const {resourcePath} = NylasEnv.getLoadSettings(); if (typeof src === 'string') { - if (src.indexOf("merani://") === 0) { + if (src.indexOf("mailspring://") === 0) { a.src = src; } else { a.src = path.join(resourcePath, 'static', 'sounds', src); diff --git a/app/src/services/quoted-html-transformer.es6 b/app/src/services/quoted-html-transformer.es6 index 86f9d50ff..0deb79f5d 100644 --- a/app/src/services/quoted-html-transformer.es6 +++ b/app/src/services/quoted-html-transformer.es6 @@ -94,7 +94,7 @@ class QuotedHTMLTransformer { } // Remove any trailing
in the last leaf child of doc.body. - // This specific pattern occurs often when stripping Merani / gmail quotes. + // This specific pattern occurs often when stripping Mailspring / gmail quotes. let last = doc.body; while (last.children.length) { last = last.children[last.children.length - 1]; diff --git a/app/src/system-start-service.es6 b/app/src/system-start-service.es6 index 6348172f4..01b11dba7 100644 --- a/app/src/system-start-service.es6 +++ b/app/src/system-start-service.es6 @@ -52,18 +52,18 @@ class SystemStartServiceDarwin extends SystemStartServiceBase { } _launcherPath() { - return path.join("/", "Applications", "Merani.app", "Contents", - "MacOS", "Merani") + return path.join("/", "Applications", "Mailspring.app", "Contents", + "MacOS", "Mailspring") } _plistPath() { return path.join(process.env.HOME, "Library", - "LaunchAgents", "com.merani.plist"); + "LaunchAgents", "com.mailspring.plist"); } _launchdPlist() { return { - Label: "com.merani.merani", + Label: "com.mailspring.mailspring", Program: this._launcherPath(), ProgramArguments: ["--background"], RunAtLoad: true, @@ -91,7 +91,7 @@ class SystemStartServiceWin32 extends SystemStartServiceBase { configureToLaunchOnSystemStart() { ws.create(this._shortcutPath(), { target: this._launcherPath(), - args: "--processStart=merani.exe --process-start-args=--background", + args: "--processStart=mailspring.exe --process-start-args=--background", runStyle: ws.MIN, desc: "An extensible, open-source mail client built on the modern web.", }, (err) => { @@ -104,12 +104,12 @@ class SystemStartServiceWin32 extends SystemStartServiceBase { } _launcherPath() { - return path.join(process.env.LOCALAPPDATA, "merani", "Update.exe") + return path.join(process.env.LOCALAPPDATA, "mailspring", "Update.exe") } _shortcutPath() { return path.join(process.env.APPDATA, "Microsoft", "Windows", - "Start Menu", "Programs", "Startup", "Merani.lnk") + "Start Menu", "Programs", "Startup", "Mailspring.lnk") } } @@ -144,12 +144,12 @@ class SystemStartServiceLinux extends SystemStartServiceBase { } _launcherPath() { - return path.join('/', 'usr', 'share', 'applications', 'merani.desktop'); + return path.join('/', 'usr', 'share', 'applications', 'mailspring.desktop'); } _shortcutPath() { const configDir = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config'); - return path.join(configDir, 'autostart', 'merani.desktop'); + return path.join(configDir, 'autostart', 'mailspring.desktop'); } } diff --git a/app/src/window-event-handler.es6 b/app/src/window-event-handler.es6 index dd52e8286..05432aa04 100644 --- a/app/src/window-event-handler.es6 +++ b/app/src/window-event-handler.es6 @@ -219,7 +219,7 @@ export default class WindowEventHandler { return; } - if (['mailto:', 'merani:'].includes(protocol)) { + if (['mailto:', 'mailspring:'].includes(protocol)) { // We sometimes get mailto URIs that are not escaped properly, or have been only partially escaped. // (T1927) Be sure to escape them once, and completely, before we try to open them. This logic // *might* apply to http/https as well but it's unclear. @@ -290,11 +290,11 @@ export default class WindowEventHandler { } if (!NylasEnv.inDevMode()) { - console.log("%c Welcome to Merani! If you're exploring the source or building a " + + console.log("%c Welcome to Mailspring! If you're exploring the source or building a " + "plugin, you should enable debug flags. It's slower, but " + "gives you better exceptions, the debug version of React, " + "and more. Choose %c Developer > Run with Debug Flags %c " + - "from the menu. Also, check out http://Foundry376.github.io/Merani/ " + + "from the menu. Also, check out http://Foundry376.github.io/Mailspring/ " + "for documentation and sample code!", "background-color: antiquewhite;", "background-color: antiquewhite; font-weight:bold;", diff --git a/app/static/email-frame.less b/app/static/email-frame.less index 54798dcd0..88bc6524a 100644 --- a/app/static/email-frame.less +++ b/app/static/email-frame.less @@ -7,35 +7,35 @@ font-family: 'Nylas-Pro'; font-style: normal; font-weight: 200; - src: url('merani://custom-fonts/fonts/Custom-Thin.otf'); + src: url('mailspring://custom-fonts/fonts/Custom-Thin.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 300; - src: url('merani://custom-fonts/fonts/Custom-Blond.otf'); + src: url('mailspring://custom-fonts/fonts/Custom-Blond.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 400; - src: url('merani://custom-fonts/fonts/Custom-Normal.otf'); + src: url('mailspring://custom-fonts/fonts/Custom-Normal.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 500; - src: url('merani://custom-fonts/fonts/Custom-Medium.otf'); + src: url('mailspring://custom-fonts/fonts/Custom-Medium.otf'); } @font-face { font-family: 'Nylas-Pro'; font-style: normal; font-weight: 600; - src: url('merani://custom-fonts/fonts/Custom-SemiBold.otf'); + src: url('mailspring://custom-fonts/fonts/Custom-SemiBold.otf'); } // Pro-SemiBold doesn't render emoji properly. Override the emjoi unicode @@ -44,7 +44,7 @@ font-family: 'Nylas-Pro'; font-style: normal; font-weight: 600; - src: url('merani://custom-fonts/fonts/Custom-Normal.otf'), Helvetica, sans-serif; + src: url('mailspring://custom-fonts/fonts/Custom-Normal.otf'), Helvetica, sans-serif; unicode-range: U+1F300-1F5FF, U+1F600-1F64F, U+1F680-1F6FF, U+2600-26FF; } diff --git a/app/static/index.html b/app/static/index.html index 7e3c2ab05..97e09e5c7 100644 --- a/app/static/index.html +++ b/app/static/index.html @@ -1,9 +1,9 @@ - Merani + Mailspring - + diff --git a/app/static/package-template/lib/my-message-sidebar.jsx b/app/static/package-template/lib/my-message-sidebar.jsx index 40fd176e8..e987273e9 100644 --- a/app/static/package-template/lib/my-message-sidebar.jsx +++ b/app/static/package-template/lib/my-message-sidebar.jsx @@ -38,10 +38,10 @@ export default class MyMessageSidebar extends React.Component { _renderContent() { // Want to include images or other static assets in your components? - // Reference them using the merani:// URL scheme: + // Reference them using the mailspring:// URL scheme: // // // return ( diff --git a/book.json b/book.json index c1d637a7b..f965564d2 100644 --- a/book.json +++ b/book.json @@ -1,6 +1,6 @@ { "gitbook": "3.2.2", - "title": "Merani Plugin SDK", + "title": "Mailspring Plugin SDK", "root": "./app/build/docs_src/", "plugins": [ "search", @@ -14,12 +14,12 @@ ], "pluginsConfig": { "editlink": { - "base": "https://github.com/Foundry376/Merani/tree/master", + "base": "https://github.com/Foundry376/Mailspring/tree/master", "label": "Edit This Page", "multilingual": false }, "github": { - "url": "https://github.com/Foundry376/Merani" + "url": "https://github.com/Foundry376/Mailspring" }, "favicon": { "shortcut": "/img/favicon.png" diff --git a/mailsync b/mailsync index 726d20cb6..e3aa42ead 160000 --- a/mailsync +++ b/mailsync @@ -1 +1 @@ -Subproject commit 726d20cb6df703bc867b7f8f9c730db3dfb9f3f6 +Subproject commit e3aa42eadbf0ae6606ee28167f0505d4715731fa diff --git a/package.json b/package.json index 4b19f3c8f..9528fcf79 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "merani-root", + "name": "mailspring-root", "version": "0.0.1", - "description": "Packages required to develop and build Merani", - "author": "Merani", + "description": "Packages required to develop and build Mailspring", + "author": "Mailspring", "license": "GPL-3.0", "repository": { "type": "git", - "url": "git+https://github.com/Foundry376/Merani.git" + "url": "git+https://github.com/Foundry376/Mailspring.git" }, "engines": { "node": "6.9.1", diff --git a/scripts/postinstall.js b/scripts/postinstall.js index 0f584a2cd..29b03df39 100644 --- a/scripts/postinstall.js +++ b/scripts/postinstall.js @@ -49,19 +49,19 @@ function downloadMailsync() { "linux-ia32": null, }[distKey]; if (!distDir) { - console.error(`\nSorry, a Merani Mailsync build for your machine (${distKey}) is not yet available.`) + console.error(`\nSorry, a Mailspring Mailsync build for your machine (${distKey}) is not yet available.`) return; } - const distS3URL = `https://merani-builds.s3.amazonaws.com/client/${head}/${distDir}/${filename}`; + const distS3URL = `https://mailspring-builds.s3.amazonaws.com/client/${head}/${distDir}/${filename}`; https.get(distS3URL, (response) => { if (response.statusCode === 200) { response.pipe(fs.createWriteStream(`app/${filename}`)); response.on('end', () => { - console.log(`\nDownloaded Merani Mailsync build ${distDir}-${head} to ./app\n`); + console.log(`\nDownloaded Mailspring Mailsync build ${distDir}-${head} to ./app\n`); }) } else { - console.error(`Sorry, an error occurred while fetching the Merani Mailsync build for your machine\n(${distS3URL})\n`); + console.error(`Sorry, an error occurred while fetching the Mailspring Mailsync build for your machine\n(${distS3URL})\n`); response.pipe(process.stderr); response.on('end', () => console.error('\n')); } @@ -91,7 +91,7 @@ npm('install', {cwd: './app', env: 'electron'}).then(() => { // if the user hasn't cloned the private mailsync module, download // the binary for their operating system that was shipped to S3. // if (!fs.existsSync('./mailsync/build.sh')) { - // console.log(`\n-- Downloading a compiled version of Merani mailsync --`) + // console.log(`\n-- Downloading a compiled version of Mailspring mailsync --`) // downloadMailsync(); // } }); diff --git a/scripts/unused/daily.js b/scripts/unused/daily.js index fe53eddcc..72f1854cd 100644 --- a/scripts/unused/daily.js +++ b/scripts/unused/daily.js @@ -71,7 +71,7 @@ function getFormattedLogs(mainLog) { function getChangelogHeader(nextVersion) { const date = new Date().toLocaleDateString() return ( - `# Merani Changelog + `# Mailspring Changelog ### ${nextVersion} (${date}) @@ -208,7 +208,7 @@ async function main(args) { await spawn('cp', ['-r', '../n1-keys-and-certificates', 'app/build/resources/certs']) await spawn('npm', ['install'], {env: {}}) await spawn('npm', ['run', 'build-client'], {env: {SIGN_BUILD: true}}) - await spawn('codesign', ['--verify', '--deep', '--verbose=2', '"app/dist/Merani-darwin-x64/Merani.app"']) + await spawn('codesign', ['--verify', '--deep', '--verbose=2', '"app/dist/Mailspring-darwin-x64/Mailspring.app"']) // await spawn('npm', ['run', 'upload-client']) } catch (err) { console.error('Errored while running build')