Commit Graph

2423 Commits (fea5db3e4b1a9e04cc68b65a0aadfc465d3bbcd6)

Author SHA1 Message Date
Taloth Saldono 37c621dcdb Fixed: Health Check produced warning if Sonarr binaries folder was not writable even when the external script update mechanism was selected.
9 years ago
Taloth Saldono eaf3228bb7 Fixed Regex mistake in CleanLogMessage.
9 years ago
Jake Pusateri c8debbf470 New: Better resolution posters on retina screens.
9 years ago
Mark McDowall 8dcd8d17b5 Fixed: Username must not be null or empty when logging in
9 years ago
Mark McDowall cfe121c777 Don't return series as subtype for /api/episode
9 years ago
Mark McDowall b4f83d8a4e New: Media file extension .webm
9 years ago
Mark McDowall 9039d7e694 Fixed: Show a better error message when no episodes are parsed in a release
9 years ago
Taloth Saldono 7a25717da6 Fixed donate button.
9 years ago
Taloth Saldono 7e1c444c02 Fixed: Curl Fallback should ignore invalid cookies.
9 years ago
Mark McDowall dc3f7c9bda Fixed: Improved parsing for single digit multi-episode titles
9 years ago
Mark McDowall de754169fb Fixed: RSS Sync Interval validation
9 years ago
Mark McDowall 2d3c3bbb0c Changed torrent blackhole message
9 years ago
Mark McDowall 15cefe4a43 New: Option to Hardlink or Copy instead of move for Torrent Blackhole
9 years ago
Mark McDowall 95da301975 A few UI Fixes
9 years ago
Mark McDowall e03906b294 Fixed: Hardlink/Copy files from QBittorrent
9 years ago
Mark McDowall 7921dd3f96 Fixed: Removed Titans of TV tracker
9 years ago
Mark McDowall 9f066f7a6b New: Newznab preset for Usenet Crawler
9 years ago
Casey Bodley 0552b56b71 qbittorrent: client plugin based heavily on uTorrent
9 years ago
Mark McDowall 4fa4b3507e Fixed: Force grabbing some delayed releases
9 years ago
Mark McDowall 8c211364e2 Fixed: Improved parsing of some multi-episode filenames
9 years ago
Mark McDowall 2d9917d074 Re-order regex to prefer [1x01] over 101
9 years ago
Mark McDowall d514699ab7 Fixed: Prevent series from being added with an invalid Profile ID
9 years ago
Mark McDowall 69e3516a89 New: Allow Uppercase in Transmission category
9 years ago
Mark McDowall c8a0f9fa7a Fixed: Saving settings changes
9 years ago
Mark McDowall c2b9504b15 Merge pull request #931 from Dahlgren/osx-development
9 years ago
Matt 8062466ab8 Changing Indexer failure log message to local from UTC.
9 years ago
Björn Dahlgren 6cde1dd5ae Include mediainfo and sqlite3 libraries for Mac
9 years ago
Mark McDowall a9444cef30 Fixed: Folder quality when file quality determined by its extension
9 years ago
Mark McDowall b6b5355261 New: support for REAL releases
9 years ago
Mark McDowall bc37084ec4 Merge pull request #928 from Dahlgren/mono-tests
9 years ago
Mark McDowall 0a1a30f2af Merge pull request #953 from zetas/nn_preset_nzbcat
9 years ago
Keivan Beigi 7e023a7944 ConfigServiceFixture shouldn't be touching the DB.
9 years ago
zetas 91f68de8a7 Adding new newznab preset for NZBCat
9 years ago
Björn Dahlgren 994e2a6c57 Fixed failing tests on Mono
9 years ago
Mark McDowall 04da2d845a Merge pull request #941 from uzegonemad/hotfix/calendar-legend-width
9 years ago
Benjamin Uzelac d3b87bc3e8 give legend ul max width of 100%
9 years ago
Mark McDowall 554c81f251 Merge pull request #901 from brgaulin/jquery_upgrade
9 years ago
Mark McDowall 6de3f9dd0b Merge pull request #942 from uzegonemad/hotfix/calendar-tooltip
9 years ago
Mark McDowall e9692d5b9c Merge pull request #940 from uzegonemad/hotfix/fix-long-path-label
9 years ago
Benjamin Uzelac 1a74990e9b alter calendar tooltip container. fixes #857
9 years ago
Benjamin Uzelac 3b9ac8699d Add wrapping to fix long paths in labels. Fixes #875
9 years ago
Mark McDowall ea6ae85f7a Fixed: Logging invalid version when failing to connect to Kodi
9 years ago
Mark McDowall b02b9f026f Fixed: Failing missing episode search when one search fails
9 years ago
Benjamin Uzelac cd9132520d fix z-index on scroll to top button
9 years ago
Mark McDowall 08d19df3f7 Fixed: Manual import when quality was not available after failed parsing
9 years ago
Mark McDowall b34879b4f6 New: Manual search shows error when download fails
9 years ago
Mark McDowall 6b9c4af591 Fixed: Magnet links with torrent blackhole
9 years ago
Mark McDowall c00c207517 Prevent regrab for all grabs
9 years ago
Mark McDowall 6f7fea3591 PFMonkey Newznab preset
9 years ago
Mark McDowall 83eebfe153 Fixed: Stricter parsing of some release filenames
9 years ago
Gaulin, Brendan fce3f86be7 UI: Update jQuery to 1.11.3
9 years ago
Mark McDowall 2d42c59d70 Fixed: Log download client name when communication fails
9 years ago
Mark McDowall f0933b9786 Fixed: Test messaging when indexer API returns an error with a message
9 years ago
Mark McDowall e4e687c2a4 Fixed: Parsing anime series with number in title
9 years ago
Taloth Saldono 44de353b8b Sanitize dognzb apikey in nzb fetch url.
9 years ago
Taloth Saldono aac4938598 Fixed handling cookies in different system languages.
9 years ago
Mark McDowall d37b24cd0b Better UI messaging when searching for all specials in a series
9 years ago
Taloth Saldono c9a36fe4b2 Fixed sorting on Progress in Queue.
9 years ago
Taloth Saldono f01a21ce43 Degraded 101 regex to favour S01 regex to match prevent matching 3 digit series title.
9 years ago
Taloth Saldono cc72699b8a Fixed: Added verified file transfer mode that doesn't revert to copy.
9 years ago
Mark McDowall 04de0049fe Don't try to process a download client item with an invalid path for the OS
9 years ago
Taloth Saldono 330554edb0 Fixed: External links again open in new windows.
9 years ago
Taloth Saldono a06a3fa5d6 Fixed: Removal of common suffixes such as [ettv] while parsing.
9 years ago
Taloth Saldono e8d6d62fba Warning message when BTN API throw internal server error
9 years ago
Mark McDowall 9cc8ed545f History Spec handles both blackhole and CDH disabled scenarios
9 years ago
Mark McDowall 8bf969983b Tests passing for the wrong reason
9 years ago
Mark McDowall 4ee7d57b7d lrn2spell
9 years ago
Mark McDowall 6ff754eec0 Extend Blackhole grace period to 12 hours
9 years ago
Mark McDowall 862f8024e3 Debug log when release is accepted
9 years ago
Mark McDowall d170c9ad07 Fixed: Torrent Blackhole client will not track torrents by hash
9 years ago
Mark McDowall 20df619ddd HistorySpecification checks cutoff as well
9 years ago
Taloth Saldono f7859c8eb5 Fixed: SeasonPass didn't update Series monitored flag if only those were changed.
9 years ago
Taloth Saldono 97cdcb8b19 Bind SignalR to root SeriesCollection so typeahead gets the newest data.
9 years ago
Taloth Saldono e3c4070924 Fixed: Don't produce scene mapping warnings if TheXEM only maps the second half of a season.
9 years ago
Taloth Saldono 74403815d9 Fixed torznab searching without any id or q.
9 years ago
Taloth Saldono 897937a778 Fixed indeterministic test.
9 years ago
Taloth Saldono b6ddc8756b Fixed typo in nn caps and apikey error message.
9 years ago
Taloth Saldono 25aa3b60b0 Don't be so strict about dupe attr values.
9 years ago
Taloth Saldono fe76d0f98f Refactored the HttpDispatchers.
9 years ago
Taloth Saldono e13c89521d Merge branch 'nn-tvdbid' into develop
9 years ago
Taloth Saldono 828071c1a5 Merge branch 'pr/n721_ta264' into develop
9 years ago
Mark McDowall e67de6aae8 New: Blackhole won't grab another release if release in last hour meets the cutoff
9 years ago
Taloth Saldono 45cdb98c58 Fixed namespace detection for EZRSS now DOCTYPE is gone.
9 years ago
Taloth Saldono 6585aed0a9 Removed doctype from ezrss test.
9 years ago
Taloth Saldono ef305b8d25 Updated Selenium to 2.48
9 years ago
Taloth Saldono 84c7f4cd8c Added support for tvmaze.
9 years ago
Taloth Saldono 9162e97dd5 Added support for querying newznab with multiple ids in one query.
9 years ago
Taloth Saldono 1ad1d73c91 Added tiered indexer requests to support fallback to wildcard queries.
9 years ago
Taloth Saldono 88ce0ec487 Missing TvdbId on ReleaseResource.
9 years ago
Taloth Saldono 99f452e299 New: Added support for newznab indexers using tvdbid for searching.
9 years ago
Taloth Saldono 7af7c2003e Show Specials in Wanted.
9 years ago
Taloth Saldono bb482047b1 Fixed removing partials before trying to copy files.
9 years ago
Mark McDowall a39b36d157 Fixed rTorrent test
9 years ago
Mark McDowall 0841bf1d2a Merge pull request #824 from larsjohnsen/rtorrent-misc
9 years ago
Mark McDowall 97f1761092 Log description for invalid API key response
9 years ago
Mark McDowall 0e90bf5227 Fixed: Don't import single files that start with ._
9 years ago
Mark McDowall 192d001b61 New: Option to remove illegal characters
9 years ago
Mark McDowall 68cd9ab8c8 Don't error out if PMS returns no ID for a specific series
9 years ago
ta264 4be0fe1b76 Add tests for CurlHttpClient and fix the failures
9 years ago
Mark McDowall 9ffa28f17c New: Show time instead of date if event occurs/occurred today
9 years ago
Taloth Saldono 0b219e1169 Fixed nullables.
9 years ago
Taloth Saldono ccfa13e383 Replaced built-in valuetypes with language keywords.
9 years ago
Taloth Saldono d6a135857d Clarified error message when parsed episode doesn't exist in the database.
9 years ago
Lars 6ed7a8b471 rTorrent: Url Path displayed by default, misc
9 years ago
Lars 7426efd423 rTorrent: Fixed label bug
9 years ago
Lars 95017884d7 rTorrent: Fixed race condition
9 years ago
Mark McDowall db5494e7ac Fixed: Tooltips for series and season searches
9 years ago
Mark McDowall 2d7774c018 Use X-Api-Key header in integration tests
9 years ago
Mark McDowall 986dae590b Terminate Sonarr instance created during integration tests by Process ID
9 years ago
Taloth Saldono 99f6c65b76 Removed Trakt to Tvdb migration workaround, so it actually removes the tvrageid when skyhook says so.
9 years ago
Mark McDowall 0c7d8c2d38 Fixed: TV Directory is not required for local rTorrent
9 years ago
Taloth Saldono c63b65eba1 Only apply kat peers fix for recent releases.
9 years ago
Taloth Saldono 3fc348d045 Fixed: Removed deferrer from external links, instead relying solely on the rel=noreferrer attribute (supported by Chrome and Firefox, but not all browser)
9 years ago
Mark McDowall 5dae0b24d3 Merge pull request #768 from kmcc049/fix-bug-709
9 years ago
kmcc049 07b70f9d3f Fixed: Consistent display of sizes
9 years ago
Taloth Saldono 4060a24eec Fixed: Missing Episode Search command wasn't stored properly in the db causing it to search for all series, instead of one.
9 years ago
Taloth Saldono d637ee1a2d Disable kickass seeds/peers info since they only report 0 on the rss.
9 years ago
Taloth Saldono 30bcc662bc Fixed composition.
9 years ago
Taloth Saldono 57afa668e1 Fixed: Removing torcache url query params to avoid redirect.
9 years ago
Mark McDowall d7eae958b7 Fixed: Parse TVRip releases as SDTV
9 years ago
Mark McDowall c591a86b02 Fixed: Parsing 4-digit season packs
9 years ago
Mark McDowall 49dea2cd7f Fixed: Log error message when moving file to recycling bin fails
9 years ago
Mark McDowall fa527d7820 New: Custom Script Download contains SourcePath and SourceFolder
9 years ago
Mark McDowall 81778cb0b0 New: Custom Script environment variables use underscores instead of periods
9 years ago
Mark McDowall e1afd89aae Extremely long titles
9 years ago
Mark McDowall a2f62a5dcd Hide completed downloads when CDH is disabled
9 years ago
Mark McDowall 19f09fdb86 Path and Arguments were set to the same number for CustomScript
9 years ago
Mark McDowall 5acaf9d60b Fixed: Preserve startup arguments during restart
9 years ago
Mark McDowall 741dc8f50b Fixed: Only run a complete section update in Plex if all partial updates fail
9 years ago
Mark McDowall 28a70a0cf1 Fixed: Import episodes in ascending numerical order
9 years ago
Mark McDowall bf10d420ec Show implementationName for metadata
9 years ago
Mark McDowall 7286ccdd56 return early for existing files in UnverifiedSceneNumberingSpecification
9 years ago
Gavin Mogan c5b25bcfee New: Add Webhook support to sonarr
9 years ago
Mark McDowall 53985a282d Succeeded instead of completed for testing
9 years ago
Mark McDowall ffffd8ca69 New: Warning message that Torrent Blackhole will move files, not copy or hard link
9 years ago
Gavin Mogan d3b9ebf86c Convert onGrab from passing a string to passing an object with series and episode information
9 years ago
ta264 d41dd05d00 Fix build on linux and add build.sh
9 years ago
Mark McDowall 8f9e076325 Fixed: Don't log all daily episodes parsing as unknown episodes
9 years ago
Mark McDowall bb144a6df6 New: Ability to push releases to Sonarr via API for processing
9 years ago
bitPhex 4f38454825 Inital work for release pushing
9 years ago
Mark McDowall f032cc8cf6 Support for not adding a hash to some index elements
9 years ago
Mark McDowall 026e05dcee Fixed: Better parsing of full season x265 releases
9 years ago
Taloth Saldono d6bfa561ad mono and .net handle Uri escapes differently messing up the tests.
9 years ago
Taloth Saldono 8d0dab6578 Fixed tests after Uri cleanup logic.
9 years ago
Taloth Saldono 1a402a9cf4 MediaInfo should use ParseSpeed > 0.2 for .ts files to get accurate readings.
9 years ago
Taloth Saldono 211863d55d Fixed: Indexers returning relative urls for grabs.
9 years ago
Mark McDowall 38c57ce73a Fixed: Emby metadata added date will use series added date
9 years ago
Taloth Saldono 372ba13fd2 Fixed SkyHookSearch tests.
9 years ago
Taloth Saldono 9bcb6ff19a New: Sonarr can now update series to use another tvdbid in case when tvdb removes a duplicate and Skyhook detects it.
9 years ago
Taloth Saldono 2627072aab Fixed log message for rss sync gap warning.
9 years ago
Taloth Saldono 7991a3f1c3 Fixed series refresh repeated too often if Sonarr is killed before Scheduled task finishes.
9 years ago
Taloth Saldono 408991e03c Fixed negative NzbGet DownloadLimit
9 years ago
Taloth Saldono 5ea954695e Ignore duplicates when using history to identify an existing downloaditem.
9 years ago
Taloth Saldono 648a16c1bb Fixed: Don't check for missing TheXEM numbering when importing existing series.
9 years ago
Mark McDowall 809c8a7f37 Log number of episodes, not type
9 years ago
Mirx 4faf7ed959 New: Hungarian language support
9 years ago
Mark McDowall 25493654ff Removed semi-colon
9 years ago
Mark McDowall 48f70815a3 Fixed: rTorrent category is optional
9 years ago
Taloth Saldono a84f39bb48 Fixed: Should ignore indexer provided tvrageid when scene naming exception exists.
9 years ago
Taloth Saldono 2d968a725c Only list the matching ignored terms in the rejection.
9 years ago
Mark McDowall b1d0d422e9 New: Support 5-digit multi-episode releases
9 years ago
Mark McDowall 86b748b9eb New: Sonarr logo is optional for Pushalot notifications
9 years ago
Mark McDowall 129d7c9338 Fixed: Series failing to load when there were no seasons
9 years ago
Mark McDowall b82e830e86 Cleanup and refactoring of Twitter notifications
9 years ago
Gavin Mogan 2fbf7a4114 Inital work on Twitter notifications
9 years ago
Taloth Saldono e05365a669 Added missing property to CommandResource.
9 years ago
Taloth Saldono 44e6c46337 Fixed: Refreshing individual series incorrectly delayed the schedule task.
9 years ago
Taloth Saldono ecb4835a16 minor pageable code error.
9 years ago
Rodolphe Stoclin 9b1915a187 New: Boxcar 2 notifications
9 years ago
Mark McDowall db879426db Fixed backbone.collectionview shim
9 years ago
Taloth Saldono c274c7d589 Icon now completely hidden if spinner overlay is shown.
9 years ago
Taloth Saldono 8bd675f9f4 Include indexers name in back-off healthcheck warning.
9 years ago
Taloth Saldono 0a12989a70 Actually added deepmodel shim.
9 years ago
Mark McDowall 5b58bd504d Shim for deepmodel
9 years ago
Keivan Beigi f4d9e3495a Added shim for _
9 years ago
Mark McDowall 3f7ae250c7 AsPageableMixin to make backbone.pageable to stay on same page during fetch
9 years ago
Taloth Saldono 645c9c25d1 Updated spinner visualization.
9 years ago
Taloth Saldono c8b7446f7c Fixed: Readded series monitoring flag to Season Pass view.
9 years ago
Taloth Saldono 293bc55e58 Added link to existing series in add series view.
9 years ago
Taloth Saldono 7eeabd7ca3 Fixed: Updated libcurl version mappings to use libcurl.4 instead of libcurl.3.
9 years ago
Taloth Saldono c16d02fc1d Fixed: indexer returning an empty page during the rss sync.
9 years ago
Taloth Saldono fc75783fbe Rewrote the RequestGenerator to support paging and other refactorings.
9 years ago
Mark McDowall 58b01b91d5 New: Titans of TV tracker
9 years ago
Taloth Saldono c6c68c0c75 Incorrect number of parameters.
9 years ago
Taloth Saldono 9fe8477a40 Now logging nzb&torrent response sizes.
9 years ago
Taloth Saldono 794a7957ef Show thexem outdated mappings message on the calendar as well.
9 years ago
Taloth Saldono 5c1d683e71 Tooltips are now properly hidden if the element is removed from the dom.
9 years ago
Keivan Beigi 0789ace879 Use IsProduction instead of IsDebug to toggle caching on/off
9 years ago
Keivan Beigi 9b16e3b538 _output folder is considered a non-prodction folder
9 years ago
Keivan Beigi 98acd0d886 Added support for custom UI folder
9 years ago
Taloth Saldono 5af12b67be Revert "Fixed: Disabled transactional file transfers since we don't want that feature in master yet."
9 years ago
Taloth Saldono a1bfecedcd Removed duplicate test.
9 years ago
Taloth Saldono f2a70677e4 New: Will now temporarily stop using an indexer if the indexer reported an error.
9 years ago
Taloth Saldono 6d046a8df8 Fixed: Extrapolate scene numbering but won't auto import.
9 years ago
Taloth Saldono 23bd9440b3 Removed duplicate file.
9 years ago
Mark McDowall 0f2bba0615 Custom scripts
9 years ago
Taloth Saldono 492b114510 Added rarbg error code for unknown series.
9 years ago
Taloth Saldono 55412968e0 New: Added auto-detection of indexer capabilities to torznab.
9 years ago
Taloth Saldono 08ebc8d292 Don't list drives that aren't available.
9 years ago
Taloth Saldono ada5919136 Fixed: Disabled transactional file transfers since we don't want that feature in master yet.
9 years ago
Taloth Saldono bfa629f431 Refactored VerifiedFile transfer to have a verified and transactional mode.
9 years ago
Mark McDowall 2a42ad8970 learning to spell
9 years ago
Mark McDowall 08714f79da Renamed Activity to History in episode details modal
9 years ago
Mark McDowall 6983f36f4d New: Show series ratings on series details
9 years ago
Mark McDowall 03cf9a44cf New: Show download client name in GUI notifications
9 years ago
Mark McDowall c4fe645c31 Fixes Release restriction validation
9 years ago
Mark McDowall ea19020015 Fixed: Sorting by timeleft on Activity: Queue
9 years ago
Mark McDowall 1b65ead75d New: Choose download folder for rTorrent
9 years ago
Mark McDowall 889d3d1207 Formatting
9 years ago
Mark McDowall 3c88f6c452 Double clicking test and save won't retrigger button
9 years ago
Mark McDowall cc6ab0ade1 Fixed: Do not monitor specials when monitoring missing
9 years ago
Taloth Saldono 3ad7673d69 Fixed: Doki rss feed now uses correct url for torrent.
9 years ago
Taloth Saldono 51155ba909 Applied workaround for CurlSharp GC handling.
9 years ago
Taloth Saldono 786e0b825a Fixed curl multithreaded access.
9 years ago
Taloth Saldono 7bc4249ede Fixed regression in QueueService caused by pr650.
9 years ago
Mark McDowall fd3dda2b16 Fixed: Removing pending releases
9 years ago
Mark McDowall fa0401fa89 Fixed broken unit test
9 years ago
Mark McDowall 61de750e05 Update plex token cache when password is changed
9 years ago
Keivan Beigi 84ae81efe3 Merge pull request #650 from Kayomani/develop
9 years ago
Taloth Saldono 5c6ac2ae8b Removed trello from CONTRIBUTING as well.
9 years ago
Taloth Saldono 265821c9de Removed link to trello.
9 years ago
Taloth Saldono 1eb6629088 Fixed: Updater occasionally killed Sonarr twice before allowing it to be restarted by upstart.
9 years ago
Taloth Saldono 103de770c3 Fixed thread concurrency issue on http cookie handling.
9 years ago
Taloth Saldono bf3d0ed2d1 Removed dupe tests.
9 years ago
Mark McDowall 3a84e0fafc Actually commented out now...
9 years ago
Mark McDowall 4b9ec94fcc Broken test that we can use once we have better parsing
9 years ago
Taloth Saldono 067f450486 Fixed: BTN Anime Season search.
9 years ago
Taloth Saldono dbb3eb0e54 Series is already available in model.
9 years ago
Taloth Saldono 30ab5bc17f New: Added missing absolute episode number warning for anime to calendar view as well.
9 years ago
Taloth Saldono 8917ea9cc9 Don't log invalid date in rss as Error.
9 years ago
Taloth Saldono c5684439f4 Added robots.txt
9 years ago
Taloth Saldono d46c170b70 Fixed: Matching anime using full series title instead of cleaned title to be able to detect subtle!! differences`!! in titles!!!
9 years ago
Kayomani de8deffbd2 New: Downloads can be tracked by the source name in addition to the download name
9 years ago
Taloth Saldono 0578e68a51 Fixed: Sonarr didn't clear scene mappings if a series was removed from TheXEM.
9 years ago
Taloth Saldono 1ac27002e5 Fixed project files.
9 years ago
Taloth Saldono 2f3e444394 Unsaved file.
9 years ago
Taloth Saldono c02d6c426c Fixed: TorrentRssParser incorrectly detected description element.
9 years ago
Keivan Beigi 102f2e39be Merge pull request #653 from Sonarr/kickass-url-update
9 years ago
Keivan Beigi a78381db7d Merge pull request #654 from Sonarr/remove-pending
9 years ago
Keivan Beigi a143c0b75e Updated migration number to 90
9 years ago
Keivan Beigi 36f97329ff Update the kickass url to https://kat.cr
9 years ago
Keivan Beigi b5b15b623a Updated FluentAssertion to 3.4.0
9 years ago
Keivan Beigi 724a3eee45 Fix: When removing pending items from the queue remove all releases for that episode
9 years ago
Mark McDowall 14b9a031bb Show warning message for rTorrent that it doesn't support torrent removal
10 years ago
Mark McDowall 873fadbcaa Fix the build
10 years ago
Mark McDowall 370406c3de Use a list for ChannelTags and DeviceIds in Pushbullet settings
10 years ago
Taloth Saldono 461be2b388 Removed eztv migration tests.
10 years ago
Taloth Saldono dc75c44a50 Removed HDAccess.net torznab preset since the site has stopped.
10 years ago
Taloth Saldono c9d0bc7148 Fixed: Removed Eztv-like api support entirely since TorrentRss is now available.
10 years ago
Mark McDowall 77e9493ccf Improved PushBullet implementation (v2 API, multiple devices, channels)
10 years ago