fluidinfo / loveme.do-chrome Goto Github PK
View Code? Open in Web Editor NEWChrome extension for the Fluidinfo object browser
License: Apache License 2.0
Chrome extension for the Fluidinfo object browser
License: Apache License 2.0
This is similar to the ticket for selection text. If the link text is <=20 chars in length, all letters, doesn't start with an @ sign, and the current URL is https?://twitter.com/* then offer the user to go to the lowercase @linktext.
Use the tagging UI from the object browser in the popup.
This could eventually become an option, but for now we should make requests for the tags on URLs and text selections be done as the anonymous user.
Add an option for bi-directional tagging when keywords (tags without values) are given. E.g., a keyword like fun
is used, so we tag the URL with fun
but we also tag the object for fun
with a tag called links
whose value is a list of URLs (we add the current URL to the list or turn an existing value into a list).
Like it says in the subject.
Clicking on the extension icon should open the sidebar.
When a user's credentials are incorrect in the options, the popup should tell them and give them a link to the options page (open on the login tab, if possible).
This will perhaps be controversial....
Make the extension look for fluidinfo.com/display-javascript
tags in FluidDB. When it finds them, the about values that they're on will be treated as namespaces. The contents of the tag will be eval
'd and used to produce display HTML for that namespace.
E.g., we put some javascript into a fluidinfo.com/display-javascript
on the object with about value oreilly.com
. When the user looks at an object with any oreilly.com/xxxx
tag on it, the object's tags & values are passed to the Javascript (which we will have eval'd to get a function). The result is shown in the notification instead of the raw tags and values.
Same thing as Radar Oreilly.
Requests for tags on the current URL or text selection are made as the current user. We should have an option, true by default, to send those requests as the anon user. That will mean the user will not see any private tags they have on the object, but OTOH we wont be logging their username with all the URLs and text selections they make.
The options page should make this clear. I think we already do not log IP addresses of requests, so anon requests are pretty safe.
What the extension calls keywords (tags with no values) should be put under the 'tags' namespace. This also allows them to be accurately detected and displayed when the popup is shown. Do the detection in a separate ticket, though.
Add something like URL=http... to the URI we use to go to the thing engine. That will give it more context to use in deciding what to do.
The extension is currently trying to find tags on text selections irrespective of length. So we're getting /about GET requests on hugely long texts, and right now that's also causing an INSERT into postgres.
I've just done some work to improve / simplify the tagValueHandler in the object browser after a suggestion from Manuel. Update the chrome extension to pick up these changes.
If there are already tags for the current URL, show them in the popup.
We now have an X image in the header of the extension sidebar HTML. We need to make sure that image is displayed and hook up an onClick handler to hide the sidebar.
Follow items should not appear in the context menu if you're not logged in.
When the link text is the same as the link, don't show both in the context menu. It's a bit confusing to see "fluidinfo for this link" and "Fluidinfo for http://......." and when the text link is the same as the link, they take you to the same place anyway.
If the extension is loaded and the user doesn't visit options, you're not logged in even if your correct creds are in the settings. So the background page needs to do a check by itself immediately (as it used to).
When text is selected or when there's something else we're putting into the context menu, also offer the option of following that thing(s). Don't worry about unfollowing, it would take a network call to see if the user is following something just to get the status into a context menu that's about to pop up. Maybe later.
Add options for setting Fluidinfo username and password. Code for this can be taken from the lastpage-chrome extension of @gridaphobe.
When the user has text selected they can tag it. But if they go to a new tab, the tagging of the selection should be cleared.
Subject says it all.
We currently store the user name as it's entered by the user. If it has uppercase in it, this causes a problem when the user goes to tag anything, cause the extension tries to do a PUT onto the object with a namespace that doesn't exist, and so gets a 404.
ntoll suggested we add the domain of the URL for the page you're on to the context menu so that it's easy to follow.
Add popup to display friends' tags on the current URL.
Right now, if you leave the value field empty, you'll get the following error:
"You've set a tag name, but not a tag value"
If you leave the value field empty, the extension should know the value is null.
Display users avatars (when available) next to their tags in the notification popups, not their namespace name.
If the user enters 'fi' in the location bar, make it easy for them to go to the rest of what they type in Fluidinfo.
See docs at http://code.google.com/chrome/extensions/omnibox.html
When the user has text selected and clicks on the extension icon, add the tags to the object for the selected text instead of the current URL. This will make it possible to select something (text) & tag it without leaving the page (i.e., without going to that thing in Fluidinfo).
Try using an iframe to create a sidebar that can utilize the whole height of the browser window to display content.
We will no longer have any form of login or Fluidinfo API calls from the extension, all the action will take place in the sidebar. Time to start ripping out all that work......
The lowercasing stuff is no longer needed.
Get everything that a user follows and use it to help populate the omnibox as text is typed.
When the user selects text, pop up a notification of tags the user or users the user follows has/have on the text.
Like it says in the subject.
Have the content script re-open its port if a send to the bg script fails. This will allow people to upgrade the extension seamlessly without needing to reload already open pages.
The background script currently installs the .js files into existing tabs but doesn't install the sidebar.css into them.
Currently when over an image that is linked, the context menu code sends the link URL to the object browser. Make it so that you have a choice between the link URL and the image URL. This will allow people to tag the image URL, which I think is going to be teh awesome
background.js calls toLowerCase on an undefined value, and that value stays undefined....
Thanks Eric!
If the user is not logged in, pop-up notifications should show tags from whoever the anon user is following. That way people who are not logged in will still see interesting stuff as they browse. We'll need to add some anon/follows tags to some domains/users.
When the user is on a twitter.com page and selects text with no space offer the @ version. That will let people select a Twitter name with no @ in it, and still be able to jump to the @name.
Send the link text to the background script on mouseover in the content. I.e., Add an event listener for mouseover events in the content script and when they happen, send the link text to the background script so it can update the context menu.
This is truly minor, but it would be nice if the tiny little red extension badge kept an accurate count of the number of tags you have on the current page (or selected text, once we start to update it for that).
When the extension takes me to the obrowser, it always does so in a new tab. I'm not sure how other people use browsers, but I generally prefer to have one tab open per domain, unless I'm opening a bunch of articles to read.
I'd like to see an option to have the extension search for an existing fi.com tab and load the appropriate object there, instead of opening a brand new tab. I think this should be possible.
Add a decent options page, using https://github.com/frankkohlhepp/fancy-settings
Some web pages reload themselves automatically, causing the popup notification to be shown repeatedly, even if the tab they're in isn't currently being shown. It's pretty annoying / useless. So only show notifications if the tab that's loading is the one that's being looked at. This will also stop a flood of notifications when restarting the browser if it's restoring state and many tabs have tags on them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.