Code Monkey home page Code Monkey logo

inforss's People

Contributors

codacy-badger avatar thosrtanner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

inforss's Issues

Can't switch fade on/off from toolbar

If you use the scrolling icon, if you switch off fade, when you switch it back on it goes to scrolling.

Possibly this should be a 3-state toggle (off/scrolling/fading).

Error seen if you move the mouse out of the scrolling headline area when there's no news displayed

"[infoRSS]: exception in Object::checkScroll" TypeError: news is null
Stack trace:
inforssHeadlineDisplay.prototype.checkScroll@chrome://inforss/content/inforssHeadlineDisplay.js:1725:1
inforssHeadlineDisplay.prototype.setScroll@chrome://inforss/content/inforssHeadlineDisplay.js:1945:7
inforssMediator.prototype.setScroll@chrome://inforss/content/inforssMediator.js:289:5
inforssHeadlineDisplay.pauseScrolling@chrome://inforss/content/inforssHeadlineDisplay.js:2125:5
onmouseout@chrome://browser/content/browser.xul:1:1

If you select an empty group, you get this a lot

Replace stock javascript alerts with custom

'Javascript program' title bar doesn't really give any information about where it comes from

Note that there is an inforssAlert screen which doesn't seem to be used. Also see the 'quickFilter' popup

inforss doesn't understand livemarks

It has a whole load of obsolete code based on there being document.getElementById("livemark-button");. Which there isn't. This should use the places service if we're going to display livemarks in menus and so on

Also, the 'export as bookmark' option silently fails (you get this in the log)

"[infoRSS]: exception in exportLivemark" Exception { message: "Component returned failure code: 0x…", result: 2147746132, name: "NS_ERROR_FACTORY_NOT_REGISTERED", filename: "chrome://inforss/content/inforssOpt…", lineNumber: 2835, columnNumber: 0, inner: null, data: null, stack: "exportLivemark@chrome://inforss/con…", location: XPCWrappedNative_NoHelper }

inforss.xml cleanups

  • Filtering details sensitivity should be subgroup (i.e control + group + group ... ) empty if no filtering
  • regexp stuff should be part of subgroup in rss - no subgroup if no regexp
  • rename (default)LenghtItem
  • currently need to do a pass through list to set whether or not any feed is a member of a group. Should really maintain a count rather than updating every time you read the repo
  • attribute "group" is the same as the feed type being a group. Shouldn't need both
  • a group doesn't need 'settings' to be set (it's a group, feeds have their own)
  • creating a group doesn't set the 'activity' setting (ummm - this setting is more like "enable" apparently)
  • Too many ways to add a new feed which doesn't end up with the main menu being correct (if you exclude feeds that are in a group) and needing browser restart
  • Default feed items should have their own object and xml tag

Options which should be greyed out if not applicable

  • Collapse bar only applies when Location is status bar
  • Options under 'scrolling headlines' if scrolling headlines is off
  • Options under 'cycling feed group' if radio button is off (?should be a tick box?)
    • Note that behaviour of next feed/group should NOT be disabled as it affects the prev/next buttons

Undocumented behaviours

When porting the documentation, need to add these:

  • Dragging a feed from the menu to the scrolling headline area will add the feed to the current group
  • Right clicking a headline also marks it as read (same as clicking the 'x')

Importing an OPML file does not work

If you import an externally generated OPML file (even with append) you get streams of errors in the debug log.

Really the system should add a new feed for each (new) feed it finds in the OPML file.

Note: A similar thing happens if you reset the repository. I suspect these should both go through the ok/apply route and are instead activated immediately (and wrongly)

Remove occurences of deprecated FlavourSet and update to new drag&drop API

Things to do:

  • Disallow dragging from scrolling bar
  • Disallow dragging of trash, circle icon or or 'add' menu items
  • Fix dragging feed onto scrolling bar. Should (create feed and? ) add feed to current group, normally it complains it can't
  • Dragging should default to 'copy'. it's very disconcerting when you drag a feed url onto the bar and it disappears from your text document
  • Might be nice to allow dragging of feeds onto groups (in menu) but not into feeds

doesnt deal nicely with html errors

If you have a dead feed, you get a lot of 'can't parse xml' messages in the console. probably could handle these better. Moreover 404 pages turn up as green lights in the feed status report

'Activity' name for option is confusing

It's closer to 'enabled' and maybe a normal check box would be better.

Needs a better explanation of what it is for, and also why it is where it is (in advanced/status menu)

Note that one of the things it does do is to grey out the menu item in the main popup.

Will repeatedly decide very old pages need to be redisplayed

Even with my info rss history set to max (which is probably not efficient for other reasons)

this is probably because some feeds store their whole history. I think we should not expire something from the RDF repository if it still exists as a headline.

Rework infoRSSXMLRepository

  • There shouldn't be a global instance. It should be passed around
  • RSSList should be entirely in here
  • The method names are not descriptive

Too many version numbers

There are version numbers in

  • the rdf file (1.4.2.1)
  • the source code (1.4.2 which is used to set the installed version)
  • each of 31 locale files (1.4.1)

This is about 32 too many places to change it.

General cleanups

  • inforssWelcome doesn't appear to be used
  • inforssSettings.xul maps to inforssPrefs.js which is confusing. Also, I think they are both deceased
  • beautify xul files
  • beautify css files
  • clean up commented out styles in css files
  • clean up overly global styles in css files
  • beautify javascript sources
  • remove commented out code
  • jslint/jshint javascript sources
  • inforssFilter appears to be unused
  • inforssInfo appears to be unused
  • inforssWeave appears to be unused
  • inforssBrowser appears to be unused
  • replace for (i ...) with for (let item of array) (even if that is painful to read)
  • deleting timeout object then setting object to null (unless there's some good reason for testing timeout is set)
  • remove delete x and x = null code
  • replace Components...getInstance with const Components.Constructor at file level
  • remove comparisons with false
  • remove unnecessary brackets in if/return/... statements
  • inforssProtocol.js appears to be unused, but notice it's trying to be a component
  • the manifest contains overlay chrome://browser/content/bookmarks/addBookmark2.xul chrome://inforss/content/inforssLivemarkOverlay.xul and overlay chrome://browser/content/feeds/options.xul chrome://inforss/content/inforssGeckoFeedOverlay.xul but neither of those xul files exist so the overlay probably doesn't do anything useful
  • remove uses of eval
  • remove uses of window.setTimer("string", ...)
  • use the .bind mechanism to make callbacks occur in the context of their object rather than passing the object as another parameter
  • use classname.prototype rather than self.xxx = function to define class methods.
  • element.getAttribute returns null, not "". Don't use hasAttribute unless you need to.
  • element.getElementsBy returns an empty list, not null or ""
  • loops creating arrays of unique members should create a Set and then return Array.from(set)
  • boolean attributes should be either set or absent, not true/false (by convention)
  • remove checks for Linspire
  • Replace thing.setAttribute("collapsed", "true"); with thing.collapsed = true; (or false)
  • Ditto for disabled attribute (apparently except for menu and menuitem)
  • and checked attribute
  • remove the 'stringbundle' elements (inforss_bundle) and provide a module that uses the nsiStringBundleService
  • given that most of the prompt boxes have the same title as text, might as well use the prompt module, and give them a title of inforss reloaded, to at least make it clear where they came from
  • ensure all xmlhttprequests have handlers for error, timeout and abort (assuming they can be aborted)
  • replace all loops over arrays to find one member with array.find
  • I think inforss/source/skin/classic/contents.rdf is defunct
  • use for let of rather than loops with nextSibling
  • remove paranoid repeat try/catch blocks

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.