X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO;h=d0aa1ba256903cecaa79d91ac14643eb12fc4d61;hb=4bca55ecc12eb56357e5a5279fece0adced30430;hp=50f86dde6028996f4dbbc7f0d7bbdb3fbf8e1110;hpb=88f0b7bc4b2b69ffc1c46735cf575126a8cdab6a;p=turbot diff --git a/TODO b/TODO index 50f86dd..d0aa1ba 100644 --- a/TODO +++ b/TODO @@ -1,81 +1,115 @@ -• Make /solved report to the main hunt channel +Bugs that we want to fix before Hunt 2021 +----------------------------------------- +• Move sheets into a subfolder -• Make /solved clear the state string for a puzzle. +• Add "/hunt new" -• Implement an /archive command to allow for easy archiving of a - channel for a solved puzzle +• Add "/hunt edit" (at least for URL) -• Implement code to close out an entire hunt after the fact +Ordered punch-list (aiming to complete by 2021-01-08) +----------------------------------------------------- -• Implement a /hunt command for giving an overview of the entire hunt, - (like the Turbot "home" view but available in any channel) +• Add tags to the puzzle edit interface -• For "/hunt" display only unsolved puzzles by default, but also allow - for "/hunt all" to display all puzzles +• Make the /hunt command drop from the database any rounds that have 0 + puzzles in them -• On the Turbot home screen allow a dropdown for Unsolved/Solved/All - puzzles +Recently-proposed ideas (not yet prioritized) +--------------------------------------------- +• Set-up an announcements Slack channel that's auto fed by email to a + particular email address. + +• 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). -• 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. +• Allow a hunt (and perhaps a round) to have multiple URLs -• 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. +• Provide an "Archive channel" button in the channel when outputting + the message that results from /solved. -• Consider putting a round prefix into the channel name to group a - round's puzzles in the channel list. +• Would it be helpful to have some sort of "tools" command to collect + pointers to useful tools and allow for searching of them? -• 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? +• Investigate what from snap2 we could incorporate into our sheets: -• Implement a command to display the status of the current puzzle - within the channel. Need a name for this command. + https://github.com/kevinychen/snap2 -• Extend the in-channel puzzle display to also allow editing of all - puzzle fields +• Watch the recent hunt workshop that had some recommendations on + tools and see what from that we should incorporate -• Fix /puzzle dialog to reject a puzzle with the same URL as an - existing puzzle. +• Think about writing some custom solving tools, (like Qat, or + Nutrimatic, or Snap2, etc.) -• Allow a per-user option to opt out of being auto-invited to all - newly-created puzzle channels. +• 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 what we want for tagging and searching on tags (beyond - what's already possible with the state strings). +Round management +---------------- -• Decide a good plan for audio/video calls for puzzles and integrate - that into Turbot. +• Select round fields by default based on the round of the puzzle for + the channel in which `/puzzle` is invoked. -• 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). +Hunt overview commands and filters +---------------------------------- + +• On the Turbot home screen allow a dropdown for Unsolved/Solved/All + puzzles + +• 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 +------------ • 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). +Opt-in for channel invitations +------------------------------ -• Come up with a better sheet template +• Consider adding a user option to allow a user to opt-in to auto + invitation for all newly-created puzzle channels -• Put the puzzle's name into the primary tab of the sheet +Sheet-related fixes +------------------- -• When copying tabs from the spreadsheet template, don't leave the - default "Copy of " text in place. +• Add the solution to the sheet name on solved: "[TITLE] - Solved [ANSWER]" + +• 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.) • 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 +-------------- + +• 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)