diff --git a/TODO.md b/TODO.md index d48baa5..79bfb6d 100644 --- a/TODO.md +++ b/TODO.md @@ -1,87 +1,89 @@ # Epics -## MVP: Complete! -## Reading/Status: Complete! -## Editing/Deleting: Complete! -## Documentation: In Progress +### MVP: Complete! +### Reading/Status: Complete! +### Editing/Deleting: Complete! +### Documentation: In Progress -# For 1.0.8 -* Add less-style pagination for long messages -* Add -q/--quiet flag, to create iris message file without user intervention? -* Add integration tests -* Add ability to run with test iris file -* Continue to make loader more durable against corrupted data files -* Time to start refactoring! -* Health check CLI flag -* Create local copies of replied-to messages to limit tampering +# Work Items -# Bugs: -* Is `Time.now.utc.iso8601` working as expected? -* Exclude user's own messages from "unread" count -* Fix message ordering when editing/deleting multiple messages -* Replying implicitly to 24 replied to 6 instead - -# Tech debt: +### Documentation * Flesh out technical sections + +### Bugs +* Is `Time.now.utc.iso8601` working as expected? + * Fix bug when people are posting from different time zones + * Fix message ordering when editing/deleting multiple messages +* Exclude user''s own messages from "unread" count +* Replying implicitly to 24 replied to 6 instead +* Gracefully handle attempt to "r 1 message" + +### Features +* Add pagiation/less for long message lists + * https://github.com/Calamitous/iris/issues/1 +* Allow shelling out to editor for message editing + * https://github.com/Calamitous/iris/issues/2 +* Add local timezone rendering +* Add "Mark all read" option +* Add option to mark all messages in a thread as read + +### Tech debt * Flesh out tests +* Add integration tests * Create Struct to firm up message payload * Let Message initialization accept params as a hash * Add check for message file format version * Build entire topic line, _then_ truncate +* Continue to make loader more durable against corrupted data files +* Condense generated color codes (color resets are especially noisy) +* Check message file size before loading, to prevent giant files from bombing the system. -# Refactoring -* Split helptext into separate file? - -# Features: -* Add ability to fully manage/read messages from CLI? -* Add local timezone rendering -* Add pagiation/less for long message lists +### Backlog +* Add reader/user count to stats +* Add "already read" message counts to topic line +* Add "already read" message counts to statistics * Add "Mark unread" option * Add read-only mode if user doesn't want/can't have message file * Add user muting (~/.iris.muted) -* Add message editing -* JSON API mode -* Check message file size before loading, to prevent giant files from bombing the system. * Add stats to interactive interface -* Add "private" messages -* Allow shelling out to editor for message editing? - -# Fancify interface: * Readline.completion_proc for tab completion -* Pagination? -* Add "read" message counts to topic line -* Add reader/user count to stats -* Gracefully handle attempt to "r 1 message" * Highlight names for readability -* Add optional title for topics * Add message when no topics are found -* Add message troubleshooting tool, for deep data dive * Add option to skip color -* Add option to mark all messages as read -* Add option to mark all messages in a thread as read -* Condense generated color codes (color resets are especially noisy) -# Icebox +### Icebox +* Add message troubleshooting tool, for deep data dive +* Add optional title for topics +* Health check CLI flag? +* Add -q/--quiet flag, to create iris message file without user intervention? +* Add "private" messages +* JSON API mode +* Create local copies of replied-to messages to limit tampering? +* Add ability to fully manage/read messages from CLI? * ncurses client * customizable prompt -* MOTD +* MOTD/Title? * Add to default startup script to display read count * Common message file location for the security-conscious * JSON -> SSI -> Javascript webreader ---- +# Changelog -# Completed as of 1.0.5 -* Make all output WIDTH-aware -* Add color -* Add full message corpus dump for backup/debugging -* Add startup enviro health check -* Change listing to show last updated timestamp, instead of thread creation timestamp -* Add command-line options to README -* Add documentation for color feature -* Add command-line options to README -* Made message file slightly more human-readable +## 1.0.10 +* ~Fix bug causing system to crash when a user removes read permissions from their directory/iris.messages file~ -# Completed as of 1.0.6 +## 1.0.9 +* ~Stop checking domain on user validation~ +* ~Fix bug causing color overflow when color tags break.~ Special thanks go out to Japanoise (https://github.com/japanoise) for reporting this bug! + +## 1.0.8 +* ~Fix bug when UID has been deleted from /etc/passwd, but user''s message file still exists~ +* ~Add debug mode to Iris~ +* ~Refactor Iris to make it easier to load test files to run with~ + +## 1.0.7 +* ~Fix "unread count" bug~ + +## 1.0.6 * ~Message deletion~ * ~Message editing~ * ~Gracefully handle bad message files~ @@ -97,15 +99,13 @@ * ~Keep replies on edited topics~ * ~Add unread topic to overall unread count~ -# Completed as of 1.0.8 -* ~Fix "unread count" bug~ -* ~Fix bug when UID has been deleted from /etc/passwd, but user's message file still exists~ -* ~Add debug mode to Iris~ -* ~Refactor Iris to make it easier to load test files to run with~ - -# Completed as of 1.0.9 -* Stop checking domain on user validation -* Fix bug causing color overflow when color tags break. Special thanks go out to Japanoise (https://github.com/japanoise) for reporting this bug! - -# Completed as of 1.0.10 -* Fix bug causing system to crash when a user removes read permissions from their directory/iris.messages file +## 1.0.5 +* ~Make all output WIDTH-aware~ +* ~Add color~ +* ~Add full message corpus dump for backup/debugging~ +* ~Add startup enviro health check~ +* ~Change listing to show last updated timestamp, instead of thread creation timestamp~ +* ~Add command-line options to README~ +* ~Add documentation for color feature~ +* ~Add command-line options to README~ +* ~Made message file slightly more human-readable~