Skip to content

Commit

Permalink
v8.5.9
Browse files Browse the repository at this point in the history
  • Loading branch information
sidneys committed Dec 31, 2018
1 parent a5f0d37 commit e580bfd
Show file tree
Hide file tree
Showing 36 changed files with 3,453 additions and 13,577 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ indent_size = 2
[*.json]
indent_size = 2

[*.ts]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

Expand Down
11 changes: 9 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@
},
"root": true,
"rules": {
"array-bracket-spacing": [
"error",
"always",
{
"singleValue": true
}
],
"brace-style": [
"error",
"1tbs",
Expand All @@ -38,7 +45,7 @@
"error",
4,
{
"MemberExpression": "off",
"MemberExpression": 1,
"SwitchCase": 1
}
],
Expand Down Expand Up @@ -128,4 +135,4 @@
],
"wrap-iife": "off"
}
}
}
191 changes: 90 additions & 101 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,103 @@
# PB for Desktop [![travis](https://travis-ci.org/sidneys/pb-for-desktop.svg?branch=master)](http://travis-ci.org/sidneys/pb-for-desktop) [![appveyor](https://ci.appveyor.com/api/projects/status/25mhkye21umnbd79?svg=true)](https://ci.appveyor.com/project/sidneys/pb-for-desktop) [![npm](https://img.shields.io/npm/v/pb-for-desktop.svg?style=flat-square)](https://npmjs.com/package/pb-for-desktop)

<p align="center">
<b>PB for Desktop</b> is a <b>lightweight</b> open-source <b>Desktop app</b> for <b><a href="https://pushbullet.com/">PushBullet</a></b>.<br>
<b>PB for Desktop</b> is a <b>lightweight</b> open-source <b>Desktop app</b> for <b><a href="https://pushbullet.com/">PushBullet</a></b>.<br>
Receive native push notifications on macOS, Windows and Linux.</b><br><br>
<img height="200px" src="https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/graphics/icon.png"/><br><br>
<i>Not affiliated with PushBullet Incorporated.</i><br><br>
<img height="200px" src="https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/graphics/icon.png"/><br><br>
<i>Not affiliated with PushBullet, Inc.</i><br><br>
</p>


------

![Screenshot: Pushbullet for Desktop (macOS)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-macos.png)
<p align="center">
<img alt="Pushbullet for Desktop, macOS" width="75%" src="https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-macos.png"/><br>
<sub><sup>macOS</sup></sub>
</p>

![Screenshot: Pushbullet for Desktop (Windows)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-win32.png)
<p align="center">
<img alt="Pushbullet for Desktop on Windows" width="75%" src="https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-win32.png"/><br>
<sub><sup>Windows</sup></sub>
</p>

![Screenshot: Pushbullet for Desktop (Linux)](https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-linux.png)
<p align="center">
<img alt="Pushbullet for Desktop, Linux" width="75%" src="https://raw.githubusercontent.com/sidneys/pb-for-desktop/master/resources/screenshots/screenshot-linux.png"/><br>
<sub><sup>Linux</sup></sub>
</p>

------

> **Native Notifications**
Uses the macOS [Notification Center](https://en.wikipedia.org/wiki/Notification_Center), the Windows 10 [Action Center](https://en.wikipedia.org/wiki/Action_Center) and [libnotify](https://launchpad.net/ubuntu/+source/libnotify) for Linux.

> **Cross-Platform**
> **Cross Platform**
Tested on:

- macOS: 10.11, 10.12, 10.13
- Windows 10: 1607, 1703, 1709
- Linux: Ubuntu 16.04/17.04, elementaryOS 0.4, Linuxmint 18
- **macOS** 10.11 (El Capitan), 10.12 (Sierra), 10.13 (High Sierra), 10.14 (Mojave)
- **Windows 10** 1607, 1703, 1709, 1803
- **Linux** Ubuntu (16, 17, 18), elementaryOS (0.4)

> **Unobtrusive**
Small resource footprint - runs as a macOS Menu Bar app or a Windows System Tray app.
Runs as a Menubar (macOS) or a SysTray (Windows) app. Small resource footprint.

> **Simple Setup**
> **Native Notifications**
No wrestling with API-Keys or other technical knowledge required.
Login to Pushbullet using Google or Facebook.
Uses macOS' [Notification Center](https://en.wikipedia.org/wiki/Notification_Center), the Windows 10 [Action Center](https://en.wikipedia.org/wiki/Action_Center) and [libnotify](https://launchpad.net/ubuntu/+source/libnotify) for Linux.

> **Channel Images**
> **Notification Thumbnails**
Channel-specific (e.g. [IFTTT](https://ifttt.com/), [Zapier](https://zapier.com/), [Chat](http://lifehacker.com/huge-pushbullet-update-adds-instant-messaging-chat-hea-1714870644)) icon images for most notifications.
For text-based pushes, notification thumbnails are generated on-the-fly based on a the originating Websites' favicon.
For pushes containing image content, a thumbnail-sized image is shown within the notification.

> **Push Previews**
> **Simple Setup**
Preview thumbnails for pushes containing images.
No wrestling with API-Keys or other technical knowledge required.
Login to Pushbullet using Google or Facebook.

> **Custom Notification Sound Effect**
> **Custom Notification Sounds**
Use the default Pushbullet notification sound effect or one of your choice.
Supports `.m4a`, `.mp3`, `.mp4`, `.ogg` and `.wav`.
Use the default PushBullet sound or one of your choice.
Ships multiple sound effect sets: Android, iOS, Tesla Motors, Slack, Nintendo, Windows, macOS
Or use your own custom sound (supported formats: `.m4a`, `.mp3`, `.mp4`, `.ogg` and `.wav`)

> **Dedicated Push Target**
> **SMS** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]()
Use the *PB for Desktop* PushBullet device to only send pushes to your desktop.
Send & receive SMS to Android devices.

> **Inline Notification SMS Message Reply**
> **Inline SMS Message Reply** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]()
Reply to SMS messages directly within native Desktop notifications (macOS).

> **Mirroring**
> **Channel Images for IFTTT and Zapier**
Channel-specific (e.g. [IFTTT](https://ifttt.com/), [Zapier](https://zapier.com/), [Chat](http://lifehacker.com/huge-pushbullet-update-adds-instant-messaging-chat-hea-1714870644)) icon images for most notifications.

> **Notification Mirroring**
Mirror Android notifications (Android).

> **SMS** [![Feature Status: Beta](https://img.shields.io/badge/feature-alpha-blue.svg?style=flat-square)]()
> **Direct Pushes to Desktop**
Send & receive SMS to Android devices.
Adds a `PB for Desktop` PushBullet device for sending pushes to your desktop.

> **Emoji** [![Feature Status: Alpha](https://img.shields.io/badge/feature-beta-red.svg?style=flat-square)]()
> **Developer Friendly**
Ships multiple NodeJS-driven command scripts for Developers, as [code contributions are welcome](#contribute).

Use tags to add emoji to notifications, e.g.: add `{video}` to show a 📺 with every notification.


## Contents

1. [Installation](#installation)
1. [Developers](#development)
1. [Continuous Integration](#continuous-integration)
1. [Development](#development)
1. [Building](#building)
1. [Roadmap](#roadmap)
1. [Contribute](#contribute)
1. [Author](#author)


## <a name="installation"/></a> Installation

## <a name="installation"/></a>Installation

### Standard Installation

Expand All @@ -95,58 +109,55 @@ Grab the latest version here: [Download Pushbullet for Desktop](https://sidneys.
npm install --global pb-for-desktop
```

## <a name="developers"/></a> Developers

### Sources

Clone the repo and install dependencies.
## <a name="development"/></a>Development

### Getting the Sourcecode

```shell
git clone https://github.com/sidneys/pb-for-desktop.git pb-for-desktop
To clone the Git repository and install the required dependencies, run these Shell commands:

```bash
git clone https://github.com/sidneys/pb-for-desktop.git
cd pb-for-desktop
npm install
```

### Scripts
### Developer Commands

The following `npm` scripts are available for development purposes:

#### *start*

Runs the app in development mode.

Usage:

```bash
npm run start
```

Parameters:

- `--debug` Start with development tools
- `--livereload` Start with live reload


#### *localsetup*

Install the app in the System app folder and start it.

Usage:
Installs the app in the System app folder and starts it.

```bash
npm run localsetup
```

Parameters:

- `--build` Rebuild project before installation
- `--debug` Start with development tools

- `--build` Rebuilds app before installation
- `--debug` Start with enabled development tools
- `--beta` Build Beta application version

#### *build*
#### <a name="build"/></a>*build*

Builds the application and creates platform-specific installation packages (see [requirements](#build-requirements)).
If no parameter is supplied, the current platform is built.

Usage:
Supports building a Beta application version, which is running side-by-side with the regular version.

```bash
npm run build
Expand All @@ -157,87 +168,65 @@ Parameters:
- `--macos` Build & Package for macOS
- `--windows` Build & Package for Windows
- `--linux` Build & Package for Linux
- `--metadata` Generate Auto-Updater metadata
- `--beta` Build Beta application version


### Build Requirements

- Building for Windows requires [`wine`](https://winehq.org) and [`mono`](https://nsis.sourceforge.net/Docs/Chapter3.htm) (on macOS, Linux)
- Building for Linux requires [`fakeroot`](https://wiki.debian.org/FakeRoot) and [`dpkg `](https://wiki.ubuntuusers.de/dpkg/) (on macOS, Windows)
- Only macOS can build for other platforms.
## <a name="building"/></a>Building

#### macOS Build Setup
### Build the App for the current Platform

Install [Homebrew](https://brew.sh), then run:
See the [`build`](#build) Developer command.

```bash
brew install wine mono fakeroot dpkg
```
### Multi-Platform Builds

- Only macOS can build all other platforms and requires [Homebrew](https://brew.sh) to install the prerequisite software.
- Building Windows (on macOS, Linux) requires [`wine`](https://winehq.org), [`mono`](https://nsis.sourceforge.net/Docs/Chapter3.htm)
- Building Linux (on macOS, Windows) requires [`fakeroot`](https://wiki.debian.org/FakeRoot)[`dpkg `](https://wiki.ubuntuusers.de/dpkg/)

#### Linux Build Setup
#### Build-for-Windows Preparation on macOS

```bash
sudo apt-get install wine mono fakeroot dpkg
brew install wine mono
```

#### Build-for-Linux Preparation on macOS

## <a name="continuous-integration"/></a> Continuous Integration

> Turnkey **build-in-the-cloud** integration.
The CI deployment is managed by a custom layer of node scripts and Electron-optimized configuration templates.
Completed Installation packages are deployed to [GitHub Releases](https://github.com/sidneys/pb-for-desktop/masters). Builds for all platforms and architectures take about 5 minutes.
Backed by the open-source-friendly guys at [Travis](http://travis-ci.org/) and AppVeyor](https://ci.appveyor.com/) and running [electron-packager](https://github.com/electron-userland/electron-packager) under the hood.

### Setup

1. [Fork](https://github.com/sidneys/pb-for-desktop/fork) the repo
1. Generate your GitHub [Personal Access Token](https://github.com/settings/tokens) using "repo" as scope. Copy it to the clipboard.
1. **macOS + Linux**
1. Sign in to [Travis](http://travis-ci.org/) using GitHub.
2. Open your [Travis Profile](https://travis-ci.org/profile), click "Sync Account" and wait for the process to complete.
3. Find this repository in the list, enable it and click "⚙" to open its settings.
4. Create a new Environment Variable named **GITHUB_TOKEN**. Paste your Token from step 2 as *value*.
1. **Windows**
1. Sign in to [AppVeyor](https://ci.appveyor.com/) using GitHub.
2. Click on ["New Project"](https://ci.appveyor.com/projects/new), select "GitHub", look up this repo in the list and click "Add".
3. After import navigate to the *Settings* > *Environment* subsection
4. Select "Add Variable", insert **GITHUB_TOKEN** for *name*, paste your Token as *value*. Save.
```bash
brew install fakeroot dpkg
```

### Triggering Builds
#### Build-for-Windows Preparation on Linux

1. Add a new Tag to start the build process:
```bash
apt-get install wine mono gcc-multilib g++-multilib
```

```shell
git tag -a v1.0.1
git push --tags
```
The builds are started in parallel and added to the "Releases" page of the GitHub repo (in draft mode).
1. Use the editing feature to publish the new app version.
1. There is no step 3


## <a name="roadmap"/></a> Roadmap

- [ ] Signed binaries
- [ ] Binaries signed for Distribution (macOS, Windows)
- [ ] End-To-End Tests (see [Spectron](https://github.com/electron/spectron))



## <a name="contribute"/></a> Contribute ![Contributions Wanted](https://img.shields.io/badge/contributions-wanted-red.svg?style=flat-square)

Read the [contribution documentation](https://github.com/sidneys/pb-for-desktop/blob/master/CONTRIBUTING.md) first.

- [Dev Chat](http://gitter.im/sidneys/pb-for-desktop): Talk about features and suggestions.
- [Issues](http;//github.com/sidneys/pb-for-desktop/issues) File bugs and document issues.
- [Developer Chat](http://gitter.im/sidneys/pb-for-desktop): Talk about features and suggestions.



## <a name="license"/></a> License

MIT


## <a name="author"/></a> Author

[sidneys](http://sidneys.github.io) 2017
## <a name="author"/></a> Author

[sidneys](http://sidneys.github.io) 2018

18 changes: 18 additions & 0 deletions RELEASENOTES.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
{
"8.5.9": {
"🍾 features": [
"Adds 'In-Line Reply' (interactive Notifications) to Pushbullet User-to-User Chats / Chat Messages (macOS)",
"Adds 'Push Dismissal': When closing individual or multiple Desktop Notifications, the corresponding pushes are marked as `seen` within the backend, too (https://docs.pushbullet.com/#update-push) (macOS)"
],
"💎 improvements": [
"Improves 'In-Line Reply' (interactive Notifications) responsiveness for SMS Messages (macOS)",
"Improves automated dependency installation for the global `pb-for-desktop` Nodejs module",
"Various stability- and performance improvements"
],
"📒 documentation": [
"adds TypeScript Declaration [pushbullet.d.ts](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html) for the official Pushbullet API as well as the undocumented Browser Client & -Frontend (`window.pb`, `window.onecup`, etc.)"
],
"👷 internals": [
"upgrades `electron` to `v4.0.0`",
"upgrades `node_modules`"
]
},
"8.1.1": {
"🍾 features": [
"supports macOS Mojaves' system-wide dark mode (macOS)",
Expand Down
2 changes: 1 addition & 1 deletion app/html/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
disablewebsecurity="true"
partition="persist:app"
preload="../scripts/renderer/webviews/pushbullet-webview.js"
src="http://pushbullet.com">
src="https://www.pushbullet.com">
</webview>
<!-- webview-->

Expand Down
Loading

0 comments on commit e580bfd

Please sign in to comment.