Blog

Convos got a built in pastebin

Convos has a high focus on privacy. Convos can be run on closed network, and
no external resources on the public internet should ever be needed. This ideas
was also taken into consideration when we decided bundle a
pastebin with Convos. The
pastebin implementation stores the data in
CONVOS_HOME, meaning you are
in full control of the data shared.

The pastebin works like this:

Copy a chunk of multiline text

Paste it into the the input text box in a conversation

Hit enter

Convos will create a paste, and send the link to the past as a message

Here is an example paste:

Multiline messages

If the text is three lines (subject to change) or less, then Convos will
simply send the them as three messages instead. There is an environment variable
that decides how many lines you need to have before it is converted to a paste.
It is not public, so changing this might not work in the future, but if you want
to play around and tweak the setting, you can try the command below:

$ CONVOS_MAX_BULK_MESSAGE_SIZE=1 ./script/convos daemon

External pastebin service

There are currently no plan to implement support for sending a paste to an
external service, but that doesn’t prevent you from making your own. The
pastebin is implemented as a
plugin,
meaning you can create your own and load that instead.

The plugin simply listens to a multiline_message event and creates a paste
based on the information from the backend. Below is an alternative that post
the paste to ix.io:

The $connection object is there so you can get the user object, which again
can hold authentication details for the paste service. Note that this is
currently not implemented in the frontend, but this can of course be changed.

After all… Convos is Open Source!

Want to know more?

Please contact us if you’re interested into learning
more about how to make a plugin, or have questions about Convos in general.

Convos version 0.99_33 is out with bugfixes

Version 0.99_33 has been
released with a bunch of updates. Run the
install command to get the
latest version!

IRC servers with credentials

A Convos user reported in
that username/password was not handled correctly when you click “Save”. The
existing logic at the time was very complicated and therefor also very buggy.
The idea was that the password submitted on web should not be sent back to the
web interface, because of security concerns. This logic is now changed, since
we think there’s no issue sending the password over the web as long as you
protect your Convos installation with HTTPS.

Online/offline state for private dialogs

Version 0.99_31 was
released with a new method to detect if the user in a private dialog is online
or not: Convos now uses the
ISON command instead of
WHOIS. This change was
introduced since ISON is a much lighter command to run, and simply answers
the question we want to know: Is this user online? The problem with “ISON” is
that the returned data looks like this:

The first reply is for an offline user, while the second is for a user that is
online. This looks quite sane, but it does not seem like the IRC server
returns the ISON reply in the same order as it is sent, so it’s hard to track
if the offline response was for “superman” or some other nick, before you have
received all the replies. This logic is now improved in version
0.99_33 and seems to work as
expected.

I wonder if I have misunderstood something. Please
contact me, if you have any information
regarding this.

Active user tracking

Users in a channel has improved “active” tracking, which means that Convos will
track users who was active as well as currently active users. This helps
the autocomplete to order the nick list by last seen in the dialog. Pressing
“tab” will now autocomplete the last user who said anything in the dialog,
which makes sense since it’s probably the person you want to reply to.

As a sidenote: The autocomplete has a better matcher for emojis, so you don’t
need to remember the emoji name exactly by name.

Enjoy!

Hope you enjoy these changes! Like to see your favorite chat feature
implemented? Then get involved. Need some help?
Ask us in #convos on chat.freenode.net.

Convos version 0.99_24 is out

Version 0.99_24 is
out in the wild. This release feature some cool changes in the user interface,
but also some important bug fixes.

Listing of available rooms

The “Join dialog” page now shows a list of available rooms, which makes it
more intuitive and easy to find the correct chat room to join. The “Dialog
name” input field can be used to search in the list of available rooms.
The default list is sorted by number of participants, which makes it easy to
find the most popular rooms on the current server.

You can now send any IRC command

There used to be a limitation to which IRC commands you could send. This
limitation is now removed.

Convos still handle some commands with custom logic (such as JOIN, WHOIS,
…), but other commands (such as WHOWAS) is now sent and received as raw IRC
messages. Please let us know if your favorite IRC command should get some
extra love, so it will render in a more pleasing way.

Bug fixes

This version includes some bug fixes, here are the two most important fixes:

Fix registration process: There used to be a bug which require you to refresh
the browser window, after adding a new server. This is now fixed.

You can now go to the profile and help pages while running the initial
registration wizard.

Enjoy!

Convos version 0.99_21 is out

Version 0.99_21 is fresh
from the bakery! Run the
install command to get the
latest version.

Who’s in the current dialog?

Getting the participant list did not work when joining a dialog. It also
failed when reconnecting to a server. Both of these issues are now fixed.

The participant list will also reload when the websocket connection is
restarted.

Version 0.99_16 also add special styling to indicate if a user in a channel is
currently active or not: A user who have left the channel will be rendered
with “strike through” to indicate that the user is no longer present in the
dialog.

Convos behind a reverse proxy

Convos has always worked behind a
reverse proxy,
but there was a bug which did not allow it to be mounted under a custom base
path.

This bug was fixed in the beginning of December, making both location with and
without a path working:

Organization URL

On connect commands

Version 0.99_17 added support for defining and editing “on connect commands”.
This allows commands such as /msg NickServ identify supersecretpassword to be
run automatically when you connect to an IRC server.

Closing dialogs

You can now close dialogs directly from the dialog list, instead of clicking
on the dialog first.