allow cancel upgrade prompt (#1514, #913), change invalid 'apt install libgconf2-4' to libgconf-2-4 in CONTRIBUTING.md

Signed-off-by: mhatvan <markus_hatvan@aon.at>
This commit is contained in:
mhatvan 2019-06-12 00:01:48 +02:00 committed by Ben Gotow
parent 14d47659f4
commit d79cd44c11
4 changed files with 33 additions and 21 deletions

View file

@ -2,9 +2,9 @@
Thanks for checking out Mailspring! We'd love for you to contribute. Whether you're a first-time open source contributor or an experienced developer, there are ways you can help make Mailspring great:
1. Grab an issue tagged with **[Help Wanted](https://github.com/Foundry376/Mailspring/labels/help%20wanted)** and dig in! We try to add context to these issues when adding the label so you know where to get started in the codebase. Be wary of working on issues without the **Help Wanted** label - just because someone has created an issue doesn't mean we'll accept a pull request for it. See [Where to Contribute](#where-to-contribute) below for more information.
1. Grab an issue tagged with **[Help Wanted](https://github.com/Foundry376/Mailspring/labels/help%20wanted)** and dig in! We try to add context to these issues when adding the label so you know where to get started in the codebase. Be wary of working on issues without the **Help Wanted** label - just because someone has created an issue doesn't mean we'll accept a pull request for it. See [Where to Contribute](#where-to-contribute) below for more information.
2. Triage issues that haven't been addressed. With a large community of users on many platforms, we have trouble keeping up GitHub issues and moving the project forward at the same time. If you're good at testing and addressing issues, we'd love your help!
2. Triage issues that haven't been addressed. With a large community of users on many platforms, we have trouble keeping up GitHub issues and moving the project forward at the same time. If you're good at testing and addressing issues, we'd love your help!
### Filing an Issue
@ -24,21 +24,21 @@ You'll need git and a recent version of Node.JS (any v7.2.1+ is recommended with
**Windows:**
* `npm install --global --production windows-build-tools`
- `npm install --global --production windows-build-tools`
**OS X:**
* Python
* Xcode and the Command Line Tools (Xcode -> Preferences -> Downloads), which will install `gcc` and the related toolchain containing `make`.
- Python
- Xcode and the Command Line Tools (Xcode -> Preferences -> Downloads), which will install `gcc` and the related toolchain containing `make`.
**Linux:**
* Python v2.7
* make
* A proper C/C++11 compiler tool chain, for example GCC
* Library dependencies:
* On Debian-based Linux: `sudo apt-get install libx11-dev libxkbfile-dev execstack libgconf2-4 libsecret-1-dev`
* On Red Hat-based Linux: `sudo yum install libX11-devel.x86_64 libxkbfile-devel.x86_64 libsecret-1-dev libsecret-devel`.
- Python v2.7
- make
- A proper C/C++11 compiler tool chain, for example GCC
- Library dependencies:
- On Debian-based Linux: `sudo apt-get install libx11-dev libxkbfile-dev execstack libgconf-2-4 libsecret-1-dev`
- On Red Hat-based Linux: `sudo yum install libX11-devel.x86_64 libxkbfile-devel.x86_64 libsecret-1-dev libsecret-devel`.
After you have these tools installed, run the following commands to check out Mailspring,install dependencies, and launch the app:
@ -55,19 +55,19 @@ npm start
When you're running Mailspring with `npm start`, it runs with the `--dev` flag and user data is located in a `Mailspring-dev` folder alongside the regular settings folder:
* Mac: `~/Library/Application Support/Mailspring-dev`
* Windows: `C:\Users\<you>\AppData\Roaming\Mailspring-dev`
* Linux: `~/.config/Mailspring-dev/`
- Mac: `~/Library/Application Support/Mailspring-dev`
- Windows: `C:\Users\<you>\AppData\Roaming\Mailspring-dev`
- Linux: `~/.config/Mailspring-dev/`
#### Developer Tools
From Mailspring, you can open the Developer Tools from the menu: `Menu > Developer > Toggle Developer Tools`. Here are a few tips for getting started:
* Errors and warnings will show in the console.
- Errors and warnings will show in the console.
* On the console, `$m` is a shorthand for `mailspring-exports`, and allows you to access global `Stores` and `Model` classes.
- On the console, `$m` is a shorthand for `mailspring-exports`, and allows you to access global `Stores` and `Model` classes.
* You don't need to stop and restart the development version of Mailspring after each change. You can just reload the window via `CMD+R` (`CTRL+R` on Windows, Linux).
- You don't need to stop and restart the development version of Mailspring after each change. You can just reload the window via `CMD+R` (`CTRL+R` on Windows, Linux).
#### Linting
@ -89,9 +89,9 @@ You can run the app in different localizations by passing a langauge code to Ele
Check out the full issues list for a list of all potential areas for contributions. Note that just because an issue exists in the repository does not mean we will accept a contribution to the core mail client for it. There are several reasons we may not accepts a pull requests, like:
* **Maintainability** - We're _extremely_ wary of adding options and preferences for niche behaviors. Email is a wild west, and we can't afford to support every possible configuration. Our general rule is that the code complexity of adding a preference isn't worth it unless the user base is fairly evenly divided about the desired behavior. [We don't want to end up with this!](https://cloud.githubusercontent.com/assets/1037212/14989123/2a74e810-110b-11e6-8b5d-6f343bca712f.png)
- **Maintainability** - We're _extremely_ wary of adding options and preferences for niche behaviors. Email is a wild west, and we can't afford to support every possible configuration. Our general rule is that the code complexity of adding a preference isn't worth it unless the user base is fairly evenly divided about the desired behavior. [We don't want to end up with this!](https://cloud.githubusercontent.com/assets/1037212/14989123/2a74e810-110b-11e6-8b5d-6f343bca712f.png)
* **User experience** - We want to deliver a lightweight and smooth mail client, so UX and performance matter a lot. If you'd like to change or extend the UI, consider doing it in a plugin or theme.
- **User experience** - We want to deliver a lightweight and smooth mail client, so UX and performance matter a lot. If you'd like to change or extend the UI, consider doing it in a plugin or theme.
* **Architectural** - The team and/or feature owner needs to agree with any architectural impact a change may make. Things like new extension APIs must be discussed with and agreed upon by the feature owner.
- **Architectural** - The team and/or feature owner needs to agree with any architectural impact a change may make. Things like new extension APIs must be discussed with and agreed upon by the feature owner.
To improve the chances to get a pull request merged you should select an issue that is labelled with the help-wanted or bug labels. If the issue you want to work on is not labelled with help-wanted or bug, you can start a conversation with the issue owner asking whether an external contribution will be considered.

View file

@ -70,6 +70,7 @@ export default class UpdateNotification extends React.Component<{}, UpdateNotifi
fn: this._onUpdate,
},
]}
isDismissable
/>
);
}

View file

@ -81,6 +81,14 @@ describe('UpdateNotification', function describeBlock() {
notif.find('#action-0').simulate('click'); // Expects the first action to be the install action
expect(ipcSendArgs).toEqual(['command', 'application:install-update']);
});
it('should dismiss the update notification prompt', () => {
stubUpdaterState = 'update-available';
const notif = mount(<UpdateNotification />);
expect(notif.find('.notification').exists()).toEqual(true);
notif.find('#action-1').simulate('click'); // Expects the second action to be the dismiss action
expect(notif.find('.notification').exists()).toEqual(false);
});
});
});
});

View file

@ -67,6 +67,9 @@
}
.notification .action {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
flex: 1;
border-top: solid rgba(255, 255, 255, 0.5) 1px;
@ -93,4 +96,4 @@
cursor: progress;
background-color: rgba(0, 0, 0, 0.2);
box-shadow: @standard-shadow inset;
}
}