64 Commits

Author SHA1 Message Date
Andrey Petrov
8653f0a730 sshchat: Replace terminal echo hack with our forked terminal 2019-03-18 10:08:39 -04:00
Andrey Petrov
b8fb704c8f sshchat: Fix empty messages borking rendering 2019-03-17 16:10:16 -04:00
Andrey Petrov
9c3db55c83 sshchat: Echo command messages with the new timestamp code. 2019-03-17 13:50:01 -04:00
Andrey Petrov
eb10bad08e sshchat, chat: Override terminal echo and do our own echo 2019-03-16 11:52:07 -04:00
Andrey Petrov
6d3fce47cc Revert "host: Add timestamps into prompt when enabled"
This reverts commit 6ce14bfc33e5a5aeb6003cdec9a873588eabe8f0.

We're going to do another approach.
2019-03-16 11:52:07 -04:00
Andrey Petrov
4188a3bdac host: Add timestamps into prompt when enabled 2019-03-16 11:52:07 -04:00
Andrey Petrov
3f0faf761e main: Skip command autocomplete if space-prefixed
Fixes #300
2019-03-15 18:39:53 -04:00
Andrey Petrov
ae46a91e0f /reply: Set reply target properly
Fixes #299
2019-03-15 18:32:46 -04:00
Andrey Petrov
60701198fc /op: Fix room op being tied to the nick, add remove option
Closes #301
2019-03-15 18:18:20 -04:00
UlisseMini
a1b891aae2 host.go: drop = 0 from declaration; it is the zero value (golint) 2019-02-24 09:40:47 -06:00
Robert Hailey
40bf204058 chat: When a user leaves, add time since they joined to the exit message.
* Show the connection duration upon departure

* humantime: ugly sub-second precision replaces grammatically incorrect "1 seconds" message

* simplify function name

* humantime: repair unit test

* move: util/humantime -> internal/humantime

* go fmt everything
2019-01-02 15:46:21 -05:00
Andrey Petrov
903d6c9420
/ban query support (#286)
For #285 

Turns out there were some bugs in Set, and I was using it incorrectly too.

The query syntax is a little awkward but couldn't find a nicer easy to parse format that worked with quoted string values.
2018-12-25 14:29:19 -05:00
Andrey Petrov
3572c4674c main: Add /banned command to list banned entries for ops. 2018-12-15 19:04:42 -05:00
Andrey Petrov
66fee99a81 /uptime and /whois relative timestamps made more precise
Replaced go-humanize dependency with our own logic.

Fixes #259.
2018-01-19 12:35:45 -05:00
Steven L
e800c88a56 Fixed /reply bug (#230) 2017-04-27 21:04:37 -04:00
Andrey Petrov
cdcc4a9931 refactor: User.Config -> User.Config() and User.SetConfig(UserConfig) 2016-08-29 10:11:39 -04:00
Andrey Petrov
d950112dd9 refactor: Id -> ID 2016-08-24 13:54:20 -04:00
Andrey Petrov
0fcc076c74 set: Switch to a common set implementation 2016-08-24 13:54:20 -04:00
Greg Wedow
a67a9d115b /uptime: Format output to be more human-friendly 2016-08-21 12:20:53 -04:00
Andrey Petrov
47607af729 /reply: Enabled again.
Fixes #202
2016-08-16 14:20:51 -04:00
Andrey Petrov
398cd75c5e logging: Add [RemoteAddr] prefix to connection-related messages 2016-08-13 16:22:43 -04:00
Andrey Petrov
cfa86b3e2e /motd: Fixed set message and actual motd coming out of order.
Fixes #165
2016-08-12 16:35:00 -04:00
Micheal Winger
91c62966fa /msg: Send SystemMsg confirmation with each PM 2016-08-06 23:56:24 -04:00
Dmitri Shuralyov
66adee6f9a /whois: Hide IP if user isn't admin; display client and time joined. (#192)
Resolves #170.
2016-08-06 18:20:34 -04:00
Andrey Petrov
c8661e6883 motd: Allow for reading the current motd when no additional args given.
Closes #155, merges #157

Squashed commit of the following:

commit bcb0810637c99223753629a2e55169b07ee9fe51
Author: Andrey Petrov <andrey.petrov@shazow.net>
Date:   Wed Aug 3 17:58:37 2016 -0400

    motd: Refactor inner conditions

commit ac28c8cb4e8dc2a0d23abe3dcf52b69175cde51b
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:38:36 2016 +0300

    Fix small issues with the help message

commit a80ae77e1d691a4ec7125be5441d4f6eea767a75
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:30:21 2016 +0300

    Print the motd if no parameters are passed

commit 2db1b3c123661cdbd622d5ba2ff81ede8cb8a951
Author: Aaron <aaron.ounn@gmail.com>
Date:   Tue Aug 2 09:29:41 2016 +0300

    Update the motd command's description
2016-08-03 17:58:49 -04:00
Andrey Petrov
13ea34b912 Fixed autocomplete crashing bug (#166) 2016-08-03 17:42:53 -04:00
Andrey Petrov
c4604fde94 Disabled autocomplete due to #166.
Also added mutex for user replyTo pointer, since that's being set by
both the host and user.
2016-08-03 12:19:33 -04:00
Andrey Petrov
2abe368022 style: Fix gofmt and vet complaints 2016-07-31 12:18:06 -04:00
Andrey Petrov
50d2be3a88 Fixed message buffer timeout 2016-07-24 16:17:02 -04:00
Andrey Petrov
e6f7dba34e Progress: Unchan user 2016-07-24 16:17:02 -04:00
Andrey Petrov
ace2bc5124 sshd.SSHListener: Use HandlerFunc instead of terminal channel feed 2016-07-17 16:49:14 -04:00
Andrey Petrov
18b2f511cb Use pointer receiver for all of Host 2016-07-15 18:15:07 -04:00
Andrey Petrov
9bf1f53445 Fixed /kick command to actually close target 2016-07-15 16:22:25 -04:00
Andrey Petrov
0fdeda8b75 Progress: Trying to fix more deadlocks, failing. 2016-07-12 18:24:02 -04:00
Andrey Petrov
ea2d4d0dfc chat: Fix race conditions. 2016-07-12 11:18:07 -04:00
Andrey Petrov
39ac1f44ed Build/release script and fix version annotation. 2016-07-10 17:57:39 -04:00
Andrey Petrov
3e54932f7b Don't explode when autocompleting nothing.
Fixes #126.
2015-02-10 12:04:19 -08:00
Andrey Petrov
8188deef30 Root sshchat package, main moved into cmd/ssh-chat/. 2015-01-21 11:47:59 -08:00
Andrey Petrov
c2adb4d632 ssh-chat/chat/{message,user,theme,history} -> ssh-chat/chat/message 2015-01-20 16:33:52 -08:00
Andrey Petrov
c4ffd6f263 /version, /uptime 2015-01-20 14:23:37 -08:00
Andrey Petrov
9335a2139b Sanitize names on join and /nick. 2015-01-20 14:13:59 -08:00
Andrey Petrov
69ea63bf88 /ban and /op now support durations, also all other auth things in the api. 2015-01-19 19:16:37 -08:00
Andrey Petrov
84df305ddf /op with pubkey. 2015-01-18 20:03:08 -08:00
Andrey Petrov
080b6e8f1b /motd 2015-01-18 19:55:01 -08:00
Andrey Petrov
6c972e6e58 Message rate limiting, input length, and ignore empty lines. 2015-01-18 19:11:35 -08:00
Andrey Petrov
0c21486992 History backfill, also tests pass. 2015-01-18 18:55:47 -08:00
Andrey Petrov
544c9789c0 /reply command with autocomplete. 2015-01-18 18:11:30 -08:00
Andrey Petrov
12402c2338 Autocomplete commands. 2015-01-18 17:53:29 -08:00
Andrey Petrov
838285ba43 chat.Color->chat.Style, highlighting works. 2015-01-17 13:26:26 -08:00
Andrey Petrov
3c4e6994c2 chat.Channel->chat.Room, /ban, /whois, chat.User.Identifier
- Renamed chat.Channel -> chat.Room
- /ban works, supports IP also
- /whois works
- chat.User now accepts an Identifier interface rather than name
- Tweaked rate limiting
2015-01-16 21:53:22 -08:00