X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO;h=a163fc8a9f261680c30a40c5248a37783422789f;hb=0cb701a081d3cab7870462145670a2d8d9d0047a;hp=bf232bdca8585331f45211c0a5d28e153e8b492f;hpb=7fc57de6c1ea989befa35ed47e1aba6dfa7a796c;p=turbot diff --git a/TODO b/TODO index bf232bd..a163fc8 100644 --- a/TODO +++ b/TODO @@ -1,34 +1,56 @@ +Ordered punch-list (aiming to complete by 2021-01-08) +----------------------------------------------------- + +• 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. +• 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. + +• Fix all message posting in Slack to avoid limits, (breaking big + messages (is it 100 blocks? need to check) into multiple smaller + messages). • 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 -Round management ----------------- +• Would it be helpful to have some sort of "tools" command to collect + pointers to useful tools and allow for searching of them? -• Add a /round command which is identical to /hunt except that it acts - on only the puzzles in the same round(s) as the current puzzle. +• Investigate what from snap2 we could incorporate into our sheets: -• Select round fields by default based on the round of the puzzle for - the channel in which `/puzzle` is invoked. + https://github.com/kevinychen/snap2 -• Consider putting a round prefix into the channel name to group a - round's puzzles in the channel list. +• Watch the recent hunt workshop that had some recommendations on + tools and see what from that we should incorporate -Meta-puzzle support -------------------- +• Think about writing some custom solving tools, (like Qat, or + Nutrimatic, or Snap2, etc.) -• 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? +• 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). + +• Hunt creation should set the hunt channel's topic (we recently added + this for hunt editing at least) + +• 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). + +Round management +---------------- + +• Select round fields by default based on the round of the puzzle for + the channel in which `/puzzle` is invoked. Hunt overview commands and filters ---------------------------------- @@ -39,25 +61,6 @@ Hunt overview commands and filters • On the Turbot home screen add a text box for a search hstring (to work like the search string now available in "/hunt"). -• 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). - -• Ensure that both spreadsheet and channel are updated in response to - any changes. - File uploads ------------ @@ -66,34 +69,17 @@ 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 - invitation for all newly-created puzzle channels +• 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) Sheet-related fixes ------------------- -• 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.) - -• Question: Having "SOLVED" at the beginning of the sheet name is nice - for makint it noticeable with the sheet open, but it changes the - order of the sheet in the folder view. Do we maybe want to put - "SOLVED" at the end of the name so that puzzle sheets can be - reliably found in an ordered position regardless of solved status? - -• Come up with a better sheet template - -• Put the puzzle's name into the primary tab of the sheet - -• When copying tabs from the spreadsheet template, don't leave the - default "Copy of " text in place. - • 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 @@ -104,13 +90,14 @@ 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 -------------- -• 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