Create .weechat-linux.

- linux/macos are different enough that you can't sync 1-1.
- creating two separate syncing directories for now.

- its a garbage practice but at least its backedup for now.
s2svpn
josiah 5 years ago
parent cce022586b
commit c3f7492575

@ -0,0 +1,48 @@
#
# weechat -- alias.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[cmd]
AAWAY = "allserv /away"
AME = "allchan /me"
AMSG = "allchan /msg *"
ANICK = "allserv /nick"
BEEP = "print -beep"
BYE = "quit"
C = "buffer clear"
CHAT = "dcc chat"
CL = "buffer clear"
CLOSE = "buffer close"
EXIT = "quit"
IG = "ignore"
J = "join"
K = "kick"
KB = "kickban"
LEAVE = "part"
M = "msg"
MSGBUF = "command -buffer $1 * /input send $2-"
MUB = "unban *"
N = "names"
Q = "query"
REDRAW = "window refresh"
SAY = "msg *"
SIGNOFF = "quit"
T = "topic"
UB = "unban"
UMODE = "mode $nick"
V = "command core version"
W = "who"
WC = "window merge"
WI = "whois"
WII = "whois $1 $1"
WW = "whowas"
[completion]
MSGBUF = "%(buffers_plugins_names)"

@ -0,0 +1,39 @@
#
# weechat -- buflist.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
add_newline = on
auto_scroll = 50
display_conditions = "${buffer.hidden}==0"
enabled = on
mouse_jump_visited_buffer = off
mouse_move_buffer = on
mouse_wheel = on
nick_prefix = off
nick_prefix_empty = on
signals_refresh = ""
sort = "number,-active"
[format]
buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}"
buffer_current = "${color:,magenta}${format_buffer}"
hotlist = " ${color:green}(${hotlist}${color:green})"
hotlist_highlight = "${color:magenta}"
hotlist_low = "${color:white}"
hotlist_message = "${color:brown}"
hotlist_none = "${color:default}"
hotlist_private = "${color:green}"
hotlist_separator = "${color:default},"
indent = " "
lag = " ${color:green}[${color:brown}${lag}${color:green}]"
name = "${name}"
nick_prefix = "${color_nick_prefix}${nick_prefix}"
number = "${color:green}${number}${if:${number_displayed}?.: }"

@ -0,0 +1,18 @@
#
# weechat -- charset.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[default]
decode = "iso-8859-1"
encode = ""
[decode]
[encode]

@ -0,0 +1,19 @@
#
# weechat -- exec.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[command]
default_options = ""
purge_delay = 0
shell = "sh"
[color]
flag_finished = lightred
flag_running = lightgreen

@ -0,0 +1,14 @@
#
# weechat -- fifo.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[file]
enabled = on
path = "%h/weechat_fifo"

@ -0,0 +1,95 @@
#
# weechat -- fset.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
auto_unmark = off
condition_catch_set = "${count} >= 1"
export_help_default = on
format_number = 1
marked_string = "*"
scroll_horizontal = 10
show_plugins_desc = off
sort = "~name"
unmarked_string = " "
use_color_value = off
use_keys = on
use_mute = off
[format]
export_help = "# ${description2}"
export_option = "/set ${name} ${quoted_value}"
export_option_null = "/unset ${name}"
option1 = ""
option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}"
[color]
default_value = default
default_value_selected = white
description = default
description_selected = white
file = default
file_changed = brown
file_changed_selected = yellow
file_selected = white
help_default_value = white
help_description = default
help_name = white
help_quotes = darkgray
help_values = default
index = cyan
index_selected = lightcyan
line_marked_bg1 = default
line_marked_bg2 = default
line_selected_bg1 = blue
line_selected_bg2 = red
marked = brown
marked_selected = yellow
max = default
max_selected = white
min = default
min_selected = white
name = default
name_changed = brown
name_changed_selected = yellow
name_selected = white
option = default
option_changed = brown
option_changed_selected = yellow
option_selected = white
parent_name = default
parent_name_selected = white
parent_value = cyan
parent_value_selected = lightcyan
quotes = darkgray
quotes_changed = default
quotes_changed_selected = white
quotes_selected = default
section = default
section_changed = brown
section_changed_selected = yellow
section_selected = white
string_values = default
string_values_selected = white
title_count_options = cyan
title_current_option = lightcyan
title_filter = yellow
title_marked_options = lightgreen
title_sort = white
type = green
type_selected = lightgreen
unmarked = default
unmarked_selected = white
value = cyan
value_changed = brown
value_changed_selected = yellow
value_selected = lightcyan
value_undef = magenta
value_undef_selected = lightmagenta

@ -0,0 +1,236 @@
#
# weechat -- irc.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
buffer_open_before_autojoin = on
buffer_open_before_join = off
buffer_switch_autojoin = on
buffer_switch_join = on
color_nicks_in_names = off
color_nicks_in_nicklist = off
color_nicks_in_server_messages = on
color_pv_nick_like_channel = on
ctcp_time_format = "%a, %d %b %Y %T %z"
display_away = local
display_ctcp_blocked = on
display_ctcp_reply = on
display_ctcp_unknown = on
display_host_join = on
display_host_join_local = on
display_host_quit = on
display_join_message = "329,332,333,366"
display_old_topic = on
display_pv_away_once = on
display_pv_back = on
highlight_channel = "$nick"
highlight_pv = "$nick"
highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice"
item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin
item_nick_modes = on
item_nick_prefix = on
join_auto_add_chantype = off
msgbuffer_fallback = current
new_channel_position = none
new_pv_position = none
nick_completion_smart = speakers
nick_mode = prefix
nick_mode_empty = off
nicks_hide_password = "nickserv"
notice_as_pv = auto
notice_welcome_redirect = on
notice_welcome_tags = ""
notify_tags_ison = "notify_message"
notify_tags_whois = "notify_message"
part_closes_buffer = off
pv_buffer = independent
pv_tags = "notify_private"
raw_messages = 256
server_buffer = merge_with_core
smart_filter = on
smart_filter_chghost = on
smart_filter_delay = 5
smart_filter_join = on
smart_filter_join_unmask = 30
smart_filter_mode = "+"
smart_filter_nick = on
smart_filter_quit = on
temporary_servers = off
topic_strip_colors = off
[color]
input_nick = lightcyan
item_channel_modes = default
item_lag_counting = default
item_lag_finished = yellow
item_nick_modes = default
message_chghost = brown
message_join = green
message_quit = red
mirc_remap = "1,-1:darkgray"
nick_prefixes = "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
notice = green
reason_quit = default
topic_current = default
topic_new = white
topic_old = default
[network]
autoreconnect_delay_growing = 2
autoreconnect_delay_max = 600
ban_mask_default = "*!$ident@$host"
channel_encode = off
colors_receive = on
colors_send = on
lag_check = 60
lag_max = 1800
lag_min_show = 500
lag_reconnect = 300
lag_refresh_interval = 1
notify_check_ison = 1
notify_check_whois = 5
sasl_fail_unavailable = on
send_unknown_commands = off
whois_double_nick = off
[msgbuffer]
[ctcp]
[ignore]
[server_default]
addresses = ""
anti_flood_prio_high = 2
anti_flood_prio_low = 2
autoconnect = off
autojoin = ""
autoreconnect = on
autoreconnect_delay = 10
autorejoin = off
autorejoin_delay = 30
away_check = 0
away_check_max_nicks = 25
capabilities = ""
command = ""
command_delay = 0
connection_timeout = 60
ipv6 = on
local_hostname = ""
msg_kick = ""
msg_part = "WeeChat ${info:version}"
msg_quit = "WeeChat ${info:version}"
nicks = "jledbetter,jledbetter1,jledbetter2,jledbetter3,jledbetter4"
nicks_alternate = on
notify = ""
password = ""
proxy = ""
realname = ""
sasl_fail = continue
sasl_key = ""
sasl_mechanism = plain
sasl_password = ""
sasl_timeout = 15
sasl_username = ""
split_msg_max_length = 512
ssl = off
ssl_cert = ""
ssl_dhkey_size = 2048
ssl_fingerprint = ""
ssl_priorities = "NORMAL:-VERS-SSL3.0"
ssl_verify = on
usermode = ""
username = "fake"
[server]
bouncer-OFTC.addresses = "bouncer.awful.club/5000"
bouncer-OFTC.proxy
bouncer-OFTC.ipv6
bouncer-OFTC.ssl = on
bouncer-OFTC.ssl_cert
bouncer-OFTC.ssl_priorities
bouncer-OFTC.ssl_dhkey_size
bouncer-OFTC.ssl_fingerprint
bouncer-OFTC.ssl_verify
bouncer-OFTC.password = "${sec.data.bouncer-OFTC}"
bouncer-OFTC.capabilities
bouncer-OFTC.sasl_mechanism
bouncer-OFTC.sasl_username
bouncer-OFTC.sasl_password
bouncer-OFTC.sasl_key
bouncer-OFTC.sasl_timeout
bouncer-OFTC.sasl_fail
bouncer-OFTC.autoconnect = on
bouncer-OFTC.autoreconnect
bouncer-OFTC.autoreconnect_delay
bouncer-OFTC.nicks
bouncer-OFTC.nicks_alternate
bouncer-OFTC.username = "blindidiotgod/OFTC"
bouncer-OFTC.realname
bouncer-OFTC.local_hostname
bouncer-OFTC.usermode
bouncer-OFTC.command
bouncer-OFTC.command_delay
bouncer-OFTC.autojoin
bouncer-OFTC.autorejoin
bouncer-OFTC.autorejoin_delay
bouncer-OFTC.connection_timeout
bouncer-OFTC.anti_flood_prio_high
bouncer-OFTC.anti_flood_prio_low
bouncer-OFTC.away_check
bouncer-OFTC.away_check_max_nicks
bouncer-OFTC.msg_kick
bouncer-OFTC.msg_part
bouncer-OFTC.msg_quit
bouncer-OFTC.notify
bouncer-OFTC.split_msg_max_length
bouncer-freenode.addresses = "bouncer.awful.club/5000"
bouncer-freenode.proxy
bouncer-freenode.ipv6
bouncer-freenode.ssl = on
bouncer-freenode.ssl_cert
bouncer-freenode.ssl_priorities
bouncer-freenode.ssl_dhkey_size
bouncer-freenode.ssl_fingerprint
bouncer-freenode.ssl_verify
bouncer-freenode.password = "${sec.data.bouncer-freenode}"
bouncer-freenode.capabilities
bouncer-freenode.sasl_mechanism
bouncer-freenode.sasl_username
bouncer-freenode.sasl_password
bouncer-freenode.sasl_key
bouncer-freenode.sasl_timeout
bouncer-freenode.sasl_fail
bouncer-freenode.autoconnect = on
bouncer-freenode.autoreconnect
bouncer-freenode.autoreconnect_delay
bouncer-freenode.nicks
bouncer-freenode.nicks_alternate
bouncer-freenode.username = "blindidiotgod/freenode"
bouncer-freenode.realname
bouncer-freenode.local_hostname
bouncer-freenode.usermode
bouncer-freenode.command
bouncer-freenode.command_delay
bouncer-freenode.autojoin
bouncer-freenode.autorejoin
bouncer-freenode.autorejoin_delay
bouncer-freenode.connection_timeout
bouncer-freenode.anti_flood_prio_high
bouncer-freenode.anti_flood_prio_low
bouncer-freenode.away_check
bouncer-freenode.away_check_max_nicks
bouncer-freenode.msg_kick
bouncer-freenode.msg_part
bouncer-freenode.msg_quit
bouncer-freenode.notify
bouncer-freenode.split_msg_max_length

@ -0,0 +1,35 @@
#
# weechat -- logger.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
backlog = 20
backlog_conditions = ""
[color]
backlog_end = default
backlog_line = default
[file]
auto_log = on
flush_delay = 120
fsync = off
info_lines = off
mask = "$plugin.$name.weechatlog"
name_lower_case = on
nick_prefix = ""
nick_suffix = ""
path = "%h/logs/"
replacement_char = "_"
time_format = "%Y-%m-%d %H:%M:%S"
[level]
[mask]

@ -0,0 +1,266 @@
2019-07-05 13:54:04 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-05 13:54:04 -- Channel #next-browser: 18 nicks (0 ops, 0 voices, 18 normals)
2019-07-05 13:54:06 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 09:35:10 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-08 09:35:10 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-08 09:35:13 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 10:10:11 <-- jmercouris (~jmercouri@x4d0de956.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-08 10:54:35 --> impaktor_ (~user@2a02:fe0:c000:3:248d:e6d0:1648:f9fb) has joined #nEXT-Browser
2019-07-08 10:58:15 impaktor_ Hi! I'm trying to start next-browser for the first time (installed from AUR arch linux package). I assume I'm first to run next-gtk-webkit first to start a server process and then start /usr/bin/next ?
2019-07-08 10:59:01 impaktor_ Doing so starts a blank screen with a large mini-buffer saying "Document-mode", but C-l or M-l or C-x b doesn't seem to do much. What am I doing wrong?
2019-07-08 11:00:29 -- irc: disconnected from server
2019-07-08 11:05:44 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-08 11:05:44 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-08 11:05:53 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:12:32 -- irc: disconnected from server
2019-07-08 11:13:11 --> zws (~blindidio@134.209.53.112) has joined #nEXT-Browser
2019-07-08 11:13:11 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-08 11:13:31 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:13:33 -- Mode #next-browser [+cnt]
2019-07-08 11:13:33 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:15:01 -- irc: disconnected from server
2019-07-08 11:15:41 --> zws (~blindidio@134.209.53.112) has joined #nEXT-Browser
2019-07-08 11:15:41 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-08 11:15:58 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:16:00 -- Mode #next-browser [+cnt]
2019-07-08 11:16:00 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:16:39 -- irc: disconnected from server
2019-07-08 11:17:16 --> zws (~blindidio@134.209.53.112) has joined #nEXT-Browser
2019-07-08 11:17:16 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-08 11:17:30 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:17:32 -- Mode #next-browser [+cnt]
2019-07-08 11:17:32 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-08 11:40:08 --> impaktor (~user@marvin.thep.lu.se) has joined #nEXT-Browser
2019-07-08 14:47:24 impaktor_ anyway, still haven't figured out how to get next to open url's, so any hints are welcome. I'll linger here to take time zones into account...
2019-07-08 14:56:01 wasamasa launch it from a terminal and you'll most likely see some error message
2019-07-08 14:58:35 impaktor_ Well, I get: https://pastebin.com/raw/Kqa4mukK
2019-07-08 14:59:14 impaktor_ So then I started next-gtk-webkit, and then launch next, which gives me an empty window, where none of the commands in the manual work.
2019-07-08 15:00:09 wasamasa the first part shouldn't be necessary
2019-07-08 15:00:24 wasamasa next launches its child process on its own
2019-07-08 15:01:06 impaktor_ OK, if I skipp the first part, then the pasted error above is what I get.
2019-07-08 15:05:15 wasamasa there's at least two other ways of running the browser
2019-07-08 15:05:28 wasamasa the precompiled guix bundle and compiling it yourself
2019-07-08 15:05:35 wasamasa if either of these work, the aur version is busted
2019-07-08 16:15:11 <-- andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has quit (Remote host closed the connection)
2019-07-08 16:28:19 <-- impaktor_ (~user@2a02:fe0:c000:3:248d:e6d0:1648:f9fb) has quit (Remote host closed the connection)
2019-07-09 10:08:24 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-09 10:08:24 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-09 10:08:27 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-09 10:15:41 --> andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has joined #nEXT-Browser
2019-07-09 13:23:56 -- jackhill_ is now known as jackhill
2019-07-09 13:25:00 --> jmercouris (~jmercouri@x4e378f67.dyn.telefonica.de) has joined #nEXT-Browser
2019-07-09 14:42:37 <-- andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has quit (Read error: Connection reset by peer)
2019-07-09 14:44:22 --> andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has joined #nEXT-Browser
2019-07-09 15:00:06 <-- jmercouris (~jmercouri@x4e378f67.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-09 16:00:37 <-- andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has quit (Remote host closed the connection)
2019-07-10 09:55:37 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-10 09:55:37 -- Channel #next-browser: 19 nicks (0 ops, 0 voices, 19 normals)
2019-07-10 09:55:37 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-10 09:55:44 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-10 09:55:44 -- Channel #next-browser: 19 nicks (0 ops, 0 voices, 19 normals)
2019-07-10 09:55:44 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-10 10:09:18 -- impaktor` is now known as impaktor
2019-07-10 11:22:04 <-- iskander (~iskander@2a02:8070:deb:6ff0:211:32ff:fe48:7a25) has quit (Quit: Quit)
2019-07-10 16:41:49 -- irc: disconnected from server
2019-07-10 16:50:50 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-10 16:50:50 -- Channel #next-browser: 18 nicks (0 ops, 0 voices, 18 normals)
2019-07-10 16:50:54 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-10 17:33:15 -- irc: disconnected from server
2019-07-10 20:43:38 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-10 20:43:38 -- Channel #next-browser: 18 nicks (0 ops, 0 voices, 18 normals)
2019-07-10 20:43:43 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-10 22:43:57 -- irc: disconnected from server
2019-07-10 22:44:08 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-10 22:44:08 -- Channel #next-browser: 19 nicks (0 ops, 0 voices, 19 normals)
2019-07-10 22:44:14 -- irc: disconnected from server
2019-07-11 00:44:18 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-11 00:44:18 -- Channel #next-browser: 19 nicks (0 ops, 0 voices, 19 normals)
2019-07-11 00:44:22 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-11 02:44:36 -- irc: disconnected from server
2019-07-11 02:44:51 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-11 02:44:51 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-11 09:12:09 -- irc: disconnected from server
2019-07-11 09:12:20 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-11 09:12:20 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-11 09:12:24 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-11 11:16:32 <-- pjb (~t@2a01cb04063ec500d1e6c57f50596c96.ipv6.abo.wanadoo.fr) has quit (Remote host closed the connection)
2019-07-11 11:17:27 --> pjb (~t@2a01cb04063ec50088b15e3d015685ca.ipv6.abo.wanadoo.fr) has joined #nEXT-Browser
2019-07-15 09:48:28 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-15 09:48:28 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-15 09:48:28 *** Buffer Playback...
2019-07-15 09:48:28 impaktor [15:53:33] jmercouris: been quiet in here since Monday when I became #21, and uttered my voice...
2019-07-15 09:48:28 impaktor [15:53:48] (to answer your question)
2019-07-15 09:48:28 jmercouris [15:53:55] impaktor: I did not see your answer
2019-07-15 09:48:28 jmercouris [15:54:01] my client frequently disconnects
2019-07-15 09:48:28 jmercouris [15:54:07] could you please repaste it?
2019-07-15 09:48:28 impaktor [15:56:53] that was my answer..., that it's been quiet in here since Monday.
2019-07-15 09:48:28 impaktor [15:57:22] Ah, I see the bad phrasing of it now, sorry.
2019-07-15 09:48:28 jmercouris [15:59:58] Oh I see
2019-07-15 09:48:28 jmercouris [16:00:30] thanks for letting me know
2019-07-15 09:48:28 *** Playback Complete.
2019-07-15 09:48:28 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-15 10:05:02 --> andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has joined #nEXT-Browser
2019-07-15 11:40:30 <-- andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has quit (Read error: Connection reset by peer)
2019-07-15 11:42:05 --> andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has joined #nEXT-Browser
2019-07-15 12:32:47 <-- commanderkeen (~commander@75-108-123-5.bcstcmta01.com.dyn.suddenlink.net) has quit (Quit: bye)
2019-07-15 12:35:52 --> commanderkeen (~commander@75-108-123-5.bcstcmta01.com.dyn.suddenlink.net) has joined #nEXT-Browser
2019-07-15 14:04:39 -- irc: disconnected from server
2019-07-15 14:07:17 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-15 14:07:17 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-15 14:07:21 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-15 14:57:29 <-- andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) has quit (Remote host closed the connection)
2019-07-16 09:45:36 --> blindidi- (~blindidio@134.209.53.112) has joined #next-browser
2019-07-16 09:45:36 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-16 09:45:36 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-16 10:54:53 --> jmercouris (~jmercouri@x590ca3d3.dyn.telefonica.de) has joined #nEXT-Browser
2019-07-16 11:29:22 <-- jmercouris (~jmercouri@x590ca3d3.dyn.telefonica.de) has quit (Ping timeout: 268 seconds)
2019-07-16 15:47:12 <-- catfuneral_ (~catfunera@unaffiliated/catfuneral) has quit (Quit: Когда рак на горе свистнет)
2019-07-16 15:48:53 --> catfuneral (~catfunera@unaffiliated/catfuneral) has joined #nEXT-Browser
2019-07-18 10:02:44 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-18 10:02:44 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-18 10:02:45 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-18 13:29:28 -- irc: disconnected from server
2019-07-18 13:30:48 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-18 13:30:48 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-18 13:30:52 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-19 10:01:48 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-19 10:01:48 -- Channel #next-browser: 20 nicks (0 ops, 0 voices, 20 normals)
2019-07-19 10:01:48 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-22 09:21:22 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-22 09:21:22 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-22 09:21:23 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-22 10:16:08 <-- jmercouris (~jmercouri@x4db738fe.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-22 10:35:06 --> pestdoktor (pestdoktor@gateway/shell/matrix.org/x-yymtyeldofsjnngc) has joined #nEXT-Browser
2019-07-22 10:39:33 pestdoktor hey, i wanted to try next today
2019-07-22 10:41:30 pestdoktor but trying to execute the binary resulting from `make install` complains about `sbcl.core` missing
2019-07-22 10:43:31 pestdoktor after installing sbcl, it just drops me to a lisp shell
2019-07-22 10:54:22 pestdoktor when i try `(next:start)` in there, it says `Package NEXT does not exist.`
2019-07-22 10:54:48 pestdoktor i don't know the first thing about lisp, so any help would be appreciated
2019-07-22 11:34:10 pestdoktor https://paste.sh/qBuqZVYo#Lxwl2hUXKj6oFmNZPt32c5Pb
2019-07-22 11:34:54 pestdoktor imma guess i have an error in my build recipe
2019-07-22 11:35:01 pestdoktor i'll try again tomorrow
2019-07-22 14:10:46 pestdoktor I found the culprit: I had to exclude the binary from the "strip all the binaries"-buildstep of the Void Linux buildsystem
2019-07-22 16:14:41 -- irc: disconnected from server
2019-07-22 16:37:09 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-22 16:37:09 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-22 16:37:09 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-22 18:14:13 -- irc: disconnected from server
2019-07-23 09:08:33 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-23 09:08:33 -- Channel #next-browser: 22 nicks (0 ops, 0 voices, 22 normals)
2019-07-23 09:08:36 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-23 09:18:43 <-- jmercouris (~jmercouri@x4d0dd17f.dyn.telefonica.de) has quit (Ping timeout: 246 seconds)
2019-07-23 09:59:30 --> jmercouris (~jmercouri@x4d0dd17f.dyn.telefonica.de) has joined #nEXT-Browser
2019-07-23 10:02:30 <-- jmercouris (~jmercouri@x4d0dd17f.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-23 10:25:04 pestdoktor impaktor: i was using [xbps-src](https://github.com/void-linux/void-packages), wich does all the builds in a chroot, so i only had the build deps in there, not on the actual system
2019-07-23 10:25:37 pestdoktor that software also strips binaries before packaging
2019-07-23 10:26:14 pestdoktor it works now, after excluding the `next` binary from that step!
2019-07-23 10:27:01 pestdoktor ty for the response, though
2019-07-23 13:18:40 <-- hdasch (~hugh@184-23-83-252.dsl.static.fusionbroadband.com) has quit (Read error: Connection reset by peer)
2019-07-23 13:20:53 --> hdasch (~hugh@184-23-83-252.dsl.static.fusionbroadband.com) has joined #nEXT-Browser
2019-07-23 16:45:34 -- irc: disconnected from server
2019-07-23 20:49:43 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-23 20:49:43 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-23 20:49:48 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-23 22:50:07 -- irc: disconnected from server
2019-07-24 00:50:20 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-24 00:50:20 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-24 00:50:20 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-24 02:50:40 -- irc: disconnected from server
2019-07-24 02:50:53 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-24 02:50:53 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-24 02:50:56 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-24 02:50:58 -- irc: disconnected from server
2019-07-24 04:46:28 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-24 04:46:28 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-24 04:46:28 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-24 09:23:13 -- irc: disconnected from server
2019-07-24 09:23:23 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-24 09:23:23 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-24 09:23:27 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-24 09:32:39 --> wxie (~Thunderbi@2409:8a1e:1080:31d9:8f38:6db6:21af:fcf7) has joined #nEXT-Browser
2019-07-24 09:43:07 --> jmercouris (~jmercouri@x4dbf24e5.dyn.telefonica.de) has joined #nEXT-Browser
2019-07-24 09:54:04 <-- wxie (~Thunderbi@2409:8a1e:1080:31d9:8f38:6db6:21af:fcf7) has quit (Ping timeout: 264 seconds)
2019-07-24 10:08:30 <-- jmercouris (~jmercouri@x4dbf24e5.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-24 10:11:19 --> jmercouris (~jmercouri@x4dbf24e5.dyn.telefonica.de) has joined #nEXT-Browser
2019-07-24 10:44:45 <-- jmercouris (~jmercouri@x4dbf24e5.dyn.telefonica.de) has quit (Remote host closed the connection)
2019-07-24 16:21:59 -- irc: disconnected from server
2019-07-25 09:36:45 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-25 09:36:45 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-25 09:36:49 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-25 13:30:53 -- irc: disconnected from server
2019-07-25 13:31:04 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-25 13:31:04 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-25 13:31:08 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-25 16:58:29 -- irc: disconnected from server
2019-07-26 00:35:42 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-26 00:35:42 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-26 00:35:47 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-26 02:36:03 -- irc: disconnected from server
2019-07-26 09:25:31 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-26 09:25:31 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-26 09:25:35 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-26 14:23:11 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-26 14:23:11 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-26 14:23:11 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-26 14:24:30 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-26 14:24:30 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-26 14:24:30 -- Channel created on Tue, 09 Jan 2018 02:20:10
2019-07-27 22:54:16 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 22:54:16 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 22:54:16 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-27 23:25:07 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 23:25:07 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 23:25:08 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-27 23:27:09 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 23:27:09 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 23:27:10 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-27 23:28:48 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 23:28:48 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 23:28:48 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-27 23:31:15 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 23:31:15 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 23:31:15 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-27 23:44:20 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-27 23:44:20 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-27 23:44:20 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 01:39:15 --> wxie (~Thunderbi@2409:8a1e:1080:31d9:8f38:6db6:21af:fcf7) has joined #nEXT-Browser
2019-07-28 01:51:49 <-- commanderkeen (~commander@75-108-123-5.bcstcmta01.com.dyn.suddenlink.net) has quit (Quit: bye)
2019-07-28 01:54:30 --> commanderkeen (~commander@75-108-123-5.bcstcmta01.com.dyn.suddenlink.net) has joined #nEXT-Browser
2019-07-28 03:34:48 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:34:48 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:34:48 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 03:38:44 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:38:44 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:38:44 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 03:48:38 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:48:38 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:48:38 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 03:49:17 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:49:17 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:49:18 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 03:50:01 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:50:01 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:50:02 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 03:50:42 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 03:50:42 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 03:50:42 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 13:31:34 -- irc: disconnected from server
2019-07-28 13:31:45 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 13:31:45 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 13:31:49 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 13:37:09 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 13:37:09 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 13:37:09 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 13:40:50 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 13:40:50 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 13:40:50 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 13:44:17 --> zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 13:44:17 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 13:44:17 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 14:08:11 ▬▬▶ zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 14:08:11 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 14:08:11 -- Channel created on Tue, 09 Jan 2018 08:20:10
2019-07-28 14:43:58 -- irc: disconnected from server
2019-07-28 14:44:09 ▬▬▶ zws (~blindidio@134.209.53.112) has joined #next-browser
2019-07-28 14:44:09 -- Channel #next-browser: 21 nicks (0 ops, 0 voices, 21 normals)
2019-07-28 14:44:13 -- Channel created on Tue, 09 Jan 2018 08:20:10

@ -0,0 +1,64 @@
2019-07-08 11:05:44 --> zws (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-08 11:05:44 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-08 11:05:44 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-08 11:05:44 -- Channel #python-unregistered: 881 nicks (1 op, 0 voices, 880 normals)
2019-07-08 11:05:57 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:06:30 <-- defaultnick_____ (~7JTAAORXG@104.251.94.18) has quit (Remote host closed the connection)
2019-07-08 11:06:39 --> defaultnick_____ (~7JTAAORXG@104.251.94.18) has joined #python-unregistered
2019-07-08 11:08:40 <-- sleepyblooshy (uid134100@gateway/web/irccloud.com/x-nefdgrkckrjuyebf) has quit (Quit: Connection closed for inactivity)
2019-07-08 11:08:44 --> hamishtmb (~hamishtmb@host86-139-151-82.range86-139.btcentralplus.com) has joined #python-unregistered
2019-07-08 11:10:01 <-- Theroxat (~quassel@222.229.1.85.dynamic.wline.res.cust.swisscom.ch) has quit (Remote host closed the connection)
2019-07-08 11:10:12 <-- hamishtmb (~hamishtmb@host86-139-151-82.range86-139.btcentralplus.com) has quit (Read error: Connection reset by peer)
2019-07-08 11:10:32 --> hamishtmb (~hamishtmb@host86-139-151-82.range86-139.btcentralplus.com) has joined #python-unregistered
2019-07-08 11:10:44 <-- pbandark_ (~pbandark@94.236.3.83) has quit (Quit: Leaving)
2019-07-08 11:10:49 <-- toxync04 (~toxync04@223.72.93.195) has quit (Ping timeout: 246 seconds)
2019-07-08 11:10:50 --> Theroxat (~quassel@222.229.1.85.dynamic.wline.res.cust.swisscom.ch) has joined #python-unregistered
2019-07-08 11:11:29 --> toxync04 (~toxync04@120.244.111.187) has joined #python-unregistered
2019-07-08 11:11:39 <-- gamado__ (gamado@nat/redhat/x-pqmgsheaqhskfiio) has quit (Ping timeout: 244 seconds)
2019-07-08 11:12:32 -- irc: disconnected from server
2019-07-08 11:13:11 --> zws (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-08 11:13:11 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-08 11:13:11 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-08 11:13:11 -- Channel #python-unregistered: 879 nicks (1 op, 0 voices, 878 normals)
2019-07-08 11:13:27 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:13:29 -- Mode #python-unregistered [+cmnpst]
2019-07-08 11:13:29 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:15:01 -- irc: disconnected from server
2019-07-08 11:15:41 --> zws (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-08 11:15:41 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-08 11:15:41 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-08 11:15:41 -- Channel #python-unregistered: 879 nicks (1 op, 0 voices, 878 normals)
2019-07-08 11:15:54 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:15:56 -- Mode #python-unregistered [+cmnpst]
2019-07-08 11:15:56 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:16:19 --> Guest38175 (ad49b257@pool-173-73-178-87.washdc.fios.verizon.net) has joined #python-unregistered
2019-07-08 11:16:28 <-- sergiomiguelrp (~quassel@190.219.94.209) has quit (Ping timeout: 268 seconds)
2019-07-08 11:16:39 -- irc: disconnected from server
2019-07-08 11:17:16 --> zws (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-08 11:17:16 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-08 11:17:16 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-08 11:17:16 -- Channel #python-unregistered: 879 nicks (1 op, 0 voices, 878 normals)
2019-07-08 11:17:21 --> sergiomiguelrp (~quassel@190.219.94.209) has joined #python-unregistered
2019-07-08 11:17:38 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:17:40 -- Mode #python-unregistered [+cmnpst]
2019-07-08 11:17:40 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-08 11:18:08 -- Guest38175 is now known as guesttttt
2019-07-08 11:18:40 <-- m_tadeu (~quassel@bl9-205-97.dsl.telepac.pt) has quit (Quit: No Ping reply in 180 seconds.)
2019-07-08 11:18:49 <-- zws (~blindidio@134.209.53.112) has left #python-unregistered
2019-07-10 09:55:37 --> blindidi- (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-10 09:55:37 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-10 09:55:37 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-10 09:55:37 -- Channel #python-unregistered: 890 nicks (1 op, 0 voices, 889 normals)
2019-07-10 09:55:41 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-10 09:55:44 --> blindidi- (~blindidio@134.209.53.112) has joined #python-unregistered
2019-07-10 09:55:44 -- Topic for #python-unregistered is "Welcome to #python-unregistered! You've been put here because #python requires you to register your nickname with Freenode. For more information about registering on Freenode, ask #freenode. For more information about #python,#python-* moderation, #python-ops."
2019-07-10 09:55:44 -- Topic set by lvh (~lvh@python/psf/lvh) on Fri, 01 Jul 2011 03:44:19
2019-07-10 09:55:44 -- Channel #python-unregistered: 890 nicks (1 op, 0 voices, 889 normals)
2019-07-10 09:55:46 <-- blindidi- (~blindidio@134.209.53.112) has left #python-unregistered
2019-07-10 09:55:51 -- Channel created on Sat, 05 Feb 2011 18:12:29
2019-07-10 16:41:49 -- irc: disconnected from server
2019-07-10 17:33:15 -- irc: disconnected from server
2019-07-10 22:43:57 -- irc: disconnected from server
2019-07-10 22:44:14 -- irc: disconnected from server
2019-07-11 02:44:36 -- irc: disconnected from server
2019-07-11 09:12:09 -- irc: disconnected from server

@ -0,0 +1,7 @@
2019-07-08 11:08:37 *status The channel #emacs could not be joined, disabling it.
2019-07-08 11:12:32 -- irc: disconnected from server
2019-07-08 11:13:05 *status Connected!
2019-07-08 11:15:01 -- irc: disconnected from server
2019-07-08 11:15:35 *status Connected!
2019-07-08 11:16:39 -- irc: disconnected from server
2019-07-08 11:17:10 *status Connected!

@ -0,0 +1,49 @@
2019-07-08 11:17:22 zws help
2019-07-08 11:17:42 -- NickServ: ***** NickServ Help *****
2019-07-08 11:17:42 -- NickServ: NickServ allows users to 'register' a nickname, and stop
2019-07-08 11:17:42 -- NickServ: others from using that nick. NickServ allows the owner of a
2019-07-08 11:17:42 -- NickServ: nickname to disconnect a user from the network that is using
2019-07-08 11:17:42 -- NickServ: their nickname.
2019-07-08 11:17:42 -- NickServ:
2019-07-08 11:17:42 -- NickServ: For more information on a command, type:
2019-07-08 11:17:42 -- NickServ: /msg NickServ help <command>
2019-07-08 11:17:42 -- NickServ: For a verbose listing of all commands, type:
2019-07-08 11:17:42 -- NickServ: /msg NickServ help commands
2019-07-08 11:17:42 -- NickServ:
2019-07-08 11:17:42 -- NickServ: The following commands are available:
2019-07-08 11:17:42 -- NickServ: GHOST Reclaims use of a nickname.
2019-07-08 11:17:42 -- NickServ: IDENTIFY Identifies to services for a nickname.
2019-07-08 11:17:42 -- NickServ: INFO Displays information on registrations.
2019-07-08 11:17:42 -- NickServ: LISTCHANS Lists channels that you have access to.
2019-07-08 11:17:42 -- NickServ: REGISTER Registers a nickname.
2019-07-08 11:17:42 -- NickServ: RELEASE Releases a services enforcer.
2019-07-08 11:17:42 -- NickServ: SENDPASS Email registration passwords.
2019-07-08 11:17:42 -- NickServ:
2019-07-08 11:17:42 -- NickServ: Other commands: ACC, ACCESS, CERT, DROP, HELP, LOGOUT,
2019-07-08 11:17:42 -- NickServ: REGAIN, SETPASS, STATUS, TAXONOMY, VERIFY
2019-07-08 11:17:42 -- NickServ: ***** End of Help *****
2019-07-08 11:18:04 zws identify help
2019-07-08 11:18:04 -- NickServ: zws is not a registered nickname.
2019-07-08 11:18:07 zws help identify
2019-07-08 11:18:07 -- NickServ: ***** NickServ Help *****
2019-07-08 11:18:07 -- NickServ: Help for IDENTIFY:
2019-07-08 11:18:07 -- NickServ:
2019-07-08 11:18:07 -- NickServ: IDENTIFY identifies you with services so that you
2019-07-08 11:18:07 -- NickServ: can perform general maintenance and commands that
2019-07-08 11:18:07 -- NickServ: require you to be logged in.
2019-07-08 11:18:07 -- NickServ:
2019-07-08 11:18:07 -- NickServ: Syntax: IDENTIFY <password>
2019-07-08 11:18:07 -- NickServ:
2019-07-08 11:18:07 -- NickServ: You can also identify for another nick than you
2019-07-08 11:18:07 -- NickServ: are currently using.
2019-07-08 11:18:07 -- NickServ:
2019-07-08 11:18:07 -- NickServ: Syntax: IDENTIFY <nick> <password>
2019-07-08 11:18:07 -- NickServ:
2019-07-08 11:18:07 -- NickServ: Example:
2019-07-08 11:18:07 -- NickServ: /msg NickServ IDENTIFY foo
2019-07-08 11:18:07 -- NickServ: /msg NickServ IDENTIFY jilles foo
2019-07-08 11:18:07 -- NickServ: ***** End of Help *****
2019-07-08 11:18:21 zws identify zws convene-scab-irritate-jerk
2019-07-08 11:18:21 -- NickServ: zws is not a registered nickname.
2019-07-08 11:18:29 zws identify blindidiotgod convene-scab-irritate-jerk
2019-07-08 11:18:29 -- NickServ: You are now identified for blindidiotgod.

@ -0,0 +1,2 @@
2019-07-08 11:17:31 zws help
2019-07-08 11:17:44 -- nickserve: No such nick/channel

@ -0,0 +1,599 @@
2019-07-05 13:54:04 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-05 13:54:04 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-05 13:54:04 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-05 13:54:04 -- Channel #crimehole: 20 nicks (1 op, 0 voices, 19 normals)
2019-07-05 13:54:04 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-05 13:54:17 <-- zws (~blindidio@134.209.53.112) has left #crimehole
2019-07-05 13:54:26 zws test
2019-07-05 13:54:31 zws cool, that seems to work.
2019-07-05 14:28:50 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-05 14:28:50 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-05 14:28:50 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-05 14:28:50 -- Channel #crimehole: 20 nicks (1 op, 0 voices, 19 normals)
2019-07-05 14:28:52 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-08 09:35:09 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-08 09:35:09 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-08 09:35:09 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-08 09:35:09 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-08 09:35:10 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-08 09:36:09 ignatz I have a mongodb up me
2019-07-08 09:37:42 riking Did it hurt?
2019-07-08 09:38:20 ignatz it's the worst
2019-07-08 09:38:41 ignatz massive production outage due to bad design decisions made 2+ years ago
2019-07-08 09:39:49 zws oh noooooo
2019-07-08 09:39:56 zws extremely rip :|
2019-07-08 09:40:09 ignatz asshole dev "fixed" it and disappeared
2019-07-08 09:50:34 ignatz concall has massive echo issues
2019-07-08 09:51:14 riking plan on writing a report to ask for resources to fix the problems
2019-07-08 09:51:32 zws i miss doing thatt part, i liked the write up
2019-07-08 09:51:32 ignatz i think someone's just gonna get fired
2019-07-08 09:51:38 zws but i don't miss the inevitable "no"
2019-07-08 09:53:19 ignatz the guy fucked up, alienated everyone along the way, hoarded info, and now has disappeared in a huge outage
2019-07-08 09:54:01 riking Oh wait you mean they disappeared right now?
2019-07-08 09:54:21 riking Engage cya mode
2019-07-08 09:58:38 riking which means... Document everything, create a timeline?
2019-07-08 09:59:55 zws oof
2019-07-08 10:00:01 zws good luck ignatz :\
2019-07-08 10:36:35 riking [world news] "The bill foresees a 3% tax on the French revenues of digital companies with global revenue of more than 750 million euros ($847 million), and French revenue over 25 million euros." seems reasonable to me
2019-07-08 10:39:15 ignatz headline: Admiral poised to lead Navy retires over professional relationship with disgraced bad Santa press officer
2019-07-08 11:00:29 -- irc: disconnected from server
2019-07-08 11:06:04 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:06:07 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:06:37 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:07:07 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:07:37 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:08:07 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:12:32 -- irc: disconnected from server
2019-07-08 11:12:48 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:13:07 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:13:37 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:14:07 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:14:37 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:15:01 -- irc: disconnected from server
2019-07-08 11:15:19 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:15:38 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:16:08 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:16:38 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:16:39 -- irc: disconnected from server
2019-07-08 11:16:55 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:17:14 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:17:44 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:18:14 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:18:44 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:19:14 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:19:44 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:20:14 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:20:15 -- #crimehole: Cannot join channel (+i)
2019-07-08 11:20:44 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-08 11:20:44 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-08 11:20:44 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-08 11:20:44 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-08 11:20:44 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-08 11:20:44 -- PvNotice(ChanServ): .
2019-07-09 10:08:24 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-09 10:08:24 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-09 10:08:24 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-09 10:08:24 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-09 10:08:24 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-09 10:08:29 zws good morning to my friends
2019-07-09 10:08:42 zws Zoom.us fun is consuming my morning
2019-07-09 10:08:58 zws how's everyone doing?
2019-07-09 10:09:02 riking Oh no
2019-07-09 10:09:26 riking Slow start, bad sleep, still in transit
2019-07-09 10:09:32 zws booo :\ sorry to hear
2019-07-09 10:09:43 zws rough day ahead or will it be p slow?
2019-07-09 10:10:15 riking There's some rough stuff happening for sure
2019-07-09 10:11:52 zws Sorry :( i hope it goes well
2019-07-09 11:26:52 caurinus JFC, one of my coworkers passed away
2019-07-09 11:28:11 caurinus one of the few decent ones
2019-07-09 13:52:07 Ash :( :(
2019-07-09 14:05:59 riking Oh no
2019-07-09 14:06:05 riking Sympathies
2019-07-10 09:57:23 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-10 09:57:23 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-10 09:57:23 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-10 09:57:23 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-10 09:57:23 -- PvNotice(ChanServ): .
2019-07-10 09:57:25 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-10 10:45:10 alexandria I once bought a stack of L Ron Hubbard books because I confused him and robert silverberg
2019-07-10 10:45:36 alexandria I still have them, I have no idea what to do with them; burning them is heresy, giving them away -- I wouldn't wish them on my worst enemy
2019-07-10 11:56:28 @Allie alexandria: need to level a piano?
2019-07-10 12:16:52 zws on a call with a vendor
2019-07-10 12:17:00 zws the fuckre will not stop saying "utilize"
2019-07-10 12:17:05 zws just say 'use' god damnit
2019-07-10 12:17:44 caurinus usetilizatize
2019-07-10 12:22:57 zws i hate it so much
2019-07-10 12:23:34 zws 'is this actionable' 'utilize' 'bringing this to the top of ur inbox'
2019-07-10 12:23:48 zws we had perfectly servicable words for these things
2019-07-10 12:24:01 zws "Can we do anything with that data" "use" "spamming you 4 money"
2019-07-10 12:24:38 caurinus knowledge transfer
2019-07-10 12:25:03 caurinus "HWAT!" I of the information technology support people in the day of now have borne witness to a Lexmark which fell slain as I erased its nonvolatile memory, which held its mindstuff, so that it no longer booted and became useless.
2019-07-10 12:26:01 caurinus But I spoke to Lexmark support and the lady on the other end is sending a new one via next day shipping
2019-07-10 12:26:18 caurinus because she said the control board went bad
2019-07-10 12:26:29 @Allie zws: it's _leverage_. honestly
2019-07-10 12:26:31 @Allie we don't use printers
2019-07-10 12:26:38 @Allie we LEVERAGE MODERN PRINTING TECHNOLOGIES
2019-07-10 12:26:41 caurinus I'm pretty sure she's making the control board thing up just so she can replace it
2019-07-10 12:27:14 zws ok caurinus i want to use "..held its mindstuff" in a real work email sometime lmao
2019-07-10 12:27:16 caurinus implementing solutions for actionable synergy
2019-07-10 12:27:26 zws ALLIE NOOOO
2019-07-10 12:27:55 caurinus zws the phrase is mine you have to pay royalties but it's very reasonable, only $1 per email
2019-07-10 12:28:03 caurinus *per email recipient
2019-07-10 12:29:02 caurinus here installing my licensing server software and give it unlimited permission to read everything on your email server
2019-07-10 12:29:24 caurinus to scan for occurrences
2019-07-10 12:30:00 franklyrosalind ah caurinus i didn't realize you worked for zoom
2019-07-10 12:31:19 caurinus FW:s and inline quotes in replies count
2019-07-10 12:31:48 caurinus where i work is a trade secret
2019-07-10 12:32:18 caurinus franklyrosalind: how did you come to that conclusion
2019-07-10 12:32:36 caurinus i mean, not that it's correct or anything
2019-07-10 13:10:49 franklyrosalind 'installing licensing server software and give it unlimited permission'
2019-07-10 13:10:53 franklyrosalind that was the big zoom thing
2019-07-10 13:10:54 franklyrosalind or almost?
2019-07-10 13:10:55 franklyrosalind idk
2019-07-10 13:17:41 zws naw, zoom installed a local listener that would never be uninstalled even when you uninstalled the zoom app, so that zoom.us could remove friction in using links.
2019-07-10 13:18:32 zws and they bypassed the CORS restriction by send an image of specific dimensions to the home zoom servers! like "[1, 0] == update thing, [1, 1] means reinstall" etc
2019-07-10 13:18:44 zws fuckers (and also huge lmao)
2019-07-10 13:18:53 zws in using /zoom/ links
2019-07-10 13:19:18 zws they refused to use the regular URI handler schema on macs because of some jankiness with safari which i am not terribly familiar with, i think it was basically adding 1-2 clicks of friction to the process
2019-07-10 13:19:44 franklyrosalind actually that owns
2019-07-10 13:19:53 franklyrosalind EXTREMELY cursed engineering
2019-07-10 13:20:18 zws lmao right
2019-07-10 13:20:31 zws frankly the entire thing was incredible
2019-07-10 13:20:40 zws zoom tried to buy the researchers silence
2019-07-10 13:20:59 zws you could just embed specific js on a page and auto boot everyone into a specific meeting id (omg)
2019-07-10 13:21:13 franklyrosalind REALLY
2019-07-10 13:21:15 franklyrosalind oh my GOD
2019-07-10 13:21:31 franklyrosalind HAHAHAHAHAHA
2019-07-10 13:21:43 zws the researcher hosted an 'exploit meeting' and linked to it from his announcement post
2019-07-10 13:22:00 zws so people would click on it while reading the article, then you just see a bunch of nerds in a channel going 'whoaaaaaaaaaaa'
2019-07-10 13:22:05 zws it was, frankly, incredible
2019-07-10 13:22:41 franklyrosalind i love that
2019-07-10 13:33:55 Ash oh wow that is amazing
2019-07-10 13:34:01 Ash i didn't hear that part
2019-07-10 13:34:02 Ash haaaa
2019-07-10 14:21:26 riking Haha I didn't join the meeting
2019-07-10 14:21:33 Ash https://imgur.com/8Ij70sI
2019-07-10 14:21:48 ignatz russian chat roulette
2019-07-10 14:21:55 Ash pow
2019-07-10 16:29:43 alexandria zws: The client is leveraging their artisanally crafted verbiage to deliver you a better experience
2019-07-10 16:41:49 -- irc: disconnected from server
2019-07-10 16:50:50 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-10 16:50:50 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-10 16:50:50 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-10 16:50:50 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-10 16:50:54 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-10 18:41:52 -- irc: disconnected from server
2019-07-10 18:42:02 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-10 18:42:02 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-10 18:42:02 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-10 18:42:03 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-10 18:42:06 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-10 20:43:39 -- irc: disconnected from server
2019-07-10 20:43:50 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-10 20:43:50 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-10 20:43:50 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-10 20:43:50 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-10 20:43:54 -- irc: disconnected from server
2019-07-10 22:43:58 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-10 22:43:58 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-10 22:43:58 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-10 22:43:58 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-10 22:44:02 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-11 00:44:17 -- irc: disconnected from server
2019-07-11 00:44:27 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-11 00:44:27 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-11 00:44:27 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-11 00:44:27 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-11 00:44:33 -- irc: disconnected from server
2019-07-11 02:44:37 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-11 02:44:37 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-11 02:44:37 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-11 02:44:37 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-11 02:44:41 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-11 09:15:34 -- irc: disconnected from server
2019-07-11 09:15:45 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-11 09:15:45 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-11 09:15:45 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-11 09:15:45 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-11 09:15:48 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-11 12:04:04 zws good morning dear friends
2019-07-11 12:04:26 zws tonight i fly to seattle for a wedding and must return to the Deep South (west) sunday morning
2019-07-11 12:04:32 zws i am gonna be riding a lot of planes
2019-07-11 12:04:48 zws but i get to stop in slc for like 3 hours, i've never been there before and at least i'll get to see its airport that will be fun
2019-07-11 12:44:31 franklyrosalind SLC is my airport!!! It's also my favorite airport
2019-07-11 12:44:47 franklyrosalind safe travels zws
2019-07-11 13:32:31 zws thank you :3
2019-07-15 09:48:28 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-15 09:48:28 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-15 09:48:28 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-15 09:48:28 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-15 09:48:28 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-15 10:00:46 kalium_puceon The first time I had coffee was directly before a technical drawing exam and I had caffeine shakes for the whole thing
2019-07-15 10:01:00 kalium_puceon it was like one cup of coffee my tolerances are shite
2019-07-15 10:02:50 <-- kalium_puceon (~kalium@178.62.246.247) has quit (Quit: Server Maintenance)
2019-07-15 10:22:01 alexandria one of the few panic attacks I had at work was when I was on coffee
2019-07-15 10:22:20 alexandria I tried to go off it shortly after but I kept on getting brain splitting migraines and vision loss
2019-07-15 10:44:07 --> kalium_puceon (~kalium@178.62.246.247) has joined #crimehole
2019-07-15 12:17:36 franklyrosalind caurinus: i actually have a bed desk because i was studing for my SATs when I got mono and I would do it in bed
2019-07-15 12:17:36 franklyrosalind it
2019-07-15 12:17:49 franklyrosalind was pretty neat
2019-07-15 14:04:39 -- irc: disconnected from server
2019-07-15 14:07:17 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-15 14:07:17 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-15 14:07:17 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-15 14:07:17 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-15 14:07:21 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-15 14:49:55 <-- ignatz (~ignatz@tarquin.fringehead.org) has quit (charon.oftc.net liquid.oftc.net)
2019-07-15 14:49:55 <-- dutchie (~jholland@000192a3.user.oftc.net) has quit (charon.oftc.net liquid.oftc.net)
2019-07-15 14:51:20 --> ignatz (~ignatz@tarquin.fringehead.org) has joined #crimehole
2019-07-15 14:51:20 --> dutchie (~jholland@000192a3.user.oftc.net) has joined #crimehole
2019-07-15 14:51:30 <-- ignatz (~ignatz@tarquin.fringehead.org) has quit (Quit: .)
2019-07-15 14:52:39 --> ignatz (~ignatz@tarquin.fringehead.org) has joined #crimehole
2019-07-15 15:03:40 <-- dutchie (~jholland@000192a3.user.oftc.net) has quit (charon.oftc.net liquid.oftc.net)
2019-07-15 15:05:00 --> dutchie (~jholland@000192a3.user.oftc.net) has joined #crimehole
2019-07-15 16:37:48 caurinus bounce bounce bounce
2019-07-15 16:37:57 ignatz bouncin' corvid
2019-07-16 09:45:36 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-16 09:45:36 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-16 09:45:36 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-16 09:45:36 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-16 09:45:36 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-16 09:45:45 zws good morning friends
2019-07-16 12:28:00 Ash hello
2019-07-16 14:05:12 caurinus i get to have a couple of hours of driving today
2019-07-16 14:05:14 caurinus weeeee
2019-07-16 14:13:03 Ash VROOM
2019-07-18 10:02:44 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-18 10:02:44 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-18 10:02:44 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-18 10:02:45 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-18 10:02:45 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-18 10:02:50 zws good morning my friends
2019-07-18 10:03:33 zws last night i fucked around with the firefox color scheme creator thing that they have? i /sorta/ like it but wow shit looks ugly once you start customizing tab placement :\
2019-07-18 10:04:21 zws it doesn't know what to do with the treestyle tab config i guess? its weird
2019-07-18 10:04:47 zws any of the sidebars, really, bookmarks looks hilarious with the skin. totally unaffected
2019-07-18 10:22:04 dutchie hmm, maybe I should invest some time into firefox theming
2019-07-18 10:22:18 dutchie although i already waste way too much of my life on ricing up my pc
2019-07-18 10:23:34 zws its limited themeing, but its a lot more than you can do with other browsers ime?
2019-07-18 10:24:05 zws i don't really spend any time in apps that aren't: $terminal, emacs, firefox :# so i don't have to do much besides those three application configurations
2019-07-18 10:24:16 dutchie heh, same
2019-07-18 10:24:29 dutchie I just gave up on "let's try using a text editor which isn't emacs"
2019-07-18 10:24:36 riking If it lets you change the layout at all, is more than chrome
2019-07-18 10:25:01 riking I only use solid color themes in chrome tho
2019-07-18 10:25:11 dutchie not sure how to feel that the main thing to go back to it was everything else i tried sucking at email and todo more than mu4e/org
2019-07-18 10:25:32 dutchie used kakoune for just long enough to fuck up my muscle memory though :(
2019-07-18 10:25:33 zws the layout isn't changable with the color.firefox.com theming, but there are 3rd party apps that let you do it (treestyle tab, etc) if you're willing to fuck with userChrome.css
2019-07-18 10:25:57 zws i have never got into using mu4e, but yeah i can't find anythign that competes with org-mode
2019-07-18 10:26:22 zws its just, the best. stock, it met a ton of my needs. and its also the only system that'll let me extend it however i want!
2019-07-18 10:26:47 dutchie yep! although i need to get back into the habit of actually looking at it
2019-07-18 10:27:07 dutchie also having enough willpower to do the things i'm supposed to do, but that's not the todo list's fault
2019-07-18 10:36:39 zws haha
2019-07-18 10:36:42 zws right exactly
2019-07-18 10:37:02 zws ios has a /really good/ mobile org app in beorg
2019-07-18 10:37:17 zws i have heard good things about orgzly? but haven't tried it.
2019-07-18 10:37:22 zws for android, i mean
2019-07-18 10:37:36 zws that mobile app helps me a shitload in terms of capturing shit when i'm not at my computer.
2019-07-18 10:38:05 dutchie orgzly is ok, though I don't think I've ever actually added anything to org with it
2019-07-18 10:38:21 dutchie mainly I use it for reading recipes on my phone in the kitchen
2019-07-18 10:52:45 caurinus Google keep, Google docs
2019-07-18 10:53:03 caurinus keep is actually not good but it syncs so w/e
2019-07-18 11:15:56 zws beorg is really good for adding and basic todo manipulation.
2019-07-18 11:16:17 riking +1 on 'keep is not good'
2019-07-18 11:16:17 zws it also has a built in scheme repl for scripting if you want to be MObile First or whatever
2019-07-18 11:16:31 riking i'm now using habitca for my TODOs
2019-07-18 11:16:50 zws that is not something i've ever used because I am a Desktop First person and also i don't want to learn a different lisp when I already have to know elisp for my config language ;;
2019-07-18 13:29:28 -- irc: disconnected from server
2019-07-18 13:30:48 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-18 13:30:48 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-18 13:30:48 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-18 13:30:48 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-18 13:30:52 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-18 14:04:26 Ash beorg is really good yes
2019-07-19 10:01:48 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-19 10:01:48 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-19 10:01:48 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-19 10:01:48 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-19 10:01:48 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-22 09:21:22 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-22 09:21:22 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-22 09:21:22 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-22 09:21:22 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-22 09:21:22 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-22 16:14:42 -- irc: disconnected from server
2019-07-22 16:37:08 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-22 16:37:08 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-22 16:37:08 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-22 16:37:08 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-22 16:37:12 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-22 18:14:13 -- irc: disconnected from server
2019-07-23 09:08:32 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-23 09:08:32 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-23 09:08:32 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-23 09:08:32 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-23 09:08:36 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-23 09:25:49 -- Nicks #crimehole: [@Allie \ae abstiles alexandria Ash atonal440 caurinus cromulan- dutchie franklyrosalind gewt glowpelt ignatz ingridofcrows joe_no_body kalium_puceon linkshot oftc-template riking wxcafe zws]
2019-07-23 09:25:49 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-23 14:38:39 <-- ignatz (~ignatz@tarquin.fringehead.org) has quit (Quit: .)
2019-07-23 14:46:17 --> ignatz (~ignatz@tarquin.fringehead.org) has joined #crimehole
2019-07-23 16:45:34 -- irc: disconnected from server
2019-07-23 20:49:43 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-23 20:49:43 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-23 20:49:43 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-23 20:49:43 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-23 20:49:48 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-23 22:50:07 -- irc: disconnected from server
2019-07-24 00:50:20 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-24 00:50:20 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-24 00:50:20 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-24 00:50:20 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-24 00:50:24 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-24 02:50:40 -- irc: disconnected from server
2019-07-24 02:50:51 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-24 02:50:51 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-24 02:50:52 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-24 02:50:52 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-24 02:50:56 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-24 02:50:58 -- irc: disconnected from server
2019-07-24 04:46:28 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-24 04:46:28 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-24 04:46:28 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-24 04:46:28 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-24 04:46:32 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-24 09:23:37 -- irc: disconnected from server
2019-07-24 09:23:47 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-24 09:23:47 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-24 09:23:47 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-24 09:23:47 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-24 09:23:51 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-24 10:22:46 \ae memagmetic hazard
2019-07-24 11:33:13 Ash caurinus: these days i hear the start of "imagine" and wait for the smash mouth lyrics to start
2019-07-24 11:33:24 Ash neilcic is my hero
2019-07-24 11:33:36 Ash lol at this wikipedia page https://en.wikipedia.org/wiki/Mouth_Sounds
2019-07-24 11:34:47 Ash caurinus: also, if you like three hundred megabytes of storage capacity you might enjoy https://soundcloud.com/datashat/businessfunk-one
2019-07-24 14:34:52 gewt i love businessfunk
2019-07-24 14:35:02 gewt some friends and i use it for hold music on our phone systems
2019-07-24 14:35:14 Ash oh nice!
2019-07-24 16:21:59 -- irc: disconnected from server
2019-07-25 09:36:45 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-25 09:36:45 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-25 09:36:45 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-25 09:36:45 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-25 09:36:49 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-25 13:30:53 -- irc: disconnected from server
2019-07-25 13:31:04 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-25 13:31:04 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-25 13:31:04 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-25 13:31:04 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-25 13:31:08 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-25 14:43:12 zws hi friends
2019-07-25 14:43:38 zws i'm curious - i use macOS for work and linux at home. is anyone familiar with a single tool like hammerspoon that works on linux?
2019-07-25 14:44:00 zws none of the functionality is unique, but it usually requires using several Other Tools rather than a single one with a single config language
2019-07-25 14:59:51 ignatz Never heard of this thing, looks cool.
2019-07-25 15:00:55 kalium_puceon I think linuxes might be too varied in how they implement this stuff to make One Universal Tool, perhaps
2019-07-25 15:23:39 Ash zws: macro-ish stuff is so bad on linux :( it's a bummer
2019-07-25 15:24:05 zws ignatz: its really nice tbh, i'm very pleasantly surprised
2019-07-25 15:24:17 zws kalium_puceon: yeah i think that's a reasonable take
2019-07-25 15:24:17 Ash no karabiner/autohotkey/etc type things that work as well either
2019-07-25 15:24:40 Ash the random linux tools don't add up to what's available on macOS/windows unfortunately
2019-07-25 15:24:56 zws :| using it at work makes me want it real bad at home haha
2019-07-25 15:25:09 zws i'm gonna Have To Compromise i suppose
2019-07-25 15:25:18 Ash time 2 mac
2019-07-25 15:25:19 Ash hehe
2019-07-25 15:25:28 Ash but yeah sigh
2019-07-25 15:27:00 ignatz just integrate it with Gnome!~!!!!!
2019-07-25 15:27:05 Ash right???
2019-07-25 16:27:02 caurinus i just had some ambien thoughts but without involving any actual ambien
2019-07-25 16:41:49 atonal440 I think we all have ambien thoughts as our brains disconnect but mostly we forget them
2019-07-25 16:44:38 Ash sshhhhh ambien walrus not now
2019-07-25 16:58:28 -- irc: disconnected from server
2019-07-26 00:35:42 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-26 00:35:42 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-26 00:35:42 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-26 00:35:42 -- Channel #crimehole: 21 nicks (1 op, 0 voices, 20 normals)
2019-07-26 00:35:47 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-26 02:36:03 -- irc: disconnected from server
2019-07-26 09:25:31 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-26 09:25:31 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-26 09:25:31 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-26 09:25:31 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-26 09:25:35 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-26 09:27:38 alexandria riking: Extremely useful when a hurricane hits
2019-07-26 09:27:42 alexandria "oh the building is moving"
2019-07-26 09:28:10 alexandria velartrill: it's v good to see u
2019-07-26 09:28:27 zws hey velartrill! glad to see you
2019-07-26 09:28:30 riking +
2019-07-26 10:31:24 caurinus dutchie: not bad
2019-07-26 10:32:12 caurinus hey y'all i'd like to announce that my character, Nat the changeling rogue arcane trickster, was killed by a fireball, and no one shed a tear
2019-07-26 10:32:20 caurinus her body was tossed into the ocean
2019-07-26 10:32:34 dutchie rip
2019-07-26 10:32:39 dutchie i haven't played any rpg in ages
2019-07-26 10:33:17 caurinus 5e is god damn fun
2019-07-26 10:33:43 dutchie there was some rumblings of organisation happening among my friends
2019-07-26 10:33:48 caurinus i tried 3.5e about 8 years back, it had too many numbers
2019-07-26 10:34:01 dutchie & there is a group that meets every wednesday evening just round the corner from where i live
2019-07-26 10:35:40 caurinus anyway new character is going to be Gwendolyn Crisptreacle, cleric who specializes in undeath
2019-07-26 10:37:32 dutchie sounds fun
2019-07-26 10:37:32 caurinus i'm going to see if i can revivify my old character because she had a lot of regret for her bullshit+shenanigans. and failing that, raise her as an undead servant
2019-07-26 10:37:46 caurinus just to fuck with everyone's brains
2019-07-26 10:40:01 caurinus so hopefully Miss Crisptreacle lands into the fray in time to give Nat a chance to spend a few months to years atoning for being, as an angry gnome called her, a "wildcard", making amends with everyone she's inconvenienced
2019-07-26 10:41:02 caurinus bearing in mind Nat is about 70 and will probably have a heart attack about 1 hour into her second chance
2019-07-26 10:42:34 dutchie nice
2019-07-26 10:43:38 caurinus in case no one has noticed, d&d has become kind of my "one thing that gets me out of the house consistently and without fail"
2019-07-26 10:43:55 caurinus (assuming i'm conscious)
2019-07-26 10:44:01 dutchie it's good to have something like that
2019-07-26 10:44:09 dutchie choir was that for a long time for me
2019-07-26 10:46:27 caurinus for me it was jazz, bearing in mind that was a high school class so it's not like i could choose to *not* go
2019-07-26 10:50:18 caurinus playing an instrument is a great one though, it's very of physical, not in an exercise/exertion sense but like, if you're in the groove you just play the song with your whole body
2019-07-26 10:50:28 caurinus so you can get emotional from it
2019-07-26 10:50:28 dutchie yeah same with singing
2019-07-26 10:51:21 caurinus and once you know how to play music, how it works, it takes on a new meaning, it's a different experience.
2019-07-26 10:52:34 caurinus brubeck quartet's "time out" was the turning point. it just blasted my brain
2019-07-26 10:54:33 caurinus i legit wasn't the same once i picked up jazz, even though i was a bad musician, didn't practice, when i did play it was something else in my life
2019-07-26 10:54:46 caurinus it centered me.
2019-07-26 10:57:23 caurinus i think i should get back into it soon.
2019-07-26 11:01:34 * caurinus has changed the name of the channel to ♯musichole
2019-07-26 11:58:38 Ash ole
2019-07-26 11:59:20 Ash welcome, velartrill
2019-07-26 12:00:03 caurinus salsa mole
2019-07-26 12:02:37 Ash https://twitter.com/3liza/status/1153252916225949697
2019-07-26 13:53:21 velartrill riking condolences
2019-07-26 13:53:43 velartrill reminds me of when brendan eich rtd me
2019-07-26 13:53:56 velartrill hi alexandria, hi zws
2019-07-26 14:08:35 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-26 14:08:35 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-26 14:08:35 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-26 14:08:35 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-26 14:08:35 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-26 14:11:18 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-26 14:11:18 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-26 14:11:18 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-26 14:11:18 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-26 14:11:18 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-26 14:18:54 gewt hm
2019-07-26 14:24:30 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-26 14:24:30 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-26 14:24:30 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 02:19:18
2019-07-26 14:24:30 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-26 14:24:30 -- Channel created on Wed, 27 Jun 2018 20:20:09
2019-07-26 14:33:53 zws asd
2019-07-26 14:34:00 zws oh! oops.
2019-07-26 14:41:47 \ae ohai velartrill
2019-07-26 14:41:49 \ae long time no see
2019-07-26 14:47:41 velartrill hi
2019-07-27 22:54:16 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 22:54:16 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 22:54:16 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 22:54:16 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 22:54:16 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 22:56:15 zws good afternoon
2019-07-27 22:56:33 zws i tried out manjaro linux and now i'm moving back to Normal Arch
2019-07-27 22:56:35 zws how is everyone doing?
2019-07-27 23:15:30 riking DAAAAMN https://i.imgur.com/3Un153S.gifv
2019-07-27 23:15:36 riking Android for the Switch https://www.reddit.com/r/SwitchHacks/comments/ciis4u/android_has_been_released_for_the_nintendo_switch/
2019-07-27 23:16:02 zws oh that is cool!
2019-07-27 23:16:24 riking you just need to short the two pins & it'll boot off USB or SD card
2019-07-27 23:18:43 riking i think that this is the best kind of "exploit" btw... nobody's even trying to break the software except pirates, the homebrew people are happy with just getting to use the hardware
2019-07-27 23:19:03 zws this seems very cool
2019-07-27 23:19:13 zws its too bad it only applies to a specific gen of switch
2019-07-27 23:19:19 zws i wonder if my brother has that version or not!
2019-07-27 23:19:37 riking i have the early one
2019-07-27 23:20:24 riking wait, from the comments it sounds like it's something else??
2019-07-27 23:20:28 zws i think my brother has the early one, he got it for his partner soon after the switch came out?
2019-07-27 23:20:39 riking LMAO comment on reddit "does it pass safetynet"
2019-07-27 23:21:10 riking (Safetynet = only google certified android images & hardware)
2019-07-27 23:21:54 zws haha
2019-07-27 23:23:59 riking oh, you can't patch 8.1.0
2019-07-27 23:25:07 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 23:25:07 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 23:25:07 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 23:25:07 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 23:25:07 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 23:26:12 riking "manufactured before July 2018"
2019-07-27 23:27:09 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 23:27:09 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 23:27:09 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 23:27:09 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 23:27:09 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 23:27:30 zws interesting
2019-07-27 23:27:31 zws i'm going to have to check
2019-07-27 23:27:38 zws that seems so cool :3
2019-07-27 23:28:48 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 23:28:48 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 23:28:48 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 23:28:48 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 23:28:48 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 23:29:45 riking https://ismyswitchpatched.com
2019-07-27 23:30:23 riking it says "Definitely patched" for me :(
2019-07-27 23:31:15 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 23:31:15 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 23:31:15 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 23:31:15 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 23:31:15 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 23:31:19 riking oh
2019-07-27 23:31:29 riking nvm definitely not patched
2019-07-27 23:31:38 riking I guess i missed a 0 or something
2019-07-27 23:31:47 riking https://usercontent.irccloud-cdn.com/file/HIPB4rl4/image.png
2019-07-27 23:32:11 riking i put the "1" in twice https://usercontent.irccloud-cdn.com/file/JQS8ALmd/mistake.png
2019-07-27 23:42:45 zws nice nice nice
2019-07-27 23:43:00 zws i tested with my switch, its actually in the 'maybe not patched" orange category
2019-07-27 23:43:14 zws so my brothers is almost certainly green; v jealous
2019-07-27 23:44:20 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-27 23:44:20 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-27 23:44:20 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-27 23:44:20 -- Channel #crimehole: 22 nicks (1 op, 0 voices, 21 normals)
2019-07-27 23:44:20 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-27 23:53:33 riking weird tech phrases: "gratuitous arp"
2019-07-27 23:58:07 ignatz arp arp
2019-07-27 23:58:55 ignatz is your pitch swatched?
2019-07-27 23:59:42 ignatz are you unpoopular? do you pop out at parties?
2019-07-27 23:59:52 * riking swatches the pitch
2019-07-28 00:00:00 riking another day
2019-07-28 00:00:09 riking another dolla
2019-07-28 00:03:20 <-- Allie (sid292248@hathersage.irccloud.com) has quit (Read error: Connection reset by peer)
2019-07-28 00:08:41 --> Allie (sid292248@hathersage.irccloud.com) has joined #crimehole
2019-07-28 00:09:08 -- Mode #crimehole [+o velartrill] by ChanServ
2019-07-28 00:09:18 -- Mode #crimehole [+o Allie] by velartrill
2019-07-28 03:34:48 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:34:48 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:34:48 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:34:48 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:34:48 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 03:38:44 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:38:44 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:38:44 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:38:44 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:38:44 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 03:48:38 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:48:38 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:48:38 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:48:38 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:48:38 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 03:49:17 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:49:17 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:49:17 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:49:17 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:49:18 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 03:50:01 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:50:01 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:50:01 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:50:01 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:50:02 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 03:50:42 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 03:50:42 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 03:50:42 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 03:50:42 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 03:50:42 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 13:31:34 -- irc: disconnected from server
2019-07-28 13:31:42 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 13:31:42 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 13:31:42 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 13:31:42 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 13:31:46 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 13:37:09 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 13:37:09 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 13:37:09 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 13:37:09 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 13:37:09 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 13:40:49 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 13:40:49 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 13:40:49 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 13:40:49 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 13:40:50 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 13:44:17 --> zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 13:44:17 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 13:44:17 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 13:44:17 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 13:44:17 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 14:08:11 ▬▬▶ zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 14:08:11 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 14:08:11 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 14:08:11 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 14:08:11 -- Channel created on Thu, 28 Jun 2018 01:20:09
2019-07-28 14:14:39 -- Nicks #crimehole: [@Allie @velartrill \ae abstiles alexandria Ash atonal440 caurinus cromulan- dutchie franklyrosalind gewt glowpelt ignatz ingridofcrows joe_no_body kalium_puceon linkshot oftc-template riking wxcafe zws]
2019-07-28 14:14:39 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 14:43:58 -- irc: disconnected from server
2019-07-28 14:44:07 ▬▬▶ zws (~blindidio@134.209.53.112) has joined #crimehole
2019-07-28 14:44:07 -- Topic for #crimehole is "1. get in the crime hole 2. do crimes in the crime hole 3. profit in the profit hole"
2019-07-28 14:44:07 -- Topic set by ChanServ (services@services.oftc.net) on Thu, 11 Apr 2019 07:19:18
2019-07-28 14:44:07 -- Channel #crimehole: 22 nicks (2 ops, 0 voices, 20 normals)
2019-07-28 14:44:11 -- Channel created on Thu, 28 Jun 2018 01:20:09

@ -0,0 +1,7 @@
2019-07-08 11:08:37 *status The channel #crimehole could not be joined, disabling it.
2019-07-08 11:12:32 -- irc: disconnected from server
2019-07-08 11:12:48 *status Connected!
2019-07-08 11:15:01 -- irc: disconnected from server
2019-07-08 11:15:19 *status Connected!
2019-07-08 11:16:39 -- irc: disconnected from server
2019-07-08 11:16:55 *status Connected!

@ -0,0 +1,72 @@
2019-07-08 11:20:22 zws help
2019-07-08 11:20:22 -- ChanServ: *** ChanServ Help ***
2019-07-08 11:20:22 -- ChanServ: ACCESS: Maintains the channel access list.
2019-07-08 11:20:22 -- ChanServ: AKICK: Channel Auto Kick list.
2019-07-08 11:20:22 -- ChanServ: CLEAR: Clear groups of settings on the channel.
2019-07-08 11:20:22 -- ChanServ: DEOP: Remove channel operator status.
2019-07-08 11:20:22 -- ChanServ: DEVOICE: Remove channel voice status.
2019-07-08 11:20:22 -- ChanServ: DROP: Unregister the channel.
2019-07-08 11:20:22 -- ChanServ: EXCEPT: Manage permanent ban exceptions for a channel
2019-07-08 11:20:22 -- ChanServ: HELP: Shows this help.
2019-07-08 11:20:22 -- ChanServ: INFO: Show channel information.
2019-07-08 11:20:22 -- ChanServ: INVEX: Manage permanent INVITE exceptions for a channel
2019-07-08 11:20:22 -- ChanServ: INVITE: Invite to a channel.
2019-07-08 11:20:22 -- ChanServ: LIST: Shows a list of channels matching a specified pattern.
2019-07-08 11:20:22 -- ChanServ: OP: Grant channel operator status.
2019-07-08 11:20:22 -- ChanServ: QUIET: Manage permanent QUIET for a channel
2019-07-08 11:20:22 -- ChanServ: REGISTER: Registers a channel for your usage.
2019-07-08 11:20:22 -- ChanServ: SET: Change channel settings.
2019-07-08 11:20:22 -- ChanServ: UNBAN: Unban yourself on a channel.
2019-07-08 11:20:22 -- ChanServ: UNQUIET: Unquiet yourself on a channel.
2019-07-08 11:20:22 -- ChanServ: VOICE: Grant channel voice operator status.
2019-07-08 11:20:22 -- ChanServ: *** End of ChanServ Help ***
2019-07-08 11:20:26 zws help invite
2019-07-08 11:20:27 -- ChanServ: *** INVITE Help ***
2019-07-08 11:20:27 -- ChanServ: Usage: INVITE channel [nickname]
2019-07-08 11:20:27 -- ChanServ:
2019-07-08 11:20:27 -- ChanServ: Invites you or, if specified, another user to the channel.
2019-07-08 11:20:27 -- ChanServ: *** End of INVITE Help ***
2019-07-08 11:20:32 zws invite #crimehole zws
2019-07-08 11:20:32 -- ChanServ: User zws has been invited to #crimehole.
2019-07-10 09:56:19 zws- help
2019-07-10 09:56:19 -- ChanServ: *** ChanServ Help ***
2019-07-10 09:56:19 -- ChanServ: ACCESS: Maintains the channel access list.
2019-07-10 09:56:19 -- ChanServ: AKICK: Channel Auto Kick list.
2019-07-10 09:56:19 -- ChanServ: CLEAR: Clear groups of settings on the channel.
2019-07-10 09:56:19 -- ChanServ: DEOP: Remove channel operator status.
2019-07-10 09:56:19 -- ChanServ: DEVOICE: Remove channel voice status.
2019-07-10 09:56:19 -- ChanServ: DROP: Unregister the channel.
2019-07-10 09:56:19 -- ChanServ: EXCEPT: Manage permanent ban exceptions for a channel
2019-07-10 09:56:19 -- ChanServ: HELP: Shows this help.
2019-07-10 09:56:19 -- ChanServ: INFO: Show channel information.
2019-07-10 09:56:19 -- ChanServ: INVEX: Manage permanent INVITE exceptions for a channel
2019-07-10 09:56:19 -- ChanServ: INVITE: Invite to a channel.
2019-07-10 09:56:19 -- ChanServ: LIST: Shows a list of channels matching a specified pattern.
2019-07-10 09:56:19 -- ChanServ: OP: Grant channel operator status.
2019-07-10 09:56:19 -- ChanServ: QUIET: Manage permanent QUIET for a channel
2019-07-10 09:56:19 -- ChanServ: SET: Change channel settings.
2019-07-10 09:56:19 -- ChanServ: UNBAN: Unban yourself on a channel.
2019-07-10 09:56:19 -- ChanServ: UNQUIET: Unquiet yourself on a channel.
2019-07-10 09:56:19 -- ChanServ: VOICE: Grant channel voice operator status.
2019-07-10 09:56:19 -- ChanServ: *** End of ChanServ Help ***
2019-07-10 09:56:22 zws- help invite
2019-07-10 09:56:23 -- ChanServ: *** INVITE Help ***
2019-07-10 09:56:23 -- ChanServ: Usage: INVITE channel [nickname]
2019-07-10 09:56:23 -- ChanServ:
2019-07-10 09:56:23 -- ChanServ: Invites you or, if specified, another user to the channel.
2019-07-10 09:56:23 -- ChanServ: *** End of INVITE Help ***
2019-07-10 09:56:29 zws- invite #crimehole blindidiotgod
2019-07-10 09:56:29 -- ChanServ: You do not have access to the INVITE command on channel #crimehole. Identifying
2019-07-10 09:56:29 -- ChanServ: to your nickname may give you this access. See nickname services' HELP
2019-07-10 09:56:29 -- ChanServ: IDENTIFY command for more information.
2019-07-10 09:56:36 zws- help identify
2019-07-10 09:56:36 -- ChanServ: HELP for identify is not available.
2019-07-10 09:57:18 zws invite #crimehole zws
2019-07-10 09:57:19 -- ChanServ: User zws has been invited to #crimehole.
2019-07-10 16:41:49 -- irc: disconnected from server
2019-07-10 18:41:52 -- irc: disconnected from server
2019-07-10 20:43:39 -- irc: disconnected from server
2019-07-10 20:43:54 -- irc: disconnected from server
2019-07-11 00:44:17 -- irc: disconnected from server
2019-07-11 00:44:33 -- irc: disconnected from server
2019-07-11 09:15:34 -- irc: disconnected from server

@ -0,0 +1,44 @@
2019-07-08 11:19:47 zws help
2019-07-08 11:19:47 -- NickServ: *** NickServ Help ***
2019-07-08 11:19:47 -- NickServ: CHECKVERIFY: Sets +R if you recently verified your nickname.
2019-07-08 11:19:47 -- NickServ: HELP: Shows this help.
2019-07-08 11:19:47 -- NickServ: IDENTIFY: Identify your nickname.
2019-07-08 11:19:47 -- NickServ: INFO: Get information on a nickname.
2019-07-08 11:19:47 -- NickServ: LIST: Shows a list of nicknames matching a specified pattern.
2019-07-08 11:19:47 -- NickServ: RECLAIM: Release your nickname for you to use.
2019-07-08 11:19:47 -- NickServ: REGAIN: Release your nickname for you to use.
2019-07-08 11:19:47 -- NickServ: REGISTER: Registers a nickname for your usage.
2019-07-08 11:19:47 -- NickServ: SENDPASS: Send a password reset request.
2019-07-08 11:19:47 -- NickServ: STATUS: Shows the identified status of a nickname
2019-07-08 11:19:47 -- NickServ: *** End of NickServ Help ***
2019-07-08 11:19:50 zws help identify
2019-07-08 11:19:50 -- NickServ: *** IDENTIFY Help ***
2019-07-08 11:19:50 -- NickServ: Usage: IDENTIFY password [nick]
2019-07-08 11:19:50 -- NickServ:
2019-07-08 11:19:50 -- NickServ: Identify that you are the owner of the nick you are currently using.
2019-07-08 11:19:50 -- NickServ: If you specify a nickname to identify against, your IRC nick will
2019-07-08 11:19:50 -- NickServ: automatically be changed to the one you identify for.
2019-07-08 11:19:50 -- NickServ:
2019-07-08 11:19:50 -- NickServ: See also: REGISTER
2019-07-08 11:19:50 -- NickServ: *** End of IDENTIFY Help ***
2019-07-08 11:20:04 zws identify gus-offing-vodka-culprit blindidiotgod
2019-07-08 11:20:04 -- NickServ: You are successfully identified as blindidiotgod.
2019-07-10 09:56:45 zws- help identify
2019-07-10 09:56:46 -- NickServ: *** IDENTIFY Help ***
2019-07-10 09:56:46 -- NickServ: Usage: IDENTIFY password [nick]
2019-07-10 09:56:46 -- NickServ:
2019-07-10 09:56:46 -- NickServ: Identify that you are the owner of the nick you are currently using.
2019-07-10 09:56:46 -- NickServ: If you specify a nickname to identify against, your IRC nick will
2019-07-10 09:56:46 -- NickServ: automatically be changed to the one you identify for.
2019-07-10 09:56:46 -- NickServ:
2019-07-10 09:56:46 -- NickServ: See also: REGISTER
2019-07-10 09:56:46 -- NickServ: *** End of IDENTIFY Help ***
2019-07-10 09:57:05 zws- identify gus-offing-vodka-culprit blindidiotgod
2019-07-10 09:57:06 -- NickServ: You are successfully identified as blindidiotgod.
2019-07-10 16:41:49 -- irc: disconnected from server
2019-07-10 18:41:52 -- irc: disconnected from server
2019-07-10 20:43:39 -- irc: disconnected from server
2019-07-10 20:43:54 -- irc: disconnected from server
2019-07-11 00:44:17 -- irc: disconnected from server
2019-07-11 00:44:33 -- irc: disconnected from server
2019-07-11 09:15:34 -- irc: disconnected from server

@ -0,0 +1,38 @@
2019-01-22 17:11:16 --> appservice-irc (@appservice-irc:matrix.org) has joined awful-club.!bQQxlvZRPnQRIIOSxK:matrix.org
2019-01-22 17:11:17 -- appservice-irc has changed the topic for #Freenode IRC Bridge status to "This room shows any errors or status messages from chat.freenode.net, as well as letting you control the connection. "
2019-01-22 17:11:17 --> @jowj:awful.club (None) has been invited to #Freenode IRC Bridge status
2019-01-22 17:11:18 -- Notice(&appservice-irc): You've joined a Matrix room which is bridged to the IRC network 'chat.freenode.net', where you are now connected as jowj[m]. This room shows any errors or status messages from IRC, as well as letting you control the connection. Type !help for more information
2019-01-22 17:11:18 -- Notice(&appservice-irc): Could not join #ruma on 'chat.freenode.net': err_needreggednick
2019-01-22 17:12:10 --> jowj (@jowj:awful.club) has joined #Freenode IRC Bridge status
2019-01-22 17:12:44 &jowj !help
2019-01-22 17:12:44 -- Notice(&appservice-irc): This is an IRC admin room for controlling your IRC connection and sending commands directly to IRC. The following commands are available:
2019-01-22 17:12:44 !join [irc.example.net] #channel [key] : Join a channel (with optional channel key)
2019-01-22 17:12:44 !nick [irc.example.net] DesiredNick : Change your nick. If no arguments are supplied, your current nick is shown.
2019-01-22 17:12:44 !whois [irc.example.net] NickName|@alice:matrix.org : Do a /whois lookup. If a Matrix User ID is supplied, return information about that user's IRC connection.
2019-01-22 17:12:44 !storepass [irc.example.net] passw0rd : Store a NickServ password (server password)
2019-01-22 17:12:44 !removepass [irc.example.net] : Remove a previously stored NickServ password
2019-01-22 17:12:44 !quit : Leave all bridged channels, on all networks, and remove your connections to all networks.
2019-01-22 17:12:44 !cmd [irc.example.net] COMMAND [arg0 [arg1 [...]]] : Issue a raw IRC command. These will not produce a reply.(Note that the command must be all uppercase.)
2019-01-22 17:13:13 &jowj !join chat.freenode.net #ruma
2019-01-22 17:13:13 -- Notice(&appservice-irc): Could not join #ruma on 'chat.freenode.net': err_needreggednick
2019-02-15 23:26:29 &jowj !join irc.freenode #nextcloud
2019-03-31 19:29:31 &jowj !join irc.freenode.net #emacs
2019-01-22 17:11:16 ▬▬▶ appservice-irc (@appservice-irc:matrix.org) has joined awful-club.!bQQxlvZRPnQRIIOSxK:matrix.org
2019-01-22 17:11:17 -- appservice-irc has changed the topic for #Freenode IRC Bridge status to "This room shows any errors or status messages from chat.freenode.net, as well as letting you control the connection. "
2019-01-22 17:11:17 ▬▬▶ @jowj:awful.club (None) has been invited to #Freenode IRC Bridge status
2019-01-22 17:11:18 -- Notice(&appservice-irc): You've joined a Matrix room which is bridged to the IRC network 'chat.freenode.net', where you are now connected as jowj[m]. This room shows any errors or status messages from IRC, as well as letting you control the connection. Type !help for more information
2019-01-22 17:11:18 -- Notice(&appservice-irc): Could not join #ruma on 'chat.freenode.net': err_needreggednick
2019-01-22 17:12:10 ▬▬▶ jowj (@jowj:awful.club) has joined #Freenode IRC Bridge status
2019-01-22 17:12:44 &jowj !help
2019-01-22 17:12:44 -- Notice(&appservice-irc): This is an IRC admin room for controlling your IRC connection and sending commands directly to IRC. The following commands are available:
2019-01-22 17:12:44 !join [irc.example.net] #channel [key] : Join a channel (with optional channel key)
2019-01-22 17:12:44 !nick [irc.example.net] DesiredNick : Change your nick. If no arguments are supplied, your current nick is shown.
2019-01-22 17:12:44 !whois [irc.example.net] NickName|@alice:matrix.org : Do a /whois lookup. If a Matrix User ID is supplied, return information about that user's IRC connection.
2019-01-22 17:12:44 !storepass [irc.example.net] passw0rd : Store a NickServ password (server password)
2019-01-22 17:12:44 !removepass [irc.example.net] : Remove a previously stored NickServ password
2019-01-22 17:12:44 !quit : Leave all bridged channels, on all networks, and remove your connections to all networks.
2019-01-22 17:12:44 !cmd [irc.example.net] COMMAND [arg0 [arg1 [...]]] : Issue a raw IRC command. These will not produce a reply.(Note that the command must be all uppercase.)
2019-01-22 17:13:13 &jowj !join chat.freenode.net #ruma
2019-01-22 17:13:13 -- Notice(&appservice-irc): Could not join #ruma on 'chat.freenode.net': err_needreggednick
2019-02-15 23:26:29 &jowj !join irc.freenode #nextcloud
2019-03-31 19:29:31 &jowj !join irc.freenode.net #emacs

@ -0,0 +1,16 @@
2019-07-23 02:04:46 &ndled Riot I think shows micriophone levels in chat rooom
2019-07-23 02:04:50 &ndled And its a blank level
2019-07-23 02:05:29 &ndled Its actually not letting me quit
2019-07-23 02:05:35 &ndled wtf
2019-07-23 02:06:12 &ndled It doesn't let you quit active calls I guess
2019-07-23 02:27:48 &ndled I can hear you
2019-07-23 02:27:50 &ndled Can you hear me
2019-07-23 02:27:53 &ndled You sound far away
2019-07-23 02:04:46 &ndled Riot I think shows micriophone levels in chat rooom
2019-07-23 02:04:50 &ndled And its a blank level
2019-07-23 02:05:29 &ndled Its actually not letting me quit
2019-07-23 02:05:35 &ndled wtf
2019-07-23 02:06:12 &ndled It doesn't let you quit active calls I guess
2019-07-23 02:27:48 &ndled I can hear you
2019-07-23 02:27:50 &ndled Can you hear me
2019-07-23 02:27:53 &ndled You sound far away

@ -0,0 +1,58 @@
2019-05-08 01:29:10 &jowj I JUST LOGGED IN AND I'M READING IT NOW
2019-05-08 01:29:10 &wblj Hmm
2019-05-08 01:29:19 &wblj And?
2019-05-08 01:29:37 &jowj there are discrepencies
2019-05-08 01:29:43 &jowj they don't like that i don't have w2s from volusion
2019-05-08 01:30:09 &wblj What is aw2 again?
2019-05-08 01:33:52 &jowj tax form
2019-05-08 01:33:58 &jowj 'this is what you made' etc
2019-05-08 01:35:44 &jowj ugh
2019-05-08 01:35:55 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/pnCEBOEvzRAJYVgbPWEaTOEY/image.png
2019-05-08 01:36:12 &jowj planview hasn't got back to me
2019-05-08 01:37:04 &jowj but the did not find my history lol
2019-05-08 01:37:27 &jowj aaah i'm sure its fine i'm just stressssssed about it
2019-05-08 01:37:57 &wblj Gack. We hates stress
2019-05-08 01:38:02 &jowj yes i do
2019-05-08 01:38:04 &jowj what are you working on
2019-05-08 01:46:04 &wblj Nothing really. Bland day
2019-05-08 19:10:47 &jowj aaah i got the job and passed the background check!!
2019-05-10 00:02:34 &wblj Whaaaat???!?!?! That's excellent!
2019-05-10 00:02:54 &wblj I guess I missed that notification.
2019-05-10 00:02:57 &wblj Congratulations!
2019-05-10 00:03:07 &wblj When do you start?
2019-05-10 00:13:37 &jowj the 20th
2019-05-10 00:13:55 &wblj So, will you have a little time off between?
2019-05-10 00:14:16 &jowj yeah a few days
2019-05-10 00:14:33 &wblj Good. We should do lunch!
2019-05-10 12:19:18 &wblj Happy birthday!
2019-05-10 13:13:28 &jowj happy birthday to me!!
2019-05-10 13:13:33 &jowj thank you :)
2019-05-08 01:29:10 &jowj I JUST LOGGED IN AND I'M READING IT NOW
2019-05-08 01:29:10 &wblj Hmm
2019-05-08 01:29:19 &wblj And?
2019-05-08 01:29:37 &jowj there are discrepencies
2019-05-08 01:29:43 &jowj they don't like that i don't have w2s from volusion
2019-05-08 01:30:09 &wblj What is aw2 again?
2019-05-08 01:33:52 &jowj tax form
2019-05-08 01:33:58 &jowj 'this is what you made' etc
2019-05-08 01:35:44 &jowj ugh
2019-05-08 01:35:55 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/pnCEBOEvzRAJYVgbPWEaTOEY/image.png
2019-05-08 01:36:12 &jowj planview hasn't got back to me
2019-05-08 01:37:04 &jowj but the did not find my history lol
2019-05-08 01:37:27 &jowj aaah i'm sure its fine i'm just stressssssed about it
2019-05-08 01:37:57 &wblj Gack. We hates stress
2019-05-08 01:38:02 &jowj yes i do
2019-05-08 01:38:04 &jowj what are you working on
2019-05-08 01:46:04 &wblj Nothing really. Bland day
2019-05-08 19:10:47 &jowj aaah i got the job and passed the background check!!
2019-05-10 00:02:34 &wblj Whaaaat???!?!?! That's excellent!
2019-05-10 00:02:54 &wblj I guess I missed that notification.
2019-05-10 00:02:57 &wblj Congratulations!
2019-05-10 00:03:07 &wblj When do you start?
2019-05-10 00:13:37 &jowj the 20th
2019-05-10 00:13:55 &wblj So, will you have a little time off between?
2019-05-10 00:14:16 &jowj yeah a few days
2019-05-10 00:14:33 &wblj Good. We should do lunch!
2019-05-10 12:19:18 &wblj Happy birthday!
2019-05-10 13:13:28 &jowj happy birthday to me!!
2019-05-10 13:13:33 &jowj thank you :)

@ -0,0 +1,54 @@
2019-07-18 03:28:48 jowj mojojojo-bot speak
2019-07-18 03:28:48 mojojojo-app tell j- to actually fucking write somthing.
2019-07-18 03:28:48 mojojojo-app tell j- to actually fucking write somthing.
2019-07-24 00:54:28 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:29 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:30 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:30 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:31 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:32 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:32 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:33 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:38 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:43 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:49 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:54:53 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:58 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:55:03 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:55:08 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:13 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:55:18 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:23 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:28 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:55:33 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:55:38 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-18 03:28:48 jowj mojojojo-bot speak
2019-07-18 03:28:48 mojojojo-app tell j- to actually fucking write somthing.
2019-07-18 03:28:48 mojojojo-app tell j- to actually fucking write somthing.
2019-07-24 00:54:28 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:29 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:30 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:30 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:31 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:54:31 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:32 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:32 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:33 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:38 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:54:43 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:49 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:54:53 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:54:58 mojojojo-app https://my.awful.club returned with status Failed to connect.
2019-07-24 00:55:03 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:55:08 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:13 mojojojo-app https://bouncer.awful.club:5000 returned with status 200
2019-07-24 00:55:18 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:23 mojojojo-app https://my.awful.club returned with status 200
2019-07-24 00:55:28 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:55:33 mojojojo-app https://bouncer.awful.club:5000 returned with status Failed to connect.
2019-07-24 00:55:38 mojojojo-app https://my.awful.club returned with status Failed to connect.

@ -0,0 +1,30 @@
2019-07-28 01:53:52 <-- @freenode_lexvegas:matrix.org (None) has left #prometheus
2019-07-28 01:54:16 --> lexvegas (@freenode_lexvegas:matrix.org) has joined #prometheus
2019-07-28 02:10:22 --> indistylo (@freenode_indistylo:matrix.org) has joined #prometheus
2019-07-28 02:13:24 <-- Eagleman (@freenode_Eagleman:matrix.org) has left #prometheus
2019-07-28 02:13:40 --> Eagleman (@freenode_Eagleman:matrix.org) has joined #prometheus
2019-07-28 02:41:24 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:42:10 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:42:57 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:43:43 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:44:29 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:45:15 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:46:01 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:46:47 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:47:33 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:48:19 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 02:53:23 <-- @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 03:03:20 --> jacknemrod (@freenode_jacknemrod:matrix.org) has joined #prometheus
2019-07-28 06:15:34 <-- absolutejam4 (@freenode_absolutejam4:matrix.org) has left #prometheus
2019-07-28 11:19:57 <-- vieira:matrix.org (@vieira:matrix.org) has left #prometheus
2019-07-28 11:26:01 <-- j6s (@freenode_j6s:matrix.org) has left #prometheus
2019-07-28 06:15:34 ◀▬▬ absolutejam4 (@freenode_absolutejam4:matrix.org) has left #prometheus
2019-07-28 07:24:52 ▬▬▶ absolutejam4 (@freenode_absolutejam4:matrix.org) has joined #prometheus
2019-07-28 08:46:20 ◀▬▬ @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 09:37:19 ▬▬▶ JamesAU (@freenode_JamesAU:matrix.org) has joined #prometheus
2019-07-28 10:31:04 ◀▬▬ @freenode_rda-mac:matrix.org (None) has left #prometheus
2019-07-28 11:19:57 ◀▬▬ @vieira:matrix.org (None) has left #prometheus
2019-07-28 11:26:01 ◀▬▬ j6s (@freenode_j6s:matrix.org) has left #prometheus
2019-07-28 11:26:51 ▬▬▶ j6s (@freenode_j6s:matrix.org) has joined #prometheus
2019-07-28 13:42:02 ◀▬▬ @freenode_vieira:matrix.org (None) has left #prometheus
2019-07-28 13:58:18 ▬▬▶ jacknemrod (@freenode_jacknemrod:matrix.org) has joined #prometheus

@ -0,0 +1,44 @@
2019-07-24 13:08:01 <-- @deepc0re:matrix.org (None) has left #Synapse Admins
2019-07-25 13:27:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: v1.2.0 ( https://github.com/matrix-org/synapse/releases/tag/v1.2.0 )
2019-07-25 13:42:09 <-- @bobfett:flobob.ovh (None) has left #Synapse Admins
2019-07-25 14:33:42 <-- @king:encom.eu.org (None) has left #Synapse Admins
2019-07-25 15:52:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2 )
2019-07-25 16:22:28 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.0.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.0.1 )
2019-07-25 16:27:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.0.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.0.2 )
2019-07-25 16:31:56 beepdog What is shhs?
2019-07-25 16:33:09 beepdog And do we already have two patches for 1.2.0?
2019-07-26 05:22:24 <-- vladimir (@vladimir:ghostwheel.ru) has left #Synapse Admins
2019-07-26 05:34:05 --> vladimir (@vladimir:ghostwheel.ru) has joined #Synapse Admins
2019-07-26 09:44:47 --> aperezdc (@aperezdc:matrix.org) has joined #Synapse Admins
2019-07-26 11:02:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1 )
2019-07-26 11:02:35 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: Synapse 1.2.1 (2019-07-26) ( https://github.com/matrix-org/synapse/releases/tag/v1.2.1 )
2019-07-26 11:37:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1.1 )
2019-07-26 12:52:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1.2 )
2019-07-26 16:57:26 --> dylanger (@dylanger:matrix.org) has joined #Synapse Admins
2019-07-26 17:38:47 <-- @markus:gerstner.it (None) has left #Synapse Admins
2019-07-26 18:24:35 --> sectorhacker (@sectorhacker:matrix.org) has joined #Synapse Admins
2019-07-26 20:59:17 <-- @eibhear:matrix.org (None) has left #Synapse Admins
2019-07-27 07:40:14 --> jayhsq (@jayhsq:matrix.org) has joined #Synapse Admins
2019-07-28 03:12:36 <-- @crunklord420:matrix.kiwifarms.net (None) has left #Synapse Admins
2019-07-24 13:08:01 ◀▬▬ @deepc0re:matrix.org (None) has left #Synapse Admins
2019-07-25 13:27:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: v1.2.0 ( https://github.com/matrix-org/synapse/releases/tag/v1.2.0 )
2019-07-25 13:42:09 ◀▬▬ @bobfett:flobob.ovh (None) has left #Synapse Admins
2019-07-25 14:33:42 ◀▬▬ @king:encom.eu.org (None) has left #Synapse Admins
2019-07-25 15:52:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2 )
2019-07-25 16:22:28 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.0.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.0.1 )
2019-07-25 16:27:27 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.0.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.0.2 )
2019-07-25 16:31:56 beepdog What is shhs?
2019-07-25 16:33:09 beepdog And do we already have two patches for 1.2.0?
2019-07-26 05:22:24 ◀▬▬ vladimir (@vladimir:ghostwheel.ru) has left #Synapse Admins
2019-07-26 05:34:05 ▬▬▶ vladimir (@vladimir:ghostwheel.ru) has joined #Synapse Admins
2019-07-26 09:44:47 ▬▬▶ aperezdc (@aperezdc:matrix.org) has joined #Synapse Admins
2019-07-26 11:02:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1 )
2019-07-26 11:02:35 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: Synapse 1.2.1 (2019-07-26) ( https://github.com/matrix-org/synapse/releases/tag/v1.2.1 )
2019-07-26 11:37:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1.1 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1.1 )
2019-07-26 12:52:29 -- Notice(_neb_rssbot_=40_coffee=3amatrix.org): Release notes from synapse: shhs-v1.2.1.2 ( https://github.com/matrix-org/synapse/releases/tag/shhs-v1.2.1.2 )
2019-07-26 16:57:26 ▬▬▶ dylanger (@dylanger:matrix.org) has joined #Synapse Admins
2019-07-26 17:38:47 ◀▬▬ @markus:gerstner.it (None) has left #Synapse Admins
2019-07-26 18:24:35 ▬▬▶ sectorhacker (@sectorhacker:matrix.org) has joined #Synapse Admins
2019-07-26 20:59:17 ◀▬▬ @eibhear:matrix.org (None) has left #Synapse Admins
2019-07-27 07:40:14 ▬▬▶ jayhsq (@jayhsq:matrix.org) has joined #Synapse Admins
2019-07-28 03:12:36 ◀▬▬ @crunklord420:matrix.kiwifarms.net (None) has left #Synapse Admins

@ -0,0 +1,60 @@
2019-07-19 17:47:48 &jowj oooh i see
2019-07-19 17:47:51 &jowj Heh
2019-07-19 17:48:12 &jowj "here is my startup, you click 'yes i want this' i host a mastodon account for you. I'm masto hosting at scale"
2019-07-19 17:48:23 &jowj honestly that'd be p fun
2019-07-19 17:48:30 &jowj i wonder what a price point would be where people would /want/ that
2019-07-19 17:48:50 &jowj mb in the 1-3 dollars a month range, on top of the registrar fees
2019-07-19 17:49:51 &jowj also with riot in darkmode htis is what your avatar looks like
2019-07-19 17:49:53 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/nMZXcCDYwWLvfzOcaYSRPZjp/image.png
2019-07-19 17:49:54 &mrled Yeah
2019-07-19 17:50:41 &mrled I wonder if you could sell it like you used to be able to sell irc vhosts
2019-07-19 17:51:01 &mrled Wow riot that is not my best angle!!!!!
2019-07-19 17:51:03 &jowj i don't think i'm familiar with irc vhosts market; was that just like 'have your own vanity domain'
2019-07-19 17:51:09 &mrled Yeah
2019-07-19 17:51:36 &jowj yeaqh
2019-07-19 17:51:42 &jowj i think you might could?
2019-07-19 17:51:56 &jowj its about as annoying to do?
2019-07-19 17:52:02 &jowj but its less visible than irc vhosts it hinkm
2019-07-19 17:52:14 &jowj not that your irc vanity domain was like, SUPER OBVIOUS except on quit lol
2019-07-19 17:59:48 &mrled And when someone did a whois on you
2019-07-19 18:01:56 &jowj oh ya
2019-07-22 21:08:49 &jowj https://yunohost.org/#/
2019-07-22 21:08:52 &jowj this is kinda cool
2019-07-22 21:10:54 &mrled Oh that is cool
2019-07-24 19:58:34 &jowj because i had to edit "shit" to "stuff"
2019-07-24 19:58:35 &jowj thanks a LOT
2019-07-24 19:58:42 &jowj l m f a o
2019-07-24 20:00:07 &mrled Hahahaha
2019-07-24 20:00:14 &mrled You outed yourself
2019-07-24 20:00:19 &mrled I didnt even see it
2019-07-24 20:04:04 &jowj fastest shit > stuff edit in the west
2019-07-19 17:47:48 &jowj oooh i see
2019-07-19 17:47:51 &jowj Heh
2019-07-19 17:48:12 &jowj "here is my startup, you click 'yes i want this' i host a mastodon account for you. I'm masto hosting at scale"
2019-07-19 17:48:23 &jowj honestly that'd be p fun
2019-07-19 17:48:30 &jowj i wonder what a price point would be where people would /want/ that
2019-07-19 17:48:50 &jowj mb in the 1-3 dollars a month range, on top of the registrar fees
2019-07-19 17:49:51 &jowj also with riot in darkmode htis is what your avatar looks like
2019-07-19 17:49:53 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/nMZXcCDYwWLvfzOcaYSRPZjp/image.png
2019-07-19 17:49:54 &mrled Yeah
2019-07-19 17:50:41 &mrled I wonder if you could sell it like you used to be able to sell irc vhosts
2019-07-19 17:51:01 &mrled Wow riot that is not my best angle!!!!!
2019-07-19 17:51:03 &jowj i don't think i'm familiar with irc vhosts market; was that just like 'have your own vanity domain'
2019-07-19 17:51:09 &mrled Yeah
2019-07-19 17:51:36 &jowj yeaqh
2019-07-19 17:51:42 &jowj i think you might could?
2019-07-19 17:51:56 &jowj its about as annoying to do?
2019-07-19 17:52:02 &jowj but its less visible than irc vhosts it hinkm
2019-07-19 17:52:14 &jowj not that your irc vanity domain was like, SUPER OBVIOUS except on quit lol
2019-07-19 17:59:48 &mrled And when someone did a whois on you
2019-07-19 18:01:56 &jowj oh ya
2019-07-22 21:08:49 &jowj https://yunohost.org/#/
2019-07-22 21:08:52 &jowj this is kinda cool
2019-07-22 21:10:54 &mrled Oh that is cool
2019-07-24 19:58:34 &jowj because i had to edit "shit" to "stuff"
2019-07-24 19:58:35 &jowj thanks a LOT
2019-07-24 19:58:42 &jowj l m f a o
2019-07-24 20:00:07 &mrled Hahahaha
2019-07-24 20:00:14 &mrled You outed yourself
2019-07-24 20:00:19 &mrled I didnt even see it
2019-07-24 20:04:04 &jowj fastest shit > stuff edit in the west

@ -0,0 +1,65 @@
2019-07-27 15:32:35 spacebug https://superuser.com/questions/1255287/how-do-i-bring-up-the-emoji-ime-on-windows-10
2019-07-27 15:37:28 dvdgsng ah i see. thanks!
2019-07-27 16:04:29 --> inceptor (@inceptor:matrix.pistolero.me) has joined #Riot Web/Desktop
2019-07-27 16:14:58 inceptor <Message redacted by: inceptor>
2019-07-27 16:16:52 inceptor Oops. Wrong room i think. Sorry.
2019-07-27 16:47:38 dreamerchris 👍 yes win+ .
2019-07-27 18:30:26 theblackhierophant Trolling party added a bunch of addresses for the room that are now not removable. Error reads "Error removing alias: There was an error removing that alias. It may no longer exist or a temporary error occurred."
2019-07-27 18:30:29 theblackhierophant How to fix?
2019-07-27 18:33:42 tulir theBlackHierophant: you can't remove aliases added by others, but if you're on the same server, you can hide them from the room state with /devtools: Explore Room State -> m.room.aliases -> matrix.org -> Edit -> remove all the spam -> Send
2019-07-27 18:34:17 tulir server admins can remove aliases added by others, so also report them to the admin of the server they were on
2019-07-27 18:34:50 theblackhierophant Thanks
2019-07-27 21:06:09 autismsandwich I can no longer see the 'Public' and 'Room Directory' options when creating a room. I am assuming these are still set to off by default?
2019-07-27 21:12:00 autismsandwich * I can no longer see the public and room directory options when creating a room. I am assuming these are still set to off by default?
2019-07-27 21:26:12 <-- @anarchist_communist:matrix.org (None) has left #Riot Web/Desktop
2019-07-28 01:26:41 thosgood how do you update riot? can you do it in the app or do you need to redownload the latest release directly?
2019-07-28 01:27:55 thosgood oh, i guess it's just the web app but wrapped up, so no updates need on a computer, right?
2019-07-28 01:33:29 aaron Youll get a banner across the top when there is an update. If you are using the website it will just update when you refresh the page.
2019-07-28 02:32:22 qurqar Any plans for being able to search in encrypted rooms?
2019-07-28 02:35:49 aaron Yes of course (and it does seem to be fairly close, see https://matrix.to/#/!kiEtuVPPUonkeDVCTQ:matrix.org/$1560349600310307XegwR:matrix.org?via=matrix.org&via=raim.ist&via=ponies.im for a sneak peak)
2019-07-28 02:36:01 aaron * Yes of course (and it does seem to be fairly close, see https://matrix.to/#/!kiEtuVPPUonkeDVCTQ:matrix.org/$1560349600310307XegwR:matrix.org?via=matrix.org&via=raim.ist&via=ponies.im for a sneak peek)
2019-07-28 02:42:44 qurqar Aaron: had no idea, thanks, sounds like an interesting solution
2019-07-28 03:16:37 qurqar Aaron: 2 questions. Will this how up as a new device? I would want that if possible because I do not want to get my contacts to go through verifications again. 2 Will this mess up audio/video 1to1 chat?
2019-07-28 03:20:25 aaron I assume no to both but I haven't tried it yet
2019-07-28 03:21:58 qurqar ok thanks
2019-07-28 06:27:44 hypd Newbie question: I've set up a couple of encrypted rooms, and all devices (for all users) in those rooms are verified. This includes a mobile device that I use to access the room via the official Riot.im app for Android.
2019-07-28 06:27:44 Now, due to numerous reasons, I'd like to re-install the OS on my mobile device, which means re-installying the Riot.im app, too. However, is there a way to backup my current Riot.im app, and restore it after re-installing the OS so that it does not show up as a new device meaning I don't have to go through the laborious process of asking everyone in the room to re-verifiy it? Thank you.
2019-07-28 06:36:16 kunsi i'm not aware of any backup features
2019-07-28 06:40:26 hypd There are Android apps for backing up app data prior to a system/OS re-install. Would they work for backing up the Riot.im app so that upon restoration, it would continue as the same device without re-verification?
2019-07-28 06:40:51 hypd Such as Titanium Backup or oandbackup.
2019-07-28 06:40:59 hypd Would that work?
2019-07-28 06:41:47 kunsi never tried
2019-07-28 07:01:41 <-- peter90p (@peter90p:matrix.org) has left #Riot Web/Desktop
2019-07-28 10:11:22 dreamerchris I guess theoreticly in my opinion this should not be allowed cause of security but I would love there to be a way like a one time use key that the only purpose of it would be to migrate to a new setup so if you got one device like you for e. G. That you want to reinstall os/riot, with the use of this key it would continue to be encrypted and verified as the same device or even a migration to ones' new device
2019-07-28 10:12:17 dreamerchris * I guess theoreticly in my opinion this might be not allowed cause of security but I would love there to be a way like a one time use key that the only purpose of it would be to migrate to a new setup so if you got one device like you for e. G. That you want to reinstall os/riot, with the use of this key it would continue to be encrypted and verified as the same device or even a migration to ones' new device
2019-07-28 10:12:23 tulir cross-signing is coming and sounds like it would solve your use case
2019-07-28 10:12:46 tulir it won't be the same device, but it'll make verification basically transparent to everyone else who has verified your cross signing identity
2019-07-28 10:12:54 tulir and with the existing key sharing, you'll be able to decrypt old messages
2019-07-28 10:13:16 dreamerchris Notice there the "one time use key" so it is logical and be a migration
2019-07-28 10:13:49 dreamerchris Great tulir that would work nice too
2019-07-28 01:26:41 thosgood how do you update riot? can you do it in the app or do you need to redownload the latest release directly?
2019-07-28 01:27:55 thosgood oh, i guess it's just the web app but wrapped up, so no updates need on a computer, right?
2019-07-28 01:33:29 aaron Youll get a banner across the top when there is an update. If you are using the website it will just update when you refresh the page.
2019-07-28 02:32:22 qurqar Any plans for being able to search in encrypted rooms?
2019-07-28 02:35:49 aaron Yes of course (and it does seem to be fairly close, see https://matrix.to/#/!kiEtuVPPUonkeDVCTQ:matrix.org/$1560349600310307XegwR:matrix.org?via=matrix.org&via=raim.ist&via=ponies.im for a sneak peak)
2019-07-28 02:36:01 aaron * Yes of course (and it does seem to be fairly close, see https://matrix.to/#/!kiEtuVPPUonkeDVCTQ:matrix.org/$1560349600310307XegwR:matrix.org?via=matrix.org&via=raim.ist&via=ponies.im for a sneak peek)
2019-07-28 02:42:44 qurqar Aaron: had no idea, thanks, sounds like an interesting solution
2019-07-28 03:16:37 qurqar Aaron: 2 questions. Will this how up as a new device? I would want that if possible because I do not want to get my contacts to go through verifications again. 2 Will this mess up audio/video 1to1 chat?
2019-07-28 03:20:25 aaron I assume no to both but I haven't tried it yet
2019-07-28 03:21:58 qurqar ok thanks
2019-07-28 06:27:44 hypd Newbie question: I've set up a couple of encrypted rooms, and all devices (for all users) in those rooms are verified. This includes a mobile device that I use to access the room via the official Riot.im app for Android.
2019-07-28 06:27:44 Now, due to numerous reasons, I'd like to re-install the OS on my mobile device, which means re-installying the Riot.im app, too. However, is there a way to backup my current Riot.im app, and restore it after re-installing the OS so that it does not show up as a new device meaning I don't have to go through the laborious process of asking everyone in the room to re-verifiy it? Thank you.
2019-07-28 06:36:16 kunsi i'm not aware of any backup features
2019-07-28 06:40:26 hypd There are Android apps for backing up app data prior to a system/OS re-install. Would they work for backing up the Riot.im app so that upon restoration, it would continue as the same device without re-verification?
2019-07-28 06:40:51 hypd Such as Titanium Backup or oandbackup.
2019-07-28 06:40:59 hypd Would that work?
2019-07-28 06:41:47 kunsi never tried
2019-07-28 07:01:41 ◀▬▬ @peter90p:matrix.org (None) has left #Riot Web/Desktop
2019-07-28 10:11:22 dreamerchris I guess theoreticly in my opinion this should not be allowed cause of security but I would love there to be a way like a one time use key that the only purpose of it would be to migrate to a new setup so if you got one device like you for e. G. That you want to reinstall os/riot, with the use of this key it would continue to be encrypted and verified as the same device or even a migration to ones' new device
2019-07-28 10:12:17 dreamerchris * I guess theoreticly in my opinion this might be not allowed cause of security but I would love there to be a way like a one time use key that the only purpose of it would be to migrate to a new setup so if you got one device like you for e. G. That you want to reinstall os/riot, with the use of this key it would continue to be encrypted and verified as the same device or even a migration to ones' new device
2019-07-28 10:12:23 tulir cross-signing is coming and sounds like it would solve your use case
2019-07-28 10:12:46 tulir it won't be the same device, but it'll make verification basically transparent to everyone else who has verified your cross signing identity
2019-07-28 10:12:54 tulir and with the existing key sharing, you'll be able to decrypt old messages
2019-07-28 10:13:16 dreamerchris Notice there the "one time use key" so it is logical and be a migration
2019-07-28 10:13:49 dreamerchris Great tulir that would work nice too
2019-07-28 13:02:41 ▬▬▶ commagray (@commagray:092918.xyz) has joined #Riot Web/Desktop

@ -0,0 +1,60 @@
2019-06-13 01:33:30 &jowj guys
2019-06-13 01:33:42 &jowj we should make plans to hang out this weekend
2019-06-24 01:28:40 &jowj bros i finally did it and also here's a blog
2019-06-24 01:28:41 &jowj https://me.jowj.net/projects/2019/06/23/pynit.html
2019-06-27 15:00:29 ndled Speaking of your new place
2019-06-27 15:00:37 ndled What we doing today?
2019-06-27 15:02:41 &jowj the new place isn't mine until the first, i'm just picking up keys
2019-06-27 15:02:57 &jowj so....your house?
2019-06-27 15:03:00 &jowj I can probably be there around 7, I have to go pick up the keys around 6:15/6:30
2019-07-02 01:09:58 mrled jowj: this could be cool https://github.com/hometown-fork/hometown
2019-07-02 01:21:09 &jowj oh thats cool
2019-07-02 01:21:14 &jowj i wonder if its easier to self host than pleroma
2019-07-02 01:21:28 &jowj pleroma sucks to dockerize i havent got it to work yet
2019-07-02 01:27:23 mrled sounds like it's the same as hosting mastodon itself
2019-07-02 01:29:04 &jowj yeah
2019-07-02 01:29:17 &jowj i also wonder if it has the resource hog problem that mastodon does.
2019-07-02 01:29:39 mrled i'm sure it does
2019-07-02 01:29:41 mrled it just sounds like feature difference
2019-07-02 01:29:48 mrled the local only posting thing sounds cool tho
2019-07-02 01:36:20 &jowj ya
2019-07-02 01:36:32 &jowj local only posting exists for pleroma too
2019-07-02 01:36:39 &jowj although i like that this is specifically about that
2019-07-02 01:37:03 mrled seems like a good default, or even forced option depending on the community
2019-07-18 16:45:35 &jowj hey ndled mrled y'all have plans for tonight? MIcah i can't remember if tonight is a you guys have your appointment night or not :)
2019-07-18 16:46:33 mrled Afraid so - I cant hang out tonight
2019-07-18 16:46:52 &jowj No worries man therapy ain't nothing to apologize for :)
2019-07-18 16:48:38 mrled Oh Im not sorry
2019-07-18 16:48:58 &jowj I misread afraid so!
2019-07-18 16:49:03 &jowj * I misread "afraid so"!
2019-07-18 16:49:16 &jowj oh hey it actually /edits/ the previous line now
2019-06-13 01:33:30 &jowj guys
2019-06-13 01:33:42 &jowj we should make plans to hang out this weekend
2019-06-24 01:28:40 &jowj bros i finally did it and also here's a blog
2019-06-24 01:28:41 &jowj https://me.jowj.net/projects/2019/06/23/pynit.html
2019-06-27 15:00:29 ndled Speaking of your new place
2019-06-27 15:00:37 ndled What we doing today?
2019-06-27 15:02:41 &jowj the new place isn't mine until the first, i'm just picking up keys
2019-06-27 15:02:57 &jowj so....your house?
2019-06-27 15:03:00 &jowj I can probably be there around 7, I have to go pick up the keys around 6:15/6:30
2019-07-02 01:09:58 mrled jowj: this could be cool https://github.com/hometown-fork/hometown
2019-07-02 01:21:09 &jowj oh thats cool
2019-07-02 01:21:14 &jowj i wonder if its easier to self host than pleroma
2019-07-02 01:21:28 &jowj pleroma sucks to dockerize i havent got it to work yet
2019-07-02 01:27:23 mrled sounds like it's the same as hosting mastodon itself
2019-07-02 01:29:04 &jowj yeah
2019-07-02 01:29:17 &jowj i also wonder if it has the resource hog problem that mastodon does.
2019-07-02 01:29:39 mrled i'm sure it does
2019-07-02 01:29:41 mrled it just sounds like feature difference
2019-07-02 01:29:48 mrled the local only posting thing sounds cool tho
2019-07-02 01:36:20 &jowj ya
2019-07-02 01:36:32 &jowj local only posting exists for pleroma too
2019-07-02 01:36:39 &jowj although i like that this is specifically about that
2019-07-02 01:37:03 mrled seems like a good default, or even forced option depending on the community
2019-07-18 16:45:35 &jowj hey ndled mrled y'all have plans for tonight? MIcah i can't remember if tonight is a you guys have your appointment night or not :)
2019-07-18 16:46:33 mrled Afraid so - I cant hang out tonight
2019-07-18 16:46:52 &jowj No worries man therapy ain't nothing to apologize for :)
2019-07-18 16:48:38 mrled Oh Im not sorry
2019-07-18 16:48:58 &jowj I misread afraid so!
2019-07-18 16:49:03 &jowj * I misread "afraid so"!
2019-07-18 16:49:16 &jowj oh hey it actually /edits/ the previous line now

@ -0,0 +1,52 @@
2019-02-16 00:08:16 --> jowj (@jowj:awful.club) has joined awful-club.!mCuHuBWRyPRVaRVdfy:awful.club
2019-02-16 00:08:16 --> @oftc-irc:matrix.org (None) has been invited to @oftc-irc:matrix.org
2019-02-16 00:08:23 --> oftc-irc (@oftc-irc:matrix.org) has joined @oftc-irc:matrix.org
2019-02-16 00:08:33 &jowj !nick blindidiotgod
2019-02-16 00:08:34 -- Notice(&oftc-irc): Nick changed from 'jowj[m]' to 'blindidiotgod'.
2019-02-16 00:10:38 &jowj !join #crimehole
2019-02-16 00:10:39 -- Notice(&oftc-irc): Received an error on irc.oftc.net: err_inviteonlychan
2019-02-16 00:10:39 ["blindidiotgod","#crimehole","Cannot join channel (+i)"]
2019-02-16 00:10:39 -- Notice(&oftc-irc): Could not join #crimehole on 'irc.oftc.net': err_inviteonlychan
2019-02-16 14:52:21 &jowj !quit
2019-02-16 14:52:24 -- Notice(&oftc-irc): Your connection to the IRC network 'irc.oftc.net' has been lost.
2019-03-10 01:41:07 -- Notice(&oftc-irc): Connecting to the IRC network 'irc.oftc.net' as blindidiotgod...
2019-03-10 01:41:11 -- Notice(&oftc-irc): You've been connected to the IRC network 'irc.oftc.net' as blindidiotgod. User modes +G have been set.
2019-03-31 19:33:02 &jowj !help
2019-03-31 19:33:06 -- Notice(&oftc-irc): This is an IRC admin room for controlling your IRC connection and sending commands directly to IRC. The following commands are available:
2019-03-31 19:33:06 !join [irc.example.net] #channel [key] : Join a channel (with optional channel key)
2019-03-31 19:33:06 !nick [irc.example.net] DesiredNick : Change your nick. If no arguments are supplied, your current nick is shown.
2019-03-31 19:33:06 !whois [irc.example.net] NickName|@alice:matrix.org : Do a /whois lookup. If a Matrix User ID is supplied, return information about that user's IRC connection.
2019-03-31 19:33:06 !storepass [irc.example.net] passw0rd : Store a NickServ password (server password)
2019-03-31 19:33:06 !removepass [irc.example.net] : Remove a previously stored NickServ password
2019-03-31 19:33:06 !quit : Leave all bridged channels, on all networks, and remove your connections to all networks.
2019-03-31 19:33:06 !cmd [irc.example.net] COMMAND [arg0 [arg1 [...]]] : Issue a raw IRC command. These will not produce a reply.(Note that the command must be all uppercase.)
2019-03-31 19:33:27 &jowj !quit
2019-03-31 19:33:28 -- Notice(&oftc-irc): Your connection to the IRC network 'irc.oftc.net' has been lost.
2019-04-27 21:46:22 -- Notice(&oftc-irc): Connecting to the IRC network 'irc.oftc.net' as blindidiotgod...
2019-04-27 21:46:35 -- Notice(&oftc-irc): You've been connected to the IRC network 'irc.oftc.net' as blindidiotgod. User modes +G have been set.
2019-02-16 00:08:16 ▬▬▶ jowj (@jowj:awful.club) has joined awful-club.!mCuHuBWRyPRVaRVdfy:awful.club
2019-02-16 00:08:16 ▬▬▶ @oftc-irc:matrix.org (None) has been invited to @oftc-irc:matrix.org
2019-02-16 00:08:23 ▬▬▶ oftc-irc (@oftc-irc:matrix.org) has joined @oftc-irc:matrix.org
2019-02-16 00:08:33 &jowj !nick blindidiotgod
2019-02-16 00:08:34 -- Notice(&oftc-irc): Nick changed from 'jowj[m]' to 'blindidiotgod'.
2019-02-16 00:10:38 &jowj !join #crimehole
2019-02-16 00:10:39 -- Notice(&oftc-irc): Received an error on irc.oftc.net: err_inviteonlychan
2019-02-16 00:10:39 ["blindidiotgod","#crimehole","Cannot join channel (+i)"]
2019-02-16 00:10:39 -- Notice(&oftc-irc): Could not join #crimehole on 'irc.oftc.net': err_inviteonlychan
2019-02-16 14:52:21 &jowj !quit
2019-02-16 14:52:24 -- Notice(&oftc-irc): Your connection to the IRC network 'irc.oftc.net' has been lost.
2019-03-10 01:41:07 -- Notice(&oftc-irc): Connecting to the IRC network 'irc.oftc.net' as blindidiotgod...
2019-03-10 01:41:11 -- Notice(&oftc-irc): You've been connected to the IRC network 'irc.oftc.net' as blindidiotgod. User modes +G have been set.
2019-03-31 19:33:02 &jowj !help
2019-03-31 19:33:06 -- Notice(&oftc-irc): This is an IRC admin room for controlling your IRC connection and sending commands directly to IRC. The following commands are available:
2019-03-31 19:33:06 !join [irc.example.net] #channel [key] : Join a channel (with optional channel key)
2019-03-31 19:33:06 !nick [irc.example.net] DesiredNick : Change your nick. If no arguments are supplied, your current nick is shown.
2019-03-31 19:33:06 !whois [irc.example.net] NickName|@alice:matrix.org : Do a /whois lookup. If a Matrix User ID is supplied, return information about that user's IRC connection.
2019-03-31 19:33:06 !storepass [irc.example.net] passw0rd : Store a NickServ password (server password)
2019-03-31 19:33:06 !removepass [irc.example.net] : Remove a previously stored NickServ password
2019-03-31 19:33:06 !quit : Leave all bridged channels, on all networks, and remove your connections to all networks.
2019-03-31 19:33:06 !cmd [irc.example.net] COMMAND [arg0 [arg1 [...]]] : Issue a raw IRC command. These will not produce a reply.(Note that the command must be all uppercase.)
2019-03-31 19:33:27 &jowj !quit
2019-03-31 19:33:28 -- Notice(&oftc-irc): Your connection to the IRC network 'irc.oftc.net' has been lost.
2019-04-27 21:46:22 -- Notice(&oftc-irc): Connecting to the IRC network 'irc.oftc.net' as blindidiotgod...
2019-04-27 21:46:35 -- Notice(&oftc-irc): You've been connected to the IRC network 'irc.oftc.net' as blindidiotgod. User modes +G have been set.

@ -0,0 +1,94 @@
2019-07-23 19:45:15 amarquez80 Hi, Is the server configured to use postgres by default?
2019-07-23 19:46:55 aaron Yes
2019-07-23 19:47:43 amarquez80 Ok in which table are the users stored?
2019-07-23 19:49:00 aaron Not near a computer but I think it is just called users. #synapse:matrix.org will be more helpful since this applies to any install of Synapse.
2019-07-23 19:49:41 amarquez80 ok thank you Aaron
2019-07-23 19:57:04 amarquez80 its very rare. I have registered 3 users but the table still empty
2019-07-23 20:05:11 amarquez80 public.users
2019-07-23 20:17:22 amarquez80 thanks
2019-07-23 20:20:22 amarquez80 I find the solution, now Is there a way to connect a local application to the docker postgres instance?
2019-07-23 20:21:45 amarquez80 I would like to do a GUI app in order to manage the users
2019-07-23 21:11:00 &slavi amarquez80: you can tell the postgres container to expose its port. I don't have a computer now, so I can't tell you exactly how. Feel free to read the defaults.yml file in the matrix-postgres file though.
2019-07-24 07:46:05 <-- kpk (@freenode_kpk:matrix.org) has left #Docker + Ansible = Matrix
2019-07-24 08:14:19 --> kpk (@freenode_kpk:matrix.org) has joined #Docker + Ansible = Matrix
2019-07-24 11:10:41 --> Tony[m6 (@freenode_Tony[m6:matrix.org) has joined #Docker + Ansible = Matrix
2019-07-24 13:10:47 amarquez80 thanks Slavi
2019-07-24 17:56:43 <-- @freenode_Tony[m5:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-24 17:56:44 <-- @freenode_rakesh:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-24 17:56:45 <-- @freenode_pk12_:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-24 17:56:45 <-- @freenode_Guest98:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-24 17:56:45 <-- @freenode_Laxtour:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-26 01:45:20 <-- @freenode_suds:matrix.org (None) has left #Docker + Ansible = Matrix
2019-07-26 12:27:25 --> ptman (@ptman:matrix.org) has joined #Docker + Ansible = Matrix
2019-07-27 01:48:03 <-- @nunfred:poop.blue (None) has left #Docker + Ansible = Matrix
2019-07-27 00:27:01 <-- kpk (@freenode_kpk:matrix.org) has left #Docker + Ansible = Matrix
2019-07-27 00:28:05 --> kpk (@freenode_kpk:matrix.org) has joined #Docker + Ansible = Matrix
2019-07-28 02:25:34 munfred Hi, I'm trying to understand how the file /matrix/nginx-proxy/conf.d/matrix-synapse.conf gets configured from the playbooks.
2019-07-28 02:25:34 I'm trying to adapt an existing role to setup the mautrix-hangouts bridge, and to do so I need to include the following snippet into that config file:
2019-07-28 02:25:34
2019-07-28 02:25:34 location /login {
2019-07-28 02:25:34 proxy_pass http://127.0.0.1:8080;
2019-07-28 02:25:34 proxy_set_header X-Forwarded-For $remote_addr;
2019-07-28 02:25:34 }
2019-07-28 02:25:34
2019-07-28 02:25:34
2019-07-28 02:25:34 Thanks!
2019-07-28 02:29:28 aaron Are you trying to contribute mautrix-hangouts integration with this project or just trying to set it up for youself without ansible?
2019-07-28 02:34:07 munfred First I am trying to set it up for myself on an instance where I used the ansible playbook to setup the facebook, whatsapp and telegram bridges. Then I will try to turn that on a playbook, and if it works I'd like to contribute it back. I'm working with @linus:matrix.neurotecherslan.party on this project
2019-07-28 02:39:33 aaron If you just want to set it up for youself then you probably want to do https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-own-webserver.md and then just add that bit
2019-07-28 08:00:44 tobias Hi, if anyone else runs into this after deploying yesterdays commit (Merge pull request #228 from danbob/fix-apt-warning): I was getting a bunch of errors like
2019-07-28 08:00:45 Tobias[m]2 Hi, if anyone else runs into this after deploying yesterdays commit (Merge pull request #228 from danbob/fix-apt-warning): I was getting a bunch of errors like
2019-07-28 08:00:54 tobias ´´´W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:2
2019-07-28 08:00:55 Tobias[m]2 ´´´W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:2
2019-07-28 08:02:34 tobias (on the matrix server). I fixed it deleting the first line in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list. Not sure if that line should have been automatically, but in my case it was not.
2019-07-28 08:02:35 Tobias[m]2 (on the matrix server). I fixed it deleting the first line in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list. Not sure if that line should have been automatically, but in my case it was not.
2019-07-28 08:03:39 tobias is it just me or is there an echo in this room?
2019-07-28 08:03:44 tobias https://matrix.awful.club:443/_matrix/media/r0/download/spaltenberger.de/plwGeFyXKjBCjogiGkDJWubL/image.png
2019-07-28 08:03:39 Tobias[m]2 is it just me or is there an echo in this room?
2019-07-28 08:03:44 * Tobias[m]2 uploaded an image: image.png (46KB) < https://matrix.org/_matrix/media/v1/download/spaltenberger.de/plwGeFyXKjBCjogiGkDJWubL >
2019-07-28 08:05:08 ptman yes, clear echo
2019-07-28 08:09:09 tobias Hm, seems to affect just me? Who is that freenode_Tobias[m]2:matrix.org user? Why is it parroting me? Am I doing something wrong here? In any case, I will shut up to stop spamming this room ;)
2019-07-28 08:09:14 Tobias[m]2 Hm, seems to affect just me? Who is that freenode_Tobias[m]2:matrix.org user? Why is it parroting me? Am I doing something wrong here? In any case, I will shut up to stop spamming this room ;)
2019-07-28 08:26:26 &slavi Bug with the IRC bridge?
2019-07-28 08:31:39 ptman I mentioned this on #irc:matrix.org
2019-07-28 08:31:40 tobias I have no IRC bridge active/configured, at least as far as I know...
2019-07-28 08:31:41 Tobias[m]2 I have no IRC bridge active/configured, at least as far as I know...
2019-07-28 08:31:56 ptman This room is bridged
2019-07-28 08:35:22 tobias Ah, ok
2019-07-28 08:35:23 Tobias[m]2 Ah, ok
2019-07-28 09:07:30 hugh Moved CI to GitLab: https://mau.dev/tulir/mautrix-whatsapp/container_registry (mirrored with maumirror)
2019-07-28 09:07:30 Docker Hub will no longer get new builds, the docker repo is now dock.mau.dev/tulir/mautrix-whatsapp
2019-07-28 09:08:02 hugh <Message redacted by: hugh>
2019-07-28 09:08:17 hugh tulir: Does this need to be reflected in the playbook?
2019-07-28 09:08:38 tulir yes, but I haven't moved facebook and hangouts bridges yet
2019-07-28 12:21:04 spiilgriim I there I was wondering if there are special steps to follow to add an app registration path to app_service_config_files since I'm obviously messing something up because once I add it manually, synapse doesn't run anymore
2019-07-28 02:29:28 aaron Are you trying to contribute mautrix-hangouts integration with this project or just trying to set it up for youself without ansible?
2019-07-28 02:34:07 munfred First I am trying to set it up for myself on an instance where I used the ansible playbook to setup the facebook, whatsapp and telegram bridges. Then I will try to turn that on a playbook, and if it works I'd like to contribute it back. I'm working with @linus:matrix.neurotecherslan.party on this project
2019-07-28 02:39:33 aaron If you just want to set it up for youself then you probably want to do https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-own-webserver.md and then just add that bit
2019-07-28 08:00:44 tobias Hi, if anyone else runs into this after deploying yesterdays commit (Merge pull request #228 from danbob/fix-apt-warning): I was getting a bunch of errors like
2019-07-28 08:00:45 ▬▬▶ Tobias[m]2 (@freenode_Tobias[m]2:matrix.org) has joined #Docker + Ansible = Matrix
2019-07-28 08:00:45 Tobias[m]2 Hi, if anyone else runs into this after deploying yesterdays commit (Merge pull request #228 from danbob/fix-apt-warning): I was getting a bunch of errors like
2019-07-28 08:00:54 tobias ´´´W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:2
2019-07-28 08:00:55 Tobias[m]2 ´´´W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:1 and /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list:2
2019-07-28 08:02:34 tobias (on the matrix server). I fixed it deleting the first line in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list. Not sure if that line should have been automatically, but in my case it was not.
2019-07-28 08:02:35 Tobias[m]2 (on the matrix server). I fixed it deleting the first line in /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list. Not sure if that line should have been automatically, but in my case it was not.
2019-07-28 08:03:39 tobias is it just me or is there an echo in this room?
2019-07-28 08:03:44 tobias https://matrix.awful.club:443/_matrix/media/r0/download/spaltenberger.de/plwGeFyXKjBCjogiGkDJWubL/image.png
2019-07-28 08:03:39 Tobias[m]2 is it just me or is there an echo in this room?
2019-07-28 08:03:44 * Tobias[m]2 uploaded an image: image.png (46KB) < https://matrix.org/_matrix/media/v1/download/spaltenberger.de/plwGeFyXKjBCjogiGkDJWubL >
2019-07-28 08:05:08 ptman yes, clear echo
2019-07-28 08:09:09 tobias Hm, seems to affect just me? Who is that freenode_Tobias[m]2:matrix.org user? Why is it parroting me? Am I doing something wrong here? In any case, I will shut up to stop spamming this room ;)
2019-07-28 08:09:14 Tobias[m]2 Hm, seems to affect just me? Who is that freenode_Tobias[m]2:matrix.org user? Why is it parroting me? Am I doing something wrong here? In any case, I will shut up to stop spamming this room ;)
2019-07-28 08:26:26 &slavi Bug with the IRC bridge?
2019-07-28 08:31:39 ptman I mentioned this on #irc:matrix.org
2019-07-28 08:31:40 tobias I have no IRC bridge active/configured, at least as far as I know...
2019-07-28 08:31:41 Tobias[m]2 I have no IRC bridge active/configured, at least as far as I know...
2019-07-28 08:31:56 ptman This room is bridged
2019-07-28 08:35:22 tobias Ah, ok
2019-07-28 08:35:23 Tobias[m]2 Ah, ok
2019-07-28 09:07:30 hugh Moved CI to GitLab: https://mau.dev/tulir/mautrix-whatsapp/container_registry (mirrored with maumirror)
2019-07-28 09:07:30 Docker Hub will no longer get new builds, the docker repo is now dock.mau.dev/tulir/mautrix-whatsapp
2019-07-28 09:08:02 hugh <Message redacted by: hugh>
2019-07-28 09:08:17 hugh tulir: Does this need to be reflected in the playbook?
2019-07-28 09:08:38 tulir yes, but I haven't moved facebook and hangouts bridges yet
2019-07-28 12:21:04 spiilgriim I there I was wondering if there are special steps to follow to add an app registration path to app_service_config_files since I'm obviously messing something up because once I add it manually, synapse doesn't run anymore

@ -0,0 +1,169 @@
2019-07-28 01:01:14 &matthew hm, looks like it got lost on a gist
2019-07-28 01:01:19 &matthew i don't know of a reason not to MSC it
2019-07-28 01:01:44 @travis It's in a draft state while we figure out the scope of it
2019-07-28 01:03:00 @travis the gist isn't meant for the public yet as it's mostly a scratchpad of ideas rather than a solution
2019-07-28 01:03:50 yan wasn't there a google docs document describing telegram-alike buttons/callbacks?
2019-07-28 01:04:14 yan I feel like the core concept is the same
2019-07-28 01:04:52 @travis There is https://github.com/matrix-org/matrix-doc/issues/1485 however I have Thoughts on it and why it's insufficient
2019-07-28 01:09:03 @travis I guess it should probably be a real MSC... the Riot branches are already out there, just not merged/PRd
2019-07-28 01:09:34 <-- @freenode_jameshjacksonjr:matrix.org (None) has left #Matrix HQ
2019-07-28 01:13:48 <-- akash (@freenode_akash:matrix.org) has left #Matrix HQ
2019-07-28 01:14:21 --> akash (@freenode_akash:matrix.org) has joined #Matrix HQ
2019-07-28 01:18:25 <-- akash (@freenode_akash:matrix.org) has left #Matrix HQ
2019-07-28 01:18:59 --> akash (@freenode_akash:matrix.org) has joined #Matrix HQ
2019-07-28 01:22:12 <-- @freenode_jameshjacksonjr:matrix.org (None) has left #Matrix HQ
2019-07-28 02:13:11 --> commagray (@commagray:092918.xyz) has joined #Matrix HQ
2019-07-28 02:21:07 commagray Stress-test for my 32 Gb board.
2019-07-28 02:23:20 aaron 👋
2019-07-28 02:59:12 <-- @freenode_gearshift:matrix.org (None) has left #Matrix HQ
2019-07-28 03:02:33 <-- cerenous (@freenode_cerenous:matrix.org) has left #Matrix HQ
2019-07-28 03:03:21 --> cerenous (@freenode_cerenous:matrix.org) has joined #Matrix HQ
2019-07-28 03:04:12 <-- cerenous (@freenode_cerenous:matrix.org) has left #Matrix HQ
2019-07-28 03:06:10 --> cerenous (@freenode_cerenous:matrix.org) has joined #Matrix HQ
2019-07-28 03:35:16 <-- @freenode_gearshift:matrix.org (None) has left #Matrix HQ
2019-07-28 03:43:13 <-- akash (@freenode_akash:matrix.org) has left #Matrix HQ
2019-07-28 03:48:05 --> akash (@freenode_akash:matrix.org) has joined #Matrix HQ
2019-07-28 04:11:53 minji Is websocket support high priority? I imagine using websockets for syncing rooms alone would noticeably improve the performance and perceived responsiveness of Riot. Plus it would be much more friendly for Android roms without GCM. The GitHub issue hasn't been touched in a while
2019-07-28 04:13:55 <-- @freenode_gearshift4:matrix.org (None) has left #Matrix HQ
2019-07-28 05:14:53 auscompgeek I know https://github.com/matrix-org/matrix-doc/pull/2108 is in the pipeline. I don't think there's an MSC for websockets, and both websockets and SSE seems a bit redundant
2019-07-28 05:16:43 auscompgeek A proof-of-concept implementation would be good I guess.
2019-07-28 05:21:13 ptman I believe sse or websockets would replace long polling, not gcm
2019-07-28 07:03:49 <-- akash (@freenode_akash:matrix.org) has left #Matrix HQ
2019-07-28 08:55:45 tulir > In reply to @minji:privacytools.io
2019-07-28 08:55:45 > Is websocket support high priority? I imagine using
2019-07-28 08:55:45 > websockets for syncing rooms alone would noticeably
2019-07-28 08:55:45 > improve the performance and perceived responsiveness of
2019-07-28 08:55:45 > Riot. Plus it would be much more friendly for Android roms
2019-07-28 08:55:45 > without GCM. The GitHub issue hasn't been touched in a
2019-07-28 08:55:45 > while
2019-07-28 08:55:45 I kind of doubt it would noticeably improve performance, HTTP/2 already removes most of the overhead (TCP and TLS handshakes) of long polling
2019-07-28 09:02:39 C0rn3j I keep getting kicked from freenode groups and I don't understand how to fix it - Reason: IRC error on #archlinux: err_needreggednick
2019-07-28 09:03:06 C0rn3j it seems it's trying to use "C0rn3j[m]" but when I try to login to my account on freenode and do "/nick C0rn3j[m]" I get an error that the nick is already in use
2019-07-28 09:03:11 Nickli it says right there, you need to register a nick on freenode
2019-07-28 09:04:19 C0rn3j Yeah but I can't because it is in use already. And I don't get how to merge the IRC Riot acc(?) and my usual IRC acc in that case
2019-07-28 09:04:24 Nickli seems to me you'r already using C0rn3j
2019-07-28 09:05:10 C0rn3j So what should I do?
2019-07-28 09:07:50 Nickli i don't know
2019-07-28 09:08:24 Nickli sure you registered as C0rn3j exactly and without [m]
2019-07-28 09:08:35 Nickli and not*
2019-07-28 09:09:33 C0rn3j when I send "INFO C0rn3j" to nickserv- Nicks : C0rn3j C0rn3j[m] C0rn3j_
2019-07-28 09:10:21 C0rn3j huh it works now
2019-07-28 09:19:45 maralorn Matthew: turt2live: That sounds amazing. Would be awesome for a lot of applications I have in mind.
2019-07-28 09:22:19 tulir > In reply to @travis:t2l.io
2019-07-28 09:22:19 > I guess it should probably be a real MSC... the Riot
2019-07-28 09:22:19 > branches are already out there, just not merged/PRd
2019-07-28 09:22:19 I could probably make it into a real MSC at some point
2019-07-28 09:26:52 ace > In reply to @minji:privacytools.io
2019-07-28 09:26:52 > Is websocket support high priority? I imagine using
2019-07-28 09:26:52 > websockets for syncing rooms alone would noticeably
2019-07-28 09:26:52 > improve the performance and perceived responsiveness of
2019-07-28 09:26:52 > Riot. Plus it would be much more friendly for Android roms
2019-07-28 09:26:52 > without GCM. The GitHub issue hasn't been touched in a
2019-07-28 09:26:52 > while
2019-07-28 09:26:52 There's an MSC up for doing SSE (Server-Sent Events) for the sync stream, which - in my own eyes at least - seems like a much better solution than websockets would be.
2019-07-28 10:08:51 deepc0re how does consensus work in matrix?
2019-07-28 10:15:03 heftig I'm trying to moderate a room; I have maximum permissions (100), settings look ok but I only get permission errors
2019-07-28 10:15:03 why?
2019-07-28 10:18:47 heftig riot says i have user level 100, synapse says i have user level 0; wtf
2019-07-28 10:19:09 swedneck:privacytools.io sounds like a state reset
2019-07-28 10:20:43 swedneck:privacytools.io i presume it's an old room, and not one you just made?
2019-07-28 10:25:26 heftig yeah, old room
2019-07-28 10:25:47 heftig i just moved my permissions from an old user @matrix.org to a new(er) user @archlinux.org
2019-07-28 10:26:02 heftig but now matrix.org believes the move happened and archlinux.org believes it did not
2019-07-28 10:26:11 heftig so i'm stuck
2019-07-28 10:40:07 thenamelesswonderer does running your own synapse reveal your ip to everyone or is there a cloak feature sort of like in IRC?
2019-07-28 10:42:20 Nickli how would anyone be able to connect to the homeserver otherwise?
2019-07-28 10:44:39 swedneck:permaweb.io > In reply to @thenamelesswonderer:matrix.org
2019-07-28 10:44:39 > does running your own synapse reveal your ip to everyone
2019-07-28 10:44:39 > or is there a cloak feature sort of like in IRC?
2019-07-28 10:44:39 it reveals the IP of your server, not any users
2019-07-28 10:45:54 thenamelesswonderer Right and anyone can see it by clicking on a user's name?
2019-07-28 10:47:04 Nickli most stuff is relayed via the server so not the individual user IP is revealed to other servers
2019-07-28 10:47:47 heftig so what do I do now? the homeservers disagree on the power levels
2019-07-28 10:48:30 Nickli heftig: your server is software up to date?
2019-07-28 10:48:41 heftig yes
2019-07-28 10:57:44 maralorn TheNamelessWonderer: Anyone can figure the homeserver IP out, by doing a DNS request (or looking into the .well-known) of the domain part of your users id. But I dont know of any client which would integrate that into the ui. I dont think anyone needs that feature.
2019-07-28 10:59:10 swedneck:privacytools.io > In reply to @heftig:archlinux.org
2019-07-28 10:59:10 > so what do I do now? the homeservers disagree on the power
2019-07-28 10:59:10 > levels
2019-07-28 10:59:10 state resets suck, if you can get PL 100 again i think the best action is to upgrade the room
2019-07-28 10:59:31 swedneck:privacytools.io if you can't get PL 100 again you'll have to make a new room and move people there
2019-07-28 11:00:12 heftig I also tried removing the event which lowered the matrix.org user's power level
2019-07-28 11:00:20 heftig it was removed but the power level didn't change
2019-07-28 11:52:23 &matthew it should be impossible to entirely lose power due to state resets (unless users explicitly relinquished power)
2019-07-28 11:52:55 &matthew so find a user who has ops and upgrade the room to escape the mess
2019-07-28 12:32:06 heftig Matthew: there's nobody else left
2019-07-28 12:32:17 heftig the only other admin is a deactivated matrix.org account
2019-07-28 12:34:41 heftig Matthew: i'm not even sure a "state reset" is what happened, since I didn't get unexpectedly rejoined
2019-07-28 12:35:18 heftig but now the homeservers are in disagreement; archlinux.org says @heftig:matrix.org has 100 and @heftig:archlinux.org has 0
2019-07-28 12:35:24 heftig matrix.org says the opposite is the case
2019-07-28 12:36:28 &matthew state reset = state regressing to some earlier state on one or more servers
2019-07-28 12:37:02 &matthew on the server where you have ops, do /upgraderoom 4
2019-07-28 12:37:13 heftig I don't have ops anywhere
2019-07-28 12:37:11 &matthew (afk)
2019-07-28 12:37:35 heftig each server has the opinion that my local user has zero power
2019-07-28 12:45:32 &matthew oh, i see
2019-07-28 12:45:52 &matthew we can prolly puppet the matrix.org deactivated user to fix it if you mail support@ with the details
2019-07-28 12:50:33 heftig i'll try, thanks
2019-07-28 13:15:16 minji > In reply to @ace:kittenface.studio
2019-07-28 13:15:16 > There's an MSC up for doing SSE (Server-Sent Events) for
2019-07-28 13:15:16 > the sync stream, which - in my own eyes at least - seems
2019-07-28 13:15:16 > like a much better solution than websockets would be.
2019-07-28 13:15:16 Please can you link it?
2019-07-28 13:15:45 ace > In reply to @minji:privacytools.io
2019-07-28 13:15:45 > Please can you link it?
2019-07-28 13:15:45 https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:16:02 tulir > In reply to @_discord_116688250243907590:half-shot.uk
2019-07-28 13:16:02 > I know https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:16:02 > is in the pipeline. I don't think there's an MSC for
2019-07-28 13:16:02 > websockets, and both websockets and SSE seems a bit
2019-07-28 13:16:02 > redundant
2019-07-28 13:16:02 minji: it was linked right after your message
2019-07-28 13:21:33 minji > In reply to @ace:kittenface.studio
2019-07-28 13:21:33 > https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:21:33 Thanks
2019-07-28 13:21:53 minji > In reply to @tulir:maunium.net
2019-07-28 13:21:53 > minji: it was linked right after your message
2019-07-28 13:21:53 Oh, my bad
2019-07-28 11:00:12 heftig I also tried removing the event which lowered the matrix.org user's power level
2019-07-28 11:00:20 heftig it was removed but the power level didn't change
2019-07-28 11:27:59 ◀▬▬ @freenode_akash:matrix.org (None) has left #Matrix HQ
2019-07-28 11:50:10 ◀▬▬ @freenode_akash:matrix.org (None) has left #Matrix HQ
2019-07-28 11:52:23 &matthew it should be impossible to entirely lose power due to state resets (unless users explicitly relinquished power)
2019-07-28 11:52:55 &matthew so find a user who has ops and upgrade the room to escape the mess
2019-07-28 12:32:06 heftig Matthew: there's nobody else left
2019-07-28 12:32:17 heftig the only other admin is a deactivated matrix.org account
2019-07-28 12:34:41 heftig Matthew: i'm not even sure a "state reset" is what happened, since I didn't get unexpectedly rejoined
2019-07-28 12:35:18 heftig but now the homeservers are in disagreement; archlinux.org says @heftig:matrix.org has 100 and @heftig:archlinux.org has 0
2019-07-28 12:35:24 heftig matrix.org says the opposite is the case
2019-07-28 12:36:28 &matthew state reset = state regressing to some earlier state on one or more servers
2019-07-28 12:37:02 &matthew on the server where you have ops, do /upgraderoom 4
2019-07-28 12:37:13 heftig I don't have ops anywhere
2019-07-28 12:37:11 &matthew (afk)
2019-07-28 12:37:35 heftig each server has the opinion that my local user has zero power
2019-07-28 12:45:32 &matthew oh, i see
2019-07-28 12:45:52 &matthew we can prolly puppet the matrix.org deactivated user to fix it if you mail support@ with the details
2019-07-28 12:50:33 heftig i'll try, thanks
2019-07-28 13:15:16 minji > In reply to @ace:kittenface.studio
2019-07-28 13:15:16 > There's an MSC up for doing SSE (Server-Sent Events) for
2019-07-28 13:15:16 > the sync stream, which - in my own eyes at least - seems
2019-07-28 13:15:16 > like a much better solution than websockets would be.
2019-07-28 13:15:16 Please can you link it?
2019-07-28 13:15:45 ace > In reply to @minji:privacytools.io
2019-07-28 13:15:45 > Please can you link it?
2019-07-28 13:15:45 https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:16:02 tulir > In reply to @_discord_116688250243907590:half-shot.uk
2019-07-28 13:16:02 > I know https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:16:02 > is in the pipeline. I don't think there's an MSC for
2019-07-28 13:16:02 > websockets, and both websockets and SSE seems a bit
2019-07-28 13:16:02 > redundant
2019-07-28 13:16:02 minji: it was linked right after your message
2019-07-28 13:21:33 minji > In reply to @ace:kittenface.studio
2019-07-28 13:21:33 > https://github.com/matrix-org/matrix-doc/pull/2108
2019-07-28 13:21:33 Thanks
2019-07-28 13:21:53 minji > In reply to @tulir:maunium.net
2019-07-28 13:21:53 > minji: it was linked right after your message
2019-07-28 13:21:53 Oh, my bad
2019-07-28 13:29:05 ◀▬▬ @freenode_akash:matrix.org (None) has left #Matrix HQ
2019-07-28 13:37:50 ◀▬▬ @freenode_kqr:matrix.org (None) has left #Matrix HQ
2019-07-28 13:54:22 jorik Have there been any attempts on device awareness? i.e. having devices track which one the 'active' one is so that they don't all bing at the same time.

@ -0,0 +1,21 @@
2019-07-13 15:50:17 <-- @dayonemobil:eritonito.com (None) has left #General
2019-07-14 17:42:02 --> robertoszek (@robertoszek:matrix.org) has joined #General
2019-07-19 00:07:09 <-- @tuxitagnu:matrix.org (None) has left #General
2019-07-19 00:23:50 <-- @jan200101:kde.org (None) has left #General
2019-07-20 10:21:31 <-- @chronosx88:matrix.org (None) has left #General
2019-07-20 21:13:54 <-- @riffautae:matrix.org (None) has left #General
2019-07-21 05:08:39 <-- @lintuxer:matrix.org (None) has left #General
2019-07-21 09:59:15 <-- @flounders:matrix.org (None) has left #General
2019-07-21 20:52:25 <-- @mhx:matrix.org (None) has left #General
2019-07-24 12:37:00 <-- @ticodk:matrix.org (None) has left #General
2019-07-27 00:52:28 <-- @pyroclasticmayhem:matrix.org (None) has left #General
2019-07-19 00:07:09 ◀▬▬ @tuxitagnu:matrix.org (None) has left #General
2019-07-19 00:23:50 ◀▬▬ @jan200101:kde.org (None) has left #General
2019-07-20 10:21:31 ◀▬▬ @chronosx88:matrix.org (None) has left #General
2019-07-20 21:13:54 ◀▬▬ @riffautae:matrix.org (None) has left #General
2019-07-21 05:08:39 ◀▬▬ @lintuxer:matrix.org (None) has left #General
2019-07-21 09:59:15 ◀▬▬ @flounders:matrix.org (None) has left #General
2019-07-21 20:52:25 ◀▬▬ @mhx:matrix.org (None) has left #General
2019-07-24 12:37:00 ◀▬▬ @ticodk:matrix.org (None) has left #General
2019-07-27 00:52:28 ◀▬▬ @pyroclasticmayhem:matrix.org (None) has left #General
2019-07-28 11:06:44 ◀▬▬ @kevinsarpei:matrix.org (None) has left #General

@ -0,0 +1,82 @@
2019-07-25 18:34:50 cadair I assume that must be a deployment issue, I haven't seen that at all on the instance I run
2019-07-25 18:35:29 vin Yeah I was wondering if it would be better to set up my own appservice but the hosted one is very convenient
2019-07-25 18:36:17 cadair I run my own because I automate bridging of new rooms
2019-07-25 18:36:21 cadair and stuff
2019-07-25 18:44:53 --> fredcy (@fredcy:tzchat.org) has joined #Matrix Bridging
2019-07-26 20:01:15 --> alexgleason (@alexgleason:matrix.org) has joined #Matrix Bridging
2019-07-26 20:02:37 alexgleason I'm having some trouble setting up the Slack bridge on riot.im. I clicked "Event bridging", the popup came up, I clicked "Accept" and closed the tab, then the widget modal just reset and didn't list my rooms.
2019-07-26 20:04:41 alexgleason It says:
2019-07-26 20:04:41 > Integration Successful!
2019-07-26 20:04:41 > Your Matrix-Slack account is now correctly authorized.
2019-07-26 20:04:41 But then I close the tab and the modal in the Riot window resets
2019-07-27 01:01:32 kingoftheconnors I had that problem too. It was a huge bother and I had to take the long way around (setting up the actual appservice) because I couldn't find a solution. Does anyone here know why it doesn't work?
2019-07-27 08:55:30 --> venivici (@venivici:matrix.org) has joined #Matrix Bridging
2019-07-27 11:27:03 Valodim Half-Shot: still consistently getting double messages in #hagrid :(
2019-07-27 17:05:34 swedneck:privacytools.io what's up with the gitter bridge seemingly randomly switching to being a bridgebot instead of using puppets on matrix?
2019-07-27 19:26:07 --> max_sievers (@max_sievers:matrix.org) has joined #Matrix Bridging
2019-07-27 19:46:33 @Half-Shot > In reply to @swedneck:privacytools.io
2019-07-27 19:46:33 > what's up with the gitter bridge seemingly randomly
2019-07-27 19:46:33 > switching to being a bridgebot instead of using puppets on
2019-07-27 19:46:33 > matrix?
2019-07-27 19:46:33 That's a thing?
2019-07-27 19:46:50 @Half-Shot > In reply to @Valodim:stratum0.org
2019-07-27 19:46:50 > Half-Shot: still consistently getting double messages in
2019-07-27 19:46:50 > #hagrid :(
2019-07-27 19:46:50 Yeah, I saw :(. Regrettably I think we need to restart the bridge to fix it
2019-07-27 19:47:01 swedneck:privacytools.io see #yacy:chat.weho.st
2019-07-27 19:47:35 swedneck:privacytools.io https://siderus.io/ipfs/Qmde1JNUR7WTPBNEjWDkijjgKStFWeLTrRoRcLpe9K1V2U/2019-07-27_21-47-16.png
2019-07-27 19:47:35 puppets followed by bridgebot
2019-07-27 19:57:52 tulir swedneck:privacytools.io: looks like normal double bridging
2019-07-27 19:58:53 swedneck:privacytools.io how so?
2019-07-27 19:59:09 tulir https://gitter.im/yacy/yacy_search_server
2019-07-27 20:00:15 swedneck:privacytools.io well that is very strange behaviour for the gitter bridge
2019-07-27 20:00:50 swedneck:privacytools.io it seems to recognize that there's double bridging going on, but not really do anything about it
2019-07-27 20:06:10 tulir what should it do about it?
2019-07-27 20:07:20 swedneck either refuse to bridge and scream at you, do bridge but scream at you periodically or at least once when initiating the bridge, or make matrix ghosts for the matrix users in the other room
2019-07-27 20:09:55 tulir well the second option isn't very nice and the third option would be hacky
2019-07-27 20:10:29 tulir the first option is probably the correct one, but the matrix.org bridges are silly
2019-07-28 01:12:56 kingoftheconnors I've got another problem with my Slack Bridge (Sorry! At this point I'm just posting question around the clock). It's about sending images from Slack to Matrix.
2019-07-28 01:13:13 kingoftheconnors It doesn't work. It works from Matrix to Slack, but not the other way.
2019-07-28 01:14:24 kingoftheconnors The logs say 'Internal Service Error' with httpStatus: 500
2019-07-25 18:34:50 cadair I assume that must be a deployment issue, I haven't seen that at all on the instance I run
2019-07-25 18:35:29 vin Yeah I was wondering if it would be better to set up my own appservice but the hosted one is very convenient
2019-07-25 18:36:17 cadair I run my own because I automate bridging of new rooms
2019-07-25 18:36:21 cadair and stuff
2019-07-25 18:44:53 ▬▬▶ fredcy (@fredcy:tzchat.org) has joined #Matrix Bridging
2019-07-26 20:01:15 ▬▬▶ alexgleason (@alexgleason:matrix.org) has joined #Matrix Bridging
2019-07-26 20:02:37 alexgleason I'm having some trouble setting up the Slack bridge on riot.im. I clicked "Event bridging", the popup came up, I clicked "Accept" and closed the tab, then the widget modal just reset and didn't list my rooms.
2019-07-26 20:04:41 alexgleason It says:
2019-07-26 20:04:41 > Integration Successful!
2019-07-26 20:04:41 > Your Matrix-Slack account is now correctly authorized.
2019-07-26 20:04:41 But then I close the tab and the modal in the Riot window resets
2019-07-27 01:01:32 kingoftheconnors I had that problem too. It was a huge bother and I had to take the long way around (setting up the actual appservice) because I couldn't find a solution. Does anyone here know why it doesn't work?
2019-07-27 08:55:30 ▬▬▶ venivici (@venivici:matrix.org) has joined #Matrix Bridging
2019-07-27 11:27:03 Valodim Half-Shot: still consistently getting double messages in #hagrid :(
2019-07-27 17:05:34 swedneck:privacytools.io what's up with the gitter bridge seemingly randomly switching to being a bridgebot instead of using puppets on matrix?
2019-07-27 19:26:07 ▬▬▶ max_sievers (@max_sievers:matrix.org) has joined #Matrix Bridging
2019-07-27 19:46:33 @Half-Shot > In reply to @swedneck:privacytools.io
2019-07-27 19:46:33 > what's up with the gitter bridge seemingly randomly
2019-07-27 19:46:33 > switching to being a bridgebot instead of using puppets on
2019-07-27 19:46:33 > matrix?
2019-07-27 19:46:33 That's a thing?
2019-07-27 19:46:50 @Half-Shot > In reply to @Valodim:stratum0.org
2019-07-27 19:46:50 > Half-Shot: still consistently getting double messages in
2019-07-27 19:46:50 > #hagrid :(
2019-07-27 19:46:50 Yeah, I saw :(. Regrettably I think we need to restart the bridge to fix it
2019-07-27 19:47:01 swedneck:privacytools.io see #yacy:chat.weho.st
2019-07-27 19:47:35 swedneck:privacytools.io https://siderus.io/ipfs/Qmde1JNUR7WTPBNEjWDkijjgKStFWeLTrRoRcLpe9K1V2U/2019-07-27_21-47-16.png
2019-07-27 19:47:35 puppets followed by bridgebot
2019-07-27 19:57:52 tulir swedneck:privacytools.io: looks like normal double bridging
2019-07-27 19:58:53 swedneck:privacytools.io how so?
2019-07-27 19:59:09 tulir https://gitter.im/yacy/yacy_search_server
2019-07-27 20:00:15 swedneck:privacytools.io well that is very strange behaviour for the gitter bridge
2019-07-27 20:00:50 swedneck:privacytools.io it seems to recognize that there's double bridging going on, but not really do anything about it
2019-07-27 20:06:10 tulir what should it do about it?
2019-07-27 20:07:20 swedneck either refuse to bridge and scream at you, do bridge but scream at you periodically or at least once when initiating the bridge, or make matrix ghosts for the matrix users in the other room
2019-07-27 20:09:55 tulir well the second option isn't very nice and the third option would be hacky
2019-07-27 20:10:29 tulir the first option is probably the correct one, but the matrix.org bridges are silly
2019-07-28 01:12:56 kingoftheconnors I've got another problem with my Slack Bridge (Sorry! At this point I'm just posting question around the clock). It's about sending images from Slack to Matrix.
2019-07-28 01:13:13 kingoftheconnors It doesn't work. It works from Matrix to Slack, but not the other way.
2019-07-28 01:14:24 kingoftheconnors The logs say 'Internal Service Error' with httpStatus: 500
2019-07-28 14:19:30 ◀▬▬ @max_sievers:matrix.org (None) has left #Matrix Bridging
2019-07-28 14:39:49 cadair kingoftheconnors: could either be size limitations or not having the correct oauth scopes to make the slack image public

@ -0,0 +1,141 @@
2019-07-28 02:32:38 &jowj also the era of dinosaurs
2019-07-28 02:32:48 mrled you are very confused as to when dinosaurs were here
2019-07-28 02:32:50 &jowj lol like i'm gonna click on a url shortener
2019-07-28 02:32:54 mrled (it's now btw, all birds are dinosaurs)
2019-07-28 02:33:07 mrled (have u ever looked at a grackle i mean really LOOKED)
2019-07-28 02:33:09 &jowj micah its $currentyear, all years prior are dino years
2019-07-28 02:33:12 &jowj grackles are horrifying
2019-07-28 02:33:23 &jowj I have read amazing things about net-canons employed in like taylor texas
2019-07-28 02:33:26 &jowj to try and catch them
2019-07-28 02:33:40 mrled The Im sorry what
2019-07-28 02:34:06 &jowj ok here's one of my fav stories
2019-07-28 02:34:07 &jowj https://www.kut.org/post/time-ut-austin-waged-war-grackles
2019-07-28 02:34:36 &jowj they played ping pong with grackles!
2019-07-28 02:34:41 &jowj because it wasn't legal to kill them!!!
2019-07-28 02:36:34 mrled It is ILLEGAL TO KILL THEM? Thats insane, they are everywhere
2019-07-28 02:37:03 mrled Thats awesome
2019-07-28 02:37:34 &jowj here's the city of denton using cannons lol
2019-07-28 02:37:36 &jowj https://texaschlforum.com/viewtopic.php?t=5609
2019-07-28 02:37:45 &jowj (there's a linked article that died but they c&p the text)
2019-07-28 02:38:24 &jowj here's another article about hot hair cannons v grackles
2019-07-28 02:38:25 &jowj https://www.statesman.com/news/20160828/cannon-lasers-await-migrating-grackles-that-stay-too-long
2019-07-28 02:38:33 &jowj its one of my favorite bits of texas lore
2019-07-28 02:38:49 mrled Thats crazy
2019-07-28 02:38:52 mrled Ive never heard of this
2019-07-28 03:23:37 mrled That CHL forum has for some reason permabanned my home IP address
2019-07-28 03:23:40 mrled So I cannot see it
2019-07-28 03:23:48 &jowj ahahaha
2019-07-28 03:23:59 &jowj well, the headline of the following aritcle "cannon, lasers awai grackles"
2019-07-28 03:24:03 &jowj gives u an idea
2019-07-28 03:52:44 &jowj HAH cooooool
2019-07-28 03:52:56 &jowj i finally got the matrix plugin to weechat working, so now i'm typing from this ridiculous thing
2019-07-28 03:53:24 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/LGfHCAsySNlIAmmOcVsIooXD/image.png
2019-07-28 03:53:33 mrled Haha nice
2019-07-28 03:53:37 mrled I thought you were using that this whole time
2019-07-28 03:53:48 &jowj no! encryption wasn't working for a very long time, i'm using riot mostly
2019-07-28 03:54:13 &jowj i'll probably use riot mainly for a while until/unless i fully commit to weechat and use its relay system
2019-07-28 03:54:35 &jowj but WOO this took me forever
2019-07-28 03:55:44 mrled Ahhh I see
2019-07-28 03:55:49 mrled Now we have no encryption problem in here
2019-07-28 03:55:50 mrled Perfect
2019-07-28 03:55:55 &jowj ya lol
2019-07-28 03:56:00 &jowj but it supports encyrption now!!
2019-07-28 03:56:04 &jowj through the use of libolm
2019-07-28 03:56:14 &jowj which is an implementation of the open whisper double rachet protocol
2019-07-28 03:56:20 mrled Oh, cool
2019-07-28 03:56:22 &jowj which is actually pretty rad
2019-07-28 03:56:24 &jowj its in go
2019-07-28 03:56:26 &jowj iirc
2019-07-28 03:58:18 &jowj oh weird there's even supposed to be typing notifications in here
2019-07-28 04:02:23 &jowj and test
2019-07-28 04:02:30 &jowj fascinating
2019-07-28 04:02:32 &jowj i am into this
2019-07-28 04:02:40 mrled How much work was it to set up
2019-07-28 04:03:04 &jowj tbh once i moved over to weechat compiled with python3 support, none
2019-07-28 04:03:16 &jowj but it was figuring out that the python 2.7 support promised by the plugin was fake that took so long
2019-07-28 04:03:15 mrled Lol I mean all of weechat
2019-07-28 04:03:26 &jowj oh
2019-07-28 04:03:27 mrled I remember old irc crap like bouncers and stuff being a huge pain
2019-07-28 04:03:39 &jowj weechat is pretty werid? but i'm still using a bouncer for my irc channels
2019-07-28 04:03:57 mrled Where do you even go in irc
2019-07-28 04:04:01 &jowj i'm eschewing the weechat server > n number of weechat relayclients model because of a gaping security hole
2019-07-28 04:04:25 &jowj (they treating the relay > server relationship as trusted, and weechat lets you run arbitrary commands, so if anyone owns your server they can own all of your clients, at once!!)
2019-07-28 04:04:49 &jowj i hang out in like 2 channels on OFTC, and then get support for a few projects i'm working on in fleanode.
2019-07-28 04:05:23 &jowj oftc has crimehole, made by twitter friends, and freenode has like pleroma + an opensource browser i want to like but so far can't lol
2019-07-28 04:05:51 mrled Fleanode lol
2019-07-28 04:06:05 &jowj weechat also connects to slack in a mediocre fashion; images are a pain (but still viewable) and text is first rate, so its nice to run it on my garbage laptops that can't actually run a ton of electron at once
2019-07-28 04:06:26 mrled Man, I dont think Id ever trust a non-big name browser
2019-07-28 04:06:30 mrled The security threats on the web are insane
2019-07-28 04:06:35 &jowj oh no yeah its horrible
2019-07-28 04:06:35 mrled Maybe if JavaScript were disabled
2019-07-28 04:07:09 &jowj its, are you ready to be disappointed in me, supposed to be "emacs for the browser" where its written in lisp, lisp is the config language, and its entirely keyboard driven
2019-07-28 04:07:14 &jowj its like embedded webkit iirc
2019-07-28 04:07:25 &jowj i just wanna use it for browsing the web, not for doing anything
2019-07-28 04:07:40 &jowj specifically like 3-5 sites that are JUST comments / basic image viewing
2019-07-28 04:07:46 &jowj like reddit, hackernews or whatever.
2019-07-28 04:08:07 &jowj i've found a cool idea but bad implementation of the same keyboard driven thing, on firefox
2019-07-28 04:08:29 &jowj called..bebop
2019-07-28 04:09:03 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/DQtQbsSnWeAPlXssVihBIpSx/image.png
2019-07-28 04:09:25 &jowj that looks like that; you activate that with a hotkey, type like ":l git" and it will fuzzy match the possible links that are on page
2019-07-28 04:09:32 mrled Yuckkkkkkk lol
2019-07-28 04:09:34 &jowj then, hit enter to be taken to the most 'likely' link
2019-07-28 04:09:40 &jowj or shift enter for the one below that
2019-07-28 04:09:47 &jowj yeah the ui is garbo, emacs people are stupid dorks about ui
2019-07-28 04:09:56 &jowj but i really like not having to mouse around when i'm trolling through links on google.
2019-07-28 04:10:04 mrled The ff thing I get, but why LISP of all things lol
2019-07-28 04:10:09 &jowj yeah WHO knows
2019-07-28 04:10:12 &jowj that's not a good idea
2019-07-28 04:10:37 mrled I used conkeror for a while. It had a link hinting thing. It seemed like a good idea, but ultimately I found it slower than just, clicking
2019-07-28 04:10:56 mrled It was based on mozilla xulrunner
2019-07-28 04:11:01 &jowj i never used conkeror but know of it
2019-07-28 04:11:23 &jowj this thing fuzzy matches based on the title text, the url, and i think the seo text
2019-07-28 04:11:30 &jowj so you don't really have to be all that exact
2019-07-28 04:11:59 &jowj also it doesn't work on github for i guess the same reason pinboard's bookmarklet doesn't
2019-07-28 04:12:02 &jowj which is AGGREVATING
2019-07-28 04:12:15 mrled I dunno why mozilla wont fix that
2019-07-28 04:12:57 &jowj its so jarring!
2019-07-28 04:18:07 &jowj i have to go to bed
2019-07-28 04:18:08 &jowj its boring
2019-07-28 04:19:23 &jowj also @mrled write a rpely so i can test something lol
2019-07-28 04:19:32 &jowj ugh, ok, @ing doesn't work well on weechat
2019-07-28 04:19:34 &jowj mrled:
2019-07-28 04:19:38 &jowj yeah, like not at all
2019-07-28 04:19:49 &jowj @mrled:awful.club
2019-07-28 04:19:58 &jowj no change, mega rude
2019-07-28 04:42:46 mrled > In reply to @jowj:awful.club
2019-07-28 04:42:46 > no change, mega rude
2019-07-28 04:42:46 A reply u say
2019-07-28 04:43:18 mrled I also have to go to bed
2019-07-28 13:32:03 &jowj rip
2019-07-28 04:09:03 &jowj https://matrix.awful.club:443/_matrix/media/r0/download/awful.club/DQtQbsSnWeAPlXssVihBIpSx/image.png
2019-07-28 04:09:25 &jowj that looks like that; you activate that with a hotkey, type like ":l git" and it will fuzzy match the possible links that are on page
2019-07-28 04:09:32 mrled Yuckkkkkkk lol
2019-07-28 04:09:34 &jowj then, hit enter to be taken to the most 'likely' link
2019-07-28 04:09:40 &jowj or shift enter for the one below that
2019-07-28 04:09:47 &jowj yeah the ui is garbo, emacs people are stupid dorks about ui
2019-07-28 04:09:56 &jowj but i really like not having to mouse around when i'm trolling through links on google.
2019-07-28 04:10:04 mrled The ff thing I get, but why LISP of all things lol
2019-07-28 04:10:09 &jowj yeah WHO knows
2019-07-28 04:10:12 &jowj that's not a good idea
2019-07-28 04:10:37 mrled I used conkeror for a while. It had a link hinting thing. It seemed like a good idea, but ultimately I found it slower than just, clicking
2019-07-28 04:10:56 mrled It was based on mozilla xulrunner
2019-07-28 04:11:01 &jowj i never used conkeror but know of it
2019-07-28 04:11:23 &jowj this thing fuzzy matches based on the title text, the url, and i think the seo text
2019-07-28 04:11:30 &jowj so you don't really have to be all that exact
2019-07-28 04:11:59 &jowj also it doesn't work on github for i guess the same reason pinboard's bookmarklet doesn't
2019-07-28 04:12:02 &jowj which is AGGREVATING
2019-07-28 04:12:15 mrled I dunno why mozilla wont fix that
2019-07-28 04:12:57 &jowj its so jarring!
2019-07-28 04:18:07 &jowj i have to go to bed
2019-07-28 04:18:09 &jowj its boring
2019-07-28 04:19:23 &jowj also @mrled write a rpely so i can test something lol
2019-07-28 04:19:32 &jowj ugh, ok, @ing doesn't work well on weechat
2019-07-28 04:19:34 &jowj mrled:
2019-07-28 04:19:38 &jowj yeah, like not at all
2019-07-28 04:19:49 &jowj @mrled:awful.club
2019-07-28 04:19:58 &jowj no change, mega rude
2019-07-28 04:42:46 mrled > In reply to @jowj:awful.club
2019-07-28 04:42:46 > no change, mega rude
2019-07-28 04:42:46 A reply u say
2019-07-28 04:43:18 mrled I also have to go to bed
2019-07-28 13:32:02 &jowj rip

@ -0,0 +1,204 @@
2019-07-25 23:17:19 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-api-macros/compare/abc081963bd0...6fd590a4eb5c
2019-07-25 23:17:19 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-api-macros/builds/563786667
2019-07-25 23:18:02 <-- travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-25 23:18:02 --> travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:18:03 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client-api/compare/41ca8cbe7fd2...1b69ef5aac5b
2019-07-25 23:18:03 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client-api/builds/563786873
2019-07-25 23:28:07 <-- travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-25 23:28:07 --> travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:28:08 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client-api/compare/e8ba1e2b4cd3...3df41b778553
2019-07-25 23:28:08 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client-api/builds/563788881
2019-07-25 23:44:20 <-- travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-25 23:44:21 --> travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:44:21 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client/compare/da12802f6ac8...bdb945d3f7b7
2019-07-25 23:44:21 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client/builds/563794104
2019-07-26 16:42:03 &jimmycuadra > In reply to @chronosx88:netwhood.online
2019-07-26 16:42:03 > Hello everyone. Where I can read about how works /sync
2019-07-26 16:42:03 > method more detaily (in Matrix specs its described very
2019-07-26 16:42:03 > poor)?
2019-07-26 16:42:03 What do you want to know, specifically? #matrix-dev:matrix.org might be the best place to ask questions about the spec, or to provide feedback on the way the spec is written if you find it difficult to understand.
2019-07-26 16:54:13 <-- travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-26 16:54:21 --> travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-26 16:54:21 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-api-macros/compare/fd8367be4c96...02bcb5f03843
2019-07-26 16:54:23 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-api-macros/builds/564101384
2019-07-27 12:25:25 @jplatte So.. I had a look at implementing what I think Ralith suggested to skip syncing previous events: filtering with limit 0. We... might want to make this a bit easier :D
2019-07-27 12:25:25
2019-07-27 12:25:25 SyncFilter::FilterDefinition(FilterDefinition {
2019-07-27 12:25:25 event_fields: Vec::new(),
2019-07-27 12:25:25 event_format: None,
2019-07-27 12:25:25 account_data: Some(Filter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..Filter::default()
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 room: Some(RoomFilter {
2019-07-27 12:25:25 account_data: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 timeline: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 ephemeral: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 state: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 //..RoomFilter::default()
2019-07-27 12:25:25 include_leave: None,
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 presence: Some(Filter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..Filter::default()
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 })
2019-07-27 12:25:25
2019-07-27 12:25:25
2019-07-27 12:25:25
2019-07-27 14:43:25 <-- Bonstra (@freenode_Bonstra:matrix.org) has left #Ruma
2019-07-27 14:57:22 ralith no Default impls yet?
2019-07-27 14:59:28 @jplatte No
2019-07-27 15:00:21 @jplatte I'll create a PR soon-ish though
2019-07-27 15:02:18 --> nardis (@nardis:matrix.org) has joined #Ruma
2019-07-27 15:05:07 --> Bonstra (@freenode_Bonstra:matrix.org) has joined #Ruma
2019-07-27 19:26:16 &jimmycuadra just finished recording my interview for the rustacean station podcast about matrix/ruma. it went really well :}
2019-07-27 23:31:03 --> bnjbvr (@bnjbvr:delire.party) has joined #Ruma
2019-07-28 09:21:48 paulvt Oh great! Looking forward to it... but got quite the podcast queue growing 😅️
2019-07-25 23:18:02 ◀▬▬ @freenode_travis-ci:matrix.org (None) has left #Ruma
2019-07-25 23:18:02 ▬▬▶ travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:18:03 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client-api/compare/41ca8cbe7fd2...1b69ef5aac5b
2019-07-25 23:18:03 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client-api/builds/563786873
2019-07-25 23:28:07 ◀▬▬ travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-25 23:28:07 ▬▬▶ travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:28:08 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client-api/compare/e8ba1e2b4cd3...3df41b778553
2019-07-25 23:28:08 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client-api/builds/563788881
2019-07-25 23:44:20 ◀▬▬ travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-25 23:44:21 ▬▬▶ travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-25 23:44:21 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-client/compare/da12802f6ac8...bdb945d3f7b7
2019-07-25 23:44:21 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-client/builds/563794104
2019-07-26 16:42:03 &jimmycuadra > In reply to @chronosx88:netwhood.online
2019-07-26 16:42:03 > Hello everyone. Where I can read about how works /sync
2019-07-26 16:42:03 > method more detaily (in Matrix specs its described very
2019-07-26 16:42:03 > poor)?
2019-07-26 16:42:03 What do you want to know, specifically? #matrix-dev:matrix.org might be the best place to ask questions about the spec, or to provide feedback on the way the spec is written if you find it difficult to understand.
2019-07-26 16:54:13 ◀▬▬ travis-ci (@freenode_travis-ci:matrix.org) has left #Ruma
2019-07-26 16:54:21 ▬▬▶ travis-ci (@freenode_travis-ci:matrix.org) has joined #Ruma
2019-07-26 16:54:21 -- Notice(travis-ci): Change view : https://github.com/ruma/ruma-api-macros/compare/fd8367be4c96...02bcb5f03843
2019-07-26 16:54:23 -- Notice(travis-ci): Build details : https://travis-ci.org/ruma/ruma-api-macros/builds/564101384
2019-07-27 12:25:25 @jplatte So.. I had a look at implementing what I think Ralith suggested to skip syncing previous events: filtering with limit 0. We... might want to make this a bit easier :D
2019-07-27 12:25:25
2019-07-27 12:25:25 SyncFilter::FilterDefinition(FilterDefinition {
2019-07-27 12:25:25 event_fields: Vec::new(),
2019-07-27 12:25:25 event_format: None,
2019-07-27 12:25:25 account_data: Some(Filter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..Filter::default()
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 room: Some(RoomFilter {
2019-07-27 12:25:25 account_data: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 timeline: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 ephemeral: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 state: Some(RoomEventFilter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..RoomEventFilter::default()
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 //..RoomFilter::default()
2019-07-27 12:25:25 include_leave: None,
2019-07-27 12:25:25 rooms: Vec::new(),
2019-07-27 12:25:25 not_rooms: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 presence: Some(Filter {
2019-07-27 12:25:25 limit: Some(UInt::from(0u32)),
2019-07-27 12:25:25 //..Filter::default()
2019-07-27 12:25:25 senders: Vec::new(),
2019-07-27 12:25:25 not_senders: Vec::new(),
2019-07-27 12:25:25 types: Vec::new(),
2019-07-27 12:25:25 not_types: Vec::new(),
2019-07-27 12:25:25 }),
2019-07-27 12:25:25 })
2019-07-27 12:25:25
2019-07-27 12:25:25
2019-07-27 12:25:25
2019-07-27 14:43:25 ◀▬▬ Bonstra (@freenode_Bonstra:matrix.org) has left #Ruma
2019-07-27 14:57:22 ralith no Default impls yet?
2019-07-27 14:59:28 @jplatte No
2019-07-27 15:00:21 @jplatte I'll create a PR soon-ish though
2019-07-27 15:02:18 ▬▬▶ nardis (@nardis:matrix.org) has joined #Ruma
2019-07-27 15:05:07 ▬▬▶ Bonstra (@freenode_Bonstra:matrix.org) has joined #Ruma
2019-07-27 19:26:16 &jimmycuadra just finished recording my interview for the rustacean station podcast about matrix/ruma. it went really well :}
2019-07-27 23:31:03 ▬▬▶ bnjbvr (@bnjbvr:delire.party) has joined #Ruma
2019-07-28 09:21:48 paulvt Oh great! Looking forward to it... but got quite the podcast queue growing 😅️

@ -0,0 +1,442 @@
2019-07-27 21:59:41 &tauoverpi just going round and round
2019-07-27 22:00:27 gnutist the only way f1 would be interesting is by giving the big brands the boot tbh
2019-07-27 22:00:35 gnutist let private teams compete
2019-07-27 22:09:36 &tauoverpi Godot ARkit
2019-07-27 22:09:39 &tauoverpi hmmmmmmmmmmmmm
2019-07-27 22:25:25 &tauoverpi but can't use it
2019-07-27 22:25:31 &tauoverpi VR support is nice though
2019-07-28 00:22:22 pi3 The Boys
2019-07-28 00:22:26 pi3 Is awesome
2019-07-28 00:22:30 pi3 I'm at ep3
2019-07-28 00:27:29 justin <Message redacted by: justin>
2019-07-28 00:29:52 justin i dont like transgendered people
2019-07-28 00:41:02 &tauoverpi hm
2019-07-28 00:41:10 &tauoverpi good for you I guess
2019-07-28 00:59:12 &tauoverpi packaging solvespace is taking a bit longer than expected
2019-07-28 01:18:44 pi3 > In reply to @justin:matrix.allmende.io
2019-07-28 01:18:44 > i dont like transgendered people
2019-07-28 01:18:44 Gae
2019-07-28 01:26:17 pi3 https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/NwZADsUgIHgmkTPbjCcvMkis/Screenshot_20190728-042548_Chrome.jpg
2019-07-28 01:26:20 pi3 uwu
2019-07-28 01:34:01 justin Vi: i hate that i'm attracted to some
2019-07-28 01:35:04 &tauoverpi well, if you're into that I guess
2019-07-28 01:35:29 justin i dont wannna be
2019-07-28 01:39:58 &tauoverpi ¯\_(ツ)_/¯ not much you can do
2019-07-28 01:40:28 &tauoverpi you can recondition yourself to not find them attractive
2019-07-28 01:40:34 &tauoverpi but it takes time
2019-07-28 01:44:15 pi3 Stop being homo-in-denial
2019-07-28 01:44:49 pi3 https://youtu.be/g2KsZHRrFpU
2019-07-28 01:44:54 pi3 justin
2019-07-28 01:45:57 &tauoverpi just like you can get sourceforge to stop being unusable
2019-07-28 03:10:28 yorick > In reply to @justin:matrix.allmende.io
2019-07-28 03:10:28 > i dont like transgendered people
2019-07-28 03:10:28 Why
2019-07-28 04:33:11 justin im unsure
2019-07-28 04:41:44 justin why do people decide to be another gender
2019-07-28 04:43:28 yorick It's not supposed to be a decision
2019-07-28 04:43:29 yorick It's
2019-07-28 04:44:04 yorick The person feels they better fit the gender opposite their sex
2019-07-28 04:45:51 hook54321 justin: why do you keep on sending me invites to here?
2019-07-28 04:46:17 yorick Because he is a turd
2019-07-28 04:46:35 justin im bored heeeheeeheeheheee
2019-07-28 04:46:50 <-- justin (@justin:matrix.allmende.io) has left #General
2019-07-28 04:47:07 yorick He has a crush on you hook
2019-07-28 04:47:26 hook54321 hmm
2019-07-28 04:49:15 hook54321 I think he's the same guy that came into another channel I'm in last night and randomly started talking about gender changing ice cream.
2019-07-28 04:56:46 yorick Sounds like quite the intellectual
2019-07-28 05:14:13 justin yorick: do you want ice cream
2019-07-28 05:22:26 yorick I prefer horchata
2019-07-28 06:35:44 @rszibele > In reply to @yorick:feneas.org
2019-07-28 06:35:44 > The person feels they better fit the gender opposite their
2019-07-28 06:35:44 > sex
2019-07-28 06:35:44 my guess is that a lot of it is caused by plastics. we wear it, we drink from it, we eat from it, we touch plastics daily. there were studies that showed that most plastics release estrogenic compounds.
2019-07-28 06:44:37 @rszibele there is of course a lot more that could be causing testosterone levels to drop. e.g. diet, pesticides, pollutants, other chemical exposure.
2019-07-28 06:45:50 yorick I don't think it's just hormones causing the feeling though don't they get treated with more hormones and hormone blockers to match the expected levels in the sex identified with?
2019-07-28 06:45:51 @rszibele * there is of course a lot more that could be causing testosterone levels to drop. e.g. diet, pesticides, pollutants, exposure to other chemicals.
2019-07-28 06:46:17 yorick And yeah I don't think it's just plastic there have been transgendered people far longer than there has been plastic
2019-07-28 06:47:31 yorick Or at least third gender roles in I think Asian countries mostly
2019-07-28 06:48:57 @rszibele > In reply to @yorick:feneas.org
2019-07-28 06:48:57 > I don't think it's just hormones causing the feeling
2019-07-28 06:48:57 > though don't they get treated with more hormones and
2019-07-28 06:48:57 > hormone blockers to match the expected levels in the sex
2019-07-28 06:48:57 > identified with?
2019-07-28 06:48:57 yes, that's after the fact they know they are of the other gender. this doesn't however take into consideration testosterone levels while growing up for example. give a man with low testosterone some testosterone via. injections and he'll be a completely different person.
2019-07-28 06:49:54 @rszibele > In reply to @yorick:feneas.org
2019-07-28 06:49:54 > And yeah I don't think it's just plastic there have been
2019-07-28 06:49:54 > transgendered people far longer than there has been
2019-07-28 06:49:54 > plastic
2019-07-28 06:49:54 not saying there never were, but the occurances today seem a lot higher, which also correlates with lower testosterone and sperm viability in first world countries.
2019-07-28 06:52:15 @rszibele I would be interested in a study on testosterone levels of men who identify as women (pre hormone treatment).
2019-07-28 06:54:51 @rszibele I suppose such a study would be politically incorrect though and therefore wouldn't get funding, but I haven't searched much.
2019-07-28 06:56:01 yorick I don't know I hear a lot of "but nowadays there's a lot more of x" and I'm not sure how much of that is believable
2019-07-28 06:57:03 yorick With closeted feelings and societies biased against certain groups et cetera et cetera it just seems it's too difficult to tell how much frequency has changed and I never know what statistic to trust
2019-07-28 06:57:10 pi3 Hi gaes
2019-07-28 06:57:15 yorick Hey fag
2019-07-28 06:57:29 pi3 How sucking eachothers popsicle goes
2019-07-28 06:57:59 pi3 I heard you guys in to
2019-07-28 06:58:11 pi3 Girl popsicle eh mates
2019-07-28 06:58:27 yorick I do like the female popsicle
2019-07-28 06:59:13 @rszibele yorick: yeah, it's hard to figure that out, but a study on men's testosterone levels who identify as women would shine some light on the issue.
2019-07-28 06:59:27 weedloser big epic
2019-07-28 06:59:41 pi3 > In reply to @yorick:feneas.org
2019-07-28 06:59:41 > I do like the female popsicle
2019-07-28 06:59:41 Man of a+++ grade taste
2019-07-28 07:00:09 pi3 Oi hey epok
2019-07-28 07:00:57 pi3 I just finished watching the boys
2019-07-28 07:01:14 weedloser how can you have the audacity to speak about top gear and the blokes without me
2019-07-28 07:01:17 weedloser by the way
2019-07-28 07:01:25 weedloser none of this bs in general, #off-topic:feneas.org
2019-07-28 07:01:41 @rszibele I don't care what other people identify as, for all I care they could identify as apache attack helicopters, though I'm interested in knowing if it may be caused by pollutants/chemicals so I know what to stay away from.
2019-07-28 07:01:55 pi3 Chill mate we and the boys are talking very general business
2019-07-28 07:02:10 weedloser > In reply to @gnutist:feneas.org
2019-07-28 07:02:10 > this single video
2019-07-28 07:02:10 > https://www.youtube.com/watch?v=yfly9i-dvxU > grand tour
2019-07-28 07:02:10 :)))))))
2019-07-28 07:02:41 weedloser > In reply to @gnutist:feneas.org
2019-07-28 07:02:41 > top gear > grand tour
2019-07-28 07:02:41 no mate, the first season of grand tour might have been a little 'stale' but now it's all good
2019-07-28 07:02:42 @rszibele > In reply to @weedloser:feneas.org
2019-07-28 07:02:42 > none of this bs in general, #off-topic:feneas.org
2019-07-28 07:02:42 big true
2019-07-28 07:03:01 weedloser altough honestly, the old BBC top gear was unbeatable
2019-07-28 07:03:03 pi3 Nah man
2019-07-28 07:03:21 pi3 Don't fall in this lads gaemes
2019-07-28 07:03:33 pi3 He's tricking you
2019-07-28 07:05:21 @rszibele nah, this type of discussion is better suited for off-topic
2019-07-28 07:05:48 weedloser precision engineering = jeremy with a hammer
2019-07-28 07:08:15 pi3 Very diabolical
2019-07-28 07:11:05 weedloser https://www.youtube.com/watch?v=6xsVX6029rU
2019-07-28 08:04:38 * &tauoverpi missed a topic
2019-07-28 08:40:07 weedloser levy
2019-07-28 08:40:07 weedloser i think this room needs a rebrand
2019-07-28 08:40:08 weedloser "linuxgaming"
2019-07-28 08:40:18 weedloser we all hate linux and we rarely talk about games
2019-07-28 08:40:27 weedloser and we need to change the picture
2019-07-28 08:41:04 ojoon Yeah, swap the Tux with a tie to a Tux with Nazi officer clothes.
2019-07-28 08:41:09 weedloser changing the picture is important actually
2019-07-28 08:41:24 weedloser hellcp owns it, a moderator before the coup
2019-07-28 08:41:51 weedloser * hellcp made it, a moderator before the coup
2019-07-28 08:42:09 weedloser > In reply to @ojoon:feneas.org
2019-07-28 08:42:09 > Yeah, swap the Tux with a tie to a Tux with Nazi officer
2019-07-28 08:42:09 > clothes.
2019-07-28 08:42:09 no
2019-07-28 08:42:55 yorick Well it does say General that's just fine
2019-07-28 08:43:13 weedloser that's fine i supoise
2019-07-28 08:43:15 weedloser i e
2019-07-28 08:43:21 weedloser * i mean the url
2019-07-28 08:43:30 weedloser * that's fine i suppose
2019-07-28 08:43:35 &tauoverpi > In reply to @weedloser:feneas.org
2019-07-28 08:43:35 > we all hate linux and we rarely talk about games
2019-07-28 08:43:35 But I'm making a game
2019-07-28 08:43:43 yorick Would you like to make bulk food with me?
2019-07-28 08:44:10 &tauoverpi > In reply to @weedloser:feneas.org
2019-07-28 08:44:10 > changing the picture is important actually
2019-07-28 08:44:10 I can make a new one
2019-07-28 08:44:19 weedloser alright the URL is acceptable for legacy and recognition reasons
2019-07-28 08:44:23 weedloser but not the pic
2019-07-28 08:44:25 weedloser do it
2019-07-28 08:44:30 weedloser make it slightly edgy
2019-07-28 08:44:36 yorick Wait are you actually working on your game now
2019-07-28 08:44:48 &tauoverpi Yes
2019-07-28 08:45:02 ojoon Levy, what about your fighter pilot career?
2019-07-28 08:45:03 weedloser > In reply to @yorick:feneas.org
2019-07-28 08:45:03 > Wait are you actually working on your game now
2019-07-28 08:45:03 but is he ever going to finish it?
2019-07-28 08:45:05 weedloser true question
2019-07-28 08:45:14 yorick Also I've been finding that intel assembly is stupid
2019-07-28 08:47:13 yorick All this bullshit I need to do to move up from 16 bit mode to 64 bit mode is crazy
2019-07-28 08:47:13 All I want is a bootloader and a Forth interpreter but I'm getting stuck on the bootloader
2019-07-28 08:47:50 yorick I cam copy paste to get a thing that works but it's still pretty much bs
2019-07-28 08:48:12 weedloser lol gamer
2019-07-28 08:49:14 &tauoverpi > In reply to @ojoon:feneas.org
2019-07-28 08:49:14 > Levy, what about your fighter pilot career?
2019-07-28 08:49:14 Need to wait
2019-07-28 08:49:24 &tauoverpi > In reply to @weedloser:feneas.org
2019-07-28 08:49:24 > but is he ever going to finish it?
2019-07-28 08:49:24 I am
2019-07-28 08:50:06 yorick Do they require 20/20 vision over there
2019-07-28 08:51:03 &tauoverpi > In reply to @yorick:feneas.org
2019-07-28 08:51:03 > Do they require 20/20 vision over there
2019-07-28 08:51:03 yes
2019-07-28 08:51:15 &tauoverpi > In reply to @tauoverpi:feneas.org
2019-07-28 08:51:15 > I am
2019-07-28 08:51:15 already have a voice actor
2019-07-28 08:51:33 yorick Is it your lady creature
2019-07-28 08:52:36 &tauoverpi hm?
2019-07-28 08:52:48 yorick Cass
2019-07-28 08:52:55 &tauoverpi of course
2019-07-28 08:53:17 &tauoverpi fits the role perfectly which is quite funny
2019-07-28 08:53:48 &tauoverpi since this is something from 6 years ago that's being reworked
2019-07-28 08:54:28 yorick ASiAns
2019-07-28 08:55:14 &tauoverpi doesn't have an accent
2019-07-28 08:55:18 &tauoverpi thus it works
2019-07-28 08:55:38 &tauoverpi plus of similar height
2019-07-28 08:57:58 weedloser > In reply to @tauoverpi:feneas.org
2019-07-28 08:57:58 > already have a voice actor
2019-07-28 08:57:58 i can help
2019-07-28 08:58:16 yorick > In reply to @weedloser:feneas.org
2019-07-28 08:58:16 > i can help
2019-07-28 08:58:16 You aren't female enough
2019-07-28 08:58:29 yorick What are you doing for game music
2019-07-28 08:58:45 &tauoverpi mostly piano for now
2019-07-28 08:58:49 &tauoverpi since I have one
2019-07-28 08:59:07 &tauoverpi need to get a new electric guitar
2019-07-28 08:59:12 weedloser beethoven
2019-07-28 08:59:20 weedloser levy
2019-07-28 08:59:27 &tauoverpi so I can add different effects
2019-07-28 08:59:27 weedloser screw the electric guitar
2019-07-28 08:59:29 yorick I always wanted a game with generated music
2019-07-28 08:59:30 weedloser get a violin
2019-07-28 08:59:53 &tauoverpi generated is rather difficult
2019-07-28 09:00:00 yorick > In reply to @tauoverpi:feneas.org
2019-07-28 09:00:00 > so I can add different effects
2019-07-28 09:00:00 SUPERCOLLIDER MY BOY
2019-07-28 09:00:10 yorick > In reply to @tauoverpi:feneas.org
2019-07-28 09:00:10 > generated is rather difficult
2019-07-28 09:00:10 Yes sir it is
2019-07-28 09:00:16 &tauoverpi you still need samples
2019-07-28 09:00:46 weedloser have violin
2019-07-28 09:00:48 yorick There's stuff like that afrp thing with the hexagonal tiles that always makes a somewhat pleasing song
2019-07-28 09:00:50 &tauoverpi > In reply to @weedloser:feneas.org
2019-07-28 09:00:50 > screw the electric guitar
2019-07-28 09:00:50 no, it's easier to record
2019-07-28 09:01:04 &tauoverpi and I don't have a studio
2019-07-28 09:01:07 yorick > In reply to @tauoverpi:feneas.org
2019-07-28 09:01:07 > no, it's easier to record
2019-07-28 09:01:07 Sample from old records
2019-07-28 09:01:15 weedloser > In reply to @yorick:feneas.org
2019-07-28 09:01:15 > Sample from old records
2019-07-28 09:01:15 yes
2019-07-28 09:01:42 weedloser doubt levy will tolerate nonfree music though
2019-07-28 09:01:52 yorick Wym nonfree
2019-07-28 09:02:16 weedloser the source being copyrighted
2019-07-28 09:02:22 &tauoverpi > In reply to @yorick:feneas.org
2019-07-28 09:02:22 > Sample from old records
2019-07-28 09:02:22 can't legally do that
2019-07-28 09:03:20 yorick > In reply to @tauoverpi:feneas.org
2019-07-28 09:03:20 > can't legally do that
2019-07-28 09:03:20 There have to be ways producers do it all the time
2019-07-28 09:04:25 &tauoverpi it depends and things are messy
2019-07-28 09:04:40 &tauoverpi I'm not a lawyer
2019-07-28 09:04:48 weedloser anornymorse
2019-07-28 09:04:59 weedloser what about the free software song
2019-07-28 09:05:12 &tauoverpi no
2019-07-28 09:05:17 weedloser x)
2019-07-28 09:05:24 &tauoverpi need wind instruments...
2019-07-28 09:05:38 weedloser trumpet
2019-07-28 09:05:42 &tauoverpi no
2019-07-28 09:05:51 weedloser yes
2019-07-28 09:06:23 &tauoverpi since it doesn't fit
2019-07-28 09:06:28 weedloser i shall be welcomed into the game of levin with a gentle sound orchestra that sooths my mind
2019-07-28 09:06:45 &tauoverpi nope
2019-07-28 09:06:53 &tauoverpi not at all
2019-07-28 09:07:09 weedloser punk rock?
2019-07-28 09:07:15 &tauoverpi no
2019-07-28 09:07:52 &tauoverpi only music you'll hear is that by characters themselves
2019-07-28 09:08:11 &tauoverpi note the guitar is for creating sound effects
2019-07-28 09:08:30 weedloser you're too brilliant for the game industry
2019-07-28 09:08:57 yorick Ocarina, pan flute are cheap and easy to learn
2019-07-28 09:09:04 yorick Normal flute not so much
2019-07-28 09:09:38 yorick Ooh how about percussion
2019-07-28 09:10:14 yorick Bongo boy
2019-07-28 09:11:52 &tauoverpi harder to carry
2019-07-28 09:14:16 &tauoverpi it needs to be practical
2019-07-28 09:20:00 weedloser slap your gf's ass
2019-07-28 09:20:00 perfect percussion
2019-07-28 09:21:23 &tauoverpi requires bringing an extra mouth to feed just for an instrument
2019-07-28 09:21:27 &tauoverpi not practical
2019-07-28 09:21:33 yorick Whistling
2019-07-28 09:21:38 &tauoverpi that I have
2019-07-28 09:22:30 yorick Singing?
2019-07-28 09:22:39 &tauoverpi yes
2019-07-28 09:22:58 ojoon Can you hear some screamo metal in the distance if you're insane enough?
2019-07-28 09:23:04 &tauoverpi no
2019-07-28 09:23:10 ojoon Booooring.
2019-07-28 09:23:22 &tauoverpi but you can hear the voices of those you killed asking you why
2019-07-28 09:23:43 &tauoverpi or some of their screams of pain, etc
2019-07-28 09:24:00 &tauoverpi no background music
2019-07-28 09:24:05 &tauoverpi it ruins things
2019-07-28 09:24:34 &tauoverpi (might change my mind but it is how it is for now)
2019-07-28 09:25:08 &tauoverpi background music didn't work so well before which is why (waiting for cat pic)
2019-07-28 09:25:11 yorick Ambient sounds though right
2019-07-28 09:25:16 yorick Rain snow bird etc
2019-07-28 09:25:17 &tauoverpi of course
2019-07-28 09:25:43 yorick The clap of your asscheeks when you're dummy thicc?
2019-07-28 09:25:52 weedloser stop being so cheap
2019-07-28 09:26:04 &tauoverpi > In reply to @yorick:feneas.org
2019-07-28 09:26:04 > The clap of your asscheeks when you're dummy thicc?
2019-07-28 09:26:04 wat
2019-07-28 09:26:31 &tauoverpi > In reply to @weedloser:feneas.org
2019-07-28 09:26:31 > stop being so cheap
2019-07-28 09:26:31 then sound becomes part of gameplay
2019-07-28 09:26:32 weedloser if you hadn't been in stallman communist cult you would have no problem feeding your percussion
2019-07-28 09:26:40 &tauoverpi in that you'll rely on hearing more
2019-07-28 09:26:56 &tauoverpi I'm not in a cult
2019-07-28 09:27:00 &tauoverpi I am the cult
2019-07-28 09:27:31 yorick https://youtu.be/uJ3c4IIEazM
2019-07-28 09:27:37 weedloser >:)))
2019-07-28 09:30:04 &tauoverpi anyway
2019-07-28 09:32:49 yorick Also no killing that's bad
2019-07-28 09:34:52 &tauoverpi day 2 of packaging solvespace
2019-07-28 09:35:17 &tauoverpi > In reply to @yorick:feneas.org
2019-07-28 09:35:17 > Also no killing that's bad
2019-07-28 09:35:17 feel bad for killing a fox
2019-07-28 09:35:52 &tauoverpi also red squirrel > gray squirrel
2019-07-28 09:36:42 &tauoverpi https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Squirrel_posing.jpg/800px-Squirrel_posing.jpg
2019-07-28 09:43:35 yorick I'm better than a red squirrel
2019-07-28 10:11:50 whirlpool.spectrum > In reply to @hook54321:privacytools.io
2019-07-28 10:11:50 > I think he's the same guy that came into another channel
2019-07-28 10:11:50 > I'm in last night and randomly started talking about
2019-07-28 10:11:50 > gender changing ice cream.
2019-07-28 10:11:50 Yep and consequently got banned for harassment there too, welcome to the party!
2019-07-28 10:17:58 &tauoverpi hm
2019-07-28 10:18:20 whirlpool.spectrum for hating trans people
2019-07-28 10:18:52 whirlpool.spectrum and seems like hes still going on about it in here too
2019-07-28 10:19:30 &tauoverpi he didn't get very far with it
2019-07-28 10:19:58 &tauoverpi not that he will
2019-07-28 10:21:10 whirlpool.spectrum I pmed him yesterday and he thinks a radical feminist = trans
2019-07-28 10:21:17 &tauoverpi in this channel at least
2019-07-28 10:21:47 &tauoverpi he's trolling
2019-07-28 10:21:54 whirlpool.spectrum https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/zxMUBNYDOAsPAigaLxVtClxq/Screen Shot 2019-07-28 at 7.51.19 pm.png
2019-07-28 10:22:01 &tauoverpi just let him be
2019-07-28 10:22:24 whirlpool.spectrum was just curious about his motives idc about him
2019-07-28 10:23:37 &tauoverpi cmake is a pain
2019-07-28 10:23:47 &tauoverpi when it doesn't want to play
2019-07-28 10:24:15 whirlpool.spectrum you making a game Levy?
2019-07-28 10:25:28 &tauoverpi FINALLY
2019-07-28 10:25:37 &tauoverpi > In reply to @whirlpool.spectrum:matrix.org
2019-07-28 10:25:37 > you making a game Levy?
2019-07-28 10:25:37 packaging solvespace
2019-07-28 10:25:55 whirlpool.spectrum go on
2019-07-28 10:26:31 &tauoverpi guix isn't as nice when dealing with linked repos that use in-tree building instead of something sane
2019-07-28 10:26:42 &tauoverpi well, it's still better than debian packaging
2019-07-28 10:27:26 &tauoverpi I might have missed a part which would make all of this much easier
2019-07-28 10:28:01 &tauoverpi it's building now so I don't care anymore, just want a 3D CAD program that's not blender
2019-07-28 10:28:48 <-- hook54321 (@hook54321:privacytools.io) has left #General
2019-07-28 10:29:28 &tauoverpi I spoke too soon
2019-07-28 10:29:36 whirlpool.spectrum whats wrong with blender?
2019-07-28 10:30:09 &tauoverpi I'd have to learn it properly
2019-07-28 10:30:26 &tauoverpi solvespace might be fun to use since it uses constraint solving to model
2019-07-28 10:30:33 &tauoverpi https://0x0.st/zfbQ.scm
2019-07-28 10:30:44 &tauoverpi the package (it's a mess and still needs fixes)
2019-07-28 10:32:31 whirlpool.spectrum what electric guitar are you gonna get?
2019-07-28 10:32:51 justin my motives are not wanting to be attracted to trans people
2019-07-28 10:33:19 &tauoverpi not really sure, would have to ask a guy I know about it
2019-07-28 10:33:42 &tauoverpi justin #off-topic:feneas.org <-
2019-07-28 10:33:43 whirlpool.spectrum well I can help you
2019-07-28 10:35:34 * &tauoverpi doesn't know much about electric guitars
2019-07-28 10:36:10 whirlpool.spectrum we all have to start somewhere so whats your budget?
2019-07-28 10:38:40 &tauoverpi Currently 200 euro for it but can go higher. It's mainly for generating sound effects rather than playing.
2019-07-28 10:39:46 whirlpool.spectrum curious what kind of sound effects you exactly need for the electric guitar
2019-07-28 10:42:18 &tauoverpi everything involving reverb and ambient noise
2019-07-28 10:42:31 &tauoverpi plus I'd like to learn the guitar
2019-07-28 10:42:38 &tauoverpi properly for once
2019-07-28 10:43:27 whirlpool.spectrum do you enjoy playing it though?
2019-07-28 10:43:56 &tauoverpi did last time I had one
2019-07-28 10:43:54 whirlpool.spectrum thats what determines whether or not you fully will be commited to it
2019-07-28 10:45:09 &tauoverpi plus picking it up at least once a day with the intention to play will eventually feed back into motivation
2019-07-28 10:46:14 whirlpool.spectrum sounds good, but when you stopped playing did that fire inside to go further with it burn out?
2019-07-28 10:47:54 &tauoverpi not really, I gave it away at the time as I couldn't bring it with me. Only real reason why I stopped
2019-07-28 10:48:21 whirlpool.spectrum sounds like you still have the motivation for it
2019-07-28 10:48:58 whirlpool.spectrum I'd recommend acoustic for newcomers, but since you sounds like you've got experience, you might want to pick up electric
2019-07-28 10:49:31 whirlpool.spectrum used guitars are good but be careful and make educated purchases and bring along a friend who knows guitars
2019-07-28 10:50:28 &tauoverpi Will when I visit london again, friend works within the music industry so should be a reliable source
2019-07-28 10:50:52 whirlpool.spectrum though make sure you truly love the guitar
2019-07-28 10:50:58 whirlpool.spectrum the wood grain
2019-07-28 10:50:59 whirlpool.spectrum everything
2019-07-28 10:51:02 whirlpool.spectrum the feel
2019-07-28 10:51:07 whirlpool.spectrum the sound
2019-07-28 10:51:19 whirlpool.spectrum you don't want to end up selling the guitar because you don't like the sound or feel of it
2019-07-28 10:54:56 &tauoverpi haven't played enough guitars to complain about the feel of it yet
2019-07-28 10:55:15 &tauoverpi so I should be good on that one
2019-07-28 10:55:33 whirlpool.spectrum would recommend you just go into a store and pick one you like the look of and try it out
2019-07-28 10:56:52 &tauoverpi https://0x0.st/zfbL.txt
2019-07-28 10:56:56 &tauoverpi ffffffffffffff
2019-07-28 10:57:59 joeri_poeri Learning the guitar is def worth it, do you have an electric one or an acoustic one?
2019-07-28 10:58:25 &tauoverpi I'll be getting another electric
2019-07-28 11:01:01 &tauoverpi > In reply to @tauoverpi:feneas.org
2019-07-28 11:01:01 > https://0x0.st/zfbL.txt
2019-07-28 11:01:01 BUT IT'S THERE
2019-07-28 11:01:03 &tauoverpi wat
2019-07-28 11:01:18 whirlpool.spectrum I got a new strat recently have been playing that damn thing everyday since I bought it
2019-07-28 11:01:28 whirlpool.spectrum its only a player series but I still love that thing
2019-07-28 11:01:40 &tauoverpi https://0x0.st/zfbO.txt
2019-07-28 11:06:33 &tauoverpi inline include in the middle of a .cpp... smart
2019-07-28 11:06:42 &tauoverpi > In reply to @whirlpool.spectrum:matrix.org
2019-07-28 11:06:42 > its only a player series but I still love that thing
2019-07-28 11:06:42 sounds nice
2019-07-28 11:07:55 whirlpool.spectrum as soon as I saw it was discounted at a guitar store I knew I had to pick it up
2019-07-28 11:08:38 whirlpool.spectrum it was either an epiphone les paul or a fender stratocaster
2019-07-28 11:08:56 whirlpool.spectrum I tried both but honestly was still having trouble deciding
2019-07-28 11:20:58 * &tauoverpi gives up and uses blender
2019-07-28 11:21:05 &tauoverpi will fix this later
2019-07-28 11:42:32 yorick I had an epiphone
2019-07-28 11:44:21 whirlpool.spectrum > In reply to @yorick:feneas.org
2019-07-28 11:44:21 > I had an epiphone
2019-07-28 11:44:21 keyword being "had" what happend?
2019-07-28 11:45:49 yorick It's at my dad's house I couldn't take it with me
2019-07-28 11:46:08 yorick Was cool though it was a prototype, I have an uncle involved in the industry
2019-07-28 11:46:41 yorick Has a really nice case with it and had some repairs and stuff done, plus the prototypes are handmade
2019-07-28 11:46:47 yorick And I got it for free
2019-07-28 11:47:06 whirlpool.spectrum thats pretty neat
2019-07-28 11:47:31 yorick Still needed some work though and the local music shop in Minnesota couldn't fix it up
2019-07-28 11:48:08 yorick Low string rattles because it's not perfectly straight at the joint of the body and neck
2019-07-28 11:48:29 yorick (It's acoustic I never specified)
2019-07-28 11:48:58 yorick I have another a cheap one but that one's at my mom's so I have neither instrument
2019-07-28 11:48:58 Also accordion is stuck over at my dad's
2019-07-28 11:49:08 yorick Hey levy add accordion to your game
2019-07-28 11:49:47 whirlpool.spectrum while you're at it you might as well start going exotic with bongo drums
2019-07-28 11:51:11 yorick I want to learn drums
2019-07-28 11:51:14 yorick Drums are cool
2019-07-28 12:01:24 &tauoverpi aye, dumb solution worked
2019-07-28 12:03:35 &tauoverpi just (copy-recursively .. ..)
2019-07-28 12:20:48 &tauoverpi finally
2019-07-28 12:20:59 &tauoverpi can avoid blender for a bit longer
2019-07-28 12:25:29 &tauoverpi solvespace is really nice
2019-07-28 13:09:00 marlin1113 Why would you want to avoid blender?
2019-07-28 13:09:03 marlin1113 Blender the best
2019-07-28 13:19:05 &tauoverpi because it's a pain to learn
2019-07-28 13:19:12 &tauoverpi and I prefer constraints
2019-07-28 13:19:29 &tauoverpi I will need to use it eventually
2019-07-28 13:19:43 &tauoverpi however for now I can deal with constraint solving which is much easier
2019-07-28 13:20:37 &tauoverpi It's also much faster
2019-07-28 13:23:10 &tauoverpi Marlin: if you use my channel you can test it and see (just packaged solvespace)
2019-07-28 13:23:40 &tauoverpi I'll get around to guix main eventually (need to fix license, etc)
2019-07-28 11:46:41 yorick Has a really nice case with it and had some repairs and stuff done, plus the prototypes are handmade
2019-07-28 11:46:47 yorick And I got it for free
2019-07-28 11:47:06 whirlpool.spectrum thats pretty neat
2019-07-28 11:47:31 yorick Still needed some work though and the local music shop in Minnesota couldn't fix it up
2019-07-28 11:48:08 yorick Low string rattles because it's not perfectly straight at the joint of the body and neck
2019-07-28 11:48:29 yorick (It's acoustic I never specified)
2019-07-28 11:48:58 yorick I have another a cheap one but that one's at my mom's so I have neither instrument
2019-07-28 11:48:58 Also accordion is stuck over at my dad's
2019-07-28 11:49:08 yorick Hey levy add accordion to your game
2019-07-28 11:49:47 whirlpool.spectrum while you're at it you might as well start going exotic with bongo drums
2019-07-28 11:51:11 yorick I want to learn drums
2019-07-28 11:51:14 yorick Drums are cool
2019-07-28 12:01:24 &tauoverpi aye, dumb solution worked
2019-07-28 12:03:35 &tauoverpi just (copy-recursively .. ..)
2019-07-28 12:20:48 &tauoverpi finally
2019-07-28 12:20:59 &tauoverpi can avoid blender for a bit longer
2019-07-28 12:25:29 &tauoverpi solvespace is really nice
2019-07-28 13:09:00 marlin1113 Why would you want to avoid blender?
2019-07-28 13:09:03 marlin1113 Blender the best
2019-07-28 13:19:05 &tauoverpi because it's a pain to learn
2019-07-28 13:19:12 &tauoverpi and I prefer constraints
2019-07-28 13:19:29 &tauoverpi I will need to use it eventually
2019-07-28 13:19:43 &tauoverpi however for now I can deal with constraint solving which is much easier
2019-07-28 13:20:37 &tauoverpi It's also much faster
2019-07-28 13:23:10 &tauoverpi Marlin: if you use my channel you can test it and see (just packaged solvespace)
2019-07-28 13:23:40 &tauoverpi I'll get around to guix main eventually (need to fix license, etc)
2019-07-28 14:02:04 marlin1113 levy blender is easy
2019-07-28 14:02:20 marlin1113 U really just need to get the interface and the naming for shortcutd
2019-07-28 14:02:27 marlin1113 which isn't that hard
2019-07-28 14:02:37 marlin1113 u just need to spend some time playing around
2019-07-28 14:04:20 marlin1113 > In reply to @tauoverpi:feneas.org
2019-07-28 14:04:20 > and I prefer constraints
2019-07-28 14:04:20 Blender has it
2019-07-28 14:09:59 &tauoverpi it's a pain
2019-07-28 14:10:43 &tauoverpi I've already tried
2019-07-28 14:14:43 &tauoverpi this -> blender -> godot
2019-07-28 14:23:43 &tauoverpi it's also not as resource intensive which helps
2019-07-28 14:23:52 &tauoverpi my x220 doesn't like blender much

@ -0,0 +1,58 @@
2019-06-09 22:10:20 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:36:41 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:36:50 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:03 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:04 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:40 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:52 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:15 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:30 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:39 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:49 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:41:11 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:41:59 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:42:24 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:43:02 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:43:17 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:24 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:46 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:57 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:00 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:07 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:29 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:39 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:42 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:43 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:47:17 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:32 @wblj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:40 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:41 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 22:10:20 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:36:41 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:36:50 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:03 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:04 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:40 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:37:52 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:15 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:30 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:39 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:40:49 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:41:11 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:41:59 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:42:24 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:43:02 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:43:17 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:24 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:46 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:45:57 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:00 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:07 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:29 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:39 mrled <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:42 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:46:43 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-09 23:47:17 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:32 @wblj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:40 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>
2019-06-10 00:01:41 &jowj <Unable to decrypt: The sender's device has not sent us the keys for this message>

@ -0,0 +1,59 @@
2019-07-02 00:37:31 mparker one momment
2019-07-02 00:37:36 &alphapapa ok, please upload it here with riot and I'll try to upload it with matrix-client.el
2019-07-02 00:38:46 mparker https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/nMPHwKRLRrYGvXHfHGdWErQU/spektrum.pdf
2019-07-02 00:39:09 mparker It is only 17 pages
2019-07-02 00:41:34 mparker https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/xoZJmawQJALlCOWUyNVmgyBX/spektrum.png
2019-07-02 00:43:53 &alphapapa https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/FuGylPbwKtYxijwrgVyTfwsF/spektrum.pdf
2019-07-02 00:44:01 &alphapapa seems to work fine when I upload it from Emacs
2019-07-02 00:45:16 &alphapapa to investigate further we'd have to look into the debug log, which would probably be better done through a GitHub issue than in this room. If you're interested, please open an issue there and I'll try to help you figure out what's going on.
2019-07-02 00:47:31 mparker tried again from the linux box. Immediately starts dumping to Messages
2019-07-02 00:50:21 mparker ok. not a problem as I can, of course, upload from riot. Thanks again! Night.
2019-07-02 02:11:15 thomaslewis I was able to open the test.pdf in Riot, so does appear to be uploading.
2019-07-02 02:21:06 mparker > In reply to @mparker:matrix.org
2019-07-02 02:21:06 > ok. not a problem as I can, of course, upload from riot.
2019-07-02 02:21:06 > Thanks again! Night.
2019-07-02 02:21:06 How does the client get the updates from room? Is emacs polling for changes?
2019-07-02 02:43:24 &alphapapa > In reply to mparker
2019-07-02 02:43:24 > In reply to @mparker:matrix.org: ok. not a problem as I
2019-07-02 02:43:24 > can, of course, upload from riot. Thanks again! Night.How
2019-07-02 02:43:24 > does the client get the updates from room? Is emacs
2019-07-02 02:43:24 > polling for changes?
2019-07-02 02:43:24 You'll need to consult the Matrix protocol docs. Matrix uses open HTTP connections, waiting for server responses.
2019-07-02 02:49:16 mparker Was just looking at those. Thks again.
2019-07-02 16:42:08 --> tees (@tees:matrix.alpaca.best) has joined #Emacs Matrix Client
2019-07-03 05:38:38 &alphapapa Thomas: How is cl-matrix coming? Are you still working on it?
2019-07-03 07:04:20 thomaslewis I havent done much with it in a while. Its mostly complete (no olm support yet) and can be used for a client. Some of the classes added at the end of the class file were created as I was working on Nephele. The librarys name is Cirriform. The name change was due to gnuxie having an earlier project with that name.
2019-07-03 07:05:03 thomaslewis Ill probably get back to it sometime after my current project of attempting an Exherbo install without systemd.
2019-07-03 07:10:06 gnu_ponut My lib is still being worked on but there's gonna be a few changes in the future
2019-07-03 17:19:43 &alphapapa Cool
2019-07-16 22:42:33 --> cro (@cro:ncbt.org) has joined #Emacs Matrix Client
2019-07-26 19:37:17 --> rchar01 (@rchar01:matrix.org) has joined #Emacs Matrix Client
2019-07-02 00:37:36 &alphapapa ok, please upload it here with riot and I'll try to upload it with matrix-client.el
2019-07-02 00:38:46 mparker https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/nMPHwKRLRrYGvXHfHGdWErQU/spektrum.pdf
2019-07-02 00:39:09 mparker It is only 17 pages
2019-07-02 00:41:34 mparker https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/xoZJmawQJALlCOWUyNVmgyBX/spektrum.png
2019-07-02 00:43:53 &alphapapa https://matrix.awful.club:443/_matrix/media/r0/download/matrix.org/FuGylPbwKtYxijwrgVyTfwsF/spektrum.pdf
2019-07-02 00:44:01 &alphapapa seems to work fine when I upload it from Emacs
2019-07-02 00:45:16 &alphapapa to investigate further we'd have to look into the debug log, which would probably be better done through a GitHub issue than in this room. If you're interested, please open an issue there and I'll try to help you figure out what's going on.
2019-07-02 00:47:31 mparker tried again from the linux box. Immediately starts dumping to Messages
2019-07-02 00:50:21 mparker ok. not a problem as I can, of course, upload from riot. Thanks again! Night.
2019-07-02 02:11:15 thomaslewis I was able to open the test.pdf in Riot, so does appear to be uploading.
2019-07-02 02:21:06 mparker > In reply to @mparker:matrix.org
2019-07-02 02:21:06 > ok. not a problem as I can, of course, upload from riot.
2019-07-02 02:21:06 > Thanks again! Night.
2019-07-02 02:21:06 How does the client get the updates from room? Is emacs polling for changes?
2019-07-02 02:43:24 &alphapapa > In reply to mparker
2019-07-02 02:43:24 > In reply to @mparker:matrix.org: ok. not a problem as I
2019-07-02 02:43:24 > can, of course, upload from riot. Thanks again! Night.How
2019-07-02 02:43:24 > does the client get the updates from room? Is emacs
2019-07-02 02:43:24 > polling for changes?
2019-07-02 02:43:24 You'll need to consult the Matrix protocol docs. Matrix uses open HTTP connections, waiting for server responses.
2019-07-02 02:49:16 mparker Was just looking at those. Thks again.
2019-07-02 16:42:08 ▬▬▶ tees (@tees:matrix.alpaca.best) has joined #Emacs Matrix Client
2019-07-03 05:38:38 &alphapapa Thomas: How is cl-matrix coming? Are you still working on it?
2019-07-03 07:04:20 thomaslewis I havent done much with it in a while. Its mostly complete (no olm support yet) and can be used for a client. Some of the classes added at the end of the class file were created as I was working on Nephele. The librarys name is Cirriform. The name change was due to gnuxie having an earlier project with that name.
2019-07-03 07:05:03 thomaslewis Ill probably get back to it sometime after my current project of attempting an Exherbo install without systemd.
2019-07-03 07:10:06 gnu_ponut My lib is still being worked on but there's gonna be a few changes in the future
2019-07-03 17:19:43 &alphapapa Cool
2019-07-16 22:42:33 ▬▬▶ cro (@cro:ncbt.org) has joined #Emacs Matrix Client
2019-07-26 19:37:17 ▬▬▶ rchar01 (@rchar01:matrix.org) has joined #Emacs Matrix Client

@ -0,0 +1,453 @@
2019-07-28 03:42:17 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:42:17 -- matrix: Doing SSL handshake...
2019-07-28 03:42:17 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:42:17 -- matrix: received certificate
2019-07-28 03:42:17 - certificate info:
2019-07-28 03:42:17 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:42:17 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:42:17 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:42:17 commonName=Let's Encrypt Authority X3
2019-07-28 03:42:17 - key info: RSA key 2048 bits, signed using
2019-07-28 03:42:17 sha256WithRSAEncryption
2019-07-28 03:42:17 - period of validity:
2019-07-28 03:42:17 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:42:17 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:42:17 - fingerprints:
2019-07-28 03:42:17 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:42:17 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:42:17 -- matrix: Logging in...
2019-07-28 03:42:18 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:42:18 -- matrix: disconnected from server
2019-07-28 03:42:18 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:42:28 -- matrix: reconnecting to server...
2019-07-28 03:42:28 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:42:28 -- matrix: Doing SSL handshake...
2019-07-28 03:42:28 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:42:28 -- matrix: received certificate
2019-07-28 03:42:28 - certificate info:
2019-07-28 03:42:28 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:42:28 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:42:28 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:42:28 commonName=Let's Encrypt Authority X3
2019-07-28 03:42:28 - key info: RSA key 2048 bits, signed using
2019-07-28 03:42:28 sha256WithRSAEncryption
2019-07-28 03:42:28 - period of validity:
2019-07-28 03:42:28 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:42:28 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:42:28 - fingerprints:
2019-07-28 03:42:28 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:42:28 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:42:28 -- matrix: Logging in...
2019-07-28 03:42:29 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:42:29 -- matrix: disconnected from server
2019-07-28 03:42:29 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:42:39 -- matrix: reconnecting to server...
2019-07-28 03:42:39 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:42:39 -- matrix: Doing SSL handshake...
2019-07-28 03:42:39 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:42:39 -- matrix: received certificate
2019-07-28 03:42:39 - certificate info:
2019-07-28 03:42:39 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:42:39 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:42:39 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:42:39 commonName=Let's Encrypt Authority X3
2019-07-28 03:42:39 - key info: RSA key 2048 bits, signed using
2019-07-28 03:42:39 sha256WithRSAEncryption
2019-07-28 03:42:39 - period of validity:
2019-07-28 03:42:39 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:42:39 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:42:39 - fingerprints:
2019-07-28 03:42:39 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:42:39 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:42:39 -- matrix: Logging in...
2019-07-28 03:42:40 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:42:40 -- matrix: disconnected from server
2019-07-28 03:42:40 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:42:50 -- matrix: reconnecting to server...
2019-07-28 03:42:50 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:42:50 -- matrix: Doing SSL handshake...
2019-07-28 03:42:50 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:42:50 -- matrix: received certificate
2019-07-28 03:42:50 - certificate info:
2019-07-28 03:42:50 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:42:50 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:42:50 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:42:50 commonName=Let's Encrypt Authority X3
2019-07-28 03:42:50 - key info: RSA key 2048 bits, signed using
2019-07-28 03:42:50 sha256WithRSAEncryption
2019-07-28 03:42:50 - period of validity:
2019-07-28 03:42:50 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:42:50 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:42:50 - fingerprints:
2019-07-28 03:42:50 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:42:50 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:42:50 -- matrix: Logging in...
2019-07-28 03:42:51 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:42:51 -- matrix: disconnected from server
2019-07-28 03:42:51 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:01 -- matrix: reconnecting to server...
2019-07-28 03:43:01 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:01 -- matrix: Doing SSL handshake...
2019-07-28 03:43:01 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:01 -- matrix: received certificate
2019-07-28 03:43:01 - certificate info:
2019-07-28 03:43:01 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:01 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:01 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:01 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:01 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:01 sha256WithRSAEncryption
2019-07-28 03:43:01 - period of validity:
2019-07-28 03:43:01 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:01 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:01 - fingerprints:
2019-07-28 03:43:01 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:01 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:01 -- matrix: Logging in...
2019-07-28 03:43:02 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:02 -- matrix: disconnected from server
2019-07-28 03:43:02 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:12 -- matrix: reconnecting to server...
2019-07-28 03:43:12 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:12 -- matrix: Doing SSL handshake...
2019-07-28 03:43:12 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:12 -- matrix: received certificate
2019-07-28 03:43:12 - certificate info:
2019-07-28 03:43:12 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:12 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:12 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:12 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:12 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:12 sha256WithRSAEncryption
2019-07-28 03:43:12 - period of validity:
2019-07-28 03:43:12 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:12 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:12 - fingerprints:
2019-07-28 03:43:12 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:12 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:12 -- matrix: Logging in...
2019-07-28 03:43:13 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:13 -- matrix: disconnected from server
2019-07-28 03:43:13 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:23 -- matrix: reconnecting to server...
2019-07-28 03:43:23 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:23 -- matrix: Doing SSL handshake...
2019-07-28 03:43:23 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:23 -- matrix: received certificate
2019-07-28 03:43:23 - certificate info:
2019-07-28 03:43:23 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:23 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:23 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:23 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:23 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:23 sha256WithRSAEncryption
2019-07-28 03:43:23 - period of validity:
2019-07-28 03:43:23 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:23 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:23 - fingerprints:
2019-07-28 03:43:23 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:23 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:23 -- matrix: Logging in...
2019-07-28 03:43:24 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:24 -- matrix: disconnected from server
2019-07-28 03:43:24 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:34 -- matrix: reconnecting to server...
2019-07-28 03:43:34 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:34 -- matrix: Doing SSL handshake...
2019-07-28 03:43:34 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:34 -- matrix: received certificate
2019-07-28 03:43:34 - certificate info:
2019-07-28 03:43:34 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:34 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:34 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:34 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:34 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:34 sha256WithRSAEncryption
2019-07-28 03:43:34 - period of validity:
2019-07-28 03:43:34 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:34 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:34 - fingerprints:
2019-07-28 03:43:34 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:34 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:34 -- matrix: Logging in...
2019-07-28 03:43:35 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:35 -- matrix: disconnected from server
2019-07-28 03:43:35 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:45 -- matrix: reconnecting to server...
2019-07-28 03:43:45 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:45 -- matrix: Doing SSL handshake...
2019-07-28 03:43:45 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:45 -- matrix: received certificate
2019-07-28 03:43:45 - certificate info:
2019-07-28 03:43:45 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:45 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:45 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:45 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:45 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:45 sha256WithRSAEncryption
2019-07-28 03:43:45 - period of validity:
2019-07-28 03:43:45 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:45 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:45 - fingerprints:
2019-07-28 03:43:45 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:45 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:45 -- matrix: Logging in...
2019-07-28 03:43:46 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:46 -- matrix: disconnected from server
2019-07-28 03:43:46 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:43:56 -- matrix: reconnecting to server...
2019-07-28 03:43:56 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:43:56 -- matrix: Doing SSL handshake...
2019-07-28 03:43:56 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:43:56 -- matrix: received certificate
2019-07-28 03:43:56 - certificate info:
2019-07-28 03:43:56 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:43:56 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:43:56 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:43:56 commonName=Let's Encrypt Authority X3
2019-07-28 03:43:56 - key info: RSA key 2048 bits, signed using
2019-07-28 03:43:56 sha256WithRSAEncryption
2019-07-28 03:43:56 - period of validity:
2019-07-28 03:43:56 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:43:56 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:43:56 - fingerprints:
2019-07-28 03:43:56 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:43:56 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:43:56 -- matrix: Logging in...
2019-07-28 03:43:57 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:43:57 -- matrix: disconnected from server
2019-07-28 03:43:57 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:44:07 -- matrix: reconnecting to server...
2019-07-28 03:44:07 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:44:07 -- matrix: Doing SSL handshake...
2019-07-28 03:44:07 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:44:07 -- matrix: received certificate
2019-07-28 03:44:07 - certificate info:
2019-07-28 03:44:07 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:44:07 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:44:07 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:44:07 commonName=Let's Encrypt Authority X3
2019-07-28 03:44:07 - key info: RSA key 2048 bits, signed using
2019-07-28 03:44:07 sha256WithRSAEncryption
2019-07-28 03:44:07 - period of validity:
2019-07-28 03:44:07 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:44:07 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:44:07 - fingerprints:
2019-07-28 03:44:07 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:44:07 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:44:07 -- matrix: Logging in...
2019-07-28 03:44:08 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:44:08 -- matrix: disconnected from server
2019-07-28 03:44:08 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:44:14 -- matrix: disconnected from server
2019-07-28 03:46:57 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:46:57 -- matrix: Doing SSL handshake...
2019-07-28 03:46:57 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:46:57 -- matrix: received certificate
2019-07-28 03:46:57 - certificate info:
2019-07-28 03:46:57 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:46:57 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:46:57 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:46:57 commonName=Let's Encrypt Authority X3
2019-07-28 03:46:57 - key info: RSA key 2048 bits, signed using
2019-07-28 03:46:57 sha256WithRSAEncryption
2019-07-28 03:46:57 - period of validity:
2019-07-28 03:46:57 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:46:57 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:46:57 - fingerprints:
2019-07-28 03:46:57 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:46:57 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:46:57 -- matrix: Logging in...
2019-07-28 03:46:58 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:46:58 -- matrix: disconnected from server
2019-07-28 03:46:58 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:47:08 -- matrix: disconnected from server
2019-07-28 03:50:52 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:50:52 -- matrix: Doing SSL handshake...
2019-07-28 03:50:52 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:50:52 -- matrix: received certificate
2019-07-28 03:50:52 - certificate info:
2019-07-28 03:50:52 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:50:52 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:50:52 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:50:52 commonName=Let's Encrypt Authority X3
2019-07-28 03:50:52 - key info: RSA key 2048 bits, signed using
2019-07-28 03:50:52 sha256WithRSAEncryption
2019-07-28 03:50:52 - period of validity:
2019-07-28 03:50:52 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:50:52 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:50:52 - fingerprints:
2019-07-28 03:50:52 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:50:52 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:50:52 -- matrix: Logging in...
2019-07-28 03:50:53 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:50:53 -- matrix: disconnected from server
2019-07-28 03:50:53 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:51:03 -- matrix: reconnecting to server...
2019-07-28 03:51:03 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:51:03 -- matrix: Doing SSL handshake...
2019-07-28 03:51:03 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:51:03 -- matrix: received certificate
2019-07-28 03:51:03 - certificate info:
2019-07-28 03:51:03 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:51:03 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:51:03 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:51:03 commonName=Let's Encrypt Authority X3
2019-07-28 03:51:03 - key info: RSA key 2048 bits, signed using
2019-07-28 03:51:03 sha256WithRSAEncryption
2019-07-28 03:51:03 - period of validity:
2019-07-28 03:51:03 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:51:03 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:51:03 - fingerprints:
2019-07-28 03:51:03 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:51:03 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:51:03 -- matrix: Logging in...
2019-07-28 03:51:04 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 03:51:04 -- matrix: disconnected from server
2019-07-28 03:51:04 -- matrix: reconnecting to server in 10 seconds
2019-07-28 03:51:09 -- matrix: disconnected from server
2019-07-28 03:51:43 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 03:51:43 -- matrix: Doing SSL handshake...
2019-07-28 03:51:43 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 03:51:43 -- matrix: received certificate
2019-07-28 03:51:43 - certificate info:
2019-07-28 03:51:43 - subject: commonName=matrix.awful.club, serial number
2019-07-28 03:51:43 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 03:51:43 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 03:51:43 commonName=Let's Encrypt Authority X3
2019-07-28 03:51:43 - key info: RSA key 2048 bits, signed using
2019-07-28 03:51:43 sha256WithRSAEncryption
2019-07-28 03:51:43 - period of validity:
2019-07-28 03:51:43 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 03:51:43 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 03:51:43 - fingerprints:
2019-07-28 03:51:43 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 03:51:43 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 03:51:43 -- matrix: Logging in...
2019-07-28 03:51:48 -- matrix: Logged in as @jowj:awful.club
2019-07-28 04:02:01 -- matrix: disconnected from server
2019-07-28 04:02:04 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 04:02:04 -- matrix: Doing SSL handshake...
2019-07-28 04:02:04 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 04:02:04 -- matrix: received certificate
2019-07-28 04:02:04 - certificate info:
2019-07-28 04:02:04 - subject: commonName=matrix.awful.club, serial number
2019-07-28 04:02:04 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 04:02:04 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 04:02:04 commonName=Let's Encrypt Authority X3
2019-07-28 04:02:04 - key info: RSA key 2048 bits, signed using
2019-07-28 04:02:04 sha256WithRSAEncryption
2019-07-28 04:02:04 - period of validity:
2019-07-28 04:02:04 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 04:02:04 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 04:02:04 - fingerprints:
2019-07-28 04:02:04 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 04:02:04 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 04:02:04 -- matrix: Already logged in, syncing...
2019-07-28 13:31:34 -- Error while reading from socket: error104 Connection reset by peer
2019-07-28 13:31:34 -- matrix: disconnecting from server...
2019-07-28 13:31:34 -- matrix: disconnected from server
2019-07-28 13:31:34 -- matrix: reconnecting to server in 10 seconds
2019-07-28 13:31:45 -- matrix: reconnecting to server...
2019-07-28 13:31:45 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 13:31:45 -- matrix: Doing SSL handshake...
2019-07-28 13:31:45 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 13:31:45 -- matrix: received certificate
2019-07-28 13:31:45 - certificate info:
2019-07-28 13:31:45 - subject: commonName=matrix.awful.club, serial number
2019-07-28 13:31:45 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 13:31:45 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 13:31:45 commonName=Let's Encrypt Authority X3
2019-07-28 13:31:45 - key info: RSA key 2048 bits, signed using
2019-07-28 13:31:45 sha256WithRSAEncryption
2019-07-28 13:31:45 - period of validity:
2019-07-28 13:31:45 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 13:31:45 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 13:31:45 - fingerprints:
2019-07-28 13:31:45 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 13:31:45 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 13:31:45 -- matrix: Already logged in, syncing...
2019-07-28 14:03:14 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 14:03:14 -- matrix: Doing SSL handshake...
2019-07-28 14:03:14 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 14:03:14 -- matrix: received certificate
2019-07-28 14:03:14 - certificate info:
2019-07-28 14:03:14 - subject: commonName=matrix.awful.club, serial number
2019-07-28 14:03:14 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 14:03:14 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 14:03:14 commonName=Let's Encrypt Authority X3
2019-07-28 14:03:14 - key info: RSA key 2048 bits, signed using
2019-07-28 14:03:14 sha256WithRSAEncryption
2019-07-28 14:03:14 - period of validity:
2019-07-28 14:03:14 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 14:03:14 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 14:03:14 - fingerprints:
2019-07-28 14:03:14 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 14:03:14 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 14:03:14 -- matrix: Logging in...
2019-07-28 14:03:15 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 14:03:15 -- matrix: disconnected from server
2019-07-28 14:03:15 -- matrix: reconnecting to server in 10 seconds
2019-07-28 14:03:25 -- matrix: reconnecting to server...
2019-07-28 14:03:25 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 14:03:25 -- matrix: Doing SSL handshake...
2019-07-28 14:03:25 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 14:03:25 -- matrix: received certificate
2019-07-28 14:03:25 - certificate info:
2019-07-28 14:03:25 - subject: commonName=matrix.awful.club, serial number
2019-07-28 14:03:25 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 14:03:25 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 14:03:25 commonName=Let's Encrypt Authority X3
2019-07-28 14:03:25 - key info: RSA key 2048 bits, signed using
2019-07-28 14:03:25 sha256WithRSAEncryption
2019-07-28 14:03:25 - period of validity:
2019-07-28 14:03:25 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 14:03:25 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 14:03:25 - fingerprints:
2019-07-28 14:03:25 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 14:03:25 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 14:03:25 -- matrix: Logging in...
2019-07-28 14:03:26 =!= matrix: Error: LoginError: 403 Invalid password
2019-07-28 14:03:26 -- matrix: disconnected from server
2019-07-28 14:03:26 -- matrix: reconnecting to server in 10 seconds
2019-07-28 14:03:32 -- matrix: disconnected from server
2019-07-28 14:08:27 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 14:08:27 -- matrix: Doing SSL handshake...
2019-07-28 14:08:27 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 14:08:27 -- matrix: received certificate
2019-07-28 14:08:27 - certificate info:
2019-07-28 14:08:27 - subject: commonName=matrix.awful.club, serial number
2019-07-28 14:08:27 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 14:08:27 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 14:08:27 commonName=Let's Encrypt Authority X3
2019-07-28 14:08:27 - key info: RSA key 2048 bits, signed using
2019-07-28 14:08:27 sha256WithRSAEncryption
2019-07-28 14:08:27 - period of validity:
2019-07-28 14:08:27 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 14:08:27 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 14:08:27 - fingerprints:
2019-07-28 14:08:27 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 14:08:27 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 14:08:27 -- matrix: Logging in...
2019-07-28 14:08:28 -- matrix: Logged in as @jowj:awful.club
2019-07-28 14:43:53 -- matrix: disconnected from server
2019-07-28 14:43:53 -- matrix: reconnecting to server in 10 seconds
2019-07-28 14:44:04 -- matrix: reconnecting to server...
2019-07-28 14:44:04 -- matrix: Connecting to matrix.awful.club:443 (SSL)...
2019-07-28 14:44:04 -- matrix: Doing SSL handshake...
2019-07-28 14:44:04 -- matrix: Connected using TLSv1.3, and 256 bit TLS_AES_256_GCM_SHA384 cipher suite.
2019-07-28 14:44:04 -- matrix: received certificate
2019-07-28 14:44:04 - certificate info:
2019-07-28 14:44:04 - subject: commonName=matrix.awful.club, serial number
2019-07-28 14:44:04 03D2FAE5CFBAC8E87B3FFCD76EC20D7D2458
2019-07-28 14:44:04 - issuer: countryName=US, organizationName=Let's Encrypt,
2019-07-28 14:44:04 commonName=Let's Encrypt Authority X3
2019-07-28 14:44:04 - key info: RSA key 2048 bits, signed using
2019-07-28 14:44:04 sha256WithRSAEncryption
2019-07-28 14:44:04 - period of validity:
2019-07-28 14:44:04 Begins on: Jul 20 03:16:09 2019 GMT
2019-07-28 14:44:04 Expires on: Oct 18 03:16:09 2019 GMT
2019-07-28 14:44:04 - fingerprints:
2019-07-28 14:44:04 SHA1: 08:A6:42:A2:A2:14:36:7F:62:E0:6A:4E:6C:AD:4D:03:A3:C9:9F:3D
2019-07-28 14:44:04 SHA256: 96:BB:26:F7:DB:C9:25:FA:CA:FB:CD:12:EF:C5:AD:95:41:63:DD:BA:45:70:26:EF:CB:02:32:F1:62:64:8E:9B
2019-07-28 14:44:04 -- matrix: Already logged in, syncing...

@ -0,0 +1,14 @@
#
# weechat -- lua.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
check_license = off
eval_keep_context = on

@ -0,0 +1,70 @@
#
# weechat -- matrix.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[network]
debug_buffer = off
debug_category = all
debug_level = error
fetch_backlog_on_pgup = on
lag_min_show = 500
lag_reconnect = 90
lazy_load_room_users = off
max_backlog_sync_events = 10
max_initial_sync_events = 30
max_nicklist_users = 5000
print_unconfirmed_messages = on
read_markers_conditions = "${markers_enabled}"
resending_ignores_devices = on
typing_notice_conditions = "${typing_enabled}"
[look]
bar_item_typing_notice_prefix = "Typing: "
busy_sign = "?"
code_block_margin = 2
code_blocks = on
disconnect_sign = "?"
encrypted_room_sign = "?"
encryption_warning_sign = "?? "
human_buffer_names = off
max_typing_notice_item_length = 50
pygments_style = "native"
redactions = strikethrough
server_buffer = merge_with_core
[color]
error_message_bg = default
error_message_fg = darkgray
quote_bg = default
quote_fg = lightgreen
unconfirmed_message_bg = default
unconfirmed_message_fg = darkgray
untagged_code_bg = default
untagged_code_fg = blue
[server]
awful.club.autoconnect = off
awful.club.address = "matrix.awful.club"
awful.club.port = 443
awful.club.proxy = ""
awful.club.ssl_verify = on
awful.club.username = ""
awful.club.password = ""
awful.club.device_name = "Weechat Matrix"
awful.club.autoreconnect_delay = 10
awful-club.autoconnect = off
awful-club.address = "matrix.awful.club"
awful-club.port = 443
awful-club.proxy = ""
awful-club.ssl_verify = on
awful-club.username = "jowj"
awful-club.password = "${sec.data.awful-club}"
awful-club.device_name = "Weechat Matrix"
awful-club.autoreconnect_delay = 10

@ -0,0 +1,14 @@
#
# weechat -- perl.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
check_license = off
eval_keep_context = on

@ -0,0 +1,14 @@
#
# weechat -- plugins.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[var]
[desc]

@ -0,0 +1,14 @@
#
# weechat -- python.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
check_license = off
eval_keep_context = on

@ -0,0 +1,610 @@
# -*- coding: utf-8 -*-
# Weechat Matrix Protocol Script
# Copyright © 2018 Damir Jelić <poljar@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
from __future__ import unicode_literals
import os
import socket
import ssl
import textwrap
# pylint: disable=redefined-builtin
from builtins import str
from itertools import chain
# pylint: disable=unused-import
from typing import Any, AnyStr, Deque, Dict, List, Optional, Set, Text, Tuple
import logbook
import OpenSSL.crypto as crypto
from future.utils import bytes_to_native_str as n
from logbook import Logger, StreamHandler
from nio import RemoteProtocolError, RemoteTransportError, TransportType
from matrix import globals as G
from matrix.bar_items import (
init_bar_items,
matrix_bar_item_buffer_modes,
matrix_bar_item_lag,
matrix_bar_item_name,
matrix_bar_item_plugin,
matrix_bar_nicklist_count,
matrix_bar_typing_notices_cb
)
from matrix.buffer import room_buffer_close_cb, room_buffer_input_cb
# Weechat searches for the registered callbacks in the scope of the main script
# file, import the callbacks here so weechat can find them.
from matrix.commands import (hook_commands, hook_page_up,
matrix_command_buf_clear_cb, matrix_command_cb,
matrix_command_pgup_cb, matrix_invite_command_cb,
matrix_join_command_cb, matrix_kick_command_cb,
matrix_me_command_cb, matrix_part_command_cb,
matrix_redact_command_cb, matrix_topic_command_cb,
matrix_olm_command_cb, matrix_devices_command_cb,
matrix_room_command_cb, matrix_uploads_command_cb,
matrix_upload_command_cb, matrix_send_anyways_cb)
from matrix.completion import (init_completion, matrix_command_completion_cb,
matrix_debug_completion_cb,
matrix_message_completion_cb,
matrix_olm_device_completion_cb,
matrix_olm_user_completion_cb,
matrix_server_command_completion_cb,
matrix_server_completion_cb,
matrix_user_completion_cb,
matrix_own_devices_completion_cb,
matrix_room_completion_cb)
from matrix.config import (MatrixConfig, config_log_category_cb,
config_log_level_cb, config_server_buffer_cb,
matrix_config_reload_cb, config_pgup_cb)
from matrix.globals import SCRIPT_NAME, SERVERS, W, MAX_EVENTS
from matrix.server import (MatrixServer, create_default_server,
matrix_config_server_change_cb,
matrix_config_server_read_cb,
matrix_config_server_write_cb, matrix_timer_cb,
send_cb, matrix_load_users_cb,
matrix_partial_sync_cb)
from matrix.utf import utf8_decode
from matrix.utils import server_buffer_prnt, server_buffer_set_title
from matrix.uploads import UploadsBuffer, upload_cb
# yapf: disable
WEECHAT_SCRIPT_NAME = SCRIPT_NAME
WEECHAT_SCRIPT_DESCRIPTION = "matrix chat plugin" # type: str
WEECHAT_SCRIPT_AUTHOR = "Damir Jelić <poljar@termina.org.uk>" # type: str
WEECHAT_SCRIPT_VERSION = "0.1" # type: str
WEECHAT_SCRIPT_LICENSE = "ISC" # type: str
# yapf: enable
logger = Logger("matrix-cli")
def print_certificate_info(buff, sock, cert):
cert_pem = ssl.DER_cert_to_PEM_cert(sock.getpeercert(True))
x509 = crypto.load_certificate(crypto.FILETYPE_PEM, cert_pem)
public_key = x509.get_pubkey()
key_type = ("RSA" if public_key.type() == crypto.TYPE_RSA else "DSA")
key_size = str(public_key.bits())
sha256_fingerprint = x509.digest(n(b"SHA256"))
sha1_fingerprint = x509.digest(n(b"SHA1"))
signature_algorithm = x509.get_signature_algorithm()
key_info = ("key info: {key_type} key {bits} bits, signed using "
"{algo}").format(
key_type=key_type, bits=key_size,
algo=n(signature_algorithm))
validity_info = (" Begins on: {before}\n"
" Expires on: {after}").format(
before=cert["notBefore"], after=cert["notAfter"])
rdns = chain(*cert["subject"])
subject = ", ".join(["{}={}".format(name, value) for name, value in rdns])
rdns = chain(*cert["issuer"])
issuer = ", ".join(["{}={}".format(name, value) for name, value in rdns])
subject = "subject: {sub}, serial number {serial}".format(
sub=subject, serial=cert["serialNumber"])
issuer = "issuer: {issuer}".format(issuer=issuer)
fingerprints = (" SHA1: {}\n"
" SHA256: {}").format(n(sha1_fingerprint),
n(sha256_fingerprint))
wrapper = textwrap.TextWrapper(
initial_indent=" - ", subsequent_indent=" ")
message = ("{prefix}matrix: received certificate\n"
" - certificate info:\n"
"{subject}\n"
"{issuer}\n"
"{key_info}\n"
" - period of validity:\n{validity_info}\n"
" - fingerprints:\n{fingerprints}").format(
prefix=W.prefix("network"),
subject=wrapper.fill(subject),
issuer=wrapper.fill(issuer),
key_info=wrapper.fill(key_info),
validity_info=validity_info,
fingerprints=fingerprints)
W.prnt(buff, message)
def wrap_socket(server, file_descriptor):
# type: (MatrixServer, int) -> None
sock = None # type: socket.socket
temp_socket = socket.fromfd(file_descriptor, socket.AF_INET,
socket.SOCK_STREAM)
# fromfd() duplicates the file descriptor, we can close the one we got from
# weechat now since we use the one from our socket when calling hook_fd()
os.close(file_descriptor)
# For python 2.7 wrap_socket() doesn't work with sockets created from an
# file descriptor because fromfd() doesn't return a wrapped socket, the bug
# was fixed for python 3, more info: https://bugs.python.org/issue13942
# pylint: disable=protected-access,unidiomatic-typecheck
if type(temp_socket) == socket._socket.socket:
# pylint: disable=no-member
sock = socket._socketobject(_sock=temp_socket)
else:
sock = temp_socket
# fromfd() duplicates the file descriptor but doesn't retain it's blocking
# non-blocking attribute, so mark the socket as non-blocking even though
# weechat already did that for us
sock.setblocking(False)
message = "{prefix}matrix: Doing SSL handshake...".format(
prefix=W.prefix("network"))
W.prnt(server.server_buffer, message)
ssl_socket = server.ssl_context.wrap_socket(
sock, do_handshake_on_connect=False,
server_hostname=server.address) # type: ssl.SSLSocket
server.socket = ssl_socket
try_ssl_handshake(server)
@utf8_decode
def ssl_fd_cb(server_name, file_descriptor):
server = SERVERS[server_name]
if server.ssl_hook:
W.unhook(server.ssl_hook)
server.ssl_hook = None
try_ssl_handshake(server)
return W.WEECHAT_RC_OK
def try_ssl_handshake(server):
sock = server.socket
while True:
try:
sock.do_handshake()
cipher = sock.cipher()
cipher_message = ("{prefix}matrix: Connected using {tls}, and "
"{bit} bit {cipher} cipher suite.").format(
prefix=W.prefix("network"),
tls=cipher[1],
bit=cipher[2],
cipher=cipher[0])
W.prnt(server.server_buffer, cipher_message)
cert = sock.getpeercert()
if cert:
print_certificate_info(server.server_buffer, sock, cert)
finalize_connection(server)
return True
except ssl.SSLWantReadError:
hook = W.hook_fd(server.socket.fileno(), 1, 0, 0, "ssl_fd_cb",
server.name)
server.ssl_hook = hook
return False
except ssl.SSLWantWriteError:
hook = W.hook_fd(server.socket.fileno(), 0, 1, 0, "ssl_fd_cb",
server.name)
server.ssl_hook = hook
return False
except (ssl.SSLError, ssl.CertificateError, socket.error) as error:
try:
str_error = error.reason if error.reason else "Unknown error"
except AttributeError:
str_error = str(error)
message = ("{prefix}Error while doing SSL handshake"
": {error}").format(
prefix=W.prefix("network"), error=str_error)
server_buffer_prnt(server, message)
server_buffer_prnt(
server, ("{prefix}matrix: disconnecting from server..."
).format(prefix=W.prefix("network")))
server.disconnect()
return False
@utf8_decode
def receive_cb(server_name, file_descriptor):
server = SERVERS[server_name]
while True:
try:
data = server.socket.recv(4096)
except ssl.SSLWantReadError:
break
except socket.error as error:
errno = "error" + str(error.errno) + " " if error.errno else ""
str_error = error.strerror if error.strerror else "Unknown error"
str_error = errno + str_error
message = ("{prefix}Error while reading from "
"socket: {error}").format(
prefix=W.prefix("network"), error=str_error)
server_buffer_prnt(server, message)
server_buffer_prnt(
server, ("{prefix}matrix: disconnecting from server..."
).format(prefix=W.prefix("network")))
server.disconnect()
return W.WEECHAT_RC_OK
if not data:
server_buffer_prnt(
server,
"{prefix}matrix: Error while reading from socket".format(
prefix=W.prefix("network")))
server_buffer_prnt(
server, ("{prefix}matrix: disconnecting from server..."
).format(prefix=W.prefix("network")))
server.disconnect()
break
try:
server.client.receive(data)
except (RemoteTransportError, RemoteProtocolError) as e:
server.error(str(e))
server.disconnect()
break
response = server.client.next_response(MAX_EVENTS)
# Check if we need to send some data back
data_to_send = server.client.data_to_send()
if data_to_send:
server.send(data_to_send)
if response:
server.handle_response(response)
break
return W.WEECHAT_RC_OK
def finalize_connection(server):
hook = W.hook_fd(
server.socket.fileno(),
1,
0,
0,
"receive_cb",
server.name
)
server.fd_hook = hook
server.connected = True
server.connecting = False
server.reconnect_delay = 0
negotiated_protocol = (server.socket.selected_alpn_protocol() or
server.socket.selected_npn_protocol())
if negotiated_protocol == "h2":
server.transport_type = TransportType.HTTP2
else:
server.transport_type = TransportType.HTTP
data = server.client.connect(server.transport_type)
server.send(data)
server.login()
@utf8_decode
def connect_cb(data, status, gnutls_rc, sock, error, ip_address):
# pylint: disable=too-many-arguments,too-many-branches
status_value = int(status) # type: int
server = SERVERS[data]
if status_value == W.WEECHAT_HOOK_CONNECT_OK:
file_descriptor = int(sock) # type: int
server.numeric_address = ip_address
server_buffer_set_title(server)
wrap_socket(server, file_descriptor)
return W.WEECHAT_RC_OK
elif status_value == W.WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND:
server.error('{address} not found'.format(address=ip_address))
elif status_value == W.WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND:
server.error('IP address not found')
elif status_value == W.WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED:
server.error('Connection refused')
elif status_value == W.WEECHAT_HOOK_CONNECT_PROXY_ERROR:
server.error('Proxy fails to establish connection to server')
elif status_value == W.WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR:
server.error('Unable to set local hostname')
elif status_value == W.WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR:
server.error('TLS init error')
elif status_value == W.WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR:
server.error('TLS Handshake failed')
elif status_value == W.WEECHAT_HOOK_CONNECT_MEMORY_ERROR:
server.error('Not enough memory')
elif status_value == W.WEECHAT_HOOK_CONNECT_TIMEOUT:
server.error('Timeout')
elif status_value == W.WEECHAT_HOOK_CONNECT_SOCKET_ERROR:
server.error('Unable to create socket')
else:
server.error('Unexpected error: {status}'.format(status=status_value))
server.disconnect(reconnect=True)
return W.WEECHAT_RC_OK
@utf8_decode
def room_close_cb(data, buffer):
W.prnt("",
"Buffer '%s' will be closed!" % W.buffer_get_string(buffer, "name"))
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_unload_cb():
for server in SERVERS.values():
server.config.free()
G.CONFIG.free()
# for server in SERVERS.values():
# server.store_olm()
return W.WEECHAT_RC_OK
def autoconnect(servers):
for server in servers.values():
if server.config.autoconnect:
server.connect()
def debug_buffer_close_cb(data, buffer):
G.CONFIG.debug_buffer = ""
return W.WEECHAT_RC_OK
def server_buffer_cb(server_name, buffer, input_data):
message = ("{}{}: this buffer is not a room buffer!").format(
W.prefix("error"), SCRIPT_NAME)
W.prnt(buffer, message)
return W.WEECHAT_RC_OK
class WeechatHandler(StreamHandler):
def __init__(self, level=logbook.NOTSET, format_string=None, filter=None,
bubble=False):
StreamHandler.__init__(
self,
object(),
level,
format_string,
None,
filter,
bubble
)
def write(self, item):
buf = ""
if G.CONFIG.network.debug_buffer:
if not G.CONFIG.debug_buffer:
G.CONFIG.debug_buffer = W.buffer_new(
"Matrix Debug", "", "", "debug_buffer_close_cb", "")
buf = G.CONFIG.debug_buffer
W.prnt(buf, item)
def buffer_switch_cb(_, _signal, buffer_ptr):
"""Do some buffer operations when we switch buffers.
This function is called every time we switch a buffer. The pointer of
the new buffer is given to us by weechat.
If it is one of our room buffers we check if the members for the room
aren't fetched and fetch them now if they aren't.
Read receipts are send out from here as well.
"""
for server in SERVERS.values():
if buffer_ptr == server.server_buffer:
return W.WEECHAT_RC_OK
if buffer_ptr not in server.buffers.values():
continue
room_buffer = server.find_room_from_ptr(buffer_ptr)
if not room_buffer:
continue
if room_buffer.should_send_read_marker:
event_id = room_buffer.last_event_id
# A buffer may not have any events, in that case no event id is
# here returned
if event_id:
server.room_send_read_marker(
room_buffer.room.room_id, event_id)
room_buffer.last_read_event = event_id
if room_buffer.members_fetched:
return W.WEECHAT_RC_OK
room_id = room_buffer.room.room_id
server.get_joined_members(room_id)
break
return W.WEECHAT_RC_OK
def typing_notification_cb(data, signal, buffer_ptr):
"""Send out typing notifications if the user is typing.
This function is called every time the input text is changed.
It checks if we are on a buffer we own, and if we are sends out a typing
notification if the room is configured to send them out.
"""
for server in SERVERS.values():
room_buffer = server.find_room_from_ptr(buffer_ptr)
if room_buffer:
server.room_send_typing_notice(room_buffer)
return W.WEECHAT_RC_OK
if buffer_ptr == server.server_buffer:
return W.WEECHAT_RC_OK
return W.WEECHAT_RC_OK
def buffer_command_cb(data, _, command):
"""Override the buffer command to allow switching buffers by short name."""
command = command[7:].strip()
buffer_subcommands = ["list", "add", "clear", "move", "swap", "cycle",
"merge", "unmerge", "hide", "unhide", "renumber",
"close", "notify", "localvar", "set", "get"]
if not command:
return W.WEECHAT_RC_OK
command_words = command.split()
if len(command_words) >= 1:
if command_words[0] in buffer_subcommands:
return W.WEECHAT_RC_OK
elif command_words[0].startswith("*"):
return W.WEECHAT_RC_OK
try:
int(command_words[0])
return W.WEECHAT_RC_OK
except ValueError:
pass
room_buffers = []
for server in SERVERS.values():
room_buffers.extend(server.room_buffers.values())
sorted_buffers = sorted(
room_buffers,
key=lambda b: b.weechat_buffer.number
)
for room_buffer in sorted_buffers:
buffer = room_buffer.weechat_buffer
if command in buffer.short_name:
displayed = W.current_buffer() == buffer._ptr
if displayed:
continue
W.buffer_set(buffer._ptr, 'display', '1')
return W.WEECHAT_RC_OK_EAT
return W.WEECHAT_RC_OK
if __name__ == "__main__":
if W.register(WEECHAT_SCRIPT_NAME, WEECHAT_SCRIPT_AUTHOR,
WEECHAT_SCRIPT_VERSION, WEECHAT_SCRIPT_LICENSE,
WEECHAT_SCRIPT_DESCRIPTION, 'matrix_unload_cb', ''):
if not W.mkdir_home("matrix", 0o700):
message = ("{prefix}matrix: Error creating session "
"directory").format(prefix=W.prefix("error"))
W.prnt("", message)
handler = WeechatHandler()
handler.format_string = "{record.channel}: {record.message}"
handler.push_application()
# TODO if this fails we should abort and unload the script.
G.CONFIG = MatrixConfig()
G.CONFIG.read()
hook_commands()
init_bar_items()
init_completion()
W.hook_command_run("/buffer", "buffer_command_cb", "")
W.hook_signal("buffer_switch", "buffer_switch_cb", "")
W.hook_signal("input_text_changed", "typing_notification_cb", "")
if not SERVERS:
create_default_server(G.CONFIG)
autoconnect(SERVERS)

@ -0,0 +1,248 @@
import datetime
import random
import string
WEECHAT_BASE_COLORS = {
"black": "0",
"red": "1",
"green": "2",
"brown": "3",
"blue": "4",
"magenta": "5",
"cyan": "6",
"default": "7",
"gray": "8",
"lightred": "9",
"lightgreen": "10",
"yellow": "11",
"lightblue": "12",
"lightmagenta": "13",
"lightcyan": "14",
"white": "15"
}
class MockObject(object):
pass
class MockConfig(object):
config_template = {
'debug_buffer': None,
'debug_category': None,
'_ptr': None,
'read': None,
'free': None,
'page_up_hook': None,
'color': {
'error_message_bg': "",
'error_message_fg': "",
'quote_bg': "",
'quote_fg': "",
'unconfirmed_message_bg': "",
'unconfirmed_message_fg': "",
'untagged_code_bg': "",
'untagged_code_fg': "",
},
'upload_buffer': {
'display': None,
'move_line_down': None,
'move_line_up': None,
'render': None,
},
'look': {
'bar_item_typing_notice_prefix': None,
'busy_sign': None,
'code_block_margin': None,
'code_blocks': None,
'disconnect_sign': None,
'encrypted_room_sign': None,
'encryption_warning_sign': None,
'max_typing_notice_item_length': None,
'pygments_style': None,
'redactions': None,
'server_buffer': None,
},
'network': {
'debug_buffer': None,
'debug_category': None,
'debug_level': None,
'fetch_backlog_on_pgup': None,
'lag_min_show': None,
'lag_reconnect': None,
'lazy_load_room_users': None,
'max_initial_sync_events': None,
'max_nicklist_users': None,
'print_unconfirmed_messages': None,
'read_markers_conditions': None,
'typing_notice_conditions': None,
},
}
def __init__(self):
for category, options in MockConfig.config_template.items():
if options:
category_object = MockObject()
for option, value in options.items():
setattr(category_object, option, value)
else:
category_object = options
setattr(self, category, category_object)
def color(color_name):
# type: (str) -> str
# yapf: disable
escape_codes = []
reset_code = "0"
def make_fg_color(color_code):
return "38;5;{}".format(color_code)
def make_bg_color(color_code):
return "48;5;{}".format(color_code)
attributes = {
"bold": "1",
"-bold": "21",
"reverse": "27",
"-reverse": "21",
"italic": "3",
"-italic": "23",
"underline": "4",
"-underline": "24",
"reset": "0",
"resetcolor": "39"
}
short_attributes = {
"*": "1",
"!": "27",
"/": "3",
"_": "4"
}
colors = color_name.split(",", 2)
fg_color = colors.pop(0)
bg_color = colors.pop(0) if colors else ""
if fg_color in attributes:
escape_codes.append(attributes[fg_color])
else:
chars = list(fg_color)
for char in chars:
if char in short_attributes:
escape_codes.append(short_attributes[char])
elif char == "|":
reset_code = ""
else:
break
stripped_color = fg_color.lstrip("*_|/!")
if stripped_color in WEECHAT_BASE_COLORS:
escape_codes.append(
make_fg_color(WEECHAT_BASE_COLORS[stripped_color]))
elif stripped_color.isdigit():
num_color = int(stripped_color)
if 0 <= num_color < 256:
escape_codes.append(make_fg_color(stripped_color))
if bg_color in WEECHAT_BASE_COLORS:
escape_codes.append(make_bg_color(WEECHAT_BASE_COLORS[bg_color]))
else:
if bg_color.isdigit():
num_color = int(bg_color)
if 0 <= num_color < 256:
escape_codes.append(make_bg_color(bg_color))
escape_string = "\033[{}{}m".format(reset_code, ";".join(escape_codes))
return escape_string
def prefix(prefix_string):
prefix_to_symbol = {
"error": "=!=",
"network": "--",
"action": "*",
"join": "-->",
"quit": "<--"
}
if prefix_string in prefix_to_symbol:
return prefix_to_symbol[prefix]
return ""
def prnt(_, message):
print(message)
def prnt_date_tags(_, date, tags_string, data):
message = "{} {} [{}]".format(
datetime.datetime.fromtimestamp(date),
data,
tags_string
)
print(message)
def config_search_section(*_, **__):
pass
def config_new_option(*_, **__):
pass
def mkdir_home(*_, **__):
return True
def info_get(info, *_):
if info == "nick_color_name":
return random.choice(list(WEECHAT_BASE_COLORS.keys()))
return ""
def buffer_new(*_, **__):
return "".join(
random.choice(string.ascii_uppercase + string.digits) for _ in range(8)
)
def buffer_set(*_, **__):
return
def buffer_get_string(_ptr, property):
if property == "localvar_type":
return "channel"
return ""
def nicklist_add_group(*_, **__):
return
def nicklist_add_nick(*_, **__):
return
def nicklist_remove_nick(*_, **__):
return
def nicklist_search_nick(*args, **kwargs):
return buffer_new(args, kwargs)
def string_remove_color(message, _):
return message

@ -0,0 +1,202 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
from __future__ import unicode_literals
from . import globals as G
from .globals import SERVERS, W
from .utf import utf8_decode
@utf8_decode
def matrix_bar_item_plugin(data, item, window, buffer, extra_info):
# pylint: disable=unused-argument
for server in SERVERS.values():
if buffer in server.buffers.values() or buffer == server.server_buffer:
return "matrix{color}/{color_fg}{name}".format(
color=W.color("bar_delim"),
color_fg=W.color("bar_fg"),
name=server.name,
)
ptr_plugin = W.buffer_get_pointer(buffer, "plugin")
name = W.plugin_get_name(ptr_plugin)
return name
@utf8_decode
def matrix_bar_item_name(data, item, window, buffer, extra_info):
# pylint: disable=unused-argument
for server in SERVERS.values():
if buffer in server.buffers.values():
color = (
"status_name_ssl"
if server.ssl_context.check_hostname
else "status_name"
)
room_buffer = server.find_room_from_ptr(buffer)
room = room_buffer.room
return "{color}{name}".format(
color=W.color(color), name=room.display_name
)
if buffer == server.server_buffer:
color = (
"status_name_ssl"
if server.ssl_context.check_hostname
else "status_name"
)
return "{color}server{del_color}[{color}{name}{del_color}]".format(
color=W.color(color),
del_color=W.color("bar_delim"),
name=server.name,
)
name = W.buffer_get_string(buffer, "name")
return "{}{}".format(W.color("status_name"), name)
@utf8_decode
def matrix_bar_item_lag(data, item, window, buffer, extra_info):
# pylint: disable=unused-argument
for server in SERVERS.values():
if buffer in server.buffers.values() or buffer == server.server_buffer:
if server.lag >= G.CONFIG.network.lag_min_show:
color = W.color("irc.color.item_lag_counting")
if server.lag_done:
color = W.color("irc.color.item_lag_finished")
lag = "{0:.3f}" if round(server.lag) < 1000 else "{0:.0f}"
lag_string = "Lag: {color}{lag}{ncolor}".format(
lag=lag.format((server.lag / 1000)),
color=color,
ncolor=W.color("reset"),
)
return lag_string
return ""
return ""
@utf8_decode
def matrix_bar_item_buffer_modes(data, item, window, buffer, extra_info):
# pylint: disable=unused-argument
for server in SERVERS.values():
if buffer in server.buffers.values():
room_buffer = server.find_room_from_ptr(buffer)
room = room_buffer.room
modes = []
if room.encrypted:
modes.append(G.CONFIG.look.encrypted_room_sign)
if (server.client
and server.client.room_contains_unverified(room.room_id)):
modes.append(G.CONFIG.look.encryption_warning_sign)
if not server.connected:
modes.append(G.CONFIG.look.disconnect_sign)
if room_buffer.backlog_pending or server.busy:
modes.append(G.CONFIG.look.busy_sign)
return "".join(modes)
return ""
@utf8_decode
def matrix_bar_nicklist_count(data, item, window, buffer, extra_info):
# pylint: disable=unused-argument
color = W.color("status_nicklist_count")
for server in SERVERS.values():
if buffer in server.buffers.values():
room_buffer = server.find_room_from_ptr(buffer)
room = room_buffer.room
return "{}{}".format(color, room.member_count)
nicklist_enabled = bool(W.buffer_get_integer(buffer, "nicklist"))
if nicklist_enabled:
nick_count = W.buffer_get_integer(buffer, "nicklist_visible_count")
return "{}{}".format(color, nick_count)
return ""
@utf8_decode
def matrix_bar_typing_notices_cb(data, item, window, buffer, extra_info):
"""Update a status bar item showing users currently typing.
This function is called by weechat every time a buffer is switched or
W.bar_item_update(<item>) is explicitly called. The bar item shows
currently typing users for the current buffer."""
# pylint: disable=unused-argument
for server in SERVERS.values():
if buffer in server.buffers.values():
room_buffer = server.find_room_from_ptr(buffer)
room = room_buffer.room
if room.typing_users:
nicks = []
for user_id in room.typing_users:
if user_id == room.own_user_id:
continue
nick = room_buffer.displayed_nicks.get(user_id, user_id)
nicks.append(nick)
if not nicks:
return ""
msg = "{}{}".format(
G.CONFIG.look.bar_item_typing_notice_prefix,
", ".join(sorted(nicks))
)
max_len = G.CONFIG.look.max_typing_notice_item_length
if len(msg) > max_len:
msg[:max_len - 3] + "..."
return msg
return ""
return ""
def init_bar_items():
W.bar_item_new("(extra)buffer_plugin", "matrix_bar_item_plugin", "")
W.bar_item_new("(extra)buffer_name", "matrix_bar_item_name", "")
W.bar_item_new("(extra)lag", "matrix_bar_item_lag", "")
W.bar_item_new(
"(extra)buffer_nicklist_count",
"matrix_bar_nicklist_count",
""
)
W.bar_item_new(
"(extra)matrix_typing_notice",
"matrix_bar_typing_notices_cb",
""
)
W.bar_item_new("(extra)buffer_modes", "matrix_bar_item_buffer_modes", "")
W.bar_item_new("(extra)matrix_modes", "matrix_bar_item_buffer_modes", "")

@ -0,0 +1,366 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
from __future__ import unicode_literals
from typing import List, Optional
from matrix.globals import SERVERS, W, SCRIPT_NAME
from matrix.utf import utf8_decode
from matrix.utils import tags_from_line_data
from nio import LocalProtocolError
def add_servers_to_completion(completion):
for server_name in SERVERS:
W.hook_completion_list_add(
completion, server_name, 0, W.WEECHAT_LIST_POS_SORT
)
@utf8_decode
def matrix_server_command_completion_cb(
data, completion_item, buffer, completion
):
buffer_input = W.buffer_get_string(buffer, "input").split()
args = buffer_input[1:]
commands = ["add", "delete", "list", "listfull"]
def complete_commands():
for command in commands:
W.hook_completion_list_add(
completion, command, 0, W.WEECHAT_LIST_POS_SORT
)
if len(args) == 1:
complete_commands()
elif len(args) == 2:
if args[1] not in commands:
complete_commands()
else:
if args[1] == "delete" or args[1] == "listfull":
add_servers_to_completion(completion)
elif len(args) == 3:
if args[1] == "delete" or args[1] == "listfull":
if args[2] not in SERVERS:
add_servers_to_completion(completion)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_server_completion_cb(data, completion_item, buffer, completion):
add_servers_to_completion(completion)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_command_completion_cb(data, completion_item, buffer, completion):
for command in [
"connect",
"disconnect",
"reconnect",
"server",
"help",
"debug",
]:
W.hook_completion_list_add(
completion, command, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_debug_completion_cb(data, completion_item, buffer, completion):
for debug_type in ["messaging", "network", "timing"]:
W.hook_completion_list_add(
completion, debug_type, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
# TODO this should be configurable
REDACTION_COMP_LEN = 50
@utf8_decode
def matrix_message_completion_cb(data, completion_item, buffer, completion):
max_events = 500
def redacted_or_not_message(tags):
# type: (List[str]) -> bool
if SCRIPT_NAME + "_redacted" in tags:
return True
if SCRIPT_NAME + "_message" not in tags:
return True
return False
def event_id_from_tags(tags):
# type: (List[str]) -> Optional[str]
for tag in tags:
if tag.startswith("matrix_id"):
event_id = tag[10:]
return event_id
return None
for server in SERVERS.values():
if buffer in server.buffers.values():
room_buffer = server.find_room_from_ptr(buffer)
lines = room_buffer.weechat_buffer.lines
added = 0
for line in lines:
tags = line.tags
if redacted_or_not_message(tags):
continue
event_id = event_id_from_tags(tags)
if not event_id:
continue
message = line.message
if len(message) > REDACTION_COMP_LEN + 2:
message = message[:REDACTION_COMP_LEN] + ".."
item = ('{event_id}:"{message}"').format(
event_id=event_id, message=message
)
W.hook_completion_list_add(
completion, item, 0, W.WEECHAT_LIST_POS_END
)
added += 1
if added >= max_events:
break
return W.WEECHAT_RC_OK
return W.WEECHAT_RC_OK
def server_from_buffer(buffer):
for server in SERVERS.values():
if buffer in server.buffers.values():
return server
if buffer == server.server_buffer:
return server
return None
@utf8_decode
def matrix_olm_user_completion_cb(data, completion_item, buffer, completion):
server = server_from_buffer(buffer)
if not server:
return W.WEECHAT_RC_OK
try:
device_store = server.client.device_store
except LocalProtocolError:
return W.WEECHAT_RC_OK
for user in device_store.users:
W.hook_completion_list_add(
completion, user, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_olm_device_completion_cb(data, completion_item, buffer, completion):
server = server_from_buffer(buffer)
if not server:
return W.WEECHAT_RC_OK
try:
device_store = server.client.device_store
except LocalProtocolError:
return W.WEECHAT_RC_OK
args = W.hook_completion_get_string(completion, "args")
fields = args.split()
if len(fields) < 2:
return W.WEECHAT_RC_OK
user = fields[-1]
if user not in device_store.users:
return W.WEECHAT_RC_OK
for device in device_store.active_user_devices(user):
W.hook_completion_list_add(
completion, device.id, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_own_devices_completion_cb(
data,
completion_item,
buffer,
completion
):
server = server_from_buffer(buffer)
if not server:
return W.WEECHAT_RC_OK
olm = server.client.olm
if not olm:
return W.WEECHAT_RC_OK
W.hook_completion_list_add(
completion, olm.device_id, 0, W.WEECHAT_LIST_POS_SORT
)
user = olm.user_id
if user not in olm.device_store.users:
return W.WEECHAT_RC_OK
for device in olm.device_store.active_user_devices(user):
W.hook_completion_list_add(
completion, device.id, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_user_completion_cb(data, completion_item, buffer, completion):
def add_user(completion, user):
W.hook_completion_list_add(
completion, user, 0, W.WEECHAT_LIST_POS_SORT
)
for server in SERVERS.values():
if buffer == server.server_buffer:
return W.WEECHAT_RC_OK
room_buffer = server.find_room_from_ptr(buffer)
if not room_buffer:
continue
users = room_buffer.room.users
users = [user[1:] for user in users]
for user in users:
add_user(completion, user)
return W.WEECHAT_RC_OK
@utf8_decode
def matrix_room_completion_cb(data, completion_item, buffer, completion):
"""Completion callback for matrix room names."""
for server in SERVERS.values():
for room_buffer in server.room_buffers.values():
name = room_buffer.weechat_buffer.short_name
W.hook_completion_list_add(
completion, name, 0, W.WEECHAT_LIST_POS_SORT
)
return W.WEECHAT_RC_OK
def init_completion():
W.hook_completion(
"matrix_server_commands",
"Matrix server completion",
"matrix_server_command_completion_cb",
"",
)
W.hook_completion(
"matrix_servers",
"Matrix server completion",
"matrix_server_completion_cb",
"",
)
W.hook_completion(
"matrix_commands",
"Matrix command completion",
"matrix_command_completion_cb",
"",
)
W.hook_completion(
"matrix_messages",
"Matrix message completion",
"matrix_message_completion_cb",
"",
)
W.hook_completion(
"matrix_debug_types",
"Matrix debugging type completion",
"matrix_debug_completion_cb",
"",
)
W.hook_completion(
"olm_user_ids",
"Matrix olm user id completion",
"matrix_olm_user_completion_cb",
"",
)
W.hook_completion(
"olm_devices",
"Matrix olm device id completion",
"matrix_olm_device_completion_cb",
"",
)
W.hook_completion(
"matrix_users",
"Matrix user id completion",
"matrix_user_completion_cb",
"",
)
W.hook_completion(
"matrix_own_devices",
"Matrix own devices completion",
"matrix_own_devices_completion_cb",
"",
)
W.hook_completion(
"matrix_rooms",
"Matrix room name completion",
"matrix_room_completion_cb",
"",
)

@ -0,0 +1,807 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
# Copyright © 2018, 2019 Denis Kasak <dkasak@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
"""weechat-matrix Configuration module.
This module contains abstractions on top of weechats configuration files and
the main script configuration class.
To add configuration options refer to MatrixConfig.
Server specific configuration options are handled in server.py
"""
from builtins import super
from collections import namedtuple
from enum import Enum, unique
import logbook
import nio
from matrix.globals import SCRIPT_NAME, SERVERS, W
from matrix.utf import utf8_decode
from . import globals as G
@unique
class RedactType(Enum):
STRIKETHROUGH = 0
NOTICE = 1
DELETE = 2
@unique
class ServerBufferType(Enum):
MERGE_CORE = 0
MERGE = 1
INDEPENDENT = 2
nio.logger_group.level = logbook.ERROR
class Option(
namedtuple(
"Option",
[
"name",
"type",
"string_values",
"min",
"max",
"value",
"description",
"cast_func",
"change_callback",
],
)
):
"""A class representing a new configuration option.
An option object is consumed by the ConfigSection class adding
configuration options to weechat.
"""
__slots__ = ()
def __new__(
cls,
name,
type,
string_values,
min,
max,
value,
description,
cast=None,
change_callback=None,
):
"""
Parameters:
name (str): Name of the configuration option
type (str): Type of the configuration option, can be one of the
supported weechat types: string, boolean, integer, color
string_values: (str): A list of string values that the option can
accept seprated by |
min (int): Minimal value of the option, only used if the type of
the option is integer
max (int): Maximal value of the option, only used if the type of
the option is integer
description (str): Description of the configuration option
cast (callable): A callable function taking a single value and
returning a modified value. Useful to turn the configuration
option into an enum while reading it.
change_callback(callable): A function that will be called
by weechat every time the configuration option is changed.
"""
return super().__new__(
cls,
name,
type,
string_values,
min,
max,
value,
description,
cast,
change_callback,
)
@utf8_decode
def matrix_config_reload_cb(data, config_file):
return W.WEECHAT_RC_OK
def change_log_level(category, level):
"""Change the log level of the underlying nio lib
Called every time the user changes the log level or log category
configuration option."""
if category == "all":
nio.logger_group.level = level
elif category == "http":
nio.http.logger.level = level
elif category == "client":
nio.client.logger.level = level
elif category == "events":
nio.events.logger.level = level
elif category == "responses":
nio.responses.logger.level = level
elif category == "encryption":
nio.crypto.logger.level = level
@utf8_decode
def config_server_buffer_cb(data, option):
"""Callback for the look.server_buffer option.
Is called when the option is changed and merges/splits the server
buffer"""
for server in SERVERS.values():
server.buffer_merge()
return 1
@utf8_decode
def config_log_level_cb(data, option):
"""Callback for the network.debug_level option."""
change_log_level(
G.CONFIG.network.debug_category, G.CONFIG.network.debug_level
)
return 1
@utf8_decode
def config_log_category_cb(data, option):
"""Callback for the network.debug_category option."""
change_log_level(G.CONFIG.debug_category, logbook.ERROR)
G.CONFIG.debug_category = G.CONFIG.network.debug_category
change_log_level(
G.CONFIG.network.debug_category, G.CONFIG.network.debug_level
)
return 1
@utf8_decode
def config_pgup_cb(data, option):
"""Callback for the network.fetch_backlog_on_pgup option.
Enables or disables the hook that is run when /window page_up is called"""
if G.CONFIG.network.fetch_backlog_on_pgup:
if not G.CONFIG.page_up_hook:
G.CONFIG.page_up_hook = W.hook_command_run(
"/window page_up", "matrix_command_pgup_cb", ""
)
else:
if G.CONFIG.page_up_hook:
W.unhook(G.CONFIG.page_up_hook)
G.CONFIG.page_up_hook = None
return 1
def level_to_logbook(value):
if value == 0:
return logbook.ERROR
if value == 1:
return logbook.WARNING
if value == 2:
return logbook.INFO
if value == 3:
return logbook.DEBUG
return logbook.ERROR
def logbook_category(value):
if value == 0:
return "all"
if value == 1:
return "http"
if value == 2:
return "client"
if value == 3:
return "events"
if value == 4:
return "responses"
if value == 5:
return "encryption"
return "all"
def eval_cast(string):
"""A function that passes a string to weechat which evaluates it using its
expression evaluation syntax.
Can only be used with strings, useful for passwords or options that contain
a formatted string to e.g. add colors.
More info here:
https://weechat.org/files/doc/stable/weechat_plugin_api.en.html#_string_eval_expression"""
return W.string_eval_expression(string, {}, {}, {})
class WeechatConfig(object):
"""A class representing a weechat configuration file
Wraps weechats configuration creation functionality"""
def __init__(self, sections):
"""Create a new weechat configuration file, expects the global
SCRIPT_NAME to be defined and a reload callback
Parameters:
sections (List[Tuple[str, List[Option]]]): List of config sections
that will be created for the configuration file.
"""
self._ptr = W.config_new(
SCRIPT_NAME, SCRIPT_NAME + "_config_reload_cb", ""
)
for section in sections:
name, options = section
section_class = ConfigSection.build(name, options)
setattr(self, name, section_class(name, self._ptr, options))
def free(self):
"""Free all the config sections and their options as well as the
configuration file. Should be called when the script is unloaded."""
for section in [
getattr(self, a)
for a in dir(self)
if isinstance(getattr(self, a), ConfigSection)
]:
section.free()
W.config_free(self._ptr)
def read(self):
"""Read the config file"""
return_code = W.config_read(self._ptr)
if return_code == W.WEECHAT_CONFIG_READ_OK:
return True
if return_code == W.WEECHAT_CONFIG_READ_MEMORY_ERROR:
return False
if return_code == W.WEECHAT_CONFIG_READ_FILE_NOT_FOUND:
return True
return False
class ConfigSection(object):
"""A class representing a weechat config section.
Should not be used on its own, the WeechatConfig class uses this to build
config sections."""
@classmethod
def build(cls, name, options):
def constructor(self, name, config_ptr, options):
self._ptr = W.config_new_section(
config_ptr, name, 0, 0, "", "", "", "", "", "", "", "", "", ""
)
self._config_ptr = config_ptr
self._option_ptrs = {}
for option in options:
self._add_option(option)
attributes = {
option.name: cls.option_property(
option.name, option.type, cast_func=option.cast_func
)
for option in options
}
attributes["__init__"] = constructor
section_class = type(name.title() + "Section", (cls,), attributes)
return section_class
def free(self):
W.config_section_free_options(self._ptr)
W.config_section_free(self._ptr)
def _add_option(self, option):
cb = option.change_callback.__name__ if option.change_callback else ""
option_ptr = W.config_new_option(
self._config_ptr,
self._ptr,
option.name,
option.type,
option.description,
option.string_values,
option.min,
option.max,
option.value,
option.value,
0,
"",
"",
cb,
"",
"",
"",
)
self._option_ptrs[option.name] = option_ptr
@staticmethod
def option_property(name, option_type, evaluate=False, cast_func=None):
"""Create a property for this class that makes the reading of config
option values pythonic. The option will be available as a property with
the name of the option.
If a cast function was defined for the option the property will pass
the option value to the cast function and return its result."""
def bool_getter(self):
return bool(W.config_boolean(self._option_ptrs[name]))
def str_getter(self):
if cast_func:
return cast_func(W.config_string(self._option_ptrs[name]))
return W.config_string(self._option_ptrs[name])
def str_evaluate_getter(self):
return W.string_eval_expression(
W.config_string(self._option_ptrs[name]), {}, {}, {}
)
def int_getter(self):
if cast_func:
return cast_func(W.config_integer(self._option_ptrs[name]))
return W.config_integer(self._option_ptrs[name])
if option_type in ("string", "color"):
if evaluate:
return property(str_evaluate_getter)
return property(str_getter)
if option_type == "boolean":
return property(bool_getter)
if option_type == "integer":
return property(int_getter)
class MatrixConfig(WeechatConfig):
"""Main matrix configuration file.
This class defines all the global matrix configuration options.
New global options should be added to the constructor of this class under
the appropriate section.
There are three main sections defined:
Look: This section is for options that change the way matrix messages
are shown or the way the buffers are shown.
Color: This section should mainly be for color options, options that
change color schemes or themes should go to the look section.
Network: This section is for options that change the way the script
behaves, e.g. the way it communicates with the server, it handles
responses or any other behavioural change that doesn't fit in the
previous sections.
There is a special section called server defined which contains per server
configuration options. Server options aren't defined here, they need to be
added in server.py
"""
def __init__(self):
self.debug_buffer = ""
self.upload_buffer = ""
self.debug_category = "all"
self.page_up_hook = None
self.human_buffer_names = None
look_options = [
Option(
"redactions",
"integer",
"strikethrough|notice|delete",
0,
0,
"strikethrough",
(
"Only notice redactions, strike through or delete "
"redacted messages"
),
RedactType,
),
Option(
"server_buffer",
"integer",
"merge_with_core|merge_without_core|independent",
0,
0,
"merge_with_core",
"Merge server buffers",
ServerBufferType,
config_server_buffer_cb,
),
Option(
"max_typing_notice_item_length",
"integer",
"",
10,
1000,
"50",
("Limit the length of the typing notice bar item."),
),
Option(
"bar_item_typing_notice_prefix",
"string",
"",
0,
0,
"Typing: ",
("Prefix for the typing notice bar item."),
),
Option(
"encryption_warning_sign",
"string",
"",
0,
0,
"⚠️ ",
("A sign that is used to signal trust issues in encrypted "
"rooms (note: content is evaluated, see /help eval)"),
eval_cast,
),
Option(
"busy_sign",
"string",
"",
0,
0,
"",
("A sign that is used to signal that the client is busy e.g. "
"when the room backlog is fetching"
" (note: content is evaluated, see /help eval)"),
eval_cast,
),
Option(
"encrypted_room_sign",
"string",
"",
0,
0,
"🔐",
("A sign that is used to show that the current room is "
"encrypted "
"(note: content is evaluated, see /help eval)"),
eval_cast,
),
Option(
"disconnect_sign",
"string",
"",
0,
0,
"",
("A sign that is used to show that the server is disconnected "
"(note: content is evaluated, see /help eval)"),
eval_cast,
),
Option(
"pygments_style",
"string",
"",
0,
0,
"native",
"Pygments style to use for highlighting source code blocks",
),
Option(
"code_blocks",
"boolean",
"",
0,
0,
"on",
("Display preformatted code blocks as rectangular areas by "
"padding them with whitespace up to the length of the longest"
" line (with optional margin)"),
),
Option(
"code_block_margin",
"integer",
"",
0,
100,
"2",
("Number of spaces to add as a margin around around a code "
"block"),
),
Option(
"human_buffer_names",
"boolean",
"",
0,
0,
"off",
("If turned on the buffer name will consist of the server "
"name and the room name instead of the Matrix room ID. Note, "
"this requires a change to the logger.file.mask setting "
"since conflicts can happen otherwise "
"(requires a script reload)."),
),
]
network_options = [
Option(
"max_initial_sync_events",
"integer",
"",
1,
10000,
"30",
("How many events to fetch during the initial sync"),
),
Option(
"max_backlog_sync_events",
"integer",
"",
1,
100,
"10",
("How many events to fetch during backlog fetching"),
),
Option(
"fetch_backlog_on_pgup",
"boolean",
"",
0,
0,
"on",
("Fetch messages in the backlog on a window page up event"),
None,
config_pgup_cb,
),
Option(
"debug_level",
"integer",
"error|warn|info|debug",
0,
0,
"error",
"Enable network protocol debugging.",
level_to_logbook,
config_log_level_cb,
),
Option(
"debug_category",
"integer",
"all|http|client|events|responses|encryption",
0,
0,
"all",
"Debugging category",
logbook_category,
config_log_category_cb,
),
Option(
"debug_buffer",
"boolean",
"",
0,
0,
"off",
("Use a separate buffer for debug logs."),
),
Option(
"lazy_load_room_users",
"boolean",
"",
0,
0,
"off",
("If on, room users won't be loaded in the background "
"proactively, they will be loaded when the user switches to "
"the room buffer. This only affects non-encrypted rooms."),
),
Option(
"max_nicklist_users",
"integer",
"",
100,
20000,
"5000",
("Limit the number of users that are added to the nicklist. "
"Active users and users with a higher power level are always."
" Inactive users will be removed from the nicklist after a "
"day of inactivity."),
),
Option(
"lag_reconnect",
"integer",
"",
5,
604800,
"90",
("Reconnect to the server if the lag is greater than this "
"value (in seconds)"),
),
Option(
"print_unconfirmed_messages",
"boolean",
"",
0,
0,
"on",
("If off, messages are only printed after the server confirms "
"their receival. If on, messages are immediately printed but "
"colored differently until receival is confirmed."),
),
Option(
"lag_min_show",
"integer",
"",
1,
604800,
"500",
("minimum lag to show (in milliseconds)"),
),
Option(
"typing_notice_conditions",
"string",
"",
0,
0,
"${typing_enabled}",
("conditions to send typing notifications (note: content is "
"evaluated, see /help eval); besides the buffer and window "
"variables the typing_enabled variable is also expanded; "
"the typing_enabled variable can be manipulated with the "
"/room command, see /help room"),
),
Option(
"read_markers_conditions",
"string",
"",
0,
0,
"${markers_enabled}",
("conditions to send read markers (note: content is "
"evaluated, see /help eval); besides the buffer and window "
"variables the markers_enabled variable is also expanded; "
"the markers_enabled variable can be manipulated with the "
"/room command, see /help room"),
),
Option(
"resending_ignores_devices",
"boolean",
"",
0,
0,
"on",
("If on resending the same message to a room that contains "
"unverified devices will mark the devices as ignored and "
"continue sending the message. If off resending the message "
"will again fail and devices need to be marked as verified "
"one by one or the /send-anyways command needs to be used to "
"ignore them."),
),
]
color_options = [
Option(
"quote_fg",
"color",
"",
0,
0,
"lightgreen",
"Foreground color for matrix style blockquotes",
),
Option(
"quote_bg",
"color",
"",
0,
0,
"default",
"Background counterpart of quote_fg",
),
Option(
"error_message_fg",
"color",
"",
0,
0,
"darkgray",
("Foreground color for error messages that appear inside a "
"room buffer (e.g. when a message errors out when sending or "
"when a message is redacted)"),
),
Option(
"error_message_bg",
"color",
"",
0,
0,
"default",
"Background counterpart of error_message_fg.",
),
Option(
"unconfirmed_message_fg",
"color",
"",
0,
0,
"darkgray",
("Foreground color for messages that are printed out but the "
"server hasn't confirmed the that he received them."),
),
Option(
"unconfirmed_message_bg",
"color",
"",
0,
0,
"default",
"Background counterpart of unconfirmed_message_fg."
),
Option(
"untagged_code_fg",
"color",
"",
0,
0,
"blue",
("Foreground color for code without a language specifier. "
"Also used for `inline code`."),
),
Option(
"untagged_code_bg",
"color",
"",
0,
0,
"default",
"Background counterpart of untagged_code_fg",
),
]
sections = [
("network", network_options),
("look", look_options),
("color", color_options),
]
super().__init__(sections)
# The server section is essentially a section with subsections and no
# options, handle that case independently.
W.config_new_section(
self._ptr,
"server",
0,
0,
"matrix_config_server_read_cb",
"",
"matrix_config_server_write_cb",
"",
"",
"",
"",
"",
"",
"",
)
def read(self):
super().read()
self.human_buffer_names = self.look.human_buffer_names
def free(self):
section_ptr = W.config_search_section(self._ptr, "server")
W.config_section_free(section_ptr)
super().free()

@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
from __future__ import unicode_literals
import sys
from typing import Dict, Optional
from logbook import Logger
from collections import OrderedDict
from .utf import WeechatWrapper
if False:
from .server import MatrixServer
from .config import MatrixConfig
from .uploads import Upload
try:
import weechat
W = weechat if sys.hexversion >= 0x3000000 else WeechatWrapper(weechat)
except ImportError:
import matrix._weechat as weechat # type: ignore
W = weechat
SERVERS = dict() # type: Dict[str, MatrixServer]
CONFIG = None # type: Optional[MatrixConfig]
ENCRYPTION = True # type: bool
SCRIPT_NAME = "matrix" # type: str
MAX_EVENTS = 100
TYPING_NOTICE_TIMEOUT = 4000 # 4 seconds typing notice lifetime
LOGGER = Logger("weechat-matrix")
UPLOADS = OrderedDict() # type: Dict[str, Upload]

@ -0,0 +1,399 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
"""Module implementing upload functionality."""
from __future__ import unicode_literals
import attr
import time
import json
from typing import Dict, Any
from uuid import uuid1, UUID
from enum import Enum
try:
from json.decoder import JSONDecodeError
except ImportError:
JSONDecodeError = ValueError # type: ignore
from .globals import SCRIPT_NAME, SERVERS, W, UPLOADS
from .utf import utf8_decode
from matrix import globals as G
from nio import Api
class UploadState(Enum):
created = 0
active = 1
finished = 2
error = 3
aborted = 4
@attr.s
class Proxy(object):
ptr = attr.ib(type=str)
@property
def name(self):
return W.infolist_string(self.ptr, "name")
@property
def address(self):
return W.infolist_string(self.ptr, "address")
@property
def type(self):
return W.infolist_string(self.ptr, "type_string")
@property
def port(self):
return str(W.infolist_integer(self.ptr, "port"))
@property
def user(self):
return W.infolist_string(self.ptr, "username")
@property
def password(self):
return W.infolist_string(self.ptr, "password")
@attr.s
class Upload(object):
"""Class representing an upload to a matrix server."""
server_name = attr.ib(type=str)
server_address = attr.ib(type=str)
access_token = attr.ib(type=str)
room_id = attr.ib(type=str)
filepath = attr.ib(type=str)
encrypt = attr.ib(type=bool, default=False)
done = 0
total = 0
uuid = None
buffer = None
upload_hook = None
content_uri = None
file_name = None
mimetype = "?"
state = UploadState.created
def __attrs_post_init__(self):
self.uuid = uuid1()
self.buffer = ""
server = SERVERS[self.server_name]
proxy_name = server.config.proxy
proxy = None
proxies_list = None
if proxy_name:
proxies_list = W.infolist_get("proxy", "", proxy_name)
if proxies_list:
W.infolist_next(proxies_list)
proxy = Proxy(proxies_list)
process_args = {
"arg1": self.filepath,
"arg2": self.server_address,
"arg3": self.access_token,
"buffer_flush": "1",
}
arg_count = 3
if self.encrypt:
arg_count += 1
process_args["arg{}".format(arg_count)] = "--encrypt"
if not server.config.ssl_verify:
arg_count += 1
process_args["arg{}".format(arg_count)] = "--insecure"
if proxy:
arg_count += 1
process_args["arg{}".format(arg_count)] = "--proxy-type"
arg_count += 1
process_args["arg{}".format(arg_count)] = proxy.type
arg_count += 1
process_args["arg{}".format(arg_count)] = "--proxy-address"
arg_count += 1
process_args["arg{}".format(arg_count)] = proxy.address
arg_count += 1
process_args["arg{}".format(arg_count)] = "--proxy-port"
arg_count += 1
process_args["arg{}".format(arg_count)] = proxy.port
if proxy.user:
arg_count += 1
process_args["arg{}".format(arg_count)] = "--proxy-user"
arg_count += 1
process_args["arg{}".format(arg_count)] = proxy.user
if proxy.password:
arg_count += 1
process_args["arg{}".format(arg_count)] = "--proxy-password"
arg_count += 1
process_args["arg{}".format(arg_count)] = proxy.password
self.upload_hook = W.hook_process_hashtable(
"matrix_upload",
process_args,
0,
"upload_cb",
str(self.uuid)
)
if proxies_list:
W.infolist_free(proxies_list)
def abort(self):
pass
@property
def msgtype(self):
# type: () -> str
assert self.mimetype
return Api.mimetype_to_msgtype(self.mimetype)
@property
def content(self):
# type: () -> Dict[Any, Any]
assert self.content_uri
if self.encrypt:
content = {
"body": self.file_name,
"msgtype": self.msgtype,
"file": self.file_keys,
}
content["file"]["url"] = self.content_uri
content["file"]["mimetype"] = self.mimetype
# TODO thumbnail if it's an image
return content
return {
"msgtype": self.msgtype,
"body": self.file_name,
"url": self.content_uri,
}
@property
def render(self):
# type: () -> str
assert self.content_uri
if self.encrypt:
http_url = Api.encrypted_mxc_to_plumb(
self.content_uri,
self.file_keys["key"]["k"],
self.file_keys["hashes"]["sha256"],
self.file_keys["iv"]
)
url = http_url if http_url else self.content_uri
description = "{}".format(self.file_name)
return ("{del_color}<{ncolor}{desc}{del_color}>{ncolor} "
"{del_color}[{ncolor}{url}{del_color}]{ncolor}").format(
del_color=W.color("chat_delimiters"),
ncolor=W.color("reset"),
desc=description, url=url)
http_url = Api.mxc_to_http(self.content_uri)
description = ("/{}".format(self.file_name) if self.file_name
else "")
return "{url}{desc}".format(url=http_url, desc=description)
@attr.s
class UploadsBuffer(object):
"""Weechat buffer showing the uploads for a server."""
_ptr = "" # type: str
_selected_line = 0 # type: int
uploads = UPLOADS
def __attrs_post_init__(self):
self._ptr = W.buffer_new(
SCRIPT_NAME + ".uploads",
"",
"",
"",
"",
)
W.buffer_set(self._ptr, "type", "free")
W.buffer_set(self._ptr, "title", "Upload list")
W.buffer_set(self._ptr, "key_bind_meta2-A", "/uploads up")
W.buffer_set(self._ptr, "key_bind_meta2-B", "/uploads down")
W.buffer_set(self._ptr, "localvar_set_type", "uploads")
self.render()
def move_line_up(self):
self._selected_line = max(self._selected_line - 1, 0)
self.render()
def move_line_down(self):
self._selected_line = min(
self._selected_line + 1,
len(self.uploads) - 1
)
self.render()
def display(self):
"""Display the buffer."""
W.buffer_set(self._ptr, "display", "1")
def render(self):
"""Render the new state of the upload buffer."""
# This function is under the MIT license.
# Copyright (c) 2016 Vladimir Ignatev
def progress(count, total):
bar_len = 60
if total == 0:
bar = '-' * bar_len
return "[{}] {}%".format(bar, "?")
filled_len = int(round(bar_len * count / float(total)))
percents = round(100.0 * count / float(total), 1)
bar = '=' * filled_len + '-' * (bar_len - filled_len)
return "[{}] {}%".format(bar, percents)
W.buffer_clear(self._ptr)
header = "{}{}{}{}{}{}{}{}".format(
W.color("green"),
"Actions (letter+enter):",
W.color("lightgreen"),
" [A] Accept",
" [C] Cancel",
" [R] Remove",
" [P] Purge finished",
" [Q] Close this buffer"
)
W.prnt_y(self._ptr, 0, header)
for line_number, upload in enumerate(self.uploads.values()):
line_color = "{},{}".format(
"white" if line_number == self._selected_line else "default",
"blue" if line_number == self._selected_line else "default",
)
first_line = ("%s%s %-24s %s%s%s %s (%s.%s)" % (
W.color(line_color),
"*** " if line_number == self._selected_line else " ",
upload.room_id,
"\"",
upload.filepath,
"\"",
upload.mimetype,
SCRIPT_NAME,
upload.server_name,
))
W.prnt_y(self._ptr, (line_number * 2) + 2, first_line)
status_color = "{},{}".format("green", "blue")
status = "{}{}{}".format(
W.color(status_color),
upload.state.name,
W.color(line_color)
)
second_line = ("{color}{prefix} {status} {progressbar} "
"{done} / {total}").format(
color=W.color(line_color),
prefix="*** " if line_number == self._selected_line else " ",
status=status,
progressbar=progress(upload.done, upload.total),
done=W.string_format_size(upload.done),
total=W.string_format_size(upload.total))
W.prnt_y(self._ptr, (line_number * 2) + 3, second_line)
def find_upload(uuid):
return UPLOADS.get(uuid, None)
def handle_child_message(upload, message):
if message["type"] == "progress":
upload.done = message["data"]
elif message["type"] == "status":
if message["status"] == "started":
upload.state = UploadState.active
upload.total = message["total"]
upload.mimetype = message["mimetype"]
upload.file_name = message["file_name"]
elif message["status"] == "done":
upload.state = UploadState.finished
upload.content_uri = message["url"]
upload.file_keys = message.get("file_keys", None)
server = SERVERS.get(upload.server_name, None)
if not server:
return
server.room_send_upload(upload)
elif message["status"] == "error":
upload.state = UploadState.error
if G.CONFIG.upload_buffer:
G.CONFIG.upload_buffer.render()
@utf8_decode
def upload_cb(data, command, return_code, out, err):
upload = find_upload(UUID(data))
if not upload:
return W.WEECHAT_RC_OK
if return_code == W.WEECHAT_HOOK_PROCESS_ERROR:
W.prnt("", "Error with command '%s'" % command)
return W.WEECHAT_RC_OK
if err != "":
W.prnt("", "Error with command '%s'" % err)
upload.state = UploadState.error
if out != "":
upload.buffer += out
messages = upload.buffer.split("\n")
upload.buffer = ""
for m in messages:
try:
message = json.loads(m)
except (JSONDecodeError, TypeError):
upload.buffer += m
continue
handle_child_message(upload, message)
return W.WEECHAT_RC_OK

@ -0,0 +1,117 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2014-2016 Ryan Huber <rhuber@gmail.com>
# Copyright (c) 2015-2016 Tollef Fog Heen <tfheen@err.no>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
from __future__ import unicode_literals
import sys
# pylint: disable=redefined-builtin
from builtins import bytes, str
from functools import wraps
if sys.version_info.major == 3 and sys.version_info.minor >= 3:
from collections.abc import Iterable, Mapping
else:
from collections import Iterable, Mapping
# These functions were written by Trygve Aaberge for wee-slack and are under a
# MIT License.
# More info can be found in the wee-slack repository under the commit:
# 5e1c7e593d70972afb9a55f29d13adaf145d0166, the repository can be found at:
# https://github.com/wee-slack/wee-slack
class WeechatWrapper(object):
def __init__(self, wrapped_class):
self.wrapped_class = wrapped_class
# Helper method used to encode/decode method calls.
def wrap_for_utf8(self, method):
def hooked(*args, **kwargs):
result = method(*encode_to_utf8(args), **encode_to_utf8(kwargs))
# Prevent wrapped_class from becoming unwrapped
if result == self.wrapped_class:
return self
return decode_from_utf8(result)
return hooked
# Encode and decode everything sent to/received from weechat. We use the
# unicode type internally in wee-slack, but has to send utf8 to weechat.
def __getattr__(self, attr):
orig_attr = self.wrapped_class.__getattribute__(attr)
if callable(orig_attr):
return self.wrap_for_utf8(orig_attr)
return decode_from_utf8(orig_attr)
# Ensure all lines sent to weechat specify a prefix. For lines after the
# first, we want to disable the prefix, which is done by specifying a
# space.
def prnt_date_tags(self, buffer, date, tags, message):
message = message.replace("\n", "\n \t")
return self.wrap_for_utf8(self.wrapped_class.prnt_date_tags)(
buffer, date, tags, message
)
def utf8_decode(function):
"""
Decode all arguments from byte strings to unicode strings. Use this for
functions called from outside of this script, e.g. callbacks from weechat.
"""
@wraps(function)
def wrapper(*args, **kwargs):
# Don't do anything if we're python 3
if sys.hexversion >= 0x3000000:
return function(*args, **kwargs)
return function(*decode_from_utf8(args), **decode_from_utf8(kwargs))
return wrapper
def decode_from_utf8(data):
if isinstance(data, bytes):
return data.decode("utf-8")
if isinstance(data, str):
return data
elif isinstance(data, Mapping):
return type(data)(map(decode_from_utf8, data.items()))
elif isinstance(data, Iterable):
return type(data)(map(decode_from_utf8, data))
return data
def encode_to_utf8(data):
if isinstance(data, str):
return data.encode("utf-8")
if isinstance(data, bytes):
return data
elif isinstance(data, Mapping):
return type(data)(map(encode_to_utf8, data.items()))
elif isinstance(data, Iterable):
return type(data)(map(encode_to_utf8, data))
return data

@ -0,0 +1,168 @@
# -*- coding: utf-8 -*-
# Copyright © 2018, 2019 Damir Jelić <poljar@termina.org.uk>
# Copyright © 2018, 2019 Denis Kasak <dkasak@termina.org.uk>
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the
# above copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
from __future__ import unicode_literals, division
import time
from typing import Any, Dict, List
from .globals import W
if False:
from .server import MatrixServer
def key_from_value(dictionary, value):
# type: (Dict[str, Any], Any) -> str
return list(dictionary.keys())[list(dictionary.values()).index(value)]
def server_buffer_prnt(server, string):
# type: (MatrixServer, str) -> None
assert server.server_buffer
buffer = server.server_buffer
now = int(time.time())
W.prnt_date_tags(buffer, now, "", string)
def tags_from_line_data(line_data):
# type: (str) -> List[str]
tags_count = W.hdata_get_var_array_size(
W.hdata_get("line_data"), line_data, "tags_array"
)
tags = [
W.hdata_string(
W.hdata_get("line_data"), line_data, "%d|tags_array" % i
)
for i in range(tags_count)
]
return tags
def create_server_buffer(server):
# type: (MatrixServer) -> None
buffer_name = "server.{}".format(server.name)
server.server_buffer = W.buffer_new(
buffer_name, "server_buffer_cb", server.name, "", ""
)
server_buffer_set_title(server)
W.buffer_set(server.server_buffer, "short_name", server.name)
W.buffer_set(server.server_buffer, "localvar_set_type", "server")
W.buffer_set(
server.server_buffer, "localvar_set_nick", server.config.username
)
W.buffer_set(server.server_buffer, "localvar_set_server", server.name)
W.buffer_set(server.server_buffer, "localvar_set_channel", server.name)
server.buffer_merge()
def server_buffer_set_title(server):
# type: (MatrixServer) -> None
if server.numeric_address:
ip_string = " ({address})".format(address=server.numeric_address)
else:
ip_string = ""
title = ("Matrix: {address}:{port}{ip}").format(
address=server.address, port=server.config.port, ip=ip_string
)
W.buffer_set(server.server_buffer, "title", title)
def server_ts_to_weechat(timestamp):
# type: (float) -> int
date = int(timestamp / 1000)
return date
def strip_matrix_server(string):
# type: (str) -> str
return string.rsplit(":", 1)[0]
def shorten_sender(sender):
# type: (str) -> str
return strip_matrix_server(sender)[1:]
def string_strikethrough(string):
return "".join(["{}\u0336".format(c) for c in string])
def string_color_and_reset(string, color):
"""Color string with color, then reset all attributes."""
lines = string.split('\n')
lines = ("{}{}{}".format(W.color(color), line, W.color("reset"))
for line in lines)
return "\n".join(lines)
def string_color(string, color):
"""Color string with color, then reset the color attribute."""
lines = string.split('\n')
lines = ("{}{}{}".format(W.color(color), line, W.color("resetcolor"))
for line in lines)
return "\n".join(lines)
def color_pair(color_fg, color_bg):
"""Make a color pair from a pair of colors."""
if color_bg:
return "{},{}".format(color_fg, color_bg)
else:
return color_fg
def text_block(text, margin=0):
"""
Pad block of text with whitespace to form a regular block, optionally
adding a margin.
"""
# add vertical margin
vertical_margin = margin // 2
text = "{}{}{}".format(
"\n" * vertical_margin,
text,
"\n" * vertical_margin
)
lines = text.split("\n")
longest_len = max(len(l) for l in lines) + margin
# pad block and add horizontal margin
text = "\n".join(
"{pre}{line}{post}".format(
pre=" " * margin,
line=l,
post=" " * (longest_len - len(l)))
for l in lines)
return text
def colored_text_block(text, margin=0, color_pair=""):
""" Like text_block, but also colors it."""
return string_color_and_reset(text_block(text, margin=margin), color_pair)

@ -0,0 +1,55 @@
#
# weechat -- relay.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
auto_open_buffer = on
raw_messages = 256
[color]
client = cyan
status_active = lightblue
status_auth_failed = lightred
status_connecting = yellow
status_disconnected = lightred
status_waiting_auth = brown
text = default
text_bg = default
text_selected = white
[network]
allow_empty_password = off
allowed_ips = ""
bind_address = ""
clients_purge_delay = 0
compression_level = 6
ipv6 = on
max_clients = 5
password = ""
ssl_cert_key = "%h/ssl/relay.pem"
ssl_priorities = "NORMAL:-VERS-SSL3.0"
totp_secret = ""
totp_window = 0
websocket_allowed_origins = ""
[irc]
backlog_max_minutes = 1440
backlog_max_number = 256
backlog_since_last_disconnect = on
backlog_since_last_message = off
backlog_tags = "irc_privmsg"
backlog_time_format = "[%H:%M] "
[weechat]
commands = ""
[port]
[path]

@ -0,0 +1,14 @@
#
# weechat -- ruby.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
check_license = off
eval_keep_context = on

@ -0,0 +1,56 @@
#
# weechat -- script.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
columns = "%s %n %V %v %u | %d | %t"
diff_color = on
diff_command = "auto"
display_source = on
quiet_actions = on
sort = "i,p,n"
translate_description = on
use_keys = on
[color]
status_autoloaded = cyan
status_held = white
status_installed = lightcyan
status_obsolete = lightmagenta
status_popular = yellow
status_running = lightgreen
status_unknown = lightred
text = default
text_bg = default
text_bg_selected = red
text_date = default
text_date_selected = white
text_delimiters = default
text_description = default
text_description_selected = white
text_extension = default
text_extension_selected = white
text_name = cyan
text_name_selected = lightcyan
text_selected = white
text_tags = brown
text_tags_selected = yellow
text_version = magenta
text_version_loaded = default
text_version_loaded_selected = white
text_version_selected = lightmagenta
[scripts]
autoload = on
cache_expire = 1440
download_timeout = 30
hold = ""
path = "%h/script"
url = "https://weechat.org/files/plugins.xml.gz"

@ -0,0 +1,23 @@
#
# weechat -- sec.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[crypt]
cipher = aes256
hash_algo = sha256
passphrase_file = ""
salt = on
[data]
__passphrase__ = on
awful-club = "2101B7A5E27FA739B8ACD3268778C7478FB21D1BB0AB92D99CC4E8A55A7E927D2C62D5E6C19A79B4508B0C5C877976F0F10108DE6C9ED7AE476095197F89B49E5A865CAEC4359C0DB8EB94585B352C354AD55CBF32A2"
bouncer-freenode = "788FA5CBA8EE781EEBA0DBD8C5F6CDE0B1082EEF0FC98EBAE6702EE652DFEE75F3B603F398EF9708249F6590B846CB5A3E48FE3D154BD803934B89F55F"
bouncer-OFTC = "E819C6D41CA4304FA3BDE3E586C946845EEEF227806DE201495C6ABAD01CB7D0F240A3DFF47798CEF14C94143706CA9CE3E24DBD375FE06A7CA3DBDE67"
awful.club = "387E8FE089A1A877C231194D1E65A6AEA053667481857E6CBE4E1B830B4BE74E405D6AC6F83D29676162EA5D2614982F9013C40949EFB5A5AB3F79B6309BE3BB258CD384085823C64B36B73D57115E5C20C94D413FAF"

@ -0,0 +1,33 @@
#
# weechat -- spell.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[color]
misspelled = lightred
suggestion = default
suggestion_delimiter_dict = cyan
suggestion_delimiter_word = cyan
[check]
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
default_dict = ""
during_search = off
enabled = off
real_time = off
suggestions = -1
word_min_length = 2
[dict]
[look]
suggestion_delimiter_dict = " / "
suggestion_delimiter_word = ","
[option]

@ -0,0 +1,14 @@
#
# weechat -- tcl.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
check_license = off
eval_keep_context = on

@ -0,0 +1,83 @@
#
# weechat -- trigger.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
enabled = on
monitor_strip_colors = off
[color]
flag_command = lightgreen
flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan
flag_return_code = lightmagenta
regex = white
replace = cyan
trigger = green
trigger_disabled = red
[trigger]
bar_resize.arguments = "/bar set buflist size*;/bar set buflist_hotlist size*"
bar_resize.command = "/buflist refresh"
bar_resize.conditions = ""
bar_resize.enabled = on
bar_resize.hook = command_run
bar_resize.post_action = none
bar_resize.regex = ""
bar_resize.return_code = ok
bar_scroll.arguments = "/bar scroll buflist*"
bar_scroll.command = "/bar scroll buflist * ${arguments};/bar scroll buflist_hotlist * ${arguments}"
bar_scroll.conditions = ""
bar_scroll.enabled = on
bar_scroll.hook = command_run
bar_scroll.post_action = none
bar_scroll.regex = "/.*/${tg_command}/arguments /.* ([^ ]+)$/${re:1}/arguments"
bar_scroll.return_code = ok_eat
beep.arguments = ""
beep.command = "/print -beep"
beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})"
beep.enabled = on
beep.hook = print
beep.post_action = none
beep.regex = ""
beep.return_code = ok
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
cmd_pass.command = ""
cmd_pass.conditions = ""
cmd_pass.enabled = on
cmd_pass.hook = modifier
cmd_pass.post_action = none
cmd_pass.regex = "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
cmd_pass.return_code = ok
cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
cmd_pass_register.command = ""
cmd_pass_register.conditions = ""
cmd_pass_register.enabled = on
cmd_pass_register.hook = modifier
cmd_pass_register.post_action = none
cmd_pass_register.regex = "==^(/(msg|m|quote) +nickserv +register +)([^ ]+)(.*)==${re:1}${hide:*,${re:3}}${re:4}"
cmd_pass_register.return_code = ok
msg_auth.arguments = "5000|irc_message_auth"
msg_auth.command = ""
msg_auth.conditions = ""
msg_auth.enabled = on
msg_auth.hook = modifier
msg_auth.post_action = none
msg_auth.regex = "==^(.*(id|identify|set +password|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
msg_auth.return_code = ok
server_pass.arguments = "5000|input_text_display;5000|history_add"
server_pass.command = ""
server_pass.conditions = ""
server_pass.enabled = on
server_pass.hook = modifier
server_pass.post_action = none
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
server_pass.return_code = ok

@ -0,0 +1,680 @@
#
# weechat -- weechat.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[debug]
[startup]
command_after_plugins = ""
command_before_plugins = ""
display_logo = on
display_version = on
sys_rlimit = ""
[look]
align_end_of_lines = message
align_multiline_words = on
bar_more_down = ""
bar_more_left = "<<"
bar_more_right = ">>"
bar_more_up = ""
bare_display_exit_on_input = on
bare_display_time_format = "%H:%M"
buffer_auto_renumber = on
buffer_notify_default = all
buffer_position = end
buffer_search_case_sensitive = off
buffer_search_force_default = off
buffer_search_regex = off
buffer_search_where = prefix_message
buffer_time_format = "%H:%M:%S"
buffer_time_same = ""
color_basic_force_bold = off
color_inactive_buffer = on
color_inactive_message = on
color_inactive_prefix = on
color_inactive_prefix_buffer = on
color_inactive_time = off
color_inactive_window = on
color_nick_offline = off
color_pairs_auto_reset = 5
color_real_white = off
command_chars = ""
command_incomplete = off
confirm_quit = off
confirm_upgrade = off
day_change = on
day_change_message_1date = "-- %a, %d %b %Y --"
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
eat_newline_glitch = off
emphasized_attributes = ""
highlight = ""
highlight_regex = ""
highlight_tags = ""
hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"
hotlist_buffer_separator = ", "
hotlist_count_max = 2
hotlist_count_min_msg = 2
hotlist_names_count = 3
hotlist_names_length = 0
hotlist_names_level = 12
hotlist_names_merged_buffers = off
hotlist_prefix = "H: "
hotlist_remove = merged
hotlist_short_names = on
hotlist_sort = group_time_asc
hotlist_suffix = ""
hotlist_unique_numbers = on
input_cursor_scroll = 20
input_share = none
input_share_overwrite = off
input_undo_max = 32
item_away_message = on
item_buffer_filter = "•"
item_buffer_zoom = "!"
item_mouse_status = "M"
item_time_format = "%H:%M"
jump_current_to_previous_buffer = on
jump_previous_buffer_when_closing = on
jump_smart_back_to_buffer = on
key_bind_safe = on
key_grab_delay = 800
mouse = on
mouse_timer_delay = 100
nick_color_force = ""
nick_color_hash = djb2
nick_color_stop_chars = "_|["
nick_prefix = ""
nick_suffix = ""
paste_auto_add_newline = on
paste_bracketed = on
paste_bracketed_timer_delay = 10
paste_max_lines = 1
prefix_action = " *"
prefix_align = right
prefix_align_max = 0
prefix_align_min = 0
prefix_align_more = "+"
prefix_align_more_after = on
prefix_buffer_align = right
prefix_buffer_align_max = 0
prefix_buffer_align_more = "+"
prefix_buffer_align_more_after = on
prefix_error = "=!="
prefix_join = "▬▬▶"
prefix_network = "--"
prefix_quit = "◀▬▬"
prefix_same_nick = ""
prefix_same_nick_middle = ""
prefix_suffix = "│"
quote_nick_prefix = "<"
quote_nick_suffix = ">"
quote_time_format = "%H:%M:%S"
read_marker = line
read_marker_always_show = off
read_marker_string = "─"
save_config_on_exit = on
save_config_with_fsync = off
save_layout_on_exit = none
scroll_amount = 3
scroll_bottom_after_switch = off
scroll_page_percent = 100
search_text_not_found_alert = on
separator_horizontal = "-"
separator_vertical = ""
tab_width = 1
time_format = "%a, %d %b %Y %T"
window_auto_zoom = off
window_separator_horizontal = on
window_separator_vertical = on
window_title = ""
word_chars_highlight = "!\u00A0,-,_,|,alnum"
word_chars_input = "!\u00A0,-,_,|,alnum"
[palette]
[color]
bar_more = lightmagenta
chat = default
chat_bg = default
chat_buffer = white
chat_channel = white
chat_day_change = cyan
chat_delimiters = white
chat_highlight = yellow
chat_highlight_bg = magenta
chat_host = 24
chat_inactive_buffer = default
chat_inactive_window = default
chat_nick = lightcyan
chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue"
chat_nick_offline = default
chat_nick_offline_highlight = default
chat_nick_offline_highlight_bg = blue
chat_nick_other = cyan
chat_nick_prefix = green
chat_nick_self = white
chat_nick_suffix = green
chat_prefix_action = white
chat_prefix_buffer = brown
chat_prefix_buffer_inactive_buffer = default
chat_prefix_error = yellow
chat_prefix_join = lightgreen
chat_prefix_more = lightmagenta
chat_prefix_network = magenta
chat_prefix_quit = lightred
chat_prefix_suffix = green
chat_read_marker = magenta
chat_read_marker_bg = default
chat_server = brown
chat_tags = red
chat_text_found = yellow
chat_text_found_bg = lightmagenta
chat_time = default
chat_time_delimiters = magenta
chat_value = cyan
chat_value_null = blue
emphasized = yellow
emphasized_bg = magenta
input_actions = lightgreen
input_text_not_found = red
item_away = yellow
nicklist_away = cyan
nicklist_group = green
separator = white
status_count_highlight = magenta
status_count_msg = brown
status_count_other = default
status_count_private = green
status_data_highlight = lightmagenta
status_data_msg = yellow
status_data_other = default
status_data_private = lightgreen
status_filter = green
status_more = yellow
status_mouse = green
status_name = 202
status_name_ssl = lightgreen
status_nicklist_count = default
status_number = yellow
status_time = default
[completion]
base_word_until_cursor = on
command_inline = on
default_template = "%(nicks)|%(irc_channels)"
nick_add_space = on
nick_case_sensitive = off
nick_completer = ": "
nick_first_only = off
nick_ignore_chars = "[]`_-^"
partial_completion_alert = on
partial_completion_command = off
partial_completion_command_arg = off
partial_completion_count = on
partial_completion_other = off
partial_completion_templates = "config_options"
[history]
display_default = 5
max_buffer_lines_minutes = 0
max_buffer_lines_number = 4096
max_commands = 100
max_visited_buffers = 50
[proxy]
[network]
connection_timeout = 60
gnutls_ca_file = "/etc/ssl/certs/ca-certificates.crt"
gnutls_handshake_timeout = 30
proxy_curl = ""
[plugin]
autoload = "*"
debug = off
extension = ".so,.dll"
path = "%h/plugins"
save_config_on_unload = on
[bar]
buflist.color_bg = black
buflist.color_delim = default
buflist.color_fg = default
buflist.conditions = ""
buflist.filling_left_right = vertical
buflist.filling_top_bottom = columns_vertical
buflist.hidden = off
buflist.items = "buflist"
buflist.position = left
buflist.priority = 2
buflist.separator = off
buflist.size = 15
buflist.size_max = 0
buflist.type = root
buflist_hotlist.color_bg = default
buflist_hotlist.color_delim = default
buflist_hotlist.color_fg = default
buflist_hotlist.conditions = ""
buflist_hotlist.filling_left_right = vertical
buflist_hotlist.filling_top_bottom = horizontal
buflist_hotlist.hidden = off
buflist_hotlist.items = "buflist2"
buflist_hotlist.position = left
buflist_hotlist.priority = 1
buflist_hotlist.separator = on
buflist_hotlist.size = 3
buflist_hotlist.size_max = 0
buflist_hotlist.type = root
fset.color_bg = default
fset.color_delim = cyan
fset.color_fg = default
fset.conditions = "${buffer.full_name} == fset.fset"
fset.filling_left_right = vertical
fset.filling_top_bottom = horizontal
fset.hidden = off
fset.items = "fset"
fset.position = top
fset.priority = 0
fset.separator = on
fset.size = 3
fset.size_max = 3
fset.type = window
input.color_bg = default
input.color_delim = cyan
input.color_fg = default
input.conditions = ""
input.filling_left_right = vertical
input.filling_top_bottom = horizontal
input.hidden = off
input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text"
input.position = bottom
input.priority = 1000
input.separator = off
input.size = 1
input.size_max = 0
input.type = window
nicklist.color_bg = default
nicklist.color_delim = cyan
nicklist.color_fg = default
nicklist.conditions = "${nicklist}"
nicklist.filling_left_right = vertical
nicklist.filling_top_bottom = columns_vertical
nicklist.hidden = off
nicklist.items = "buffer_nicklist"
nicklist.position = right
nicklist.priority = 200
nicklist.separator = on
nicklist.size = 0
nicklist.size_max = 0
nicklist.type = window
status.color_bg = magenta
status.color_delim = cyan
status.color_fg = default
status.conditions = ""
status.filling_left_right = vertical
status.filling_top_bottom = horizontal
status.hidden = off
status.items = "[time],[buffer_plugin],scroll,[lag],completion,matrix_typing_notice"
status.position = bottom
status.priority = 500
status.separator = off
status.size = 1
status.size_max = 0
status.type = window
title.color_bg = magenta
title.color_delim = cyan
title.color_fg = default
title.conditions = ""
title.filling_left_right = vertical
title.filling_top_bottom = horizontal
title.hidden = off
title.items = "buffer_title"
title.position = top
title.priority = 500
title.separator = off
title.size = 1
title.size_max = 0
title.type = window
[layout]
[notify]
[filter]
[key]
ctrl-? = "/input delete_previous_char"
ctrl-A = "/input move_beginning_of_line"
ctrl-B = "/input move_previous_char"
ctrl-C_ = "/input insert \x1F"
ctrl-Cb = "/input insert \x02"
ctrl-Cc = "/input insert \x03"
ctrl-Ci = "/input insert \x1D"
ctrl-Co = "/input insert \x0F"
ctrl-Cv = "/input insert \x16"
ctrl-D = "/input delete_next_char"
ctrl-E = "/input move_end_of_line"
ctrl-F = "/input move_next_char"
ctrl-H = "/input delete_previous_char"
ctrl-I = "/input complete_next"
ctrl-J = "/input return"
ctrl-K = "/input delete_end_of_line"
ctrl-L = "/window refresh"
ctrl-M = "/input return"
ctrl-N = "/buffer +1"
ctrl-P = "/buffer -1"
ctrl-R = "/input search_text_here"
ctrl-Sctrl-U = "/input set_unread"
ctrl-T = "/input transpose_chars"
ctrl-U = "/input delete_beginning_of_line"
ctrl-W = "/input delete_previous_word"
ctrl-X = "/input switch_active_buffer"
ctrl-Y = "/input clipboard_paste"
meta-meta-OP = "/bar scroll buflist * b"
meta-meta-OQ = "/bar scroll buflist * e"
meta-meta2-11~ = "/bar scroll buflist * b"
meta-meta2-12~ = "/bar scroll buflist * e"
meta-meta2-1~ = "/window scroll_top"
meta-meta2-23~ = "/bar scroll nicklist * b"
meta-meta2-24~ = "/bar scroll nicklist * e"
meta-meta2-4~ = "/window scroll_bottom"
meta-meta2-5~ = "/window scroll_up"
meta-meta2-6~ = "/window scroll_down"
meta-meta2-7~ = "/window scroll_top"
meta-meta2-8~ = "/window scroll_bottom"
meta-meta2-A = "/buffer -1"
meta-meta2-B = "/buffer +1"
meta-meta2-C = "/buffer +1"
meta-meta2-D = "/buffer -1"
meta-- = "/filter toggle @"
meta-/ = "/input jump_last_buffer_displayed"
meta-0 = "/buffer *10"
meta-1 = "/buffer *1"
meta-2 = "/buffer *2"
meta-3 = "/buffer *3"
meta-4 = "/buffer *4"
meta-5 = "/buffer *5"
meta-6 = "/buffer *6"
meta-7 = "/buffer *7"
meta-8 = "/buffer *8"
meta-9 = "/buffer *9"
meta-< = "/input jump_previously_visited_buffer"
meta-= = "/filter toggle"
meta-> = "/input jump_next_visited_buffer"
meta-OA = "/input history_global_previous"
meta-OB = "/input history_global_next"
meta-OC = "/input move_next_word"
meta-OD = "/input move_previous_word"
meta-OF = "/input move_end_of_line"
meta-OH = "/input move_beginning_of_line"
meta-OP = "/bar scroll buflist * -100%"
meta-OQ = "/bar scroll buflist * +100%"
meta-Oa = "/input history_global_previous"
meta-Ob = "/input history_global_next"
meta-Oc = "/input move_next_word"
meta-Od = "/input move_previous_word"
meta2-11^ = "/bar scroll buflist * -100%"
meta2-11~ = "/bar scroll buflist * -100%"
meta2-12^ = "/bar scroll buflist * +100%"
meta2-12~ = "/bar scroll buflist * +100%"
meta2-15~ = "/buffer -1"
meta2-17~ = "/buffer +1"
meta2-18~ = "/window -1"
meta2-19~ = "/window +1"
meta2-1;3A = "/buffer -1"
meta2-1;3B = "/buffer +1"
meta2-1;3C = "/buffer +1"
meta2-1;3D = "/buffer -1"
meta2-1;3F = "/window scroll_bottom"
meta2-1;3H = "/window scroll_top"
meta2-1;3P = "/bar scroll buflist * b"
meta2-1;3Q = "/bar scroll buflist * e"
meta2-1;5A = "/input history_global_previous"
meta2-1;5B = "/input history_global_next"
meta2-1;5C = "/input move_next_word"
meta2-1;5D = "/input move_previous_word"
meta2-1;5P = "/bar scroll buflist * -100%"
meta2-1;5Q = "/bar scroll buflist * +100%"
meta2-1~ = "/input move_beginning_of_line"
meta2-200~ = "/input paste_start"
meta2-201~ = "/input paste_stop"
meta2-20~ = "/bar scroll title * -30%"
meta2-21~ = "/bar scroll title * +30%"
meta2-23;3~ = "/bar scroll nicklist * b"
meta2-23;5~ = "/bar scroll nicklist * -100%"
meta2-23^ = "/bar scroll nicklist * -100%"
meta2-23~ = "/bar scroll nicklist * -100%"
meta2-24;3~ = "/bar scroll nicklist * e"
meta2-24;5~ = "/bar scroll nicklist * +100%"
meta2-24^ = "/bar scroll nicklist * +100%"
meta2-24~ = "/bar scroll nicklist * +100%"
meta2-3~ = "/input delete_next_char"
meta2-4~ = "/input move_end_of_line"
meta2-5;3~ = "/window scroll_up"
meta2-5~ = "/window page_up"
meta2-6;3~ = "/window scroll_down"
meta2-6~ = "/window page_down"
meta2-7~ = "/input move_beginning_of_line"
meta2-8~ = "/input move_end_of_line"
meta2-A = "/input history_previous"
meta2-B = "/input history_next"
meta2-C = "/input move_next_char"
meta2-D = "/input move_previous_char"
meta2-F = "/input move_end_of_line"
meta2-G = "/window page_down"
meta2-H = "/input move_beginning_of_line"
meta2-I = "/window page_up"
meta2-Z = "/input complete_previous"
meta2-[E = "/buffer -1"
meta-_ = "/input redo"
meta-a = "/input jump_smart"
meta-b = "/input move_previous_word"
meta-d = "/input delete_next_word"
meta-f = "/input move_next_word"
meta-h = "/input hotlist_clear"
meta-jmeta-f = "/buffer -"
meta-jmeta-l = "/buffer +"
meta-jmeta-r = "/server raw"
meta-jmeta-s = "/server jump"
meta-j01 = "/buffer *1"
meta-j02 = "/buffer *2"
meta-j03 = "/buffer *3"
meta-j04 = "/buffer *4"
meta-j05 = "/buffer *5"
meta-j06 = "/buffer *6"
meta-j07 = "/buffer *7"
meta-j08 = "/buffer *8"
meta-j09 = "/buffer *9"
meta-j10 = "/buffer *10"
meta-j11 = "/buffer *11"
meta-j12 = "/buffer *12"
meta-j13 = "/buffer *13"
meta-j14 = "/buffer *14"
meta-j15 = "/buffer *15"
meta-j16 = "/buffer *16"
meta-j17 = "/buffer *17"
meta-j18 = "/buffer *18"
meta-j19 = "/buffer *19"
meta-j20 = "/buffer *20"
meta-j21 = "/buffer *21"
meta-j22 = "/buffer *22"
meta-j23 = "/buffer *23"
meta-j24 = "/buffer *24"
meta-j25 = "/buffer *25"
meta-j26 = "/buffer *26"
meta-j27 = "/buffer *27"
meta-j28 = "/buffer *28"
meta-j29 = "/buffer *29"
meta-j30 = "/buffer *30"
meta-j31 = "/buffer *31"
meta-j32 = "/buffer *32"
meta-j33 = "/buffer *33"
meta-j34 = "/buffer *34"
meta-j35 = "/buffer *35"
meta-j36 = "/buffer *36"
meta-j37 = "/buffer *37"
meta-j38 = "/buffer *38"
meta-j39 = "/buffer *39"
meta-j40 = "/buffer *40"
meta-j41 = "/buffer *41"
meta-j42 = "/buffer *42"
meta-j43 = "/buffer *43"
meta-j44 = "/buffer *44"
meta-j45 = "/buffer *45"
meta-j46 = "/buffer *46"
meta-j47 = "/buffer *47"
meta-j48 = "/buffer *48"
meta-j49 = "/buffer *49"
meta-j50 = "/buffer *50"
meta-j51 = "/buffer *51"
meta-j52 = "/buffer *52"
meta-j53 = "/buffer *53"
meta-j54 = "/buffer *54"
meta-j55 = "/buffer *55"
meta-j56 = "/buffer *56"
meta-j57 = "/buffer *57"
meta-j58 = "/buffer *58"
meta-j59 = "/buffer *59"
meta-j60 = "/buffer *60"
meta-j61 = "/buffer *61"
meta-j62 = "/buffer *62"
meta-j63 = "/buffer *63"
meta-j64 = "/buffer *64"
meta-j65 = "/buffer *65"
meta-j66 = "/buffer *66"
meta-j67 = "/buffer *67"
meta-j68 = "/buffer *68"
meta-j69 = "/buffer *69"
meta-j70 = "/buffer *70"
meta-j71 = "/buffer *71"
meta-j72 = "/buffer *72"
meta-j73 = "/buffer *73"
meta-j74 = "/buffer *74"
meta-j75 = "/buffer *75"
meta-j76 = "/buffer *76"
meta-j77 = "/buffer *77"
meta-j78 = "/buffer *78"
meta-j79 = "/buffer *79"
meta-j80 = "/buffer *80"
meta-j81 = "/buffer *81"
meta-j82 = "/buffer *82"
meta-j83 = "/buffer *83"
meta-j84 = "/buffer *84"
meta-j85 = "/buffer *85"
meta-j86 = "/buffer *86"
meta-j87 = "/buffer *87"
meta-j88 = "/buffer *88"
meta-j89 = "/buffer *89"
meta-j90 = "/buffer *90"
meta-j91 = "/buffer *91"
meta-j92 = "/buffer *92"
meta-j93 = "/buffer *93"
meta-j94 = "/buffer *94"
meta-j95 = "/buffer *95"
meta-j96 = "/buffer *96"
meta-j97 = "/buffer *97"
meta-j98 = "/buffer *98"
meta-j99 = "/buffer *99"
meta-k = "/input grab_key_command"
meta-l = "/window bare"
meta-m = "/mute mouse toggle"
meta-n = "/window scroll_next_highlight"
meta-p = "/window scroll_previous_highlight"
meta-r = "/input delete_line"
meta-s = "/mute spell toggle"
meta-u = "/window scroll_unread"
meta-wmeta-meta2-A = "/window up"
meta-wmeta-meta2-B = "/window down"
meta-wmeta-meta2-C = "/window right"
meta-wmeta-meta2-D = "/window left"
meta-wmeta2-1;3A = "/window up"
meta-wmeta2-1;3B = "/window down"
meta-wmeta2-1;3C = "/window right"
meta-wmeta2-1;3D = "/window left"
meta-wmeta-b = "/window balance"
meta-wmeta-s = "/window swap"
meta-x = "/input zoom_merged_buffer"
meta-z = "/window zoom"
ctrl-_ = "/input undo"
[key_search]
ctrl-I = "/input search_switch_where"
ctrl-J = "/input search_stop_here"
ctrl-M = "/input search_stop_here"
ctrl-Q = "/input search_stop"
ctrl-R = "/input search_switch_regex"
meta2-A = "/input search_previous"
meta2-B = "/input search_next"
meta-c = "/input search_switch_case"
[key_cursor]
ctrl-J = "/cursor stop"
ctrl-M = "/cursor stop"
meta-meta2-A = "/cursor move area_up"
meta-meta2-B = "/cursor move area_down"
meta-meta2-C = "/cursor move area_right"
meta-meta2-D = "/cursor move area_left"
meta2-1;3A = "/cursor move area_up"
meta2-1;3B = "/cursor move area_down"
meta2-1;3C = "/cursor move area_right"
meta2-1;3D = "/cursor move area_left"
meta2-A = "/cursor move up"
meta2-B = "/cursor move down"
meta2-C = "/cursor move right"
meta2-D = "/cursor move left"
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
@chat:m = "hsignal:chat_quote_message;/cursor stop"
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
[key_mouse]
@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
@bar(input):button2 = "/input grab_mouse_area"
@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%"
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}"
@chat(fset.fset):button2* = "hsignal:fset_mouse"
@chat(fset.fset):wheeldown = "/fset -down 5"
@chat(fset.fset):wheelup = "/fset -up 5"
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
@chat(script.scripts):wheeldown = "/script down 5"
@chat(script.scripts):wheelup = "/script up 5"
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}"
@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}"
@item(buflist):button1* = "hsignal:buflist_mouse"
@item(buflist):button2* = "hsignal:buflist_mouse"
@item(buflist2):button1* = "hsignal:buflist_mouse"
@item(buflist2):button2* = "hsignal:buflist_mouse"
@item(buflist3):button1* = "hsignal:buflist_mouse"
@item(buflist3):button2* = "hsignal:buflist_mouse"
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
@chat:button1 = "/window ${_window_number}"
@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer"
@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
@chat:wheeldown = "/window scroll_down -window ${_window_number}"
@chat:wheelup = "/window scroll_up -window ${_window_number}"
@*:button3 = "/cursor go ${_x},${_y}"

@ -0,0 +1,43 @@
[2019-07-28 14:08:00] WeeChat 2.6-dev (git: v2.5-62-g93cd05bdd) (compiled on Jul 28 2019 02:51:00)
[2019-07-28 14:08:00] Reading configuration file sec.conf
[2019-07-28 14:08:10] Reading configuration file weechat.conf
[2019-07-28 14:08:10] Reading configuration file plugins.conf
[2019-07-28 14:08:10] Reading configuration file charset.conf
[2019-07-28 14:08:10] Reading configuration file logger.conf
[2019-07-28 14:08:10] Reading configuration file exec.conf
[2019-07-28 14:08:10] Reading configuration file trigger.conf
[2019-07-28 14:08:10] Reading configuration file spell.conf
[2019-07-28 14:08:10] Reading configuration file alias.conf
[2019-07-28 14:08:10] Reading configuration file buflist.conf
[2019-07-28 14:08:10] Reading configuration file fifo.conf
[2019-07-28 14:08:10] Reading configuration file xfer.conf
[2019-07-28 14:08:10] Reading configuration file irc.conf
[2019-07-28 14:08:10] Reading configuration file relay.conf
[2019-07-28 14:08:10] Reading configuration file python.conf
[2019-07-28 14:08:10] Reading configuration file perl.conf
[2019-07-28 14:08:10] Reading configuration file script.conf
[2019-07-28 14:08:10] Reading configuration file fset.conf
[2019-07-28 14:08:10] irc: connecting to server bouncer.awful.club/5000 (SSL)...
[2019-07-28 14:08:10] irc: connecting to server bouncer.awful.club/5000 (SSL)...
[2019-07-28 14:08:22] Reading configuration file matrix.conf
[2019-07-28 14:17:05] Writing configuration file sec.conf
[2019-07-28 14:17:05] Writing configuration file weechat.conf
[2019-07-28 14:17:05] Writing configuration file plugins.conf
[2019-07-28 14:17:05] Writing configuration file charset.conf
[2019-07-28 14:17:05] Writing configuration file logger.conf
[2019-07-28 14:17:05] Writing configuration file exec.conf
[2019-07-28 14:17:05] Writing configuration file trigger.conf
[2019-07-28 14:17:05] Writing configuration file spell.conf
[2019-07-28 14:17:05] Writing configuration file alias.conf
[2019-07-28 14:17:05] Writing configuration file buflist.conf
[2019-07-28 14:17:05] Writing configuration file fifo.conf
[2019-07-28 14:17:05] Writing configuration file xfer.conf
[2019-07-28 14:17:05] Writing configuration file irc.conf
[2019-07-28 14:17:05] Writing configuration file relay.conf
[2019-07-28 14:17:05] Writing configuration file python.conf
[2019-07-28 14:17:05] Writing configuration file perl.conf
[2019-07-28 14:17:05] Writing configuration file script.conf
[2019-07-28 14:17:05] Writing configuration file fset.conf
[2019-07-28 14:17:05] Writing configuration file matrix.conf
[2019-07-28 14:44:06] irc: connecting to server bouncer.awful.club/5000 (SSL)...
[2019-07-28 14:44:08] irc: connecting to server bouncer.awful.club/5000 (SSL)...

@ -0,0 +1,48 @@
#
# weechat -- xfer.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use /set or similar command to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/quickstart
#
[look]
auto_open_buffer = on
progress_bar_size = 20
pv_tags = "notify_private"
[color]
status_aborted = lightred
status_active = lightblue
status_connecting = yellow
status_done = lightgreen
status_failed = lightred
status_waiting = lightcyan
text = default
text_bg = default
text_selected = white
[network]
blocksize = 65536
fast_send = on
own_ip = ""
port_range = ""
send_ack = on
speed_limit_recv = 0
speed_limit_send = 0
timeout = 300
[file]
auto_accept_chats = off
auto_accept_files = off
auto_accept_nicks = ""
auto_check_crc32 = off
auto_rename = on
auto_resume = on
convert_spaces = on
download_path = "%h/xfer"
upload_path = "~"
use_nick_in_filename = on
Loading…
Cancel
Save