]> git.cworth.org Git - turbot/blobdiff - TODO
Collapse link text inserted into sheets
[turbot] / TODO
diff --git a/TODO b/TODO
index 67a48304218ec5fd7b77616911e726fe3a5a3107..9f9b903113a9d9e84b815c210abadf9fc57f02d7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,65 +1,64 @@
+Ordered punch-list (aiming to complete by 2021-01-08)
+-----------------------------------------------------
+
+• Add tags to the puzzle edit interface
+
+• Make the /hunt command drop from the database any rounds that have 0
+  puzzles in them
+
 Recently-proposed ideas (not yet prioritized)
 ---------------------------------------------
 • Set-up an announcements Slack channel that's auto fed by email to a
   particular email address.
 
-Low-hanging fruit
------------------
+• Have Turbot explicitly report long state strings to the channel,
+  (since the implicit report from settting the abbreviated topic won't
+  have the whole message).
+
+• In messages (like from /solved) don't use a raw user_name value from
+  the request, but instead some tagged version of a user ID (which
+  Slack will render as a display name).
+
+• Allow a hunt (and perhaps a round) to have multiple URLs
+
+• Provide an "Archive channel" button in the channel when outputting
+  the message that results from /solved.
 
-[These are not highest priority, but are so easy that they are worth
-not delaying until after bigger features below.]
+• Would it be helpful to have some sort of "tools" command to collect
+  pointers to useful tools and allow for searching of them?
 
-• Make /solved clear the state string for a puzzle.
+• Investigate what from snap2 we could incorporate into our sheets:
+
+  https://github.com/kevinychen/snap2
+
+• Watch the recent hunt workshop that had some recommendations on
+  tools and see what from that we should incorporate
+
+• Think about writing some custom solving tools, (like Qat, or
+  Nutrimatic, or Snap2, etc.)
+
+• Fix slash commands to pass off processing to a separate Lambda and
+  then return immediately (removing the annoying "operation timeout"
+  complaints from Slack even when the command works exactly as it
+  should).
 
 Round management
 ----------------
 
-• Group the puzzles in the Turbot home view by round
-
 • Select round fields by default based on the round of the puzzle for
   the channel in which `/puzzle` is invoked.
 
 • Consider putting a round prefix into the channel name to group a
   round's puzzles in the channel list.
 
-Meta-puzzle support
--------------------
-
-• Figure out a good mechanism for linking puzzles to a meta-puzzle
-  that they feed into. Is this different or the same as the round
-  mechanism described above?
-
 Hunt overview commands and filters
 ----------------------------------
 
-• Implement a /hunt command for giving an overview of the entire hunt,
-  (like the Turbot "home" view but available in any channel)
-
-• For "/hunt" display only unsolved puzzles by default, but also allow
-  for "/hunt all" to display all puzzles
-
 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
   puzzles
 
-• For both "/hunt" and the Turbot home screen allow for a search
-  string that will search through puzzle names, puzzle IDs, puzzle
-  URLs, and state strings.
-
-• Figure out what we want for tagging and searching on tags (beyond
-  what's already possible with the state strings).
-
-Editing puzzle fields
----------------------
-
-• Implement a command to display the status of the current puzzle
-  within the channel. Need a name for this command.
-
-• Extend the in-channel puzzle display to also allow editing of all
-  puzzle fields
-
-• Implement an /archive command to allow for easy archiving of a
-  channel for a solved puzzle (but make sure archived puzzles still
-  show up in global hunt/round views).
+• On the Turbot home screen add a text box for a search hstring (to
+  work like the search string now available in "/hunt").
 
 File uploads
 ------------
@@ -69,7 +68,7 @@ File uploads
   initially, but when editing a puzzle users can drop irrelevant files
   or label relevant files.
 
-Opt-out of channel invitations
+Opt-in for channel invitations
 ------------------------------
 
 • Consider adding a user option to allow a user to opt-in to auto
@@ -78,9 +77,13 @@ Opt-out of channel invitations
 Sheet-related fixes
 -------------------
 
-• Have linked spreadsheets go into a specific Google Drive folder
+• Add the solution to the sheet name on solved: "[TITLE] - Solved [ANSWER]"
 
-• Come up with a better sheet template
+• Use a hunt-specific Google Drive folder for creating all the
+  sheets. (This way, we can share out the "mh2021" folder to all team
+  members so that people can browse the sheets that way if wanted, and
+  have backup access to all of them on the off chance of Slack not
+  being available.)
 
 • Put the puzzle's name into the primary tab of the sheet
 
@@ -97,15 +100,8 @@ Un-prioritized items
 
 • Add support for recording/displaying those who have current roles
 
-• Decide a good plan for audio/video calls for puzzles and integrate
-  that into Turbot.
-
-• Inspect the CloudWatch logs for our Turbot AWS Lambda during the time
-  period of the active hunt, (October 24-31), find and diagnose any
-  errors that occurred during that period. Users reported seeing
-  "Trouble connecting" (probably during new-puzzle dialog submission)
-  as well as "dispatch_failed during /state command (perhaps due to a
-  state string that was very long).
+  Maybe this should just be a "Post" in the main hunt channel, (and
+  need not have any direct Turbot support?)
 
 • Think about some way to express solve priority
 
@@ -114,8 +110,10 @@ Lower priority
 
 • Implement code to close out an entire hunt after the fact
 
-
 • Figure out what tool we want to use for shared drawing on a puzzle
   and integrate that into Turbot, (give a command that will generate a
   new URL and will insert that URL into the Slack topic and the list
   of links at the top of the sheet).
+
+• Think about using a URL shortener API for the sheet URLs (to leave
+  more room in a channel topic for state string content)