]> git.cworth.org Git - turbot/blob - TODO
Refuse to create a new puzzle with the same URL as an existing puzzle
[turbot] / TODO
1 Recently-proposed ideas (not yet prioritized)
2 ---------------------------------------------
3 • Set-up an announcements Slack channel that's auto fed by email to a
4   particular email address.
5
6 Low-hanging fruit
7 -----------------
8
9 [These are not highest priority, but are so easy that they are worth
10 not delaying until after bigger features below.]
11
12 • Make /solved clear the state string for a puzzle.
13
14 Round management
15 ----------------
16
17 • Group the puzzles in the Turbot home view by round
18
19 • Select round fields by default based on the round of the puzzle for
20   the channel in which `/puzzle` is invoked.
21
22 • Consider putting a round prefix into the channel name to group a
23   round's puzzles in the channel list.
24
25 Meta-puzzle support
26 -------------------
27
28 • Figure out a good mechanism for linking puzzles to a meta-puzzle
29   that they feed into. Is this different or the same as the round
30   mechanism described above?
31
32 Hunt overview commands and filters
33 ----------------------------------
34
35 • Implement a /hunt command for giving an overview of the entire hunt,
36   (like the Turbot "home" view but available in any channel)
37
38 • For "/hunt" display only unsolved puzzles by default, but also allow
39   for "/hunt all" to display all puzzles
40
41 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
42   puzzles
43
44 • For both "/hunt" and the Turbot home screen allow for a search
45   string that will search through puzzle names, puzzle IDs, puzzle
46   URLs, and state strings.
47
48 • Figure out what we want for tagging and searching on tags (beyond
49   what's already possible with the state strings).
50
51 Editing puzzle fields
52 ---------------------
53
54 • Implement a command to display the status of the current puzzle
55   within the channel. Need a name for this command.
56
57 • Extend the in-channel puzzle display to also allow editing of all
58   puzzle fields
59
60 • Implement an /archive command to allow for easy archiving of a
61   channel for a solved puzzle (but make sure archived puzzles still
62   show up in global hunt/round views).
63
64 File uploads
65 ------------
66
67 • Incorporate puzzle file uploads into the database state for each
68   puzzle. Any file uploaded to the Slack should get included
69   initially, but when editing a puzzle users can drop irrelevant files
70   or label relevant files.
71
72 Opt-out of channel invitations
73 ------------------------------
74
75 • Consider adding a user option to allow a user to opt-in to auto
76   invitation for all newly-created puzzle channels
77
78 Sheet-related fixes
79 -------------------
80
81 • Have linked spreadsheets go into a specific Google Drive folder
82
83 • Come up with a better sheet template
84
85 • Put the puzzle's name into the primary tab of the sheet
86
87 • When copying tabs from the spreadsheet template, don't leave the
88   default "Copy of " text in place.
89
90 • Do something to make it more clear which tabs exist just as
91   backup/reference from the original template vs. any new tab a user
92   has created during the hunt. (Perhaps color the reference tabs
93   differently.)
94
95 Un-prioritized items
96 --------------------
97
98 • Add support for recording/displaying those who have current roles
99
100 • Decide a good plan for audio/video calls for puzzles and integrate
101   that into Turbot.
102
103 • Inspect the CloudWatch logs for our Turbot AWS Lambda during the time
104   period of the active hunt, (October 24-31), find and diagnose any
105   errors that occurred during that period. Users reported seeing
106   "Trouble connecting" (probably during new-puzzle dialog submission)
107   as well as "dispatch_failed during /state command (perhaps due to a
108   state string that was very long).
109
110 • Think about some way to express solve priority
111
112 Lower priority
113 --------------
114
115 • Implement code to close out an entire hunt after the fact
116
117
118 • Figure out what tool we want to use for shared drawing on a puzzle
119   and integrate that into Turbot, (give a command that will generate a
120   new URL and will insert that URL into the Slack topic and the list
121   of links at the top of the sheet).