]> git.cworth.org Git - turbot/blobdiff - TODO
Add notes on how to update the Google sheets credentials
[turbot] / TODO
diff --git a/TODO b/TODO
index d8696280797a4a6095f392391399004aaf92c104..a163fc8a9f261680c30a40c5248a37783422789f 100644 (file)
--- a/TODO
+++ b/TODO
-• Make /solved report to the main hunt channel
+Ordered punch-list (aiming to complete by 2021-01-08)
+-----------------------------------------------------
 
-• Make /solved rename the puzzle's channel to include a "-solved" suffix
+• Make the /hunt command drop from the database any rounds that have 0
+  puzzles in them
 
-• Make /solved clear the state string for a puzzle.
+Recently-proposed ideas (not yet prioritized)
+---------------------------------------------
+• Need a more direct way to ask for help and to find who needs
+  help. Something like /state but with announcements in the main
+  channel and maybe a periodic "Here's where people need help" post or
+  something like that.
 
-• Implement an /archive command to allow for easy archiving of a
-  channel for a solved puzzle
+• Fix all message posting in Slack to avoid limits, (breaking big
+  messages (is it 100 blocks? need to check) into multiple smaller
+  messages).
 
-• Implement code to close out an entire hunt after the fact
+• 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).
 
-• Implement a /hunt command for giving an overview of the entire hunt,
-  (like the Turbot "home" view but available in any channel)
+• Allow a hunt (and perhaps a round) to have multiple URLs
 
-• For "/hunt" display only unsolved puzzles by default, but also allow
-  for "/hunt all" to display all puzzles
+• Would it be helpful to have some sort of "tools" command to collect
+  pointers to useful tools and allow for searching of them?
 
-• On the Turbot home screen allow a dropdown for Unsolved/Solved/All
-  puzzles
+• Investigate what from snap2 we could incorporate into our sheets:
+
+  https://github.com/kevinychen/snap2
 
-• 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.
+• Watch the recent hunt workshop that had some recommendations on
+  tools and see what from that we should incorporate
 
-• Add an (optional) drop-down at puzzle creation for selecting a known
-  round for a puzzle, (or creating a new round). Ensure this mechanism
-  allows for puzzles to exist in multiple rounds.
+• Think about writing some custom solving tools, (like Qat, or
+  Nutrimatic, or Snap2, etc.)
 
-• Consider putting a round prefix into the channel name to group a
-  round's puzzles in the channel list.
+• 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).
 
-• Figure out a good mechanism for linking puzzles to a meta-puzzle
-  that they feed into. Is this different or the same than the round
-  mechanism described above?
+• Hunt creation should set the hunt channel's topic (we recently added
+  this for hunt editing at least)
 
-• Implement a command to display the status of the current puzzle
-  within the channel. Need a name for this command.
+• The Turbot Home view and the /hunt output should emit the hunt links
+  and state string (similar to how puzzle links and state strings are
+  already implemented).
 
-• Extend the in-channel puzzle display to also allow editing of all
-  puzzle fields
+Round management
+----------------
 
-• Fix /puzzle dialog to reject a puzzle with the same URL as an
-  existing puzzle.
+• Select round fields by default based on the round of the puzzle for
+  the channel in which `/puzzle` is invoked.
 
-• Allow a per-user option to opt out of being auto-invited to all
-  newly-created puzzle channels.
+Hunt overview commands and filters
+----------------------------------
 
-• Figure out what we want for tagging and searching on tags (beyond
-  what's already possible with the state strings).
+• On the Turbot home screen allow a dropdown for Unsolved/Solved/All
+  puzzles
 
-• Decide a good plan for audio/video calls for puzzles and integrate
-  that into Turbot.
+• On the Turbot home screen add a text box for a search hstring (to
+  work like the search string now available in "/hunt").
 
-• Inspect the CloudWatch logs for our Turbot AW 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).
+File uploads
+------------
 
 • Incorporate puzzle file uploads into the database state for each
   puzzle. Any file uploaded to the Slack should get included
   initially, but when editing a puzzle users can drop irrelevant files
   or label relevant files.
 
-• 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).
-
-• Come up with a better sheet template
+Opt-in for channel invitations
+------------------------------
 
-• Put the puzzle's name into the primary tab of the sheet
+• Consider adding a user option to allow a user to opt-out of the auto
+  invitation for all newly-created puzzle channels, (we have a
+  hard-coded list inside Turbot right now called
+  AUTO_INVITE_DENY_LIST)
 
-• When copying tabs from the spreadsheet template, don't leave the
-  default "Copy of " text in place.
+Sheet-related fixes
+-------------------
 
 • Do something to make it more clear which tabs exist just as
   backup/reference from the original template vs. any new tab a user
   has created during the hunt. (Perhaps color the reference tabs
   differently.)
 
+Un-prioritized items
+--------------------
+
+• Add support for recording/displaying those who have current roles
+
+  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
+
+Lower priority
+--------------
+
+• 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)