]> git.cworth.org Git - turbot/blob - TODO
Update the TODO list for a couple of recently-completed items
[turbot] / TODO
1 Ordered punch-list (aiming to complete by 2021-01-08)
2 -----------------------------------------------------
3
4 • Add tags to the puzzle edit interface
5
6 • Make the /hunt command drop from the database any rounds that have 0
7   puzzles in them
8
9 Recently-proposed ideas (not yet prioritized)
10 ---------------------------------------------
11 • Set-up an announcements Slack channel that's auto fed by email to a
12   particular email address.
13
14 • Have Turbot explicitly report long state strings to the channel,
15   (since the implicit report from settting the abbreviated topic won't
16   have the whole message).
17
18 • Allow a hunt (and perhaps a round) to have multiple URLs
19
20 • Provide an "Archive channel" button in the channel when outputting
21   the message that results from /solved.
22
23 • Would it be helpful to have some sort of "tools" command to collect
24   pointers to useful tools and allow for searching of them?
25
26 • Investigate what from snap2 we could incorporate into our sheets:
27
28   https://github.com/kevinychen/snap2
29
30 • Watch the recent hunt workshop that had some recommendations on
31   tools and see what from that we should incorporate
32
33 • Think about writing some custom solving tools, (like Qat, or
34   Nutrimatic, or Snap2, etc.)
35
36 • Fix slash commands to pass off processing to a separate Lambda and
37   then return immediately (removing the annoying "operation timeout"
38   complaints from Slack even when the command works exactly as it
39   should).
40
41 Round management
42 ----------------
43
44 • Select round fields by default based on the round of the puzzle for
45   the channel in which `/puzzle` is invoked.
46
47 Hunt overview commands and filters
48 ----------------------------------
49
50 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
51   puzzles
52
53 • On the Turbot home screen add a text box for a search hstring (to
54   work like the search string now available in "/hunt").
55
56 File uploads
57 ------------
58
59 • Incorporate puzzle file uploads into the database state for each
60   puzzle. Any file uploaded to the Slack should get included
61   initially, but when editing a puzzle users can drop irrelevant files
62   or label relevant files.
63
64 Opt-in for channel invitations
65 ------------------------------
66
67 • Consider adding a user option to allow a user to opt-in to auto
68   invitation for all newly-created puzzle channels
69
70 Sheet-related fixes
71 -------------------
72
73 • Add the solution to the sheet name on solved: "[TITLE] - Solved [ANSWER]"
74
75 • Use a hunt-specific Google Drive folder for creating all the
76   sheets. (This way, we can share out the "mh2021" folder to all team
77   members so that people can browse the sheets that way if wanted, and
78   have backup access to all of them on the off chance of Slack not
79   being available.)
80
81 • Put the puzzle's name into the primary tab of the sheet
82
83 • Do something to make it more clear which tabs exist just as
84   backup/reference from the original template vs. any new tab a user
85   has created during the hunt. (Perhaps color the reference tabs
86   differently.)
87
88 Un-prioritized items
89 --------------------
90
91 • Add support for recording/displaying those who have current roles
92
93   Maybe this should just be a "Post" in the main hunt channel, (and
94   need not have any direct Turbot support?)
95
96 • Think about some way to express solve priority
97
98 Lower priority
99 --------------
100
101 • Implement code to close out an entire hunt after the fact
102
103 • Figure out what tool we want to use for shared drawing on a puzzle
104   and integrate that into Turbot, (give a command that will generate a
105   new URL and will insert that URL into the Slack topic and the list
106   of links at the top of the sheet).
107
108 • Think about using a URL shortener API for the sheet URLs (to leave
109   more room in a channel topic for state string content)