~singpolyma/cheogram

ref: e1dacfb1e3afbe75302e38a148bab7cfbea416b4 cheogram/cheogram.cabal -rw-r--r-- 2.1 KiB
Temporary fix for broken mmorph version
Merge branch 'cv_adhoc_squashed'

* cv_adhoc_squashed:
  Change Case to Select
  Add Thread to Bot Responses
  Add Text-Single Handling
  AdHoc Bot Forms
Change Case to Select

I was abusing the case syntax pretty hard, so this should be more accurate to
what's actually going on.

I was going to reintegrate this change back into the earlier commits, but I've
fixed that same ugly merge conflict when the new stuff gets added in the case
statement like 10 times by now, and I'm just not interested in doing it again.

So this is its own commit, at the end.
AdHoc Bot Forms

Before this when a user got back a form it was considered an error. Only
commands that returned a note could be executed.
Now, though, we see the form and try to handle it as a series of chat questions
asked to the people. This is only the first version of the technique, though,
so it has some pretty strong limitations.

First, it only supports lists because that's all the test flow I pulled out of
the spec had in it. There are obviously other field types that this will need
to support to be considered finished.

Second, it only goes forwards. There's no cancel, no returning to previous
questions, etc. It also waits forever (well, until the next restart) for the
user to finish, occupying memory in the session holder until then. We could
also maybe ask confirmation before crossing from one form to another, from the
server's perspective, since there's no guarantee that changes made aren't
immediately applied, rather than waiting for the end. At the very least we
should have timeouts and cancelling though.

Third, there's no error handling at all. It just takes things and assumes
success. That should maybe go along with cancellation, at least, but handling
it with some kind of error message and retry may be nice, if the standard and
the server command accepts it.
Relax Dhall Version

I constrained it to the one version I happened to have installed to ensure it
worked. Now that I have more time, though, I've tested and it appears to also
work on these other versions.
Update Dhall to Newer Version

Some classes changed names, others changed types.
All in all it was a relatively straight-forward port.
Better URL block for whispers
Command-only commands work

That is, if the command returns completed immediately with a note, the
note is returned to the user.  Anything else is treated as an error.
Refactor help command to stop using the -and-then resource hack
Start sending some statsd stats
Store presence and caps/disco info in redis
Switch to dhall config and add jingle FT stuff
Switch from many cli args to a dhall config file

Before we add even more config in a sec here
Using newer version of network-protocol-xmpp
New homepage and mailing list workflow
Fixup cabalization
List all needed modules in cabal file
Update to work on latest Debian stable
Experimental start to the tel discovery/verification
Need this version for TQueue
Next