chrome/ium data-source plugin uses no-longer-supported api (NPAPI)

Bug #1406636 reported by Robbie Eginton
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Zeitgeist Data-Sources
In Progress
Undecided
Steve Dodier-Lazaro

Bug Description

When I go here:
https://chrome.google.com/webstore/detail/zeitgeist-plugin/cckhkmhbknngejnoepfopckjlbnpookg

to install the Chromium plugin for Zeitgeist, after confirming the installation/permissions, a yellow info bar says "NPAPI plugins are not supported."

No history from my Chromium use seems to be logged in the Activity Journal.

I use Chromium as my primary web browser -- my version info (major version 39):

Chromium: 39.0.2171.65 (Developer Build) Built on Ubuntu 14.04, running on LinuxMint 17.1
Revision: b853bfefba0da840f4574eb3b5c7ad6e9b8573b5
OS: Linux
Blink: 537.36 (@185325)
JavaScript: V8 3.29.88.17
Flash: 16.0.0.235
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/39.0.2171.65 Chrome/39.0.2171.65 Safari/537.36

REASON:

See here: http://www.chromium.org/developers/npapi-deprecation

chrome://flags doesn't seem to have the Enable NPAPI flag anymore; the api seems to be not only deprecated but, in recent versions, well and truly gone.

SUGGESTED FIX:

This is what the Chromium devs suggest for a replacement for communication with native apps:
https://developer.chrome.com/extensions/nativeMessaging

Replacing the data-source would probably entail building a browser extension to watch activity, and then building a zeitgeist sub-process of some sort that can communicate over JSON w/ the extension. It will also be necessary to put a file describing how to start the "host" (i.e. native, zeitgeist-side) process in a Chrome/ium subdirectory.

Other alternatives (probably not relevant) are described here:
http://www.chromium.org/developers/npapi-deprecation#TOC-Alternatives-to-NPAPI

IMPACT:

For me, and I think for many users, the vast majority of my computing is on the internet. There are many days when I don't open a single desktop application besides Chromium. While I can still get benefit out of Zeitgeist by using Synapse, it won't be possible/worthwhile to form the habit of accessing the desktop primarily through the Activity Journal or suchlike until Chrome/ium is supported. Also, it feels like a huge hole in Synapse for it to ignore my web usage -- especially when it *doesn't* ignore the few pages I've visited in Firefox. So, for my use case, this bug is moderately severe.

I'm willing to do some work in making this happen; I have general programming experience, although I haven't any experience with Chrome Extensions or any of the relevant languages except JS and Python, and I'm not sure I feel confident taking on this whole project by myself because I've never successfully built an app or plugin of any size on my own, and only once in a group. Get in touch and tell me what you need done!

Thank you.
-- Robbie Eginton

Revision history for this message
Steve Dodier-Lazaro (sidi) wrote :

I have ported the extension, see https://code.launchpad.net/~sidi/zeitgeist-datasources/chromium-native.

Please note you will need to adjust the authorised extensions in the JSON file of the host based on whatever extension id is given to you by Chromium when loading the extension. This problem should disappear once the extension is published and the host packaged for your distribution.

Changed in zeitgeist-datasources:
status: New → In Progress
assignee: nobody → Steve Dodier-Lazaro (sidi)
Revision history for this message
Omar Campagne (ocampagne) wrote :

Hi Steve.

I've waited for years that someone took over this plugin, since it was for me the most useful
zeitgeist plugin I had.

Unfortunately, I followed the instructiones you wrote here, and the ones in the README file, but it
still doesn't work.

Ubuntu 14.04

Google Chrome 46.0.2

Connecting to native messaging host <b>org.zeitgeist.data-providers.chrome</b>
zeitgeist.js:101 Failed to connect: Invalid native messaging host name specified.
6extensions::uncaught_exception_handler:8 Error in event handler for extension.onRequest: TypeError: Cannot read property 'getProcessIdForTab' of undefined
    at sendAccessEvent (chrome-extension://jbmnffhmfpiaodempbilmiilacmnpbld/zeitgeist.js:17:21)
    at onExtensionRequest (chrome-extension://jbmnffhmfpiaodempbilmiilacmnpbld/zeitgeist.js:117:2)handler @ extensions::uncaught_exception_handler:8
zeitgeist.js:71 Could not inject content in tab, Object(anonymous function) @ zeitgeist.js:71
4extensions::uncaught_exception_handler:8 Error in event handler for extension.onRequest: TypeError: Cannot read property 'getProcessIdForTab' of undefined
    at sendAccessEvent (chrome-extension://jbmnffhmfpiaodempbilmiilacmnpbld/zeitgeist.js:17:21)
    at onExtensionRequest (chrome-extension://jbmnffhmfpiaodempbilmiilacmnpbld/zeitgeist.js:117:2)

Any tip?

Thanks

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.