4 [These are not highest priority, but are so easy that they are worth
5 not delaying until after bigger features below.]
7 • Fix /puzzle dialog to reject a puzzle with the same URL as an
10 • Make /solved clear the state string for a puzzle.
15 • Add a /round command to create a new round. This is like a puzzle in
16 that it has its own channel, but different in that it doesn't accept
19 • Add an (optional) drop-down at puzzle creation for selecting a known
20 round for a puzzle, (or creating a new round). Ensure this mechanism
21 allows for puzzles to exist in multiple rounds.
23 • Consider putting a round prefix into the channel name to group a
24 round's puzzles in the channel list.
29 • Figure out a good mechanism for linking puzzles to a meta-puzzle
30 that they feed into. Is this different or the same as the round
31 mechanism described above?
33 Hunt overview commands and filters
34 ----------------------------------
36 • Implement a /hunt command for giving an overview of the entire hunt,
37 (like the Turbot "home" view but available in any channel)
39 • For "/hunt" display only unsolved puzzles by default, but also allow
40 for "/hunt all" to display all puzzles
42 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
45 • For both "/hunt" and the Turbot home screen allow for a search
46 string that will search through puzzle names, puzzle IDs, puzzle
47 URLs, and state strings.
49 • Figure out what we want for tagging and searching on tags (beyond
50 what's already possible with the state strings).
55 • Implement a command to display the status of the current puzzle
56 within the channel. Need a name for this command.
58 • Extend the in-channel puzzle display to also allow editing of all
61 • Implement an /archive command to allow for easy archiving of a
62 channel for a solved puzzle (but make sure archived puzzles still
63 show up in global hunt/round views).
68 • Incorporate puzzle file uploads into the database state for each
69 puzzle. Any file uploaded to the Slack should get included
70 initially, but when editing a puzzle users can drop irrelevant files
71 or label relevant files.
73 Opt-out of channel invitations
74 ------------------------------
76 • Drop the auto-invitation of all hunt members to every new channel.
78 • Announce all newly-created puzzles in the main hunt channel, (so
79 that hunt members can easily click to join).
81 • Consider adding a user option to allow a user to opt-in to auto
82 invitation for all newly-created puzzle channels
87 • Have linked spreadsheets go into a specific Google Drive folder
89 • Come up with a better sheet template
91 • Put the puzzle's name into the primary tab of the sheet
93 • When copying tabs from the spreadsheet template, don't leave the
94 default "Copy of " text in place.
96 • Do something to make it more clear which tabs exist just as
97 backup/reference from the original template vs. any new tab a user
98 has created during the hunt. (Perhaps color the reference tabs
104 • Add support for recording/displaying those who have current roles
106 • Decide a good plan for audio/video calls for puzzles and integrate
109 • Inspect the CloudWatch logs for our Turbot AWS Lambda during the time
110 period of the active hunt, (October 24-31), find and diagnose any
111 errors that occurred during that period. Users reported seeing
112 "Trouble connecting" (probably during new-puzzle dialog submission)
113 as well as "dispatch_failed during /state command (perhaps due to a
114 state string that was very long).
116 • Think about some way to express solve priority
121 • Implement code to close out an entire hunt after the fact
124 • Figure out what tool we want to use for shared drawing on a puzzle
125 and integrate that into Turbot, (give a command that will generate a
126 new URL and will insert that URL into the Slack topic and the list
127 of links at the top of the sheet).