* Sat Jun 07 23:04:02 2003, pabs * added ChangeLog * initial import * Sat Jun 07 23:09:10 2003, pabs * README: added requirements (YAML?) * Sat Jun 07 23:50:58 2003, pabs * raggle: added window type (for scrolling and selection behavior) * raggle: removed some old comments * Sat Jun 07 23:52:03 2003, pabs * added COPYING * Sun Jun 08 00:28:48 2003, pabs * raggle: added text reflow in Window#draw() * raggle: using start of "The Saturn Game" to demonstrate text reflow * raggle: added Link and Date fields to Description window * Sun Jun 08 07:59:37 2003, pabs * raggle: combined item_focus and hilite_auto_select into focus * raggle: sane keyboard configuration * Sun Jun 08 08:04:46 2003, pabs * raggle: added brief documentation to each method * Sun Jun 08 08:11:42 2003, pabs * raggle: slightly improved window refreshing * Sun Jun 08 18:19:32 2003, pabs * raggle: added preliminary online documentation as a pseudo-feed * added rss_grab.rb * Sun Jun 08 18:21:41 2003, pabs * rss_grab.rb: oops * Sun Jun 08 18:45:57 2003, pabs * raggle: added feed-grabbing thread * raggle: switched to select() with timeout so Ncurses::getch doesn't block ruby threads * raggle: added $config['feeds'] ("live" feeds) * Sun Jun 08 18:58:51 2003, pabs * raggle: added feed cache (uses YAML) * raggle: loads and saves from feed cache * Sun Jun 08 20:04:43 2003, pabs * raggle: added YAML dependency (for feed cache) * raggle: added expand_config() (primitive macro expansion) * raggle: $config['{feed_cache,config}_path'] are now derived from $config['config_dir'] * raggle: added '{load,save}_feed_cache' options * raggle: added 'input_select_timeout' option * raggle: added 'updated' field to feed hash * raggle: added 'read?' field to feed hash * raggle: added Alternet feed (pardon my political bias) * raggle: don't crash on empty feeds any more * raggle: slightly more informative comments * raggle: feed title now includes number of unread items * Sun Jun 08 20:56:41 2003, pabs * raggle: added additional online documentation * raggle: re-enabled save_feed_cache (oops) * raggle: added 'site' option * Sun Jun 08 22:11:35 2003, pabs * README: added brief introduction, requirements, etc * added AUTHORS * Mon Jun 09 02:32:39 2003, pabs * added TODO * raggle: code cleanup (moved all methods and code after config hash and Window class definition) * rss_grab.rb: made code much nicer looking (and OOP) * raggle: merged in code from rss_grab.rb * raggle: initial code for feed thread * Mon Jun 09 03:28:20 2003, pabs * raggle: actually parses feeds now :D * Mon Jun 09 10:46:29 2003, pabs * raggle: added 'strip_html' option * raggle: added OpenSounds to default feed list * raggle: all feed item elements are now optional (since different feeds seem to have different things) * raggle: Don't print date if it's not specified * raggle: fixed window redraw from update thread (maybe?) * Sat Jun 14 21:29:31 2003, pabs * raggle: added die() * raggle: added find_browser() (checks ENV['BROWSER'], falls back to links, then lynx) * raggle: added 'browser' option * raggle: added 'msg_load_config' option * raggle: added 'msg_load_feeds' option * raggle: added 'msg_save_feeds' option * raggle: added 'msg_thanks' option * raggle: slightly wider feed window * raggle: slightly shorter item window * raggle: added a ton of default feeds (i may tone this down a little) * raggle: removed ESC as a quit key -- seems to fix system call * raggle: load browser (seems to crash on return.. dunno why) * raggle: saner set_status() * raggle: added populate_feed_window() * raggle: feed thread updates status * rss_grab.rb: added redirect support * rss_grab.rb: handles urls ending in '/' * raggle: added redirect support * raggle: handles urls ending in '/' * Sun Jun 15 05:11:48 2003, pabs * raggle: scrolling works in feed and item windows!!! * raggle: added 'feed_log_mode' option (per-invocation feed log) * raggle: show selected item info in status bar * Sun Jun 15 06:14:15 2003, pabs * raggle: added unread and h_unread colors to item window (for unread feed items) * raggle: moved theme info (colors, window layout, etc) to ${config_dir}/theme.yaml * raggle: added 'browser_cmd' option * raggle: executing stuff works now * raggle: added color on cyan palette options * raggle: Feed::Window#draw takes a color instead of a hilite boolean * Sun Jun 15 06:46:30 2003, pabs * raggle: cleaner default theme * raggle: scrolling works! hoora! * raggle: change default colors * Sun Jun 15 14:53:47 2003, pabs * raggle: added screen support (via 'use_screen' and 'screen_cmd' options) * raggle: updated inline documentation * raggle: screen window (optionally) displays feed item title * Mon Jun 16 13:07:41 2003, pabs * raggle: don't save window sizes to theme * Tue Jun 17 04:11:49 2003, pabs * raggle: separated feed list from feed cache (to avoid losing the former if the latter gets corrupted) * raggle: switched to PStore for feed cache (MUCH MUCH faster loading now) * Tue Jun 17 22:31:28 2003, pabs * raggle: removed debug feeds (they didn't work any more anyway) * raggle: added preliminary support for END (it doesn't appear to work, but it's still there) * Tue Jun 17 23:57:20 2003, pabs * raggle: added command-line option handling * raggle: added command-line feed editor (add, list, remove) * raggle: added lockfile support (so multiple instances of Raggle don't trash each others' changes) * raggle: added command-line option help * Wed Jun 18 01:18:27 2003, pabs * raggle: remove annoying cache lock error * raggle: change cache locking and unlocking to non-blocking * Wed Jun 18 02:09:03 2003, pabs * raggle: added edit_feed (command-line edit feature) * raggle: commented out mouse support (needs patched ncurses-ruby to work at the moment) * Wed Jun 18 02:29:57 2003, pabs * raggle: added documentation for --edit * raggle: multi-instance cache disable now works correctly * Wed Jun 18 10:39:00 2003, pabs * raggle: fixed bug add feed bug reported by Richard Lowe * raggle: added 'unescape_html' option (decode html escape sequences in feed item descriptions) to fix another bug reported by Richard Lowe * raggle: renamed 'strip_html' option to 'strip_html_tags' * Thu Jun 19 02:44:33 2003, richlowe * raggle: Fix bug in net/https require that caused it to be non-optional * Thu Jun 19 03:26:21 2003, richlowe * raggle: Split scrolling out of Window#handle_key, into methods, so bindings can be customized later * raggle: Remove much duplicated "window scrolling" into Window#adjust_to, and call where I've noticed it's appropriate. * raggle: Add config option 'scroll_wrapping' to make behavior configurable when scrolling off the top or bottom of a list. * raggle: Add Window#activate to greatly simplify selecting an item from a list * raggle: Bind KEY_HOME to do the logical opposite of KEY_END * raggle: Bind KEY_NPAGE to do the logical opposite of KEY_PPAGE * raggle: Move page scrolling into scroll_{up,down}_page, and rework so that "page size" is configurable ('page_step'). * Thu Jun 19 05:21:41 2003, pabs * raggle: fixed unescape_html so it actually works * raggle: added special unescape_html bit for ‛, which is "'", and gets used all the time on PragDave's blog (I wonder if there are any more characters like this?) * raggle: added reflow_text parameter to Window#draw * raggle: Link: and Date: no longer reflow and wrap in Description window * AUTHORS: updated Richard's entry * TODO: marked off some stuff * Thu Jun 19 05:47:55 2003, pabs * raggle: minor comment updates * raggle: changed Window#wh to Window#dimensions (I like wh more, but I think Richard was going to kick me) * raggle: 'unicode_munge_str' option works properly now * raggle: handle pathological feeds more gracefully: if we're missing an item title, fall back to the truncated description as a title, and finally a truncated url * raggle: strip newlines from status strings * raggle: changed unicode munge str to 'ZZ' * Thu Jun 19 06:55:22 2003, pabs * raggle: don't allow someone to set a feed refresh of less than 30 minutes without passing the '--force' option on the command-line * raggle: added String#reflow * Thu Jun 19 15:15:08 2003, pabs * raggle: strip leading and trailing whitespace from feed item titles * raggle: do the same for feeds as well :) * Thu Jun 19 16:14:57 2003, pabs * raggle: negative page_step for window-height page-{up,down} * raggle: added 'theme/window_order' option (to control order of window activation) * Thu Jun 19 17:18:04 2003, richlowe * raggle: refix net/https require (rebroke in pabs' merge, I guess) * Thu Jun 19 17:46:43 2003, richlowe * raggle: Make Window#activate punt in feeds with no items. * Fri Jun 20 01:44:26 2003, pabs * raggle: added 'lock_feed_title' option: lock all feed titles to the value you enter (or the value pulled originally) * raggle: reset item offset when selecting new feed * raggle: added '--sort-feeds' command-line option: sort feed list alphabetically (case-insensitive) * raggle: added '--lock-title' command-line option: use it with --edit to lock the title of a specific feed (as opposed to the 'lock_feed_title' config option above, which locks _all_ feed titles. * raggle: added '--unlock-title' command-line option; it does the opposite of '--lock-title' * raggle: added brief descriptions to methods missing them * Fri Jun 20 02:29:18 2003, pabs * raggle: Window#clear actually works now * raggle: clear description window when selecting a new feed * raggle: added command-line documentation for --lock-title, --sort-feeds, and --unlock-title * raggle: added '--purge' command-line option: purge extra feeds in feed cache (only necessary if you manually edit your feed list, since it's called automatically on delete). * Fri Jun 20 03:11:18 2003, pabs * raggle: added 'save_feed_cache' option: save all old feed items, indefinitely (pretty stupid to use; the per-feed --save-items command-line option is probably much more appropriate) * raggle: added '--save-items' and '--unsave-items' command-line options. They set and unset the save_items? attribute on feeds, respectively. * Fri Jun 20 03:47:26 2003, pabs * implemented Richard's key bindings idea. Key bindings are now stored in $config and called as procs * Fri Jun 20 04:01:14 2003, richlowe * raggle: Fix Window#scroll_up_page and Window#scroll_down_page logic. * raggle: Make page up/down never wrap. It's confusing * Fri Jun 20 04:07:44 2003, richlowe * raggle: Fix bug preventing feed item number updating (misnamed variable). * Fri Jun 20 04:22:18 2003, pabs * raggle: terminal resize works now, although you have to press a few keys for it to update (not sure why yet). * Fri Jun 20 04:34:50 2003, richlowe * raggle: Allow a user to invalidate a feed (force a re-fetch) ./raggle (-i | --invalidate | --invalidate-feed) * Fri Jun 20 04:39:10 2003, richlowe * raggle: Invalidate a feed if it's URL changes in an edit. * Fri Jun 20 04:53:24 2003, pabs * added themes directory, and a handful of sample themes * Fri Jun 20 05:00:32 2003, pabs * TODO: updates, schmupdates * Fri Jun 20 21:24:25 2003, richlowe * raggle.1: Add mdoc manpage (needs changing to ms, preferably). * Fri Jun 20 21:31:31 2003, richlowe * raggle: Add -i/--invalidate to usage. * raggle.1: Document -i/--invalidate. * Fri Jun 20 23:03:24 2003, richlowe * raggle: Add a FeedList class, and make $config['feeds'] an instance of it. * Fri Jun 20 23:15:29 2003, richlowe * raggle: Add a Key module, and move routines to be bound to keys into it. * Fri Jun 20 23:26:16 2003, richlowe * raggle: Add default feeds. * Sat Jun 21 00:07:32 2003, richlowe * raggle: Add commands to move items in the item list (u = up, d = down). * Sat Jun 21 00:18:41 2003, richlowe * raggle: Add methods to move items in a window rather than doing it in the key handler * Sat Jun 21 01:46:36 2003, richlowe * raggle: Add item deletion support * Sat Jun 21 01:49:09 2003, richlowe * raggle: Fix typo in return binding. * Sat Jun 21 01:53:29 2003, richlowe * raggle: remove feed indirection through $SRC, there's no reason to use debug feeds anymore. * Sat Jun 21 13:21:10 2003, pabs * raggle: handle nil item titles sanely * raggle: check for --save-items and --lock-title in -e handler before dying * TODO: minor updates * Sat Jun 21 17:05:18 2003, pabs * raggle: added description and license * raggle: fixed move item up and down (wouldn't work outside of feed window) * raggle: make Key::delete select the previous feed * raggle: added Key::sort_feeds (bound to 'S' by default) * raggle: added FeedList#sort * raggle: make move_up and move_down bounded * raggle: Window#draw: escape % in strings * raggle: hilite feeds with unread items * raggle: added Richard to list of authors in command-line help * raggle: moved keybindings above palette in default config * raggle: disabled 'D' delete binding until we figure out a way to flush key events without blocking. there's a bug that causes Ncurses to drop the escape prefix on keys after resetting the window mode, which means you're pressing "A", "B", "D", or "C", respectively, when you press Up, Down, Left, or Right, after exiting a spawned browser. So we can't have anything destructive bound to those keys (eg. delete). * raggle: added a space prefix to the Raggle feed so it stays at the top after a sort * Sat Jun 21 18:43:09 2003, pabs * raggle: misc 1.8 cleanup. still doesn't work in 1.8, but it's a little closer * Sat Jun 21 23:38:31 2003, richlowe * raggle: Remove a 'p' before an exit 0 that I *think* I added by mistake * Sun Jun 22 00:25:12 2003, richlowe * raggle: Use GetoptLong for arg parsing, and *greatly* simplify the case. * Sun Jun 22 00:31:12 2003, richlowe * raggle: Fix FeedList#invalidate (calling a method when I should have been setting a hash item). * Sun Jun 22 00:38:37 2003, richlowe * raggle: Trap SIGINT and SIGQUIT early, and handle them gracefully * Sun Jun 22 00:45:25 2003, richlowe * raggle: Don't activate (and thus switch to 'items' with the (default) auto focus) the item selected after a deletion * Sun Jun 22 00:52:35 2003, pabs * raggle: mark empty feeds as read * Sun Jun 22 01:05:46 2003, richlowe * raggle: Remove Digital Theatre feed from defaults, it's been inaccessible for days now. * Sun Jun 22 01:08:15 2003, pabs * raggle: mark empty feeds in _red_, not as read (that's what I get for _talking_ to Richard, instead of typing to him :D) * Sun Jun 22 02:07:56 2003, richlowe * raggle: Allow FeedList's to be derefed like Arrays (just for Paul) INTERESTING NOTE: We can't delegate to Array, because that breaks YAML in all *sorts* of ways, basically, it makes a call that's delegated to the array, and thus assumes writes out based on the fact that FeedList *is* that array. This is not good. If only I knew the exact method I had to implement in FeedList to convince it not to do that. * Sun Jun 22 02:30:23 2003, richlowe * raggle.1: Add BUGS section, attempt to make option list easier to read * Sun Jun 22 02:41:16 2003, richlowe * raggle.1: Spellcheck * raggle: Spellcheck comments and strings. * Sun Jun 22 03:11:55 2003, richlowe * raggle: Default feeds refresh at 2 hours, rather than half an hour. * Sun Jun 22 03:19:46 2003, pabs , * raggle: add attributes to window colors * raggle: add attribute handling to Window#draw * raggle: added 'describe_hilited_feed' option; describe the hilited feed in the description window when hiliting them * raggle: only hilite error feeds, not ones that havne't been updated * raggle: remove strange p at the beginning of the line * raggle: add description for Raggle feed (for the inital stuff in the description window) * raggle: add attribute palette (similar to the color palette) * raggle: added new color keys to description window (for hiliting the feed description options) * raggle: change updated timestamp on all default feeds to zero * Sun Jun 22 04:09:24 2003, pabs * raggle: duplicate url in get_url (prevent prefix stripping) * raggle: move .to_i back into option handling (opts['id'] should always be a Fixnum * raggle: fix lock_title? bug * raggle: pruned default feed list to 10 items * Sun Jun 22 04:19:53 2003, richlowe * raggle.1: Add KEYS section to manpage documenting keybindings. * Sun Jun 22 04:31:18 2003, richlowe * raggle.1: Add an EXAMPLES section to the manpage giving examples of common usage (I hope) and (hopefully) offsetting the woeful quality of the rest of the page. * raggle.1: Add a license (copy/paste/sed from the executable) * Sun Jun 22 04:40:36 2003, richlowe * raggle.1: Pronouns. * Sun Jun 22 04:43:12 2003, richlowe * raggle.1: Fix type of list used in BUGS. * Sun Jun 22 04:56:14 2003, richlowe * raggle.1: Mention the email address that bug reports should be sent to. * Sun Jun 22 04:49:57 2003, pabs * raggle: ONLY I HOLD HTE COPYRIGHT MWHEHHAWHHAHAEHEH :) * raggle: change ncurses to "console"; it sounds nicer. * raggle: make sure richard is listed as an author everywhere * raggle: upped 'feed_refresh_warn' to 60 minutes * raggle: make 's' sort, instead of 'S' * raggle: updated timestamps on all raggle feed items * raggle: removed Ruby URL from welcome message (raggle feed description) * raggle: added basic navigation information to welcome message * raggle: updated welcome feed item * raggle: removed usage feed item * raggle: updated keyboard feed item * raggle: cleaned up reading feeds feed item * raggle: wrote adding feeds feed item * raggle: removed "Configuring Raggle" feed item * raggle: added "Files" feed item * raggle: updated reporting bugs section * Sun Jun 22 05:29:02 2003, richlowe * raggle: Fix bug where deleting an item would offset win/feed index, and cause widespread confusion, and a crash, when selecting the last item. It also made me change the code again, which I had commited myself to not doing (think of it as the "Richard sucks feature freeze", I think Paul will kill me if this breaks other stuff :) * Sun Jun 22 11:07:14 2003, pabs * README: updated system requirements * README: added installation section * README: added getting started section * README: added related links section * README: added Richard to the authors section * Mon Jun 23 00:39:22 2003, richlowe * README: Fix spelling. hilited -> highlighted, sorry, ispell agrees with me * Mon Jun 23 00:42:05 2003, richlowe * README: Fix spelling in comment, hilite -> highlight, see ispell comment above. (String will be fixed in code after release) * Mon Jun 23 04:37:14 2003, richlowe * TODO, BUGS: Mention that I have patches for description scrolling * raggle.1: Sync with BUGS * Mon Jun 23 05:07:58 2003, richlowe * raggle.1: Update BUG report URL to match inline documentation. *please* try to keep these in sync * Mon Jun 23 06:01:13 2003, richlowe * raggle: --lock-title and --save-items were being ignored with --add, fix (apparently missed in a merge). * Mon Jun 23 16:50:12 2003, pabs * raggle: updated themes to support new feed color stuff * Mon Jun 23 17:10:40 2003, pabs * raggle: --version doesn't require an argument * added Makefile (just for make install) * README: updated installation section to account for make install * Mon Jun 23 18:32:35 2003, richlowe * Makefile: Don't install rss_grab.rb * Mon Jun 23 18:49:04 2003, pabs * raggle: added 'msg_grab_done' and changed the grab feed thread to use it instead (it defaults to "Raggle #$VERSION" at the moemnt) * README: add comment about terminal size * Mon Jun 23 19:09:33 2003, pabs * added MANIFEST * releasing 0.1.0 * Mon Jun 23 19:18:17 2003, pabs * raggle: pretty error for unknown options, not an exception * okay, __really__ release 0.1.0 now * Mon Jun 23 19:48:17 2003, pabs * raggle: fix Raggle feed URL, just in case someone mucks with the refresh interval (which is set to -1 by default) * raggle: seriously, 0.1.0 * Mon Jun 23 01:27:30 2003, richlowe * raggle: Move find_{app,browser} into a Path:: module, something like cleanliness (but not really) * Mon Jun 23 01:36:35 2003, richlowe * raggle: Make Window#draw use String#reflow, rather than it's own. * Mon Jun 23 02:28:47 2003, richlowe * raggle: Add *very* basic description window scrolling, (only item desc, breaks feed desc *badly*) describe_feed -> FeedList#describe * Mon Jun 23 03:46:38 2003, richlowe * raggle: Break Window into subclassed TextWindow, and ListWindow. * raggle: Bound scrolling in TextWindow#scroll_{up,down} * Mon Jun 23 03:53:29 2003, richlowe * raggle: Implement page scrolling in TextWindow * Mon Jun 23 04:20:48 2003, richlowe * raggle: Don't wrap in list windows, you only get 1 line of it anyway. * Mon Jun 23 05:13:06 2003, richlowe * raggle: Reset the desc win offset to 0 when changing it's contents. * Mon Jun 23 05:21:37 2003, richlowe * raggle.1, BUGS, TODO: Remove references to description window not scrolling, it does now. * Mon Jun 23 21:55:42 2003, richlowe * raggle: make die() act like BSD err()/errx() (depending on whether $! is set) * Mon Jun 23 22:02:37 2003, richlowe * raggle: Up version to 0.2.0 * Mon Jun 23 22:06:24 2003, richlowe * raggle.1: Add HISTORY section mentioning first release. * Mon Jun 23 23:05:07 2003, richlowe * raggle: Strip HTML tags from titles in ListWindows (It seems some RSS feeds leave tags in the item title). * Mon Jun 23 23:11:34 2003, richlowe * raggle: unicode_munge_str ZZ -> !u! Don't revert, come up with a *better* solution, ZZ is not obviously non-content. * Mon Jun 23 23:39:35 2003, richlowe * raggle (String#reflow): Allow for space when calculating used space * Mon Jun 23 23:54:55 2003, richlowe * raggle (String#reflow): If we move when space is inserted, we don't have to tailor the math to allow for the extra * Tue Jun 24 00:13:07 2003, richlowe * raggle (handle_Command_line): No need to error on unrecognized options GetoptLong does it for us. * raggle (handle_Command_line): Only rescue GetoptLong::InvalidOption, so we can still see other errors * Tue Jun 24 08:36:58 2003, richlowe * README: Mention that we work with both YAML-Ruby, and syck (YAML-Ruby's successor) * Tue Jun 24 08:44:56 2003, richlowe * raggle: Parenthesize args to get_win_id in Key::open_link, as per warning from ruby1.8 * Tue Jun 24 10:38:45 2003, richlowe * raggle: Add option 'force_text_wrap' that will forcibly wrap long unwrappable lines, and use it in TextWindow#reflow_string * raggle: Fix bug in Window#reflow_string that caused window size to have 4 taken from it. (the fix is wrong, expect the right one in a minute or two. * Tue Jun 24 10:45:31 2003, richlowe * raggle: The afformentioned fix, plus some cosmetic adjustments to the wrap width. * Tue Jun 24 11:00:20 2003, richlowe * raggle: Add Window#clearrange to make it possible to only clear the part of a window that needs clearing. * raggle: Implement Window#clear in terms of Window#clearrange * raggle: Make TextWindow#draw use clearrange and *massively* speed up scrolling * Tue Jun 24 11:08:25 2003, richlowe * raggle (Window#draw_text): Only draw the parts of the text we'll be able to see (speed win) * Tue Jun 24 11:37:28 2003, richlowe * raggle: The clearrange clearing was clearing a line too high, with humourous results, fix. * Tue Jun 24 12:00:58 2003, richlowe * raggle: Fix subtley missplaced math in TextWindow#draw_items, drawing happens as you would expect now. * Tue Jun 24 15:37:52 2003, pabs Pull patch from RAGGLE-0-1 * raggle: The Key:: function the home and end keys are bound to, calls a function that doesn't exist. Apply fix from Ville Aine (vaine@cs.helsinki.fi). * AUTHORS: add Ville Aine to AUTHORS * Tue Jun 24 18:09:34 2003, richlowe * raggle (Window#draw_text): Oops, I somehow reverted the "not drawing the last line" fix, put it back. * Tue Jun 24 22:53:34 2003, richlowe * raggle (Window#select_win_item): *** SECURITY FIX *** Previously to this change (including 0.1-release) Shell metacharacters in URLs would be passed through unchanged, leading to the possibility of a malicious feed being able to run arbitrary commands as the user running raggle. This commit introduces two new config options 'force_url_meta' (defaulting to false) to force the acceptance of URLs containing shell metacharacters, and 'shell_meta_regex' (defaulting to /([\`\$]|\#{)/, but in need of refinement), URLs matching this regex are ignored, and an error is displayed in the status line ********************* * Tue Jun 24 23:12:21 2003, richlowe Pull patch from RAGGLE-0-1. * raggle (FeedList#describe): Handle the possibility of describing a feed that has never been updated (and thus feed['updated'] being nil), reported by Brian Almeida (bma@tynian.net). * Tue Jun 24 23:24:13 2003, richlowe * raggle (TextWindow): Implement #scroll_top and #scroll_bottom, for HOME/END bindings. scroll_bottom is just a stub right now, until I come up with the correct way to do it. * Tue Jun 24 23:35:17 2003, richlowe * raggle (TextWindow#scroll_bottom): Implement, Home and End keys now work in TextWindow's too. * Wed Jun 25 12:25:45 2003, pabs * raggle: set_status() shouldn't die on a nil message (reported by Brian Almeida (bma@tynian.net)). * Wed Jun 25 16:33:40 2003, pabs * raggle: fix off by one error in feed list size check in FeedList#get, FeedList#delete, FeedList#invalidate, and FeedList#edit. Reported by Ville Aine (vaine@cs.helsinki.fi). * raggle: above methods should be using die, not raise. * Wed Jun 25 20:47:15 2003, pabs * raggle: save read status of feed items, regardless of whether or not we save the actual feed (much nicer this way) * Thu Jun 26 01:55:02 2003, richlowe * raggle: Catch all exceptions out of main and only print the stack if the user asks for it (at pabs request). Enable with --diag or setting 'diag' => true, in your config file. * raggle.1: Change bug address back again, I'm sure I've seen it as ragglebug@, oh well * raggle.1: Document --diag * raggle.1: Document --config and --config-file, how did I miss these? * Thu Jun 26 02:19:30 2003, richlowe * raggle: I changed the case in handle_Command_line, but not the Getopt. I'm a tool, this fixes the last commit. * raggle: Die in the top level exception handler, don't just dump the message. * Thu Jun 26 02:23:17 2003, richlowe * raggle: Actually set the status line when we encounter a malicious URL, it's "Being a Tool" day here at richlowe towers. * Thu Jun 26 02:29:52 2003, richlowe * raggle: Beep when we get a bad URL, make it obvious something happened and maybe pull attention to the status line. * Thu Jun 26 02:34:07 2003, richlowe * raggle: Correctly Pad URLs and Dates away from the name tag in the description window (they don't butt the colon now). * Thu Jun 26 03:31:33 2003, richlowe * raggle: Don't display dates when they're not in the feed (set to "0"). * Thu Jun 26 03:34:48 2003, richlowe * raggle: Correctly correctly pad URLs, the title's were being indented, the text was drawn correctly. * Thu Jun 26 12:47:42 2003, pabs * raggle: fix space prefix problem in String#reflow * raggle: remove unnecessary String#dup calls from reflow_string methods (String#reflow already returns a dupped string) * Thu Jun 26 14:29:10 2003, pabs * raggle: fixed nil.unescape_html bug reported by Ville Aine (vaine@cs.helsinki.fi) * Thu Jun 26 20:08:18 2003, pabs * raggle: applied command-line option handling code cleanup from Ville Aine (vaine@cs.helsinki.fi). * Thu Jun 26 20:10:48 2003, pabs * AUTHORS: update Ville Aine's entry. * Thu Jun 26 20:36:05 2003, pabs * raggle: added mark all items as read (bound to 'm') * raggle: added shell escape (bound to '!') * raggle: added jump to next unread (bound to 'n') * (all this stuff was suggested by Ville Aine) * Thu Jun 26 21:08:38 2003, pabs * raggle: fix "Link:" and "Date:" X values now that the String\#reflow bug is fixed * Thu Jun 26 21:28:14 2003, pabs * raggle: redo the String#reflow fix (I changed it to show Richard why it broke, and accidentally recommitted it that way) * Thu Jun 26 21:29:15 2003, richlowe * raggle: Bind ^L to refresh the screen (this uses a literal ^L in the code, this is evil) * Thu Jun 26 23:46:27 2003, richlowe * raggle.1: Document 's', 'o', 'm', '!' and 'n' in the KEYS section. * raggle: Document 'm', '!' and 'n' in the Keyboard section of the internal documentation feed. * Fri Jun 27 17:14:16 2003, pabs * raggle: fix bug in FeedList#edit so --save-items works again * Fri Jun 27 17:57:16 2003, pabs * TODO: add new ideas to list * raggle: change 'Q' to 'q' in inline keyboard documentation * Fri Jun 27 18:56:47 2003, pabs * remove old/ * Sat Jun 28 15:18:30 2003, pabs * removed rss_grab.rb * added extras/rss_grab.rb * added extras/feed_sizes.rb * Mon Jun 30 21:13:06 2003, pabs * raggle: make --list-feeds handle feed titles and urls with % characters in them * Mon Jun 30 21:18:02 2003, pabs * raggle: applied patch from Ville Aine: make sure HTTP connections are closed, even when an exception is raised * Mon Jun 30 21:22:30 2003, pabs * raggle: aplied patch from Ville Aine: select_next_unread shouldn't crash if there's no unread items * Mon Jun 30 21:30:28 2003, pabs * raggle: applied patch from Ville Aine: Key::delete shouldn't crash if the feed list is empty * Mon Jun 30 21:56:33 2003, pabs * AUTHORS: updated Ville's entry and Richard's entry, added Richard Zidlicky * Mon Jun 30 22:56:03 2003, pabs * raggle: applied Ville Aine's import/export OPML patch * raggle.1: applied Ville Aine's import/export OPML patch * Tue Jul 1 04:55:56 2003, richlowe * extras/feed_dump.rb: Occaisional misshaps mean I lose my feedlist (note: not due to raggle bugs, generally my incompetance) This will dump title, url from the feed cache, and make it *much* easier to recreate the feedlist. (dumps raggle command lines to add the feeds found in the feed cache) * Tue Jul 1 05:50:20 2003, richlowe * raggle: Add support for moving to the previous unread item (bound to 'p'). * raggle.1: Document above in KEYS * raggle.1: Fix documentation for 'n' in KEYS (typo). * Tue Jul 1 06:10:26 2003, richlowe * raggle: Remove *many* derefs of the $wins array. Basically, get the win out of $wins when you get the id, thus getting both the id and the window *once* per func, rather than just getting the id, derefing $wins each time you need that window. I've tested everything I can see, and all is good, it's also a mechanical change, but we all know what happens when I make 'simple' changes. * Tue Jul 1 06:36:25 2003, richlowe * raggle: Draw the windows before we load the feed cache (not noticable here, but hopefully an improvement for large values of FeedCache.size). * Tue Jul 1 06:55:27 2003, richlowe * raggle.1: Mention ^L * raggle: unbind r, ^L is good enough. * raggle: Properly redraw when the feedcache has loaded. * Tue Jul 1 07:06:52 2003, richlowe * raggle: Only clear the part of the window that's necessary in Key::delete (real fix follows). * Tue Jul 1 07:14:15 2003, richlowe * raggle: Make ListWindow#draw_items do it's own clearing, as TextWindow#draw_items does, and remove the calls to .clear that this invalidates. Unfortunately, the TextWindow#clear calls can't be removed, since the Description, and article bodies would require blanking possible arbitrary lines in the switch, and it seems overkill to code up a func to blank unchanged lines, to avoid a redraw in that case. * Tue Jul 1 07:58:57 2003, richlowe * raggle: Fix some typos (and spelling errors) in comments and documentation. * Wed Jul 02 21:58:48 2003, pabs * raggle: fix the find_browser() bug reported and patched by Jon Bernard (jbernard@roanoke.edu) and Claes Nasten (pekdon@pekdon.net) (and someone else maybe?) * raggle: make die() take multiple arguments. ala puts * Thu Jul 03 15:15:19 2003, pabs * raggle: escape % in die strings. Based on a patch from Nikolai Weibull (lone-star@home.se) * Thu Jul 03 16:06:09 2003, pabs * raggle: args => *args in die() * Thu Jul 03 16:08:05 2003, pabs * raggle: i don't like "Eeeeeek" * Thu Jul 03 16:12:32 2003, pabs * raggle: switch order of $config['diag'] conditional (move it outside rescue block). screen cleanup wasn't happening properly for error messages because of this rescue block. * Thu Jul 03 16:16:17 2003, pabs * raggle: don't draw if text == nil or text.size <= 0 in draw_text * Thu Jul 03 21:08:51 2003, pabs * ChangeLog: attributed % escape in die() to correct person * Thu Jul 03 22:04:09 2003, pabs * AUTHORS: updated to reflect all the new patches * Thu Jul 03 22:15:38 2003, pabs * TODO: added some new stuff, marked off finished stuff * Fri Jul 04 18:14:19 2003, pabs * doc/pauls_feeds.yaml: remove Digital Theatre; it's nothing but trouble * Sat Jul 5 01:01:57 2003, richlowe * raggle: Escape everything we pass to Ncurses::mvprintw, it turns out that there's an sprintf hidden away in there. (Thanks to Richard Zidlicky for the backtrace, for some reason I hadn't managed to get a non-mangled one previously). * Tue Jul 8 17:31:30 2003, richlowe * raggle: Change the regular expressions involving escaped forward slashes '\/', to use %r!! so we don't have the ugly escapes. I find this more readable. * Wed Jul 9 03:49:15 2003, richlowe * raggle: Fix various parenthesis warnings, and one actual syntax error (I knew that ^L would come back and bite me in the ass), raggle now runs under ruby1.8-preview3 (the first 1.8 preview to include syck/YAML and REXML (according to ruby-lang.org)) * README: Update to note that 1.8.0-preview3 works. * BUGS: Mark the "Doesn't work under 1.8" bug as fixed, also the format bug I fixed a few days ago * Wed Jul 9 05:09:07 2003, richlowe * raggle.1: Fix a bug in the examples. * raggle.pod: Re-write the manpage in POD, thus getting a far more portable man page, the intent is that raggle.1 will be the output from running pod2man on this file, and that anyone changing raggle.pod will run 'make man' and commit both files. Currently 'make man' creates raggle.1.new until I'm convinced of the suitability of POD. * Makefile: Add a 'man' target to create raggle.1 (raggle.1.new, right now) from the POD source in raggle.pod * Thu Jul 10 03:10:54 2003, pabs * raggle: die() didn't save the results of escape_format(); added a String#escape_format! and used that (reported by Ville Aine, as usual). * raggle: applied select_unread patch from Ville Aine * raggle: applied preferred desc element patch from Ville Aine * Thu Jul 10 05:02:37 2003, pabs * raggle: do refresh check on opml import and with --add (patch from Ville Aine). * Thu Jul 10 05:03:24 2003, pabs * AUTHORS: update ville's entry to reflect new patches * Thu Jul 10 05:07:48 2003, pabs * README: update raggle url (raggle.org baby!) * raggle: update inline help feed urls to point at raggle.org * Thu Jul 10 05:10:49 2003, pabs * raggle: use the term "online help" instead of inline help in online documentation refresh URL (is this more or less ambiguous?) * Thu Jul 10 08:42:41 2003, pabs * raggle: apply patch from Ville Aine to fix bug reported by radsaq (kmradlof@colby.edu). * Fri Aug 15 16:54:26 2003, pabs * last commit message was wrong (that's what i get for binding it to a key) * raggle: merge Ville Aine's second HTML renderer * raggle: preliminary proxy support (doesn't work yet) * Fri Aug 15 18:20:12 2003, pabs * raggle: fix possible empty feed crash * Fri Aug 15 18:24:08 2003, pabs * raggle: move "LINKS:" text to $config['msg_links'] * Fri Aug 15 18:27:10 2003, pabs * added doc/theme_documentation.txt * Fri Aug 15 18:58:03 2003, pabs * raggle: removed initial Raggle Help feed. Now points to an online version of the help (at raggle.org). This should fix the disappearing help problems people have reported, and enable us to add additional help as necessary. * Fri Aug 15 19:07:43 2003, pabs * raggle: added $config['thread_priority_{main,feed}'], with the main thread priority set much higher than the grabbing (feed) thread. Should fix UI stalls when grabbing feeds. * Fri Aug 15 19:13:18 2003, pabs * raggle: handle © and ™ entities * Fri Aug 15 19:17:36 2003, pabs * README: added Ville Aine as an author. * AUTHORS: updated Ville Aine's entry (added HTML renderer) * README: added RSS feeds for Richard and myself. * raggle: added RSS feeds for Richard and myself. (Ville, do you have a web site?) * Sat Aug 16 08:57:25 2003, pabs * TODO: marked off some stuff that's been done * raggle: added Ville to the list of authors * raggle: added HTTP proxy support (via $config['proxy'] or, if that isn't set, the http_proxy and no_proxy environment variables) * raggle: --invalidate now accepts -1 to invalidate all feeds * raggle: added conditional HTTP GET support (doesn't fetch or parse unless the Last-Modified header has changed) * raggle: --add only requires a URL now * raggle: removed a few old comments * raggle: updated KernelTrap feed URL. * raggle: added paulduncan.org and richlowe.net to default feed list. * README: updated --add documentation in "Getting Started". * README: mention Raggle mailing list in "Getting Started". * raggle: added 'select_first' focus type. doesn't work yet, but eventually it'll be the select first item on activate mode. * Sat Aug 16 12:16:23 2003, pabs (in the last commit, but I forgot to mention it). * raggle: wrap the external libraries with a slightly more intuitive error message. it points people at the README or the web-based installation instructions if YAML, REXML, or Ncurses-Ruby are missing. * Sat Aug 16 12:20:40 2003, pabs * doc/pauls_feeds.yaml: updated Richard's feed URL. Ditto for mine. * Sat Aug 16 19:54:13 2003, pabs * raggle: added HTTP headers to config: includes Accept, User-Agent, and Accept-Charset. * Sat Aug 16 20:05:07 2003, pabs * raggle: added $config['use_http_headers'], to ward off the inevitable * raggle: removed REXML and YAML version from user-agent header * Sat Aug 16 20:07:54 2003, pabs * raggle: fix 1.8 encoding bug reported by srl * Sat Aug 16 20:35:32 2003, pabs * raggle: fix non-proxy HTTP grabbing (oops). also reported by srl. * Sat Aug 16 20:44:05 2003, pabs * raggle: he's still having problems. maybe this fixes it? * Sat Aug 16 20:53:18 2003, pabs * raggle: just to clarify, he's having a problem with release as well; I'm suspecting something is up with his Ruby install, but I'm not sure. Raggle stuff appears to be working fine (so noone try and fix what isn't broken ;)) * Sun Aug 17 07:11:12 2003, pabs * raggle: added manual updating (for modem lusers). you have to enable $config['use_manual_update'], then the feed grabbing thread will only run when the user presses 'U'(that's shift-U). * Sun Aug 17 07:43:18 2003, pabs * raggle: added $config['update_on_startup']: do we update the feed list automatically on startup? * Sun Aug 17 07:45:27 2003, pabs * raggle: minor cleanups * raggle: added $config['url_handlers']; raggle can handle file: and exec: prefixed URLs as well. the syntax for file URLs is the same as HTTP URLs, and it returns the file modification time as the last_modified (caching) information. the exec: prefixed URLs look basically like this: 'exec:cat /home/pabs/doc/test_rss_file.xml' also, we might consider restricting the refresh interval to HTTP URLs, since it doesn't make sense to have to force a two hour update on a file URL. something to think about * raggle: fixed adding new entries with just the URL (itw asn't setting the title or the default refresh) * Sun Aug 17 09:25:29 2003, pabs * raggle: don't import OPML URLs with exec: prefix. period. * raggle: don't check refresh interval on file: or exec: URLs * Sun Aug 17 10:44:40 2003, pabs * added extras/rss_dir_list.rb (as a test for exec: URLs). Note that this command can take quite a while to run on larger directories or slower machines (because of the stat() calls) * Sun Aug 17 10:46:50 2003, pabs * added extras/test_html_renderer.rb (forgot about it before) * Sun Aug 17 10:48:15 2003, pabs * raggle: add Ville to the list of authors at in the top comment * Sun Aug 17 10:50:36 2003, pabs * BUGS: add srl's OSX bug report to BUGS (although it might be a screwy install on his machine) * Sun Aug 17 10:54:29 2003, pabs * raggle: disable manual update in default config (silly me) * Sun Aug 17 10:56:30 2003, pabs * doc/default_config.rb: update from raggle app * Sun Aug 17 11:39:14 2003, pabs * raggle.1: added Ville Aine to authors list * raggle.1: changed raggle contact to raggle-dev@raggle.org * raggle.pod: added Ville Aine to authors list * raggle.pod: changed raggle contact to raggle-dev@raggle.org * doc/pauls_feeds.yaml: updated KernelTrap URL * doc/pauls_feeds.yaml: removed Google News links * raggle: added 'I' key to force a feed update (invalidate) * raggle: handle host-relative HTTP redirects properly * raggle: fix date string bug * raggle: update Pablotron RSS URL * extras/rss_dir_list.rb: add version to rss element * doc/pauls_feeds.yaml: removed broken links, sorted, etc * added doc/pauls_feeds.opml.gz * Sun Aug 17 12:24:40 2003, pabs * raggle: releasing version 0.2.0 * Sun Aug 17 12:34:35 2003, pabs * raggle: incrementing versoin number to 0.3.0 * README: ditto * Mon Aug 18 11:35:41 2003, pabs * raggle: apply patch from Ville to fix terminal resize bug reported by mgarriss@earthlink.net * Mon Aug 18 11:54:43 2003, pabs * raggle: Window#refresh should muck with @win, not win * Tue Aug 19 14:03:11 2003, pabs * raggle: apply fix from mgarriss@earthlink.net for "connection is already set up" bug * Tue Aug 19 14:14:02 2003, pabs * BUGS: mark "connection is already set up" off the list * Tue Aug 19 17:35:35 2003, pabs * raggle: don't restrict ourselves to ruby1.8 (dont' know how that got there...) * Wed Aug 20 15:37:36 2003, pabs * raggle: fix nil in HTML::Parser::each_token reported by mgarriss@earthlink.net * raggle: clean up Ville's evil tabbing ;). * raggle: fix thread_priority_* unset in config bug reported by Richard Zidlicky * Wed Aug 20 16:50:22 2003, pabs * raggle: explicitly invoke the GC at user-defined interval * raggle: slightly more concise fix to unset thread priorities in config * Wed Aug 20 16:54:47 2003, pabs * BUGS: add entry for memory leak * Thu Aug 21 18:27:37 2003, pabs * Makefile: mkdir => mkdir -p (is that POSIX?) * Makefile: install extras/ in $DATADIR * Thu Aug 21 18:33:46 2003, pabs * BUGS: mark memory leak as possibly fixed (don't know for sure though) * Fri Aug 22 00:57:15 2003, pabs * BUGS: add swedish char mangling reported by salan on IRC (documented at http://www.raggle.org/files/swedish_char_corruption/) * TODO: added feature requests from Omnic on IRC * Fri Aug 22 01:19:47 2003, pabs * raggle: don't crash on untitled feeds * Sat Aug 23 00:38:24 2003, heap * raggle: fixed swedish char mangling bug * Fri Aug 22 18:29:29 2003, pabs * raggle: fix "unnamed feed (0/0) (0/0) (0/0) ..." bug * Sat Aug 23 02:16:51 2003, heap * raggle: fix for the character mangling bug broke HTML rendering (oops), fixed that one. * Fri Aug 22 21:35:44 2003, pabs * raggle: make encoding fall back to iso-8859-1 if it's not defined in the $config * Fri Aug 22 21:56:00 2003, pabs * MANIFEST: updated * Sun Aug 24 20:56:55 2003, pabs * raggle: add WEBrick-based web interface to Raggle. to use it install WEBrick (http://www.webrick.org/, apt-get install libwebrick-ruby, whatever), "cp -a $PWD/extras/web_ui ~/.raggle/", run Raggle like "./raggle --server 2323", then point a web browser at http://localhost:2323/ * README: added note about WEBrick requirement for web interface * added extras/web_ui (contains web interface tempates and images) * Sun Aug 24 21:08:30 2003, pabs * removed extras/web_ui/inc/default.css * Mon Aug 25 16:44:50 2003, pabs * raggle.pod: add --add to manpage (reported by sfire||mouse) * Mon Aug 25 17:01:26 2003, pabs * extras/web_ui/inc/desc.css: removed extra junk * extras/web_ui/inc/feed_list.css: ditto * extras/web_ui/inc/titlebar.css: ditto * Sun Aug 31 13:51:09 2003, pabs * raggle: added --ascii and $config['use_ascii_only?'] -- use ASCII borders instesad of ANSI ones. * Sun Aug 31 14:38:04 2003, pabs * raggle: added add feed key binding. currently has some caveats: ctrl-c makes it die horribly, it doesn't refresh the status bar after the update * Sun Aug 31 14:45:52 2003, pabs * raggle: refresh statusb ar after adding feed from gui * Mon Sep 01 00:50:07 2003, pabs * save feeds on SIGHUP, and SIGTERM as well (suggested by Omnic) * Mon Sep 01 13:44:33 2003, pabs * TODO: minor update * Mon Sep 01 13:46:00 2003, pabs * raggle: apply "Integer($1)" => "$1.to_i" suggested by Ville for the Yahoo News feed bug reported by "Nelson D. Guerrero" * Mon Sep 01 13:57:00 2003, pabs * doc/default_config.rb: add vi keybindings to default config (patch sent via Brian Almeida from Dan Drake ) * raggle: ditto * Makefile: apply cleanup patch from Brian Almeida . * AUTHORS: add a few missing entries * Tue Sep 02 01:42:00 2003, heap * raggle.pod: Added -a, --add, --version, --invalidate-feed, --version, --usage and --server to Synopsis. Removed --list-feeds from Synopsis. Added explanation of using -1 with --invalidate. Added --invalidate-feed and --server to Description. * Tue Sep 02 10:22:40 2003, pabs * TODO: added some new ideas * Tue Sep 02 17:31:49 2003, pabs * raggle: added search for entry key (bound to '/' by default) * Tue Sep 02 17:42:44 2003, pabs * raggle: save last search string, and use that if no text was entered * search begins at next item, not current item * Tue Sep 02 18:32:46 2003, pabs * correct autofocus behavior (select active item on window change as well) * Tue Sep 02 19:09:10 2003, pabs * TODO: more ideas!!! * Tue Sep 02 20:16:43 2003, pabs * raggle: handle http 1.0 basic authentication * raggle: handle http 304 (hasn't changed) responses * raggle: send http headers with last-modified HEAD request * raggle: send if-modified-since with last-modified HEAD requeste * Tue Sep 02 23:32:48 2003, pabs * raggle: added xpath lookups for link and date item attribute elements * raggle: commented out daily daemon news from default feed list (it's loading really slow here) * raggle: don't attempt to read date as timestamp unless it's just a number * Tue Sep 02 23:35:45 2003, pabs * TODO: more ideas, mark some finished stuff off * Wed Sep 03 09:35:40 2003, pabs * TODO: another thingy to do (clean sep of interfaces) * raggle: fix typo in web interface reported by Harry Ohlsen * Wed Sep 03 13:38:26 2003, pabs * raggle: slightly cleaner auto focus code in select_win_item * Wed Sep 03 23:24:01 2003, heap * raggle.pod: fixed layout bugs in Synopsis and BUGS * Makefile: changed man-target to output raggle.1 instead of raggle.1.new * raggle.1: ran 'make man' * Wed Sep 3 17:03:27 2003, richlowe * raggle.pod: Fixed layout bugs in AUTHORS and HISTORY (mainly, because Ville told me how) * raggle.1: regenerated. * Wed Sep 03 21:18:23 2003, pabs * raggle: don't trap anything other than SIGINT on win32 * raggle: use ENV['HOMEPATH'] on win32 * raggle: cleaned up module loading * raggle: only die if both ncurses and webrick are missing * Wed Sep 03 21:28:16 2003, pabs * raggle: added explorer.exe and netscape.exe to browser list (yes, i'm serious) * Wed Sep 03 21:37:09 2003, pabs * raggle: evil method missing hack! (just a test to see if it'll get win32 people going w/o hackery) * Wed Sep 03 21:42:18 2003, pabs * raggle: disabled method missing hack, added $HAVE_LIB['ncurses'] wrapper to relevant $config{} stuff * Wed Sep 03 21:45:04 2003, pabs * raggle: force web server if we're missing ncurses * Wed Sep 03 22:09:16 2003, pabs * extras/web_ui/inc/*.css: render properly in IE, remove extra style entries * Wed Sep 03 22:23:15 2003, pabs * in http server mode, die unless web_ui root dir exists * Thu Sep 04 00:11:03 2003, pabs * raggle: added Path::find_web_ui_root (for win32) * Thu Sep 04 01:34:26 2003, pabs * raggle: fix win32 web_ui path * added extras/win32/raggle.nsi (nullsoft installer script) * added extras/win32/raggle_client.html (client redirect) * added extras/win32/raggle_server.bat (server batch file) * added extras/win32/win32.html (windows documentation) * Thu Sep 04 02:31:04 2003, pabs * BUGS: add feed errors reported by karl d'adamo * Thu Sep 04 11:18:47 2003, pabs * TODO: added a great way to debug the feed grabbing thread! * Thu Sep 04 12:28:05 2003, pabs * BUGS: add bugs for windows build * Fri Sep 05 01:52:00 2003, heap * extras/test_html_renderer.rb: fixed failing #test_links_are_rendered_offline. * Fri Sep 05 07:18:14 2003, pabs * raggle: fix bugs reported by karl d'adamo * raggle: handle HTTP 204 response properly * raggle: fix a nil dereference in fix_character_encoding() * raggle: handle host-relative, relative path HTTP redirects properly * raggle: added $config['strip_external_entities'] (work-around for broken REXML 2.7.1 external entity behavior) * raggle: don't buffer feed log output * raggle: wrap feed grabbing in begin/rescue pair * Fri Sep 05 17:58:06 2003, pabs * extras/web_ui/inc/item.html: ITEM_ID => INDEX * Mon Sep 08 12:12:06 2003, pabs * raggle: nicer comments in get_http_url() * raggle: only call http.finish if it's been started * Mon Sep 08 15:17:59 2003, pabs * BUGS: add a few new things that have beenr eported * Mon Sep 08 15:23:26 2003, pabs * BUGS: attribute report to reporter :D * Mon Sep 8 20:43:02 2003, richlowe * raggle: Kill describe_feed, it's not used anymore. * Mon Sep 8 21:10:13 2003, richlowe * raggle: Update the link to my RSS feed. * Tue Sep 09 01:14:19 2003, pabs * raggle: fix OPML import * Tue Sep 09 13:46:00 2003, pabs * extras/web_ui/titlebar.html: start merging feedopts into titlebar (the titlebar is going to be a titlebar and a panel of options) * Tue Sep 09 13:56:59 2003, pabs * raggle: remove full-screen redraw (and associated flicker) when selecting feed items * Tue Sep 09 14:51:54 2003, pabs * raggle: strip CDATA from descriptions before rendering (i'm worried this fix might cause problems later on. comments anyone?) * Tue Sep 09 16:31:07 2003, pabs * raggle: redraw item window after selecting item, so item is marked as read before next refresh (fixes bug reported by karl d'adamo * raggle: attribute bug report above to proper source * Tue Sep 09 16:43:19 2003, pabs * raggle: if current feed is selected, refresh item window (this might be kind of annoying if you're reading the feed, since it would lose your place. thoughts anyone?) * BUGS: mark aformentioned bug off the list o' bugs * Wed Sep 10 11:01:51 2003, pabs * raggle: add preliminary Window#set_color implementation (dsiabled for now, the code is basically copied and pasted) * raggle: added http open and read timeouts (set to 10 and 30 seconds respectively) * Sat Sep 13 12:50:46 2003, pabs * raggle: finished Window#set_color, color entries for all window elements can include attributes now (fixes bug reported by Phil Gregory ) * Sat Sep 13 13:19:15 2003, pabs * raggle: add stdin and stdout support to OPML import/export (--import-opml - and --export-opml -, respectively) * Sat Sep 13 13:34:10 2003, pabs * raggle: remove the open and read timeouts; they appear to be causing problems (not sure why yet) * Sat Sep 13 13:35:12 2003, pabs * raggle: don't force version 1.8 (silly me) * Sat Sep 13 14:03:50 2003, pabs * doc/pauls_feeds.opml.gz: updated * removed doc/pauls_feeds.yaml (only use OPML files now) * Sat Sep 13 20:52:23 2003, pabs * raggle: ignore "a " and "the " prefix when sorting feed list * Sun Sep 14 12:48:31 2003, pabs * raggle: add preliminary relative URL repair support (only works on a few instances) * raggle: grab image URL (displayed in web ui) * raggle: add categories (only accessible via the web ui at the moment) * raggle: only bind to local interface for web ui * raggle: log to $config['web_ui_log_path'] instead of stderr * extras/web_ui/inc/desc.css: add style for feed image * extras/web_ui/inc/desc.html: added feed image * extras/web_ui/inc/feed.html: add category to link * extras/web_ui/inc/feed_list.html: title is generated now (includes category) * extras/web_ui/inc/feed_list.html: add category select to bottom * extras/web_ui/inc/item_list.css: add style for feed description * extras/web_ui/inc/item_list.html: move feed desc to bottom of info * added extras/web_ui/inc/feed_image.html * Sun Sep 14 13:37:18 2003, pabs * raggle: slightly better relative URL munging * raggle: disable gc thread (it doesn't do jack) * raggle: SIGHUP invalidates all feeds and starts update * raggle: SIGALRM checks feeds immediately * raggle: Key::manual_update works in non-manual update mode now (same as passing SIGALRM to process) * extras/web_ui/inc/feed_list.html: force width of feed list * raggle: allow multiple categories for a feed * raggle: add several new default feeds (yahoo! news, tom, brian) * raggle: add categories for all default feeds * Sun Sep 14 15:25:14 2003, pabs * raggle: better relative URL repair (optional, controlled via $config['repair_relative_urls']) * raggle: prefer link to guid again (until we fix the xpath for guid, which needs tocheck the isPermaLink attribute of the element before relying on it) * raggle: strip leading and trailing whitespace from item titles * Mon Sep 15 13:44:34 2003, pabs * raggle: force refresh in clearrange() to clear item window artifacts * Mon Sep 15 16:46:11 2003, pabs * raggle: add view source command (bound to \ by default) * raggle: get rid of 'real_title'/'title' nonsense in description window. uses 'title' and 'content' keys now * raggle: draw_text and draw should return the y coordinate * raggle: don't force refresh for drawing title, date, link and content in description window, this speeds up rendering and removes flicker * raggle: cache result from reflow_string() in TextWindow#draw_items; this speeds up rendering a bunch * raggle: used cached results in scroll_down/up; rendering speedup * raggle: only clearrange in desc window when necessary, this removes flicker * Mon Sep 15 16:59:40 2003, pabs * raggle: make view source toggle work ind escription window as well * Mon Sep 15 17:01:41 2003, pabs * raggle: dont' force 1.8 (gotta stop doing that ;)) * Mon Sep 15 17:08:55 2003, pabs * raggle: reset desc window offset when selecting new item * raggle: remove some older commented cruft * Mon Sep 15 19:02:56 2003, pabs * raggle: added --max-items (max number of items to save per feed), can also be set on a global feed basis with $config['max_feed_items'] * raggle: added '-A' shortcut for --ascii * raggle: fix a bit of evil tabbing again ;) * Mon Sep 15 20:27:06 2003, pabs * raggle: added a bit more info to interrupted message if web server is runnign * raggle: added quit template to list * raggle: added "/raggle/quit" path * raggle: reload all button in web interface runs feed thread * raggle: save_feed_list restores item list (for web interface) * raggle: don't select current window item when running as web server * raggle: update page refresh to 2 minutes (use javascript to force refreshes now) * extras/web_ui/titlebar.html: add doctype * extras/web_ui/titlebar.html: add quit button * extras/web_ui/inc/feed.html: add update and delete buttons * extras/web_ui/inc/feed_list.html: refresh feed window when selecting feed as well * extras/web_ui/inc/item_list.html: disable meta refresh * extras/web_ui/inc/item_list.html: refresh feed window and this window when selecting item * added extras/web_ui/inc/quit.html * Tue Sep 16 15:11:03 2003, pabs * raggle: add $ keybinding (jump to last item in window) * raggle: add 0 keybinding (jump to first item in window) * Sun Sep 21 16:00:14 2003, pabs * raggle: slightly nicer "no interfaces found" message * raggle: add "load templates" message * raggle: make web shutdown sleep interval configurable (via $config['http_server']['shutdown_sleep'] * extras/web_ui/index.html: show frame borders * added extras/web_ui/inc/default.css (merge *.css into default.css) * extras/web_ui/quit.html: added body class * extras/web_ui/quit.html: point at default.css * Tue Sep 23 16:39:31 2003, pabs * raggle: don't save feed list and feed cache on crash (I don't like this behavior, but hey) * raggle: back-up feeds.yaml before saving it (to feeds.yaml~) * Tue Sep 23 22:21:17 2003, pabs * BUGS: marked off old ones, added new ones from mailing list * TODO: marked off completed stuff * raggle: don't trap SIGTERM any more * raggle: minor tabbing cleanups * raggle: remove some commented cruft * raggle: fix web interface quit * raggle: make quit a template (for version) * raggle: add category to item list and desc templates (as CATEGORY) * raggle: http_thread => $http_thread * raggle: lower shutdown sleep to 0.5 seconds * extras/web_ui/titlebar.html: use inc/default.css * extras/web_ui/titlebar.html: get rid of old commented junk * extras/web_ui/titlebar.html: remove feed options (in feed list now) * extras/web_ui/titlebar.html: add title back * extras/web_ui/titlebar.html: add help and quit buttons * extras/web_ui/inc/default.css: add category-form style * extras/web_ui/inc/default.css: fix oogly item list font sizes (that's the last time i listen to web design advice from a web designer) * extras/web_ui/inc/default.css: add style for titlebar * extras/web_ui/inc/default.css: add style for quit page * removed extras/web_ui/inc/desc.css * extras/web_ui/inc/feed.html: remove invalidate feed button * extras/web_ui/inc/feed.html: add edit feed button * extras/web_ui/inc/feed.html: javascript desc for edit and del btns * extras/web_ui/inc/feed_list.html: add addFeed() * extras/web_ui/inc/feed_list.html: make selectFeed() is category-aware * extras/web_ui/inc/feed_list.html: add add, save, and sort to cat form * removed extras/web_ui/inc/feedopts.css * extras/web_ui/inc/item.html: make link category-aware * removed extras/web_ui/inc/item_list.css * extras/web_ui/inc/item_list.html: make selectFeedItem() category-aware * extras/web_ui/inc/quit.html: removed javascript (silly copy & paste) * extras/web_ui/inc/quit.html: added copyright and version info * removed extras/web_ui/inc/titlebar.css * Tue Sep 23 22:43:28 2003, pabs * extras/win32/raggle_server.bat: launch client automatically * Tue Sep 23 22:51:34 2003, pabs * extras/win32/raggle_client.html: lower refresh to 2 seconds * extras/win32/raggle_server.bat: launch client page automatically * Tue Sep 23 23:33:39 2003, pabs * raggle: added find_win32_proxy (check registry for proxy) * Tue Sep 23 23:43:52 2003, pabs * raggle: added debugging for win32 registry proxy stuff * Tue Sep 23 23:46:13 2003, pabs * raggle: fix win32 proxy stuff * Tue Sep 23 23:56:23 2003, pabs * raggle: disable win32 proxy debug code * Wed Sep 24 00:08:51 2003, pabs * extras/web_ui/inc/default.css: fixed => absolute, so things look right in IE * Wed Sep 24 14:17:51 2003, pabs * raggle: make raggle work (hopefully) on single-user win32 machines * extras/web_ui/index.html: make frames sligntly larger * extras/web_ui/titlebar.html: add export button (doesn't work yet) * Wed Sep 24 15:51:06 2003, pabs * extras/web_ui/inc/feed_list.html: parent => window (make IE javascript errors go away) * extras/web_ui/inc/item_list.html: ditto * Wed Sep 24 15:57:59 2003, pabs * extras/win32/raggle.nsi: disable Raggle Client start menu icon (don't need it any more) * Wed Sep 24 16:17:04 2003, pabs * extras/web_ui/*: feed => feedFrame, desc => descFrame, item => itemFrame * Wed Sep 24 19:23:48 2003, pabs * raggle: remove silly 1.8 suffix on ruby (gotta stop doing that) * extras/win32/raggle.nsi: comment out MUI_LICENSEPAGE * extras/win32/raggle.nsi: add date to version suffix string * extras/win32/raggle.nsi: _ => . in outfile string * extras/win32/raggle.nsi: minor component text updates * extras/win32/raggle.nsi: add desktop shortcut section * extras/win32/win32.html: no more raggle server/client nonsense * extras/win32/win32.html: update keywords * extras/win32/win32.html: update summary of bugs (remove a few!) * Thu Sep 25 17:32:04 2003, pabs * README: update documentation to account for new 0.3.0 features (including the web interface). * Thu Sep 25 20:00:14 2003, richlowe * raggle: Uncomment the abort_on_exception for the feed thread, (the TODO mentions it being wanted... if this is the wrong thing, feel free to revert and berrate me :) * TODO: Mark the `abort_on_exception' item as done. * Thu Sep 25 20:52:22 2003, pabs * raggle: make abort_on_exception an option (disabled by dfeault) * raggle: add save_on_crash option (also disabled by default) * raggle: change behavior of loading config.rb, now instead of replacing the default $config, it does a $config.update user_config (this you can have a config with only one or two options instead and it'll fall back to defaults for everything else) * Thu Sep 25 20:57:07 2003, pabs * raggle: remove commented GC thread, we're not going to use it * Thu Sep 25 22:05:08 2003, pabs * raggle: attempt to fix "use_ssl undefined feed grab error" * raggle: wrap entire feed grab in another thread, so if it dies it doesn't kill the entire feed thread (also added the option of grabbing all threads in parallel, but it won't work at the moment; ruby's GC barfs on something in REXML) this _should_ fix the bad feed killing feed grabbing thread bug (/me crosses his fingers) * Thu Sep 25 22:07:40 2003, pabs * TODO: add idea about grab thread pool * Thu Sep 25 22:32:10 2003, pabs * raggle: reenable open timeout * raggle: try again with use_ssl fix * raggle: preliminary feed grabbing thread pool implementation * Fri Sep 26 00:48:32 2003, pabs * raggle: make edit accept -1 for batch operations * Sat Sep 27 12:20:41 2003, pabs * raggle: added preliminary DRb interface (--drb-server to enable, requires drb, see Raggle::DRbInterface for available methods) * raggle: removed commented GC thread cruft * raggle: wrapped REXML::Document.new in Thread::critical; the crash [BUG] i'm seeing with thread pools _always_ happens in REXML (either a bug in Ruby threads, or REXML isn't thread safe) * raggle: added configurable $config['use_critical_regions'] through feed grabbing thread; this is just temporary, for debugging * raggle: increase default thread pool size from 6 to 10 threads * Wed Oct 08 13:48:49 2003, pabs * raggle: --add can take a URL now (optional) * Thu Oct 09 16:17:06 2003, pabs * raggle: update TODO with some older comments * Thu Oct 09 16:18:03 2003, pabs * TODO: another couple of things i forgot * Wed Oct 15 12:08:46 2003, pabs * TODO: more stuff.. ugh we'lll never get a release :( * Wed Oct 15 23:13:12 2003, richlowe * mono.yaml: Make usable, active things/focussed items are now bold on terminals that support it, so you can actually tell what you're focused on, and looking at. This is the theme to use if you frequently use raggle on terminals that have support for bold, but not color. * Thu Nov 06 22:10:50 2003, pabs * BUGS: add a few more outstanding bugs * Fri Nov 07 15:21:41 2003, pabs * raggle: switch help url to raggle.org/rss/help/, use user-agent to determine version (this might be problematic later on, but at least we don't have to contsantly switch help files in the config any more). * README: add a few more alternate aggregators * Fri Nov 07 15:23:13 2003, pabs * raggle: don't require ruby1.8 * Thu Nov 13 00:34:14 2003, heap * raggle: Change how the browser is launched, this seems to fix the bug that prevented some urls from loading properly. * BUGS: mark the URL loading bug as fixed. * Thu Nov 20 08:31:58 2003, pabs * raggle: remove REXML::Encoding::ENCODING_CLAIMS stuff; it's apparently been either moved or removed from REXML. * doc/pauls_feeds.opml.gz: updated * Fri Jan 30 22:46:08 2004, pabs * raggle: remove Thread::critical stuff, those appear to be causing the locked feed grabbing thread stuff * raggle: fix a few race conditions in the parallel grabbing stuff * raggle: move feed grabbing code to grab_feed(), removes some potential race issues * raggle: disable non-parallel feed grabbing for the time being * Sat Jan 31 09:54:00 2004, pabs * raggle: removed unnecessary thread code * raggle: set thread title and priority in grab_feed() * raggle: wait on each grabbing thread for up to $config['thread_reap_timeout'] seconds (then just give up and leave them running indefinitely.. probably not the smartest thing to do at the moment :/) * raggle: added $config['thread_priority_grab'] * raggle: added $config['max_threads'] * doc/pauls_feeds.opml.gz: updated to the latest and greatest * Thu Feb 19 21:11:51 2004, pabs * raggle: fixed reap stuff. this has been running for over a week now w/o crashing. so i _think_ it's stable now * raggle: fix regex warnings (reported by Brian Almeida) * raggle: fix date description showing as timestamp for feeds * Thu Feb 19 23:09:06 2004, pabs * TODO: updated. marked off some stuff, added notes * BUGS: added current bugs, marked off fixed ones * Thu Feb 19 23:10:59 2004, pabs * doc/default_config.rb: updated defaulta config * raggle: remove damn ruby1.8 at top * Fri Feb 20 04:26:14 2004, pabs * README: updates to intro * README: added note about WEBrick being included in windows * README: web interface requires CSS as well as frames and js * README: s/yaml/opml/ * README: prefer 'a' to --add * README: added note about config file, added sample config file * doc/default_config.rb: set max_threads to 7 * also updated online documentation, old raggle users should update their feed url to point at http://raggle.org/rss/help/ (it uses the version included in the HTTP request to figure out which file to point at) * Fri Feb 20 04:31:13 2004, pabs * doc/pauls_feeds.opml.gz: updated * Fri Feb 20 04:35:50 2004, pabs * raggle: incremented copyright year * README: incremented last updated date * COPYING: incremented copyright year * Fri Feb 20 04:42:44 2004, pabs * raggle: changed version to 0.3.0 * MANIFEST: updated * Fri Feb 20 04:43:54 2004, pabs * releasing version 0.3.0 * Fri Feb 20 05:50:21 2004, pabs * raggle: incremented version number to 0.3.1 * README: ditto * Fri Feb 20 17:47:55 2004, pabs * AUTHORS: add gentoo maintainer * Fri Feb 20 23:10:18 2004, pabs * raggle: added check_config, to check for old, broken directives currently it only checks for the old-style browser_cmd setting. if it sees a string it sets it back to the default array * Thu Feb 26 07:53:51 2004, pabs * TODO: added suggestion from Doug Kearns * Thu Feb 26 07:59:48 2004, pabs * BUGS: added browser_cmd bug (should warn and repair) * Fri Feb 27 09:10:57 2004, pabs * raggle: --import-opml takes a URL now * TODO: mark said feature request off list * Thu Apr 15 05:38:11 2004, pabs * raggle: applied patch from Ralf Horstmann * Sat Apr 17 12:04:58 2004, pabs * README: added table of contents * README: added FAQ section * README: misc formatting cleanups * TODO: added a couple of suggestsions * TODO: mark off terminald doc idea (in FAQ now) * Sat Apr 17 12:22:28 2004, pabs * raggle: hopefully fix feed reap error reported by Grant Bowman via the Debian Bug Tracking system * Sat Apr 17 12:33:06 2004, pabs * releasing 0.3.1 * Mon May 10 10:34:35 2004, pabs * TODO: backport updates from main trunk * Mon May 10 10:35:20 2004, pabs * raggle: increment version nmber to 0.3.2 * README: ditto * Mon Aug 23 15:00:13 2004, pabs * raggle: fix nil deref in populate_feed_win * Tue Aug 24 14:56:44 2004, pabs * raggle: PLATFORM => RUBY_PLATFORM (reported by Robert McGovern . Apparently that causes Cygwin to have a fit * Tue Aug 24 15:29:42 2004, pabs * raggle: VERSION => RUBY_VERSION as well * Tue Aug 24 23:24:58 2004, pabs * raggle: minor TODO update * Thu Aug 26 15:54:53 2004, pabs * raggle: apply patch from Michael Ablassmeier that fixes import of Amphetadesk OPML files (closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=266046) * Tue Sep 14 11:17:16 2004, pabs * BUGS: minor update * Mon Sep 27 04:37:10 2004, pabs * raggle: fix nil reference * Fri Nov 19 18:02:16 2004, pabs * raggle: added String#escape_html * raggle: added String#strip_cdata * raggle: escape and remove CDATA elements before parsing XML (fixes REXML weirdness with CDATA elements) * Fri Nov 19 18:05:34 2004, pabs * raggle: added keybindings for g and G (suggested by Nick Welch ) * Fri Nov 19 18:31:51 2004, pabs * raggle: check for ENV['RAGGLE_WEB_DATA'] in find_web_ui_root * Sat Nov 27 11:17:54 2004, pabs * raggle: element.text -> element.get_text * raggle: unread_items += 3 => unread_items += 1 (not sure how that got in there) * Sat Nov 27 11:58:22 2004, pabs * raggle: default feed list update, removed richlowe.net, added boingboing and engadget * Sat Nov 27 12:00:07 2004, pabs * releasing version 0.3.2