Giter Club home page Giter Club logo

freshrss-pocket-button's Introduction

FreshRSS Pocket Button

A FreshRSS extension which adds a better Pocket sharing integration.

The existing Pocket sharing functionality of FreshRSS always opens a new tab which you have to manually close after sharing. You also have to stay logged in into Pocket.

With this extension you can simply press the Pocket Button next to an article or a custom keyboard shortcut to share it with Pocket. Everything else happens in the background while you can continue reading articles without any further interruptions.

Download and setup

  1. Download the latest release
  2. Extract and upload it to the ./extensions folder of your FreshRSS installation
  3. Go to Pocket's Developer Portal
  4. Create a new application with at least the add permission
  5. Enter your Consumer Key in the Pocket Button extension settings
  6. Press "Connect to Pocket"
  7. Authorize your just created application
  8. Optional Set a custom keyboard shortcut

Pocket API Error codes

If you get errors while trying to connect to Pocket, please check the Pocket developer documentation for detailed error code descriptions.

Translations

If you'd like to translate the extension to another language please file a pull request. I'd be happy to merge it!

freshrss-pocket-button's People

Contributors

christian-putzke avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

freshrss-pocket-button's Issues

Can't connect to pocket (HTTP 500)

It seems that the extension is not working with the latest snapshot of FreshRSS.

I think the commit 2038d50 had changed the logic of Minz_Request forward. You can't pass a url string anymore. I'm getting the following error while trying to connect to Pocket:

PHP Fatal error:  Uncaught TypeError: Minz_Url::checkControllerUrl(): Argument #1 ($url) must be of type array, string given, called in /app/www/lib/Minz/Request.php on line 386 and defined in /app/www/lib/Minz/Url.php:117
Stack trace:
 #0 /app/www/lib/Minz/Request.php(386): Minz_Url::checkControllerUrl()
 #1 /config/www/freshrss/extensions/freshrss-pocket-button/Controllers/pocketButtonController.php(74): Minz_Request::forward()
 #2 /app/www/lib/Minz/Dispatcher.php(121): FreshExtension_pocketButton_Controller->requestAccessAction()
 #3 /app/www/lib/Minz/Dispatcher.php(50): Minz_Dispatcher->launchAction()
 #4 /app/www/lib/Minz/FrontController.php(60): Minz_Dispatcher->run()
 #5 /app/www/p/i/index.php(57): Minz_FrontController->run()
 #6 {main}
  thrown in /app/www/lib/Minz/Url.php on line 117" while reading response header from upstream

Button forces thinner items

It looks like enabling the extension makes items "shorter" than they should be.

Default (no extension):

image

With extension:

image

Cannot connect app with FreshRSS on different port

my FreshRSS instance is self-hosted and does run on a non-standard port.
When I click the "connect" button in the Pocket Button config to authorize with pocket, the redirect_uri parameter generated for the https://getpocket.com/auth/authorize request doesn't include that port.

I believe this leads to the autorization failing. To be more precise, it looks like the authorization does happen on Pocket's side, but FreshRSS / the extension is missing the response and never recognizes that it is authorized.

if I tweak the pocket.com Authorization URL to contain the port the redirection does seem to work but the connection isn't established. In my pocket.com settings the third-party app I created is listed as authorized, but clicking the pocket icon in FreshRSS yields an error "Adding article to Pocket failed! Pocket API error code: 107"

The pocket button in FreshRSS is only an outline by the way, even after my hacked attempt at fixing the redirect_uri.

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.