Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joining Channel fails, can't send messages #709

Closed
trfunk opened this issue Jan 15, 2025 · 16 comments
Closed

Joining Channel fails, can't send messages #709

trfunk opened this issue Jan 15, 2025 · 16 comments
Labels

Comments

@trfunk
Copy link

trfunk commented Jan 15, 2025

Hello,

I tried to join a channel on a network on irc.dejatoons.net. When I enter the join command nothing happens, apart from a message in the server buffer:

There channel doesn't get attached to the sidebar. The log says:

19:59 WARN  message decoding failed: parsing failed: 
"@batch=fsJEnTuU895Ul6DVt1vfS5;account=lksaar;msgid=JDgigA20YxGQ6bEMkxX2YV-yYV11x6qccNNQMPHH69esg;time=2025-01-15T18:59:48.231Z :[email protected] JOIN #snip lksaar :lksaar\r\r\n"

When I click the channel in the UI (i.e. click on #snip) it shows the channel, but fails to load the topic and shows 0 users in there. Even tho I'm sure it has users in it and a topic. It shows the previous scrollback for the channel. It also does not allow me to send messages to the channel.

when I try to part I get a similar error:

20:00 WARN  message decoding failed: parsing failed: "@label=1736967613797314900;account=lksaar;msgid=TzLelq5ap3olKGf6yADd12-kdwL8DyFqso5uZYAyKEylQ;time=2025-01-15T19:00:14.736Z :[email protected] PART #snip\r\r\n"
20:00 WARN  message decoding failed: parsing failed: "@batch=m1htncASar7xZOXjLtbhbz;account=lksaar;msgid=hX4j9VG2BvP3MhUpzSSRBo-yYV11x6qccNNQMPHH69esg;time=2025-01-15T19:00:18.610Z :[email protected] JOIN #snip lksaar :lksaar\r\r\n"
20:00 DEBUG flushed history for server on DejaToons
20:00 DEBUG flushed history for channel #snip on DejaToons
20:00 DEBUG loaded history for user NickServ on DejaToons: 58 messages
20:00 DEBUG closed history for server on DejaToons
20:00 DEBUG loaded history for server on DejaToons: 9500 messages
20:00 DEBUG closed history for user NickServ on DejaToons
20:00 DEBUG loaded history for user NickServ on DejaToons: 58 messages
20:00 DEBUG closed history for server on DejaToons
20:00 DEBUG loaded history for server on DejaToons: 9500 messages
20:00 DEBUG closed history for user NickServ on DejaToons
20:00 DEBUG loaded history for channel #snip on DejaToons: 10000 messages
20:00 DEBUG closed history for server on DejaToons
20:00 INFO  dashboard saved
20:00 DEBUG loaded history for logs: 10000 messages
20:00 INFO  dashboard saved
20:01 DEBUG closed history for channel #snip on DejaToons
20:01 DEBUG loaded history for server on DejaToons: 9500 messages
20:01 DEBUG closed history for logs
20:01 INFO  dashboard saved
20:01 WARN  message decoding failed: parsing failed: "@label=1736967685409480100;account=lksaar;msgid=c9Iqj5nCZt99XattB8LxiI-kdwL8DyFqso5uZYAyKEylQ;time=2025-01-15T19:01:26.353Z :[email protected] PART #snip\r\r\n"

I can reliably reproduce this.
complete log:

20:09:34.219:INFO -- halloy 2024.14 (3b9e335-dirty) has started
20:09:34.219:INFO -- config dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
20:09:34.219:INFO -- data dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
20:09:34.435:INFO -- Settings {
    present_mode: AutoVsync,
    backends: Backends(
        VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
    ),
    default_font: Font {
        family: Name(
            "Iosevka Term",
        ),
        weight: Normal,
        stretch: Normal,
        style: Normal,
    },
    default_text_size: Pixels(
        13.0,
    ),
    antialiasing: None,
}
20:09:34.518:INFO -- Available adapters: [
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "NVIDIA",
        driver_info: "566.14",
        backend: Vulkan,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "32.0.15.6614",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "Microsoft Basic Render Driver",
        vendor: 5140,
        device: 140,
        device_type: Cpu,
        driver: "10.0.22621.4249",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090/PCIe/SSE2",
        vendor: 4318,
        device: 0,
        device_type: Other,
        driver: "",
        driver_info: "4.6.0 NVIDIA 566.14",
        backend: Gl,
    },
]
20:09:34.599:INFO -- Selected: AdapterInfo {
    name: "NVIDIA GeForce RTX 3090",
    vendor: 4318,
    device: 8708,
    device_type: DiscreteGpu,
    driver: "NVIDIA",
    driver_info: "566.14",
    backend: Vulkan,
}
20:09:34.600:INFO -- Available formats: Copied {
    it: Iter(
        [
            Bgra8UnormSrgb,
            Rgba8UnormSrgb,
            Bgra8Unorm,
            Rgba8Unorm,
            Rgba16Float,
        ],
    ),
}
20:09:34.600:INFO -- Available alpha modes: [
    Opaque,
]
20:09:34.600:INFO -- Selected format: Bgra8UnormSrgb with alpha mode: Auto
20:09:34.702:INFO -- [DejaToons] connected
20:09:34.842:DEBUG -- loaded history for server on DejaToons: 9500 messages
20:09:34.843:DEBUG -- loaded history for logs: 9512 messages
20:09:35.093:DEBUG -- loaded metadata for server on DejaToons
20:09:38.980:INFO -- [DejaToons] capabilities acknowledged: userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix 
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: AWAYLEN(Some(307))
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: BOT('B')
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CASEMAPPING(ASCII)
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: CHANLIMIT([ChannelLimit { prefix: '#', limit: Some(30) }])
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CHANMODES([ChannelMode { letter: 'A', modes: "beIqa" }, ChannelMode { letter: 'B', modes: "kLf" }, ChannelMode { letter: 'C', modes: "lH" }, ChannelMode { letter: 'D', modes: "psmntirzMQNRTOVKDdGPZSCc" }])
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: CHANNELLEN(32)
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CHANTYPES(Some("#"))
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CLIENTTAGDENY([DenyAll, Allowed("draft/typing"), Allowed("typing")])
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: DEAF('d')
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: ELIST("MNUCT")
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: EXCEPTS('e')
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: EXTBAN(Some('~'), "ptmTSOcarnqjf")
20:09:39.021:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: HCN (unknown ISUPPORT parameter)
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: INVEX('I')
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: KICKLEN(307)
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: KNOCK
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAP
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAXCHANNELS(30)
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAXLIST([ModesLimit { modes: "b", limit: 60 }, ModesLimit { modes: "e", limit: 60 }, ModesLimit { modes: "I", limit: 60 }])
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: NICKLEN(30)
20:09:39.021:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: MINNICKLEN=0 (unknown ISUPPORT parameter)
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MODES(Some(12))
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: NAMESX
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: NETWORK("DejaToons")
20:09:39.021:INFO -- [DejaToons] adding ISUPPORT parameter: NICKLEN(30)
20:09:39.021:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: PREFIX([PrefixMap { prefix: '@', mode: 'o' }, PrefixMap { prefix: '%', mode: 'h' }, PrefixMap { prefix: '+', mode: 'v' }])
20:09:39.021:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: QUITLEN=307 (unknown ISUPPORT parameter)
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: SAFELIST
20:09:39.022:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: SILENCE(Some(15))
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: STATUSMSG("@%+")
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: TARGMAX([CommandTargetLimit { command: "DCCALLOW", limit: None }, CommandTargetLimit { command: "ISON", limit: None }, CommandTargetLimit { command: "JOIN", limit: None }, CommandTargetLimit { command: "KICK", limit: Some(4) }, CommandTargetLimit { command: "KILL", limit: None }, CommandTargetLimit { command: "LIST", limit: None }, CommandTargetLimit { command: "NAMES", limit: Some(1) }, CommandTargetLimit { command: "NOTICE", limit: Some(1) }, CommandTargetLimit { command: "PART", limit: None }, CommandTargetLimit { command: "PRIVMSG", limit: Some(4) }, CommandTargetLimit { command: "SAJOIN", limit: None }, CommandTargetLimit { command: "SAPART", limit: None }, CommandTargetLimit { command: "TAGMSG", limit: Some(1) }, CommandTargetLimit { command: "USERHOST", limit: None }, CommandTargetLimit { command: "USERIP", limit: None }, CommandTargetLimit { command: "WATCH", limit: None }, CommandTargetLimit { command: "WHOIS", limit: Some(1) }, CommandTargetLimit { command: "WHOWAS", limit: Some(1) }])
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: TOPICLEN(360)
20:09:39.022:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: UHNAMES
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: USERIP
20:09:39.022:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: WALLCHOPS (unknown ISUPPORT parameter)
20:09:39.022:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: WATCH(128)
20:09:39.022:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: WATCHOPTS=A (unknown ISUPPORT parameter)
20:09:39.022:INFO -- [DejaToons] adding ISUPPORT parameter: WHOX
20:09:39.223:DEBUG -- loaded metadata for user NickServ on DejaToons
20:09:44.244:DEBUG -- flushed history for server on DejaToons
20:09:44.247:DEBUG -- flushed history for user NickServ on DejaToons
20:09:57.654:DEBUG -- loaded history for user NickServ on DejaToons: 61 messages
20:09:57.654:DEBUG -- closed history for server on DejaToons
20:10:01.231:INFO -- dashboard saved
20:10:05.347:WARN -- message decoding failed: parsing failed: "@label=1736968205295370500;time=2025-01-15T19:10:06.259Z;msgid=nItu8PMsLLtxG1hFVtVnyH :[email protected] PRIVMSG NickServ :identify [removed password]\r\r\n"
20:10:05.447:INFO -- [DejaToons] logged in
20:10:05.547:DEBUG -- loaded metadata for user HostServ on DejaToons
20:10:11.271:DEBUG -- flushed history for user NickServ on DejaToons
20:10:11.273:DEBUG -- flushed history for server on DejaToons
20:10:11.273:DEBUG -- flushed history for user HostServ on DejaToons
20:10:12.511:WARN -- message decoding failed: parsing failed: "@batch=LTleD5MFnMqvnbrdetB73j;time=2025-01-15T19:10:13.425Z;msgid=YUijVh6CsCIS3vn16VlOE9-yYV11x6qccNNQMPHH69esg;account=lksaar :[email protected] JOIN #snip lksaar :lksaar\r\r\n"
20:10:12.608:DEBUG -- loaded metadata for channel #snip on DejaToons
20:10:17.724:DEBUG -- loaded history for server on DejaToons: 9601 messages
20:10:17.724:DEBUG -- closed history for user NickServ on DejaToons
20:10:18.298:DEBUG -- flushed history for server on DejaToons
20:10:18.299:DEBUG -- flushed history for channel #snip on DejaToons
20:10:20.118:DEBUG -- loaded history for channel #snip on DejaToons: 10000 messages
20:10:23.237:INFO -- dashboard saved
20:10:39.868:WARN -- message decoding failed: parsing failed: "@label=1736968239823252800;time=2025-01-15T19:10:40.781Z;msgid=tUuULGdoYTSq4mWNWuWto0-kdwL8DyFqso5uZYAyKEylQ;account=lksaar :[email protected] PART #snip\r\r\n"
20:10:54.783:DEBUG -- closed history for server on DejaToons
20:10:56.495:DEBUG -- closed history for channel #snip on DejaToons
20:11:00.240:INFO -- dashboard saved
20:12:34.510:DEBUG -- loaded history for server on DejaToons: 9603 messages
20:12:34.575:DEBUG -- closed history for logs
20:12:38.231:INFO -- dashboard saved
20:12:44.674:DEBUG -- loaded metadata for user SlappyPappy on DejaToons
20:12:44.710:WARN -- message decoding failed: parsing failed: "@label=1736968364670027400;time=2025-01-15T19:12:45.627Z;msgid=N2DLBSaw1c03rMHu5AL519;account=lksaar :[email protected] PRIVMSG SlappyPappy :shits fucked currently, i'll be back later\r\r\n"
20:12:46.732:DEBUG -- loaded history for user SlappyPappy on DejaToons: 0 messages
20:12:46.733:DEBUG -- closed history for server on DejaToons
20:12:48.728:INFO -- dashboard saved
20:12:48.729:DEBUG -- loaded metadata for logs
20:12:48.825:DEBUG -- closed history for channel #snip on DejaToons
20:12:48.825:DEBUG -- closed history for logs
20:12:48.825:DEBUG -- closed history for server on DejaToons
20:12:48.825:DEBUG -- closed history for user NickServ on DejaToons
20:12:48.825:DEBUG -- closed history for user HostServ on DejaToons
20:12:48.825:DEBUG -- closed history for user SlappyPappy on DejaToons
20:12:48.825:INFO -- [DejaToons] quit

config used:

# Halloy config.
#
# For a complete list of available options,
# please visit https://halloy.squidowl.org/configuration/index.html

theme="oxocarbon"

[buffer.internal_messages.success]
enabled = true
smart = 21600

[buffer.internal_messages.error]
enabled = true
smart = 21600

[buffer.server_messages.join]
enabled = true
smart = 600

[buffer.server_messages.part]
enabled = true 
smart = 600

[buffer.server_messages.quit]
enabled = true
smart = 600

[buffer.server_messages.change_host]
enabled = true 
smart = 600

[buffer.nickname]
alignment = "right"
brackets = { left = "", right = " |" }
show_access_levels = false 

[font]
size = 13

[sidebar]
default_action = "replace-pane"
width = 140 

[servers.DejaToons]
nickname = "lksaar"
username = "lksaar"
server = "irc.dejatoons.net"
dangerously_accept_invalid_certs=true
port = 6697

I had a similar issue on a different network once, I'll see if I can replicate it there later.

@casperstorm
Copy link
Member

If possible, could you try build the application from main branch? I have a feeling this is fixed with CASEMAPPING which recently was merged, but not yet released.

@trfunk
Copy link
Author

trfunk commented Jan 15, 2025

This seems to have worked, but every message sent by me is shown twice. Checking with another client this seems to be a display bug, cause on the other client I see the message only once. Messages from other users are also only displayed once.

log:

23:13:09.424:INFO -- halloy 2024.14 has started
23:13:09.425:INFO -- config dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
23:13:09.425:INFO -- data dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
23:13:09.456:WARN -- failed to load dashboard: decoding failed
23:13:09.655:INFO -- Settings {
    present_mode: AutoVsync,
    backends: Backends(
        VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
    ),
    default_font: Font {
        family: Name(
            "Iosevka Term",
        ),
        weight: Normal,
        stretch: Normal,
        style: Normal,
    },
    default_text_size: Pixels(
        13.0,
    ),
    antialiasing: None,
}
23:13:09.780:INFO -- Available adapters: [
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "NVIDIA",
        driver_info: "566.14",
        backend: Vulkan,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "32.0.15.6614",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090/PCIe/SSE2",
        vendor: 4318,
        device: 0,
        device_type: Other,
        driver: "",
        driver_info: "4.6.0 NVIDIA 566.14",
        backend: Gl,
    },
]
23:13:09.867:INFO -- Selected: AdapterInfo {
    name: "NVIDIA GeForce RTX 3090",
    vendor: 4318,
    device: 8708,
    device_type: DiscreteGpu,
    driver: "NVIDIA",
    driver_info: "566.14",
    backend: Vulkan,
}
23:13:09.868:INFO -- Available formats: Copied {
    it: Iter(
        [
            Bgra8UnormSrgb,
            Rgba8UnormSrgb,
            Bgra8Unorm,
            Rgba8Unorm,
            Rgba16Float,
        ],
    ),
}
23:13:09.868:INFO -- Available alpha modes: [
    Opaque,
]
23:13:09.868:INFO -- Selected format: Bgra8UnormSrgb with alpha mode: Auto
23:13:09.987:INFO -- [DejaToons] connected
23:13:11.745:DEBUG -- loaded metadata for server on DejaToons
23:13:11.746:DEBUG -- loaded metadata for logs
23:13:13.683:INFO -- [DejaToons] capabilities acknowledged: userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix 
23:13:16.395:DEBUG -- loaded history for server on DejaToons: 9603 messages
23:13:19.471:INFO -- dashboard saved
23:13:19.473:DEBUG -- flushed history for server on DejaToons
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: AWAYLEN(Some(307))
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: BOT('B')
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: CASEMAPPING(ASCII)
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: CHANLIMIT([ChannelLimit { prefix: '#', limit: Some(30) }])
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CHANMODES([ChannelMode { letter: 'A', modes: "beIqa" }, ChannelMode { letter: 'B', modes: "kLf" }, ChannelMode { letter: 'C', modes: "lH" }, ChannelMode { letter: 'D', modes: "psmntirzMQNRTOVKDdGPZSCc" }])
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: CHANNELLEN(32)
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: CHANTYPES(Some(['#']))
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: CLIENTTAGDENY([DenyAll, Allowed("draft/typing"), Allowed("typing")])
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: DEAF('d')
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: ELIST("MNUCT")
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: EXCEPTS('e')
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: EXTBAN(Some('~'), "ptmTSOcarnqjf")
23:13:25.610:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: HCN (unknown ISUPPORT parameter)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: INVEX('I')
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: KICKLEN(307)
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: KNOCK
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAP
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAXCHANNELS(30)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MAXLIST([ModesLimit { modes: "b", limit: 60 }, ModesLimit { modes: "e", limit: 60 }, ModesLimit { modes: "I", limit: 60 }])
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: NICKLEN(30)
23:13:25.610:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: MINNICKLEN=0 (unknown ISUPPORT parameter)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: MODES(Some(12))
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: NAMESX
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: NETWORK("DejaToons")
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: NICKLEN(30)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: PREFIX([PrefixMap { prefix: '@', mode: 'o' }, PrefixMap { prefix: '%', mode: 'h' }, PrefixMap { prefix: '+', mode: 'v' }])
23:13:25.610:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: QUITLEN=307 (unknown ISUPPORT parameter)
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: SAFELIST
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: SILENCE(Some(15))
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: STATUSMSG(['@', '%', '+'])
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: TARGMAX([CommandTargetLimit { command: "DCCALLOW", limit: None }, CommandTargetLimit { command: "ISON", limit: None }, CommandTargetLimit { command: "JOIN", limit: None }, CommandTargetLimit { command: "KICK", limit: Some(4) }, CommandTargetLimit { command: "KILL", limit: None }, CommandTargetLimit { command: "LIST", limit: None }, CommandTargetLimit { command: "NAMES", limit: Some(1) }, CommandTargetLimit { command: "NOTICE", limit: Some(1) }, CommandTargetLimit { command: "PART", limit: None }, CommandTargetLimit { command: "PRIVMSG", limit: Some(4) }, CommandTargetLimit { command: "SAJOIN", limit: None }, CommandTargetLimit { command: "SAPART", limit: None }, CommandTargetLimit { command: "TAGMSG", limit: Some(1) }, CommandTargetLimit { command: "USERHOST", limit: None }, CommandTargetLimit { command: "USERIP", limit: None }, CommandTargetLimit { command: "WATCH", limit: None }, CommandTargetLimit { command: "WHOIS", limit: Some(1) }, CommandTargetLimit { command: "WHOWAS", limit: Some(1) }])
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: TOPICLEN(360)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: UHNAMES
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: USERIP
23:13:25.610:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: WALLCHOPS (unknown ISUPPORT parameter)
23:13:25.610:DEBUG -- [DejaToons] ignoring ISUPPORT parameter: WATCH(128)
23:13:25.610:DEBUG -- [DejaToons] unable to parse ISUPPORT parameter: WATCHOPTS=A (unknown ISUPPORT parameter)
23:13:25.610:INFO -- [DejaToons] adding ISUPPORT parameter: WHOX
23:13:25.744:DEBUG -- loaded metadata for user NickServ on DejaToons
23:13:27.984:DEBUG -- loaded history for user NickServ on DejaToons: 0 messages
23:13:27.987:DEBUG -- closed history for server on DejaToons
23:13:31.459:INFO -- dashboard saved
23:13:31.459:DEBUG -- flushed history for user NickServ on DejaToons
23:13:55.558:INFO -- [DejaToons] logged in
23:13:55.560:DEBUG -- loaded metadata for user HostServ on DejaToons
23:14:01.520:DEBUG -- flushed history for user NickServ on DejaToons
23:14:01.521:DEBUG -- flushed history for user HostServ on DejaToons
23:14:01.522:DEBUG -- flushed history for server on DejaToons
23:14:02.766:DEBUG -- [DejaToons] #snip - WHO requested
23:14:02.864:DEBUG -- loaded metadata for channel #snip on DejaToons
23:14:03.003:DEBUG -- [DejaToons] #snip - WHO receiving...
23:14:03.003:DEBUG -- [DejaToons] #snip - WHO done
23:14:04.366:DEBUG -- closed history for user NickServ on DejaToons
23:14:04.377:DEBUG -- loaded history for channel #snip on DejaToons: 0 messages
23:14:07.459:INFO -- dashboard saved
23:14:08.458:DEBUG -- flushed history for channel #snip on DejaToons
23:14:21.177:DEBUG -- loaded history for user HostServ on DejaToons: 1 messages
23:14:21.177:DEBUG -- closed history for channel #snip on DejaToons
23:14:22.256:DEBUG -- loaded history for channel #snip on DejaToons: 5 messages
23:14:22.256:DEBUG -- closed history for user HostServ on DejaToons
23:14:25.458:INFO -- dashboard saved
23:15:00.460:DEBUG -- flushed history for channel #snip on DejaToons
23:15:58.460:DEBUG -- flushed history for channel #snip on DejaToons
23:16:27.926:DEBUG -- closed history for user HostServ on DejaToons
23:16:27.926:DEBUG -- closed history for server on DejaToons
23:16:27.926:DEBUG -- closed history for logs
23:16:27.926:DEBUG -- closed history for user NickServ on DejaToons
23:16:27.926:DEBUG -- closed history for channel #snip on DejaToons
23:16:27.926:INFO -- [DejaToons] quit

e: if i connect thru soju to the same channel, this behaviour does not appear

@andymandias
Copy link
Collaborator

I am assuming that duplicate messages means both copies of the same message have the same timestamp, correct? If possible, can you clear your history (move/delete C:\Users\-snip-\AppData\Roaming\halloy\history) and see if the duplicate sent messages issue persists going forward?

@trfunk
Copy link
Author

trfunk commented Jan 15, 2025

Yes, both have the same timestamp. I moved the history folder and the issue persists. I'm connected to the same channel thru a bouncer aswell this time, in case that is relevant. The first time I wasn't.

@GlobeDotters
Copy link

Having the same issue with the build I built myself from the main branch, wasn't always there but started happening coincidentally tonight. I am not using a bouncer though.

@andymandias
Copy link
Collaborator

Unfortunately I'm having trouble recreating duplicated sent messages; connecting to DejaToons, I'm only seeing messages appear once. Can I bother one of you to provide a log with trace logging turned on (by setting the environment variable RUST_LOG=trace)? As unredacted as possible, in particular I'm interested in: your nickname & channel name (to check for problems related to casemapping) and any reference to a message that is being duplicated (which I would expect to appear at least twice in the log). If it's preferable, a link to the log can be messaged to me on Libera (my nickname is andymandias) rather than posted here.

@trfunk
Copy link
Author

trfunk commented Jan 16, 2025

Something interesting happend, i could reliable reproduce it, until it somehow stopped (w/o changing anything). It stopped after I joined channel #abc and didn't occur afterwards again, even in #test. I attached a log with only my name, nickserv pass and initial hostmask removed:

(I want to point out that the message at 11:01:30.032 and 11:01:30.611 are me typing abc twice back to back to see if i could trigger it again. each message showed only once)

10:59:05.440:INFO -- halloy 2024.14 has started
10:59:05.441:INFO -- config dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
10:59:05.441:INFO -- data dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
10:59:05.601:INFO -- Settings {
    present_mode: AutoVsync,
    backends: Backends(
        VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
    ),
    default_font: Font {
        family: Name(
            "Iosevka Term",
        ),
        weight: Normal,
        stretch: Normal,
        style: Normal,
    },
    default_text_size: Pixels(
        13.0,
    ),
    antialiasing: None,
}
10:59:05.683:INFO -- Available adapters: [
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "NVIDIA",
        driver_info: "566.14",
        backend: Vulkan,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "32.0.15.6614",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090/PCIe/SSE2",
        vendor: 4318,
        device: 0,
        device_type: Other,
        driver: "",
        driver_info: "4.6.0 NVIDIA 566.14",
        backend: Gl,
    },
]
10:59:05.763:INFO -- Selected: AdapterInfo {
    name: "NVIDIA GeForce RTX 3090",
    vendor: 4318,
    device: 8708,
    device_type: DiscreteGpu,
    driver: "NVIDIA",
    driver_info: "566.14",
    backend: Vulkan,
}
10:59:05.764:INFO -- Available formats: Copied {
    it: Iter(
        [
            Bgra8UnormSrgb,
            Rgba8UnormSrgb,
            Bgra8Unorm,
            Rgba8Unorm,
            Rgba16Float,
        ],
    ),
}
10:59:05.764:INFO -- Available alpha modes: [
    Opaque,
]
10:59:05.764:INFO -- Selected format: Bgra8UnormSrgb with alpha mode: Auto
10:59:05.775:INFO -- [DejaToons2] connected
10:59:06.034:DEBUG -- loaded history for user NickServ on DejaToons2: 0 messages
10:59:06.035:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: NOTICE("*", "*** Looking up your hostname...") }
10:59:06.126:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: NOTICE("*", "*** Found your hostname (cached)") }
10:59:06.126:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: NOTICE("*", "*** Checking ident...") }
10:59:06.130:DEBUG -- loaded metadata for server on DejaToons2
10:59:06.130:DEBUG -- loaded metadata for logs
10:59:09.104:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: NOTICE("*", "*** No ident response; username prefixed with ~") }
10:59:09.241:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: CAP(Some("*"), "LS", Some("unrealircd.org/link-security=2 unrealircd.org/plaintext-policy=user=allow,oper=deny,server=deny extended-join chghost cap-notify userhost-in-names multi-prefix away-notify sasl=EXTERNAL,PLAIN tls account-notify message-tags batch account-tag server-time echo-message labeled-response"), None) }
10:59:09.423:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: CAP(Some("lksaar_"), "ACK", Some("userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix "), None) }
10:59:09.423:INFO -- [DejaToons2] capabilities acknowledged: userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix 
10:59:09.514:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_WELCOME, ["lksaar_", "Welcome to the DejaToons IRC Network [email protected]"]) }
10:59:09.514:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_YOURHOST, ["lksaar_", "Your host is atarians.dejatoons.net, running version UnrealIRCd-5.0.7"]) }
10:59:09.514:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_CREATED, ["lksaar_", "This server was created Mon Apr 12 2021 at 19:36:00 EDT"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MYINFO, ["lksaar_", "atarians.dejatoons.net", "UnrealIRCd-5.0.7", "iowrsxzdHtIDZRqpWGTSB", "lvhopsmntikraqbeIHzMQNRTOVKDdGLPZSCcf"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "AWAYLEN=307", "BOT=B", "CASEMAPPING=ascii", "CHANLIMIT=#:30", "CHANMODES=beIqa,kLf,lH,psmntirzMQNRTOVKDdGPZSCc", "CHANNELLEN=32", "CHANTYPES=#", "CLIENTTAGDENY=*,-draft/typing,-typing", "DEAF=d", "ELIST=MNUCT", "EXCEPTS", "EXTBAN=~,ptmTSOcarnqjf", "are supported by this server"]) }
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: AWAYLEN(Some(307))
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: BOT('B')
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: CASEMAPPING(ASCII)
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANLIMIT([ChannelLimit { prefix: '#', limit: Some(30) }])
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CHANMODES([ChannelMode { letter: 'A', modes: "beIqa" }, ChannelMode { letter: 'B', modes: "kLf" }, ChannelMode { letter: 'C', modes: "lH" }, ChannelMode { letter: 'D', modes: "psmntirzMQNRTOVKDdGPZSCc" }])
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANNELLEN(32)
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANTYPES(Some(['#']))
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CLIENTTAGDENY([DenyAll, Allowed("draft/typing"), Allowed("typing")])
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: DEAF('d')
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: ELIST("MNUCT")
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXCEPTS('e')
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXTBAN(Some('~'), "ptmTSOcarnqjf")
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "HCN", "INVEX", "KICKLEN=307", "KNOCK", "MAP", "MAXCHANNELS=30", "MAXLIST=b:60,e:60,I:60", "MAXNICKLEN=30", "MINNICKLEN=0", "MODES=12", "NAMESX", "NETWORK=DejaToons", "are supported by this server"]) }
10:59:09.515:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: HCN (unknown ISUPPORT parameter)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: INVEX('I')
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: KICKLEN(307)
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: KNOCK
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAP
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXCHANNELS(30)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXLIST([ModesLimit { modes: "b", limit: 60 }, ModesLimit { modes: "e", limit: 60 }, ModesLimit { modes: "I", limit: 60 }])
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
10:59:09.515:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: MINNICKLEN=0 (unknown ISUPPORT parameter)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MODES(Some(12))
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NAMESX
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NETWORK("DejaToons")
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "NICKLEN=30", "PREFIX=(ohv)@%+", "QUITLEN=307", "SAFELIST", "SILENCE=15", "STATUSMSG=@%+", "TARGMAX=DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1", "TOPICLEN=360", "UHNAMES", "USERIP", "WALLCHOPS", "WATCH=128", "are supported by this server"]) }
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: PREFIX([PrefixMap { prefix: '@', mode: 'o' }, PrefixMap { prefix: '%', mode: 'h' }, PrefixMap { prefix: '+', mode: 'v' }])
10:59:09.515:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: QUITLEN=307 (unknown ISUPPORT parameter)
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: SAFELIST
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: SILENCE(Some(15))
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: STATUSMSG(['@', '%', '+'])
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: TARGMAX([CommandTargetLimit { command: "DCCALLOW", limit: None }, CommandTargetLimit { command: "ISON", limit: None }, CommandTargetLimit { command: "JOIN", limit: None }, CommandTargetLimit { command: "KICK", limit: Some(4) }, CommandTargetLimit { command: "KILL", limit: None }, CommandTargetLimit { command: "LIST", limit: None }, CommandTargetLimit { command: "NAMES", limit: Some(1) }, CommandTargetLimit { command: "NOTICE", limit: Some(1) }, CommandTargetLimit { command: "PART", limit: None }, CommandTargetLimit { command: "PRIVMSG", limit: Some(4) }, CommandTargetLimit { command: "SAJOIN", limit: None }, CommandTargetLimit { command: "SAPART", limit: None }, CommandTargetLimit { command: "TAGMSG", limit: Some(1) }, CommandTargetLimit { command: "USERHOST", limit: None }, CommandTargetLimit { command: "USERIP", limit: None }, CommandTargetLimit { command: "WATCH", limit: None }, CommandTargetLimit { command: "WHOIS", limit: Some(1) }, CommandTargetLimit { command: "WHOWAS", limit: Some(1) }])
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: TOPICLEN(360)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: UHNAMES
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: USERIP
10:59:09.515:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WALLCHOPS (unknown ISUPPORT parameter)
10:59:09.515:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: WATCH(128)
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "WATCHOPTS=A", "WHOX", "are supported by this server"]) }
10:59:09.515:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WATCHOPTS=A (unknown ISUPPORT parameter)
10:59:09.515:INFO -- [DejaToons2] adding ISUPPORT parameter: WHOX
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Unknown("396", ["lksaar_", "deja-697667F1.um10.pools.vodafone-ip.de", "is now your displayed host"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: NOTICE("lksaar_", "*** You are connected to atarians.dejatoons.net with TLSv1.3-TLS_CHACHA20_POLY1305_SHA256") }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LUSERCLIENT, ["lksaar_", "There are 1 users and 604 invisible on 4 servers"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LUSEROP, ["lksaar_", "45", "operator(s) online"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LUSERCHANNELS, ["lksaar_", "61", "channels formed"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LUSERME, ["lksaar_", "I have 187 clients and 2 servers"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LOCALUSERS, ["lksaar_", "187", "266", "Current local users 187, max 266"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_GLOBALUSERS, ["lksaar_", "605", "652", "Current global users 605, max 652"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTDSTART, ["lksaar_", "- atarians.dejatoons.net Message of the Day - "]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- 3/11/2021 12:44"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Welcome to the DejaToons Network"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All network servers are accessible via irc.dejatoons.net"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -                                    "]) }
10:59:09.515:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -          Website:  http://www.dejatoons.net"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Network help channel:  /join #help"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Most ports between 6665-7002 are available."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SSL/TLS is available on ports 6601, 6697 and 7777."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SASL nickname authentication is also available."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Network Rules:"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Excessive Connections (Cloning)."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Automated Downloading/Queing/XDCC Catching Scripts."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No War Bots or War Scripts."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Bottler, Litmus, or IRC-ORK Clients."]) }
10:59:09.516:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Botnets."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Unauthorized XDCC bots - Join #help for more details."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Open proxies or BNC's."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Spamming, Mass Advertising or spreading Viruses/Trojans."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Nuking or DoS (Denial of Services) attacks."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Harrassment of fellow users."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pornography."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Flooding."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Warez, XDCC, or Beta (illegal/copyrighted software/media) channels. "]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pre-release or Illegal movies, MP3's or Software."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Any channel or user found breaking these rules (and who fail"]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - to take action to correct the situation) will be removed from"]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - the network.  If you feel you were unfairly terminated you may"]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - post a message at the network forum in the correct section."]) }
10:59:09.609:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All complaints or logs presented MUST include timestamps."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Upon connecting to this network, your system will be scanned"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - for the presence of an insecure proxies and unwanted or"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - infected clients and scripts.  Please do not view this as an"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - attack."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - If you do not understand, disagree with this MOTD or disagree "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - with any of our network rules, please DISCONNECT NOW. "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Otherwise, the following applies:"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You agree that you are a guest on a private system and use "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- of this server and network is a priviledge, NOT a right.  "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- This privilege can be revoked at ANY time for ANY reason. "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Further you accept that you have no claim to any data "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- maintained by Dejatoons that you have used."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You also agree that by using Dejatoons, you may be exposed "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- to offensive, indecent or objectionable content. Under no"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- circumstances will DejaToons be liable in any way for any "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- content, including, but not limited to, for any errors or "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- omissions in any content, or for any loss or damage of any "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- kind incurred as a result of the use of any content posted, "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- emailed, transmitted or otherwise made available via "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Dejatoons. "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- IRC is an unmoderated medium. You agree that you, and only"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- you are responsible for your own actions.  You also agree"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- that the network staff is NOT responsible for the content "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- found on this network or server, except what is done through"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- their own actions."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Bottom line...if you can exercise a little common sense and  "]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - follow the rules everything should be fine."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFMOTD, ["lksaar_", "End of /MOTD command."]) }
10:59:09.610:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: None, hostname: None })), command: MODE("lksaar_", Some("+iwxz"), Some([])) }
10:59:09.755:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T09:59:12.493Z") }, Tag { key: "msgid", value: Some("A177DVf4DKo6TnFUeqRWi8") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "This nickname is registered and protected.  If it is your") }
10:59:09.755:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T09:59:12.493Z") }, Tag { key: "msgid", value: Some("GJWTsVK88UYHWd4GMJQuzr") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "nick, type \u{2}/msg NickServ IDENTIFY \u{1f}password\u{1f}\u{2}.  Otherwise,") }
10:59:09.755:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T09:59:12.493Z") }, Tag { key: "msgid", value: Some("Bl1zpJjbhny9afvS2JqsQl") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "please choose a different nick.") }
10:59:15.453:DEBUG -- flushed history for user NickServ on DejaToons2
10:59:15.454:DEBUG -- flushed history for server on DejaToons2
10:59:20.250:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021560152825800") }, Tag { key: "time", value: Some("2025-01-16T09:59:23.229Z") }, Tag { key: "msgid", value: Some("CbU7ApIQiEQSND5yZvYPia") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: PRIVMSG("NickServ", "identify -snip-") }
10:59:20.393:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T09:59:23.229Z") }, Tag { key: "msgid", value: Some("oLkiNwEr6tsIuc9USMTSB7") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Password accepted - you are now recognized.") }
10:59:20.393:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LOGGEDIN, ["lksaar_", "[email protected]", "lksaar", "You are now logged in as lksaar."]) }
10:59:20.393:INFO -- [DejaToons2] logged in
10:59:20.393:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: CHGHOST("~lksaar", "onwards.and.upwards") }
10:59:20.393:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Unknown("396", ["lksaar_", "onwards.and.upwards", "is now your displayed host"]) }
10:59:20.393:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T09:59:23.229Z") }, Tag { key: "msgid", value: Some("Ba6J3tVHfcub79jy0xz74t") }], source: Some(User(User { nickname: "HostServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Your vhost of \u{2}onwards.and.upwards\u{2} is now activated.") }
10:59:20.393:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "NickServ", username: None, hostname: None })), command: MODE("lksaar_", Some("+r"), Some([])) }
10:59:20.394:DEBUG -- loaded metadata for user HostServ on DejaToons2
10:59:25.452:DEBUG -- flushed history for user NickServ on DejaToons2
10:59:25.453:DEBUG -- flushed history for user HostServ on DejaToons2
10:59:25.453:DEBUG -- flushed history for server on DejaToons2
10:59:28.550:WARN -- message decoding failed: parsing failed: "@batch=fLkJUzEFtTRvPUcZq7zFPD;time=2025-01-16T09:59:31.526Z;msgid=DVWCGHsDheIYlbn0JghxdF-KPRYjZhmCa3ZReibvMIrgw :atarians.dejatoons.net MODE #test +nt \r\n"
10:59:28.550:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021568459614300") }], source: Some(Server("atarians.dejatoons.net")), command: BATCH("+fLkJUzEFtTRvPUcZq7zFPD", ["labeled-response"]) }
10:59:28.550:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("fLkJUzEFtTRvPUcZq7zFPD") }, Tag { key: "time", value: Some("2025-01-16T09:59:31.526Z") }, Tag { key: "msgid", value: Some("DVWCGHsDheIYlbn0JghxdF-aG8K+8dGhunnHcbhQcmlQg") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: JOIN("#test", Some("lksaar")) }
10:59:28.550:DEBUG -- [DejaToons2] #test - WHO requested
10:59:28.644:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("fLkJUzEFtTRvPUcZq7zFPD") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_NAMREPLY, ["lksaar_", "=", "#test", "@[email protected]"]) }
10:59:28.644:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("fLkJUzEFtTRvPUcZq7zFPD") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFNAMES, ["lksaar_", "#test", "End of /NAMES list."]) }
10:59:28.644:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: BATCH("-fLkJUzEFtTRvPUcZq7zFPD", []) }
10:59:28.644:DEBUG -- loaded metadata for channel #test on DejaToons2
10:59:28.782:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_WHOSPCRPL, ["lksaar_", "9", "#test", "lksaar_", "Hrs@", "lksaar"]) }
10:59:28.782:DEBUG -- [DejaToons2] #test - WHO receiving...
10:59:28.782:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFWHO, ["lksaar_", "#test", "End of /WHO list."]) }
10:59:28.782:DEBUG -- [DejaToons2] #test - WHO done
10:59:30.428:DEBUG -- loaded history for channel #test on DejaToons2: 0 messages
10:59:30.428:DEBUG -- closed history for user NickServ on DejaToons2
10:59:33.243:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021573149607600") }, Tag { key: "time", value: Some("2025-01-16T09:59:36.219Z") }, Tag { key: "msgid", value: Some("OAoEgQW8MrXS4oL4ahCAtu") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 1") }
10:59:33.452:INFO -- dashboard saved
10:59:35.231:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021575142514200") }, Tag { key: "time", value: Some("2025-01-16T09:59:38.210Z") }, Tag { key: "msgid", value: Some("scGoD4Q7emto9PEpOJRFYD") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 2") }
10:59:37.319:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021577227527900") }, Tag { key: "time", value: Some("2025-01-16T09:59:40.295Z") }, Tag { key: "msgid", value: Some("SwXL9oWetS40bocXqCwfyv") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 3") }
10:59:39.290:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021579198487300") }, Tag { key: "time", value: Some("2025-01-16T09:59:42.268Z") }, Tag { key: "msgid", value: Some("5m2aWPKRY4EWkybqsSyiED") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 4") }
10:59:41.761:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021581669622600") }, Tag { key: "time", value: Some("2025-01-16T09:59:44.739Z") }, Tag { key: "msgid", value: Some("4yjlXaqEYM28oh20lmtckf") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 5") }
10:59:44.805:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021584698404500") }, Tag { key: "time", value: Some("2025-01-16T09:59:47.775Z") }, Tag { key: "msgid", value: Some("bjEj44Xom1EVeEmNOwjv0V") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 6") }
10:59:47.126:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021587024403200") }, Tag { key: "time", value: Some("2025-01-16T09:59:50.103Z") }, Tag { key: "msgid", value: Some("k6SDCKG5ZRJDNnQ1kZJTAo") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 7") }
10:59:50.134:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021590042388500") }, Tag { key: "time", value: Some("2025-01-16T09:59:53.113Z") }, Tag { key: "msgid", value: Some("r4LwVMOtVKqStiRxLyI4IJ") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 8") }
10:59:52.576:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021592483395800") }, Tag { key: "time", value: Some("2025-01-16T09:59:55.554Z") }, Tag { key: "msgid", value: Some("45YB1daDRyVZiNKiYHCoTr") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 9") }
10:59:55.717:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021595627355100") }, Tag { key: "time", value: Some("2025-01-16T09:59:58.695Z") }, Tag { key: "msgid", value: Some("LWrwJiVce2G5IeJhRlz8Z6") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "message 10") }
11:00:00.799:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021600697206700") }], source: Some(Server("atarians.dejatoons.net")), command: BATCH("+Zr3z6YbBhWdswo2L2npWh2", ["labeled-response"]) }
11:00:00.799:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("Zr3z6YbBhWdswo2L2npWh2") }, Tag { key: "time", value: Some("2025-01-16T10:00:03.777Z") }, Tag { key: "msgid", value: Some("vQJFVtldmUbdKwWa58RBmW") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: None, hostname: None })), command: NICK("example") }
11:00:00.799:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("Zr3z6YbBhWdswo2L2npWh2") }], source: Some(Server("atarians.dejatoons.net")), command: MODE("example", Some("-r"), Some([])) }
11:00:00.799:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: BATCH("-Zr3z6YbBhWdswo2L2npWh2", []) }
11:00:06.453:DEBUG -- flushed history for channel #test on DejaToons2
11:00:06.454:DEBUG -- flushed history for user HostServ on DejaToons2
11:00:06.454:DEBUG -- flushed history for user NickServ on DejaToons2
11:00:06.734:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021606640371100") }, Tag { key: "time", value: Some("2025-01-16T10:00:09.712Z") }, Tag { key: "msgid", value: Some("5i0mHOm7zmf1wHlmeRcJea") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "abc 1") }
11:00:08.261:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021608170147000") }, Tag { key: "time", value: Some("2025-01-16T10:00:11.238Z") }, Tag { key: "msgid", value: Some("rd0v1ZNwXxw1w8tv2FZD0m") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "abc 2") }
11:00:11.960:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021611869192600") }, Tag { key: "time", value: Some("2025-01-16T10:00:14.938Z") }, Tag { key: "msgid", value: Some("08a4gPNqhyLmbUuHngzX2V") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "abc3") }
11:00:15.958:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021615865046200") }, Tag { key: "time", value: Some("2025-01-16T10:00:18.936Z") }, Tag { key: "msgid", value: Some("caKcQPj6Xe3FktRQVKtVgp") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "abc4") }
11:00:19.221:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021619128008900") }, Tag { key: "time", value: Some("2025-01-16T10:00:22.199Z") }, Tag { key: "msgid", value: Some("vCU44Lw3apM5MrggEJurqg") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "abc5") }
11:00:24.453:DEBUG -- flushed history for channel #test on DejaToons2
11:00:25.919:WARN -- message decoding failed: parsing failed: "@batch=w7WRHUM3czZ0542f7pcc3c;time=2025-01-16T10:00:28.895Z;msgid=SKwJxn4imfL0H4enMZDboa-HnYcdWBuoGbeNdyvaVdl1Q :atarians.dejatoons.net MODE #abc +nt \r\n"
11:00:25.919:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021625817929400") }], source: Some(Server("atarians.dejatoons.net")), command: BATCH("+w7WRHUM3czZ0542f7pcc3c", ["labeled-response"]) }
11:00:25.919:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("w7WRHUM3czZ0542f7pcc3c") }, Tag { key: "time", value: Some("2025-01-16T10:00:28.895Z") }, Tag { key: "msgid", value: Some("SKwJxn4imfL0H4enMZDboa-sDvE0fM979x5DyJfsNSctw") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: JOIN("#abc", Some("lksaar")) }
11:00:25.919:DEBUG -- [DejaToons2] #abc - WHO requested
11:00:26.011:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("w7WRHUM3czZ0542f7pcc3c") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_NAMREPLY, ["example", "=", "#abc", "@[email protected]"]) }
11:00:26.011:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("w7WRHUM3czZ0542f7pcc3c") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFNAMES, ["example", "#abc", "End of /NAMES list."]) }
11:00:26.011:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: BATCH("-w7WRHUM3czZ0542f7pcc3c", []) }
11:00:26.012:DEBUG -- loaded metadata for channel #abc on DejaToons2
11:00:26.162:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_WHOSPCRPL, ["example", "9", "#abc", "example", "Hs@", "lksaar"]) }
11:00:26.162:DEBUG -- [DejaToons2] #abc - WHO receiving...
11:00:26.162:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFWHO, ["example", "#abc", "End of /WHO list."]) }
11:00:26.162:DEBUG -- [DejaToons2] #abc - WHO done
11:00:35.351:DEBUG -- loaded history for channel #abc on DejaToons2: 0 messages
11:00:35.351:DEBUG -- closed history for channel #test on DejaToons2
11:00:38.556:INFO -- dashboard saved
11:00:40.126:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021640034884200") }, Tag { key: "time", value: Some("2025-01-16T10:00:40.000Z") }, Tag { key: "msgid", value: Some("dnidKvMYSaRlKtsuWnbgX2") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "channel test 1") }
11:00:44.537:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021644440025500") }, Tag { key: "time", value: Some("2025-01-16T10:00:44.407Z") }, Tag { key: "msgid", value: Some("SX048xdqwRO4S0cNsAebCb") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "channel test 2") }
11:00:49.209:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021649092647100") }, Tag { key: "time", value: Some("2025-01-16T10:00:49.055Z") }, Tag { key: "msgid", value: Some("UGwDjeuldwpa9GjjrYoRtY") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "interesting") }
11:00:54.557:DEBUG -- flushed history for channel #abc on DejaToons2
11:01:03.053:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021662956440000") }, Tag { key: "time", value: Some("2025-01-16T10:01:02.923Z") }, Tag { key: "msgid", value: Some("1TUwkY898ymSatJ1gRoE12") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "now") }
11:01:08.557:DEBUG -- flushed history for channel #abc on DejaToons2
11:01:10.333:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021670243420900") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(ERR_UNKNOWNCOMMAND, ["example", "TEST", "Unknown command"]) }
11:01:15.559:DEBUG -- flushed history for server on DejaToons2
11:01:16.018:WARN -- message decoding failed: parsing failed: "@batch=yPbik7n9hkAlEFoyNBkMyd;time=2025-01-16T10:01:15.891Z;msgid=KfyrcaQq4jtVV2Cq05P83X-7Fs496aKuQuUPE8GAAC6xA :atarians.dejatoons.net MODE #def +nt \r\n"
11:01:16.018:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021675927438900") }], source: Some(Server("atarians.dejatoons.net")), command: BATCH("+yPbik7n9hkAlEFoyNBkMyd", ["labeled-response"]) }
11:01:16.018:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("yPbik7n9hkAlEFoyNBkMyd") }, Tag { key: "time", value: Some("2025-01-16T10:01:15.891Z") }, Tag { key: "msgid", value: Some("KfyrcaQq4jtVV2Cq05P83X-QBjuaFjiAfhd2Nne2BeRJA") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: JOIN("#def", Some("lksaar")) }
11:01:16.018:DEBUG -- [DejaToons2] #def - WHO requested
11:01:16.112:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("yPbik7n9hkAlEFoyNBkMyd") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_NAMREPLY, ["example", "=", "#def", "@[email protected]"]) }
11:01:16.112:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("yPbik7n9hkAlEFoyNBkMyd") }], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFNAMES, ["example", "#def", "End of /NAMES list."]) }
11:01:16.112:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: BATCH("-yPbik7n9hkAlEFoyNBkMyd", []) }
11:01:16.113:DEBUG -- loaded metadata for channel #def on DejaToons2
11:01:16.247:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_WHOSPCRPL, ["example", "9", "#def", "example", "Hs@", "lksaar"]) }
11:01:16.247:DEBUG -- [DejaToons2] #def - WHO receiving...
11:01:16.247:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_ENDOFWHO, ["example", "#def", "End of /WHO list."]) }
11:01:16.247:DEBUG -- [DejaToons2] #def - WHO done
11:01:17.780:DEBUG -- loaded history for channel #def on DejaToons2: 0 messages
11:01:17.780:DEBUG -- closed history for channel #abc on DejaToons2
11:01:19.342:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021679253355700") }, Tag { key: "time", value: Some("2025-01-16T10:01:19.215Z") }, Tag { key: "msgid", value: Some("9KrMhVGMCNEM0Bu7O7qCFa") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#def", "123") }
11:01:21.171:DEBUG -- loaded history for channel #test on DejaToons2: 31 messages
11:01:21.173:DEBUG -- closed history for channel #def on DejaToons2
11:01:24.557:INFO -- dashboard saved
11:01:27.814:DEBUG -- loaded history for channel #abc on DejaToons2: 4 messages
11:01:27.815:DEBUG -- closed history for channel #test on DejaToons2
11:01:30.032:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021689921169900") }, Tag { key: "time", value: Some("2025-01-16T10:01:29.905Z") }, Tag { key: "msgid", value: Some("B2XUpnBqvIccQaXkgxEfMZ") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "abc") }
11:01:30.611:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021690519222900") }, Tag { key: "time", value: Some("2025-01-16T10:01:30.483Z") }, Tag { key: "msgid", value: Some("1yzdw1bEuk7aqXgbif4lqI") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#abc", "abc") }
11:01:31.555:INFO -- dashboard saved
11:01:36.556:DEBUG -- flushed history for channel #abc on DejaToons2
11:01:42.443:DEBUG -- loaded history for channel #test on DejaToons2: 31 messages
11:01:42.443:DEBUG -- closed history for channel #abc on DejaToons2
11:01:45.555:INFO -- dashboard saved
11:02:08.880:TRACE -- [DejaToons2] ping sent: 1737021728880974000
11:02:08.977:TRACE -- [DejaToons2] pong received: 1737021728880974000
11:02:35.606:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021755509332700") }, Tag { key: "time", value: Some("2025-01-16T10:02:35.489Z") }, Tag { key: "msgid", value: Some("MJMwD2EoSIK0W0YoXkVM58") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "example", username: None, hostname: None })), command: NICK("lksaar_") }
11:02:35.742:TRACE -- Message received => Message { tags: [], source: Some(Server("atarians.dejatoons.net")), command: Numeric(RPL_LOGGEDIN, ["lksaar_", "[email protected]", "lksaar", "You are now logged in as lksaar."]) }
11:02:35.742:INFO -- [DejaToons2] logged in
11:02:35.742:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "NickServ", username: None, hostname: None })), command: MODE("lksaar_", Some("+r"), Some([])) }
11:02:40.309:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737021760219213100") }, Tag { key: "time", value: Some("2025-01-16T10:02:40.198Z") }, Tag { key: "msgid", value: Some("wMtdDV1JOJ7pfbqq7PzfEh") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "123") }
11:02:41.557:DEBUG -- flushed history for user HostServ on DejaToons2
11:02:41.557:DEBUG -- flushed history for channel #def on DejaToons2
11:02:41.557:DEBUG -- flushed history for user NickServ on DejaToons2
11:02:41.557:DEBUG -- flushed history for server on DejaToons2
11:02:41.558:DEBUG -- flushed history for channel #abc on DejaToons2
11:02:45.556:DEBUG -- flushed history for channel #test on DejaToons2
11:02:52.215:DEBUG -- loaded history for user HostServ on DejaToons2: 3 messages
11:02:52.215:DEBUG -- closed history for channel #test on DejaToons2
11:02:53.856:DEBUG -- loaded history for channel #test on DejaToons2: 33 messages
11:02:53.858:DEBUG -- closed history for user HostServ on DejaToons2
11:02:54.839:DEBUG -- loaded history for channel #def on DejaToons2: 2 messages
11:02:54.839:DEBUG -- closed history for channel #test on DejaToons2
11:02:55.803:DEBUG -- loaded history for channel #abc on DejaToons2: 7 messages
11:02:55.804:DEBUG -- closed history for channel #def on DejaToons2
11:02:59.555:INFO -- dashboard saved
11:03:23.346:DEBUG -- closed history for user HostServ on DejaToons2
11:03:23.346:DEBUG -- closed history for channel #def on DejaToons2
11:03:23.346:DEBUG -- closed history for channel #test on DejaToons2
11:03:23.346:DEBUG -- closed history for user NickServ on DejaToons2
11:03:23.346:DEBUG -- closed history for server on DejaToons2
11:03:23.346:DEBUG -- closed history for logs
11:03:23.346:DEBUG -- closed history for channel #abc on DejaToons2
11:03:23.346:INFO -- [DejaToons2] quit

how the duplicate messages look:
halloy

@trfunk
Copy link
Author

trfunk commented Jan 16, 2025

I can reproduce this again by setting my system clock to 10:15. It does not seem to happen after 11:00AM. I assume there's some time it start happening again.

@trfunk
Copy link
Author

trfunk commented Jan 16, 2025

I think this might be some kind of timing issue, tho I have no idea why it fixed itself magically at 11:00 AM. My clock was always set to automatic by windows (before I started testing here):

11:30:52.218:INFO -- halloy 2024.14 has started
11:30:52.219:INFO -- config dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
11:30:52.219:INFO -- data dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
11:30:52.371:INFO -- Settings {
    present_mode: AutoVsync,
    backends: Backends(
        VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
    ),
    default_font: Font {
        family: Name(
            "Iosevka Term",
        ),
        weight: Normal,
        stretch: Normal,
        style: Normal,
    },
    default_text_size: Pixels(
        13.0,
    ),
    antialiasing: None,
}
11:30:52.415:INFO -- [DejaToons2] connected
11:30:52.454:INFO -- Available adapters: [
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "NVIDIA",
        driver_info: "566.14",
        backend: Vulkan,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "32.0.15.6614",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090/PCIe/SSE2",
        vendor: 4318,
        device: 0,
        device_type: Other,
        driver: "",
        driver_info: "4.6.0 NVIDIA 566.14",
        backend: Gl,
    },
]
11:30:52.542:INFO -- Selected: AdapterInfo {
    name: "NVIDIA GeForce RTX 3090",
    vendor: 4318,
    device: 8708,
    device_type: DiscreteGpu,
    driver: "NVIDIA",
    driver_info: "566.14",
    backend: Vulkan,
}
11:30:52.544:INFO -- Available formats: Copied {
    it: Iter(
        [
            Bgra8UnormSrgb,
            Rgba8UnormSrgb,
            Bgra8Unorm,
            Rgba8Unorm,
            Rgba16Float,
        ],
    ),
}
11:30:52.544:INFO -- Available alpha modes: [
    Opaque,
]
11:30:52.544:INFO -- Selected format: Bgra8UnormSrgb with alpha mode: Auto
11:30:52.818:DEBUG -- loaded history for channel #test on DejaToons2: 0 messages
11:30:52.818:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: NOTICE("*", "*** Looking up your hostname...") }
11:30:52.910:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: NOTICE("*", "*** Found your hostname (cached)") }
11:30:52.910:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: NOTICE("*", "*** Checking ident...") }
11:30:52.914:DEBUG -- loaded metadata for server on DejaToons2
11:30:52.914:DEBUG -- loaded metadata for logs
11:30:56.174:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: NOTICE("*", "*** No ident response; username prefixed with ~") }
11:30:56.263:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: CAP(Some("*"), "LS", Some("unrealircd.org/link-security=2 unrealircd.org/plaintext-policy=user=allow,oper=deny,server=warn extended-join chghost cap-notify userhost-in-names multi-prefix away-notify sasl=EXTERNAL,PLAIN tls account-notify message-tags batch account-tag server-time echo-message labeled-response"), None) }
11:30:56.388:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: CAP(Some("lksaar_"), "ACK", Some("userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix "), None) }
11:30:56.388:INFO -- [DejaToons2] capabilities acknowledged: userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch labeled-response echo-message sasl multi-prefix 
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_WELCOME, ["lksaar_", "Welcome to the DejaToons IRC Network lksaar_!~lksaar@[removed hostmask]"]) }
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_YOURHOST, ["lksaar_", "Your host is cotterpin.dejatoons.net, running version UnrealIRCd-5.0.7"]) }
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_CREATED, ["lksaar_", "This server was created Thu Dec 28 2023 at 04:36:15 CET"]) }
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MYINFO, ["lksaar_", "cotterpin.dejatoons.net", "UnrealIRCd-5.0.7", "iowrsxzdHtIDZRqpWGTSB", "lvhopsmntikraqbeIHzMQNRTOVKDdGLPZSCcf"]) }
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "AWAYLEN=307", "BOT=B", "CASEMAPPING=ascii", "CHANLIMIT=#:30", "CHANMODES=beIqa,kLf,lH,psmntirzMQNRTOVKDdGPZSCc", "CHANNELLEN=32", "CHANTYPES=#", "CLIENTTAGDENY=*,-draft/typing,-typing", "DEAF=d", "ELIST=MNUCT", "EXCEPTS", "EXTBAN=~,ptmTSOcarnqjf", "are supported by this server"]) }
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: AWAYLEN(Some(307))
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: BOT('B')
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: CASEMAPPING(ASCII)
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANLIMIT([ChannelLimit { prefix: '#', limit: Some(30) }])
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CHANMODES([ChannelMode { letter: 'A', modes: "beIqa" }, ChannelMode { letter: 'B', modes: "kLf" }, ChannelMode { letter: 'C', modes: "lH" }, ChannelMode { letter: 'D', modes: "psmntirzMQNRTOVKDdGPZSCc" }])
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANNELLEN(32)
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANTYPES(Some(['#']))
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CLIENTTAGDENY([DenyAll, Allowed("draft/typing"), Allowed("typing")])
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: DEAF('d')
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: ELIST("MNUCT")
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXCEPTS('e')
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXTBAN(Some('~'), "ptmTSOcarnqjf")
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "HCN", "INVEX", "KICKLEN=307", "KNOCK", "MAP", "MAXCHANNELS=30", "MAXLIST=b:60,e:60,I:60", "MAXNICKLEN=30", "MINNICKLEN=0", "MODES=12", "NAMESX", "NETWORK=DejaToons", "are supported by this server"]) }
11:30:56.428:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: HCN (unknown ISUPPORT parameter)
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: INVEX('I')
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: KICKLEN(307)
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: KNOCK
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAP
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXCHANNELS(30)
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXLIST([ModesLimit { modes: "b", limit: 60 }, ModesLimit { modes: "e", limit: 60 }, ModesLimit { modes: "I", limit: 60 }])
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
11:30:56.428:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: MINNICKLEN=0 (unknown ISUPPORT parameter)
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MODES(Some(12))
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NAMESX
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NETWORK("DejaToons")
11:30:56.428:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "NICKLEN=30", "PREFIX=(ohv)@%+", "QUITLEN=307", "SAFELIST", "SILENCE=15", "STATUSMSG=@%+", "TARGMAX=DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1", "TOPICLEN=360", "UHNAMES", "USERIP", "WALLCHOPS", "WATCH=128", "are supported by this server"]) }
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: PREFIX([PrefixMap { prefix: '@', mode: 'o' }, PrefixMap { prefix: '%', mode: 'h' }, PrefixMap { prefix: '+', mode: 'v' }])
11:30:56.428:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: QUITLEN=307 (unknown ISUPPORT parameter)
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: SAFELIST
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: SILENCE(Some(15))
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: STATUSMSG(['@', '%', '+'])
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: TARGMAX([CommandTargetLimit { command: "DCCALLOW", limit: None }, CommandTargetLimit { command: "ISON", limit: None }, CommandTargetLimit { command: "JOIN", limit: None }, CommandTargetLimit { command: "KICK", limit: Some(4) }, CommandTargetLimit { command: "KILL", limit: None }, CommandTargetLimit { command: "LIST", limit: None }, CommandTargetLimit { command: "NAMES", limit: Some(1) }, CommandTargetLimit { command: "NOTICE", limit: Some(1) }, CommandTargetLimit { command: "PART", limit: None }, CommandTargetLimit { command: "PRIVMSG", limit: Some(4) }, CommandTargetLimit { command: "SAJOIN", limit: None }, CommandTargetLimit { command: "SAPART", limit: None }, CommandTargetLimit { command: "TAGMSG", limit: Some(1) }, CommandTargetLimit { command: "USERHOST", limit: None }, CommandTargetLimit { command: "USERIP", limit: None }, CommandTargetLimit { command: "WATCH", limit: None }, CommandTargetLimit { command: "WHOIS", limit: Some(1) }, CommandTargetLimit { command: "WHOWAS", limit: Some(1) }])
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: TOPICLEN(360)
11:30:56.428:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: UHNAMES
11:30:56.428:INFO -- [DejaToons2] adding ISUPPORT parameter: USERIP
11:30:56.428:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WALLCHOPS (unknown ISUPPORT parameter)
11:30:56.429:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: WATCH(128)
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "WATCHOPTS=A", "WHOX", "are supported by this server"]) }
11:30:56.429:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WATCHOPTS=A (unknown ISUPPORT parameter)
11:30:56.429:INFO -- [DejaToons2] adding ISUPPORT parameter: WHOX
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Unknown("396", ["lksaar_", "deja-697667F1.um10.pools.vodafone-ip.de", "is now your displayed host"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: NOTICE("lksaar_", "*** You are connected to cotterpin.dejatoons.net with TLSv1.3-TLS_CHACHA20_POLY1305_SHA256") }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LUSERCLIENT, ["lksaar_", "There are 1 users and 606 invisible on 4 servers"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LUSEROP, ["lksaar_", "45", "operator(s) online"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LUSERCHANNELS, ["lksaar_", "61", "channels formed"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LUSERME, ["lksaar_", "I have 230 clients and 2 servers"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LOCALUSERS, ["lksaar_", "230", "318", "Current local users 230, max 318"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_GLOBALUSERS, ["lksaar_", "607", "652", "Current global users 607, max 652"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTDSTART, ["lksaar_", "- cotterpin.dejatoons.net Message of the Day - "]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- 3/11/2021 17:42"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Welcome to the DejaToons Network"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All network servers are accessible via irc.dejatoons.net"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -                                    "]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -          Website:  http://www.dejatoons.net"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Network help channel:  /join #help"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Most ports between 6665-7002 are available."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SSL/TLS is available on ports 6601, 6697 and 7777."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SASL nickname authentication is also available."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Network Rules:"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Excessive Connections (Cloning)."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Automated Downloading/Queing/XDCC Catching Scripts."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No War Bots or War Scripts."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Bottler, Litmus, or IRC-ORK Clients."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Botnets."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Unauthorized XDCC bots - Join #help for more details."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Open proxies or BNC's."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Spamming, Mass Advertising or spreading Viruses/Trojans."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Nuking or DoS (Denial of Services) attacks."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Harrassment of fellow users."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pornography."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Flooding."]) }
11:30:56.429:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Warez, XDCC, or Beta (illegal/copyrighted software/media) channels. "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pre-release or Illegal movies, MP3's or Software."]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Any channel or user found breaking these rules (and who fail"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - to take action to correct the situation) will be removed from"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - the network.  If you feel you were unfairly terminated you may"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - post a message at the network forum in the correct section."]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All complaints or logs presented MUST include timestamps."]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Upon connecting to this network, your system will be scanned"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - for the presence of an insecure proxies and unwanted or"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - infected clients and scripts.  Please do not view this as an"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - attack."]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - If you do not understand, disagree with this MOTD or disagree "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - with any of our network rules, please DISCONNECT NOW. "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Otherwise, the following applies:"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You agree that you are a guest on a private system and use "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- of this server and network is a priviledge, NOT a right.  "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- This privilege can be revoked at ANY time for ANY reason. "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Further you accept that you have no claim to any data "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- maintained by Dejatoons that you have used."]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You also agree that by using Dejatoons, you may be exposed "]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- to offensive, indecent or objectionable content. Under no"]) }
11:30:56.430:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- circumstances will DejaToons be liable in any way for any "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- content, including, but not limited to, for any errors or "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- omissions in any content, or for any loss or damage of any "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- kind incurred as a result of the use of any content posted, "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- emailed, transmitted or otherwise made available via "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Dejatoons. "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- IRC is an unmoderated medium. You agree that you, and only"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- you are responsible for your own actions.  You also agree"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- that the network staff is NOT responsible for the content "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- found on this network or server, except what is done through"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- their own actions."]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Bottom line...if you can exercise a little common sense and  "]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - follow the rules everything should be fine."]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ENDOFMOTD, ["lksaar_", "End of /MOTD command."]) }
11:30:56.475:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: None, hostname: None })), command: MODE("lksaar_", Some("+iwxz"), Some([])) }
11:30:56.628:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T10:30:56.444Z") }, Tag { key: "msgid", value: Some("JXSvVoDLl6ZtporJgUoEX0") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "This nickname is registered and protected.  If it is your") }
11:30:56.628:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T10:30:56.444Z") }, Tag { key: "msgid", value: Some("MPCH4JXTbepyofolUe0ppD") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "nick, type \u{2}/msg NickServ IDENTIFY \u{1f}password\u{1f}\u{2}.  Otherwise,") }
11:30:56.628:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T10:30:56.444Z") }, Tag { key: "msgid", value: Some("JS7JEDB7tdVu16wDuSaesI") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "please choose a different nick.") }
11:30:56.629:DEBUG -- loaded metadata for user NickServ on DejaToons2
11:30:58.655:DEBUG -- loaded history for server on DejaToons2: 0 messages
11:30:58.655:DEBUG -- closed history for channel #test on DejaToons2
11:31:02.232:INFO -- dashboard saved
11:31:02.234:DEBUG -- flushed history for server on DejaToons2
11:31:02.235:DEBUG -- flushed history for user NickServ on DejaToons2
11:31:03.756:DEBUG -- loaded history for user NickServ on DejaToons2: 3 messages
11:31:03.756:DEBUG -- closed history for server on DejaToons2
11:31:07.232:INFO -- dashboard saved
11:31:15.772:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737023475724592200") }, Tag { key: "time", value: Some("2025-01-16T10:31:15.752Z") }, Tag { key: "msgid", value: Some("23Bl5YxuyoVHVzJIf4TJ70") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: PRIVMSG("NickServ", "identify [removed password]") }
11:31:15.865:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T10:31:15.782Z") }, Tag { key: "msgid", value: Some("1qZq3osrekUWCrhLrUCVaL") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Password accepted - you are now recognized.") }
11:31:15.865:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_LOGGEDIN, ["lksaar_", "lksaar_!~lksaar@[removed hostmask]", "lksaar", "You are now logged in as lksaar."]) }
11:31:15.865:INFO -- [DejaToons2] logged in
11:31:15.964:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: CHGHOST("~lksaar", "onwards.and.upwards") }
11:31:15.964:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Unknown("396", ["lksaar_", "onwards.and.upwards", "is now your displayed host"]) }
11:31:15.964:TRACE -- Message received => Message { tags: [Tag { key: "time", value: Some("2025-01-16T10:31:15.782Z") }, Tag { key: "msgid", value: Some("29Vvny8Q7fbeo2tySvEc33") }], source: Some(User(User { nickname: "HostServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Your vhost of \u{2}onwards.and.upwards\u{2} is now activated.") }
11:31:15.964:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "NickServ", username: None, hostname: None })), command: MODE("lksaar_", Some("+r"), Some([])) }
11:31:15.965:DEBUG -- loaded metadata for user HostServ on DejaToons2
11:31:20.739:WARN -- message decoding failed: parsing failed: "@batch=uzsSCuDA4sWnPiIGgCswEz;time=2025-01-16T10:31:20.726Z;msgid=tmkLY1Z26ARoXOeUeoHkSd-EUI77C570fsFAYIlMjuddg :cotterpin.dejatoons.net MODE #test +nt \r\n"
11:31:20.740:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737023480699357600") }], source: Some(Server("cotterpin.dejatoons.net")), command: BATCH("+uzsSCuDA4sWnPiIGgCswEz", ["labeled-response"]) }
11:31:20.740:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("uzsSCuDA4sWnPiIGgCswEz") }, Tag { key: "time", value: Some("2025-01-16T10:31:20.726Z") }, Tag { key: "msgid", value: Some("tmkLY1Z26ARoXOeUeoHkSd-aG8K+8dGhunnHcbhQcmlQg") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: JOIN("#test", Some("lksaar")) }
11:31:20.740:DEBUG -- [DejaToons2] #test - WHO requested
11:31:20.782:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("uzsSCuDA4sWnPiIGgCswEz") }], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_NAMREPLY, ["lksaar_", "=", "#test", "@[email protected]"]) }
11:31:20.782:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("uzsSCuDA4sWnPiIGgCswEz") }], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ENDOFNAMES, ["lksaar_", "#test", "End of /NAMES list."]) }
11:31:20.782:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: BATCH("-uzsSCuDA4sWnPiIGgCswEz", []) }
11:31:20.867:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_WHOSPCRPL, ["lksaar_", "9", "#test", "lksaar_", "Hrs@", "lksaar"]) }
11:31:20.867:DEBUG -- [DejaToons2] #test - WHO receiving...
11:31:20.867:TRACE -- Message received => Message { tags: [], source: Some(Server("cotterpin.dejatoons.net")), command: Numeric(RPL_ENDOFWHO, ["lksaar_", "#test", "End of /WHO list."]) }
11:31:20.867:DEBUG -- [DejaToons2] #test - WHO done
11:31:21.233:DEBUG -- flushed history for user NickServ on DejaToons2
11:31:21.234:DEBUG -- flushed history for server on DejaToons2
11:31:21.234:DEBUG -- flushed history for user HostServ on DejaToons2
11:31:22.170:DEBUG -- loaded history for channel #test on DejaToons2: 0 messages
11:31:22.171:DEBUG -- closed history for user NickServ on DejaToons2
11:31:25.231:INFO -- dashboard saved
11:31:37.758:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737023497709057000") }, Tag { key: "time", value: Some("2025-01-16T10:31:37.736Z") }, Tag { key: "msgid", value: Some("8AlzjdjqySeh42nGfpH4py") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to automatic (RT 11:31)") }
11:31:43.233:DEBUG -- flushed history for channel #test on DejaToons2
10:32:10.412:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737019930370625600") }, Tag { key: "time", value: Some("2025-01-16T10:32:14.660Z") }, Tag { key: "msgid", value: Some("ESkvB9DzU78ekBBqYoq54u") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 10:31 (RT 11:31)") }
10:32:15.972:DEBUG -- flushed history for channel #test on DejaToons2
12:32:28.659:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737027148606579300") }, Tag { key: "time", value: Some("2025-01-16T10:32:36.557Z") }, Tag { key: "msgid", value: Some("JlXpvym9TnfDK1HwQr5KqH") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 12:32 (RT 11:32)") }
12:32:34.322:DEBUG -- flushed history for channel #test on DejaToons2
13:32:40.304:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737030760258026000") }, Tag { key: "time", value: Some("2025-01-16T10:32:51.384Z") }, Tag { key: "msgid", value: Some("BbQCQzqixNoDxE5nL6HfzK") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 13:32 (RT 11:32)") }
14:32:43.684:DEBUG -- flushed history for channel #test on DejaToons2
14:32:45.833:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737034365795686300") }, Tag { key: "time", value: Some("2025-01-16T10:32:59.371Z") }, Tag { key: "msgid", value: Some("x8LUpG2ngUx4cd1XLVnUNp") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 14:32 (RT 11:32)") }
15:32:48.456:DEBUG -- flushed history for channel #test on DejaToons2
15:32:54.680:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737037974639041100") }, Tag { key: "time", value: Some("2025-01-16T10:33:11.444Z") }, Tag { key: "msgid", value: Some("J7NepyoL8C7rXeSVz2D0E8") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 15:32 (RT 11:32)") }
22:32:57.189:DEBUG -- flushed history for channel #test on DejaToons2
22:33:01.622:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737063181574157500") }, Tag { key: "time", value: Some("2025-01-16T10:33:21.658Z") }, Tag { key: "msgid", value: Some("OH2PazfJCxPQ9VGMSydHII") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "time set to 22:32 (RT 11:32)") }
22:33:07.186:DEBUG -- flushed history for channel #test on DejaToons2
11:33:46.753:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737023626709695100") }, Tag { key: "time", value: Some("2025-01-16T10:33:46.729Z") }, Tag { key: "msgid", value: Some("0RmCynlRaXcJvMOUp3fEls") }, Tag { key: "account", value: Some("lksaar") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "--> back to automatic (RT 11:33)") }
11:33:52.245:DEBUG -- flushed history for channel #test on DejaToons2
11:33:52.429:TRACE -- [DejaToons2] ping sent: 1737023632429601800
11:33:52.471:TRACE -- [DejaToons2] pong received: 1737023632429601800
11:34:29.369:DEBUG -- closed history for server on DejaToons2
11:34:29.369:DEBUG -- closed history for channel #test on DejaToons2
11:34:29.369:DEBUG -- closed history for user NickServ on DejaToons2
11:34:29.369:DEBUG -- closed history for user HostServ on DejaToons2
11:34:29.369:DEBUG -- closed history for logs
11:34:29.369:INFO -- [DejaToons2] quit

Image

@casperstorm
Copy link
Member

Thank you for following up with all the details.
@tarkah @andymandias take a look at latest information. Any clue? I can't reproduce this on Windows running neither latest release nor main branch.

@andymandias
Copy link
Collaborator

Thank you for the new logs with the issue recreated! I have a suspicion about what is happening, but I forgot that some logging updates I was counting on to help verify my hunch have not yet made it into main (they're in fix/who-polling currently). But, we can do a quicker check. If you change the timestamp format to include seconds, do the duplicate messages still have the same timestamp? This configuration should work to show seconds in the timestamp:

[buffer.timestamp]
format = "%T"

@trfunk
Copy link
Author

trfunk commented Jan 16, 2025

Sure, I can't reproduce it normally anymore (it seem to have temporarily fixed itself?), but changing the pc clock still works. The message do not have the same second timestamp (infact they have quite the drift):

19:37:12.837:INFO -- halloy 2024.14 has started
19:37:12.837:INFO -- config dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
19:37:12.837:INFO -- data dir: "C:\\Users\\-snip-\\AppData\\Roaming\\halloy"
19:37:13.004:INFO -- Settings {
    present_mode: AutoVsync,
    backends: Backends(
        VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
    ),
    default_font: Font {
        family: Name(
            "Iosevka Term",
        ),
        weight: Normal,
        stretch: Normal,
        style: Normal,
    },
    default_text_size: Pixels(
        13.0,
    ),
    antialiasing: None,
}
19:37:13.050:INFO -- [DejaToons2] connected
19:37:13.096:INFO -- Available adapters: [
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "NVIDIA",
        driver_info: "566.14",
        backend: Vulkan,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090",
        vendor: 4318,
        device: 8708,
        device_type: DiscreteGpu,
        driver: "32.0.15.6614",
        driver_info: "",
        backend: Dx12,
    },
    AdapterInfo {
        name: "NVIDIA GeForce RTX 3090/PCIe/SSE2",
        vendor: 4318,
        device: 0,
        device_type: Other,
        driver: "",
        driver_info: "4.6.0 NVIDIA 566.14",
        backend: Gl,
    },
]
19:37:13.177:INFO -- Selected: AdapterInfo {
    name: "NVIDIA GeForce RTX 3090",
    vendor: 4318,
    device: 8708,
    device_type: DiscreteGpu,
    driver: "NVIDIA",
    driver_info: "566.14",
    backend: Vulkan,
}
19:37:13.179:INFO -- Available formats: Copied {
    it: Iter(
        [
            Bgra8UnormSrgb,
            Rgba8UnormSrgb,
            Bgra8Unorm,
            Rgba8Unorm,
            Rgba16Float,
        ],
    ),
}
19:37:13.179:INFO -- Available alpha modes: [
    Opaque,
]
19:37:13.179:INFO -- Selected format: Bgra8UnormSrgb with alpha mode: Auto
19:37:13.470:DEBUG -- loaded history for channel #abc on DejaToons2: 0 messages
19:37:13.470:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: NOTICE("*", "*** Looking up your hostname...") }
19:37:13.568:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: NOTICE("*", "*** Found your hostname (cached)") }
19:37:13.568:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: NOTICE("*", "*** Checking ident...") }
19:37:13.572:DEBUG -- loaded metadata for server on DejaToons2
19:37:13.572:DEBUG -- loaded metadata for logs
19:37:16.514:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: NOTICE("*", "*** No ident response; username prefixed with ~") }
19:37:16.594:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: CAP(Some("*"), "LS", Some("unrealircd.org/link-security=2 unrealircd.org/plaintext-policy=user=allow,oper=deny,server=deny unrealircd.org/history-storage=memory extended-join chghost cap-notify userhost-in-names multi-prefix away-notify sasl=EXTERNAL,PLAIN tls account-notify message-tags batch server-time account-tag echo-message labeled-response draft/chathistory"), None) }
19:37:16.726:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: CAP(Some("lksaar_"), "ACK", Some("userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch draft/chathistory labeled-response echo-message sasl multi-prefix "), None) }
19:37:16.726:INFO -- [DejaToons2] capabilities acknowledged: userhost-in-names away-notify message-tags server-time chghost account-notify extended-join batch draft/chathistory labeled-response echo-message sasl multi-prefix 
19:37:16.727:DEBUG -- [DejaToons2] requesting 500 targets between timestamp=2025-01-16T18:33:25.827Z and timestamp=2025-01-16T18:37:21.726Z
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_WELCOME, ["lksaar_", "Welcome to the DejaToons IRC Network [email protected]"]) }
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_YOURHOST, ["lksaar_", "Your host is falkor.dejatoons.net, running version UnrealIRCd-5.2.2"]) }
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_CREATED, ["lksaar_", "This server was created Wed Nov 3 2021 at 11:58:43 EDT"]) }
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MYINFO, ["lksaar_", "falkor.dejatoons.net", "UnrealIRCd-5.2.2", "iowrsxzdHtIDZRqpWGTSB", "lvhopsmntikraqbeIHzMQNRTOVKDdGLPZSCcf"]) }
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "AWAYLEN=307", "BOT=B", "CASEMAPPING=ascii", "CHANLIMIT=#:30", "CHANMODES=beIqa,kLf,lH,psmntirzMQNRTOVKDdGPZSCc", "CHANNELLEN=32", "CHANTYPES=#", "CHATHISTORY=50", "CLIENTTAGDENY=*,-draft/typing,-typing,-draft/reply", "DEAF=d", "ELIST=MNUCT", "EXCEPTS", "are supported by this server"]) }
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: AWAYLEN(Some(307))
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: BOT('B')
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: CASEMAPPING(ASCII)
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANLIMIT([ChannelLimit { prefix: '#', limit: Some(30) }])
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CHANMODES([ChannelMode { letter: 'A', modes: "beIqa" }, ChannelMode { letter: 'B', modes: "kLf" }, ChannelMode { letter: 'C', modes: "lH" }, ChannelMode { letter: 'D', modes: "psmntirzMQNRTOVKDdGPZSCc" }])
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANNELLEN(32)
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: CHANTYPES(Some(['#']))
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: CHATHISTORY(50)
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: CLIENTTAGDENY([DenyAll, Allowed("draft/typing"), Allowed("typing"), Allowed("draft/reply")])
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: DEAF('d')
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: ELIST("MNUCT")
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXCEPTS('e')
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "EXTBAN=~,GptmTSOcarnqjf", "INVEX", "KICKLEN=307", "KNOCK", "MAP", "MAXCHANNELS=30", "MAXLIST=b:60,e:60,I:60", "MAXNICKLEN=30", "MINNICKLEN=0", "MODES=12", "NAMESX", "NETWORK=DejaToons", "are supported by this server"]) }
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: EXTBAN(Some('~'), "GptmTSOcarnqjf")
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: INVEX('I')
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: KICKLEN(307)
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: KNOCK
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAP
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXCHANNELS(30)
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MAXLIST([ModesLimit { modes: "b", limit: 60 }, ModesLimit { modes: "e", limit: 60 }, ModesLimit { modes: "I", limit: 60 }])
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
19:37:16.806:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: MINNICKLEN=0 (unknown ISUPPORT parameter)
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: MODES(Some(12))
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NAMESX
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: NETWORK("DejaToons")
19:37:16.806:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "NICKLEN=30", "PREFIX=(ohv)@%+", "QUITLEN=307", "SAFELIST", "SILENCE=15", "STATUSMSG=@%+", "TARGMAX=DCCALLOW:,ISON:,JOIN:,KICK:4,KILL:,LIST:,NAMES:1,NOTICE:1,PART:,PRIVMSG:4,SAJOIN:,SAPART:,TAGMSG:1,USERHOST:,USERIP:,WATCH:,WHOIS:1,WHOWAS:1", "TOPICLEN=360", "UHNAMES", "USERIP", "WALLCHOPS", "WATCH=128", "are supported by this server"]) }
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: NICKLEN(30)
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: PREFIX([PrefixMap { prefix: '@', mode: 'o' }, PrefixMap { prefix: '%', mode: 'h' }, PrefixMap { prefix: '+', mode: 'v' }])
19:37:16.806:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: QUITLEN=307 (unknown ISUPPORT parameter)
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: SAFELIST
19:37:16.806:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: SILENCE(Some(15))
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: STATUSMSG(['@', '%', '+'])
19:37:16.806:INFO -- [DejaToons2] adding ISUPPORT parameter: TARGMAX([CommandTargetLimit { command: "DCCALLOW", limit: None }, CommandTargetLimit { command: "ISON", limit: None }, CommandTargetLimit { command: "JOIN", limit: None }, CommandTargetLimit { command: "KICK", limit: Some(4) }, CommandTargetLimit { command: "KILL", limit: None }, CommandTargetLimit { command: "LIST", limit: None }, CommandTargetLimit { command: "NAMES", limit: Some(1) }, CommandTargetLimit { command: "NOTICE", limit: Some(1) }, CommandTargetLimit { command: "PART", limit: None }, CommandTargetLimit { command: "PRIVMSG", limit: Some(4) }, CommandTargetLimit { command: "SAJOIN", limit: None }, CommandTargetLimit { command: "SAPART", limit: None }, CommandTargetLimit { command: "TAGMSG", limit: Some(1) }, CommandTargetLimit { command: "USERHOST", limit: None }, CommandTargetLimit { command: "USERIP", limit: None }, CommandTargetLimit { command: "WATCH", limit: None }, CommandTargetLimit { command: "WHOIS", limit: Some(1) }, CommandTargetLimit { command: "WHOWAS", limit: Some(1) }])
19:37:16.807:INFO -- [DejaToons2] adding ISUPPORT parameter: TOPICLEN(360)
19:37:16.807:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: UHNAMES
19:37:16.807:INFO -- [DejaToons2] adding ISUPPORT parameter: USERIP
19:37:16.807:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WALLCHOPS (unknown ISUPPORT parameter)
19:37:16.807:DEBUG -- [DejaToons2] ignoring ISUPPORT parameter: WATCH(128)
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ISUPPORT, ["lksaar_", "WATCHOPTS=A", "WHOX", "are supported by this server"]) }
19:37:16.807:DEBUG -- [DejaToons2] unable to parse ISUPPORT parameter: WATCHOPTS=A (unknown ISUPPORT parameter)
19:37:16.807:INFO -- [DejaToons2] adding ISUPPORT parameter: WHOX
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Unknown("396", ["lksaar_", "deja-697667F1.um10.pools.vodafone-ip.de", "is now your displayed host"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: NOTICE("lksaar_", "*** You are connected to falkor.dejatoons.net with TLSv1.3-TLS_CHACHA20_POLY1305_SHA256") }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LUSERCLIENT, ["lksaar_", "There are 1 users and 609 invisible on 4 servers"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LUSEROP, ["lksaar_", "45", "operator(s) online"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LUSERCHANNELS, ["lksaar_", "60", "channels formed"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LUSERME, ["lksaar_", "I have 147 clients and 1 servers"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LOCALUSERS, ["lksaar_", "147", "213", "Current local users 147, max 213"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_GLOBALUSERS, ["lksaar_", "610", "652", "Current global users 610, max 652"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTDSTART, ["lksaar_", "- falkor.dejatoons.net Message of the Day - "]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- 3/11/2021 12:43"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Welcome to the DejaToons Network"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All network servers are accessible via irc.dejatoons.net"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -                                    "]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -          Website:  http://www.dejatoons.net"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -           Network help channel:  /join #help"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Most ports between 6665-7002 are available."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SSL/TLS is available on ports 6601, 6697 and 7777."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - SASL nickname authentication is also available."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - "]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - ********************************************************"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Network Rules:"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Excessive Connections (Cloning)."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Automated Downloading/Queing/XDCC Catching Scripts."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No War Bots or War Scripts."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Bottler, Litmus, or IRC-ORK Clients."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Botnets."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Unauthorized XDCC bots - Join #help for more details."]) }
19:37:16.807:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Open proxies or BNC's."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Spamming, Mass Advertising or spreading Viruses/Trojans."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Nuking or DoS (Denial of Services) attacks."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Harrassment of fellow users."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pornography."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Flooding."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Warez, XDCC, or Beta (illegal/copyrighted software/media) channels. "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - No Pre-release or Illegal movies, MP3's or Software."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Any channel or user found breaking these rules (and who fail"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - to take action to correct the situation) will be removed from"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - the network.  If you feel you were unfairly terminated you may"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - post a message at the network forum in the correct section."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - All complaints or logs presented MUST include timestamps."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Upon connecting to this network, your system will be scanned"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - for the presence of an insecure proxies and unwanted or"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - infected clients and scripts.  Please do not view this as an"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - attack."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - If you do not understand, disagree with this MOTD or disagree "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - with any of our network rules, please DISCONNECT NOW. "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Otherwise, the following applies:"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You agree that you are a guest on a private system and use "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- of this server and network is a priviledge, NOT a right.  "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- This privilege can be revoked at ANY time for ANY reason. "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Further you accept that you have no claim to any data "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- maintained by Dejatoons that you have used."]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- You also agree that by using Dejatoons, you may be exposed "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- to offensive, indecent or objectionable content. Under no"]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- circumstances will DejaToons be liable in any way for any "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- content, including, but not limited to, for any errors or "]) }
19:37:16.808:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- omissions in any content, or for any loss or damage of any "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- kind incurred as a result of the use of any content posted, "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- emailed, transmitted or otherwise made available via "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- Dejatoons. "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- ---"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- IRC is an unmoderated medium. You agree that you, and only"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- you are responsible for your own actions.  You also agree"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- that the network staff is NOT responsible for the content "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- found on this network or server, except what is done through"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- --- their own actions."]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - Bottom line...if you can exercise a little common sense and  "]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- - follow the rules everything should be fine."]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_MOTD, ["lksaar_", "- -"]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ENDOFMOTD, ["lksaar_", "End of /MOTD command."]) }
19:37:16.842:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: None, hostname: None })), command: MODE("lksaar_", Some("+iwxz"), Some([])) }
19:37:16.895:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: BATCH("+yUmcfSb7ph2dzSTHha2Xfb", ["draft/chathistory-targets"]) }
19:37:16.896:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: BATCH("-yUmcfSb7ph2dzSTHha2Xfb", []) }
19:37:16.896:DEBUG -- [DejaToons2] received 0 targets between timestamp=2025-01-16T18:33:30.827Z and timestamp=2025-01-16T18:37:16.726Z
19:37:16.896:DEBUG -- updated targets timestamp for DejaToons2 to 2025-01-16 18:37:16.896030400 UTC
19:37:17.016:TRACE -- Message received => Message { tags: [Tag { key: "msgid", value: Some("t8FKYpVXwswWDwAYU9Mcx7") }, Tag { key: "time", value: Some("2025-01-16T18:37:16.817Z") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "This nickname is registered and protected.  If it is your") }
19:37:17.016:TRACE -- Message received => Message { tags: [Tag { key: "msgid", value: Some("xhknGeaGef6hfcjUHDLE9H") }, Tag { key: "time", value: Some("2025-01-16T18:37:16.817Z") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "nick, type \u{2}/msg NickServ IDENTIFY \u{1f}password\u{1f}\u{2}.  Otherwise,") }
19:37:17.017:DEBUG -- loaded metadata for user NickServ on DejaToons2
19:37:17.115:TRACE -- Message received => Message { tags: [Tag { key: "msgid", value: Some("LRX3llkj05eObHbnAZnliq") }, Tag { key: "time", value: Some("2025-01-16T18:37:16.818Z") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "please choose a different nick.") }
19:37:21.529:DEBUG -- loaded history for user NickServ on DejaToons2: 0 messages
19:37:21.529:DEBUG -- closed history for channel #abc on DejaToons2
19:37:21.850:DEBUG -- flushed history for server on DejaToons2
19:37:22.849:DEBUG -- flushed history for user NickServ on DejaToons2
19:37:24.849:INFO -- dashboard saved
19:37:25.537:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737052645489389000") }, Tag { key: "msgid", value: Some("tjJkvJpQne0OvJTeQEMswR") }, Tag { key: "time", value: Some("2025-01-16T18:37:25.526Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: PRIVMSG("NickServ", "identify [removed pass]") }
19:37:25.661:TRACE -- Message received => Message { tags: [Tag { key: "msgid", value: Some("xOGCmeZ69cGZvyzHHIO0Jd") }, Tag { key: "time", value: Some("2025-01-16T18:37:25.558Z") }], source: Some(User(User { nickname: "NickServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Password accepted - you are now recognized.") }
19:37:25.661:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_LOGGEDIN, ["lksaar_", "lksaar_!~lksaar@[removed hostmask].de", "lksaar", "You are now logged in as lksaar."]) }
19:37:25.661:INFO -- [DejaToons2] logged in
19:37:25.759:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("deja-697667F1.um10.pools.vodafone-ip.de") })), command: CHGHOST("~lksaar", "onwards.and.upwards") }
19:37:25.759:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Unknown("396", ["lksaar_", "onwards.and.upwards", "is now your displayed host"]) }
19:37:25.759:TRACE -- Message received => Message { tags: [Tag { key: "msgid", value: Some("S8RrXl5eqrmlIGFeJt827s") }, Tag { key: "time", value: Some("2025-01-16T18:37:25.558Z") }], source: Some(User(User { nickname: "HostServ", username: Some("services"), hostname: Some("services.dejatoons.net") })), command: NOTICE("lksaar_", "Your vhost of \u{2}onwards.and.upwards\u{2} is now activated.") }
19:37:25.759:TRACE -- Message received => Message { tags: [], source: Some(User(User { nickname: "NickServ", username: None, hostname: None })), command: MODE("lksaar_", Some("+r"), Some([])) }
19:37:25.760:DEBUG -- loaded metadata for user HostServ on DejaToons2
19:37:27.745:DEBUG -- loaded history for user HostServ on DejaToons2: 0 messages
19:37:27.746:DEBUG -- closed history for user NickServ on DejaToons2
19:37:29.976:DEBUG -- loaded history for user NickServ on DejaToons2: 6 messages
19:37:29.977:DEBUG -- closed history for user HostServ on DejaToons2
19:37:30.848:DEBUG -- flushed history for server on DejaToons2
19:37:33.848:INFO -- dashboard saved
19:37:34.879:WARN -- message decoding failed: parsing failed: "@batch=BFgmrFzNh0Y1PYH4s4f0Br;msgid=pmKOTibhhbvegxFct4topf-ObJ8QTks7DPrMeQqL24aZg;time=2025-01-16T18:37:34.872Z :falkor.dejatoons.net MODE #test +nt \r\n"
19:37:34.879:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737052654844162100") }], source: Some(Server("falkor.dejatoons.net")), command: BATCH("+BFgmrFzNh0Y1PYH4s4f0Br", ["labeled-response"]) }
19:37:34.879:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("BFgmrFzNh0Y1PYH4s4f0Br") }, Tag { key: "account", value: Some("lksaar") }, Tag { key: "msgid", value: Some("pmKOTibhhbvegxFct4topf-aG8K+8dGhunnHcbhQcmlQg") }, Tag { key: "time", value: Some("2025-01-16T18:37:34.872Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: JOIN("#test", Some("lksaar")) }
19:37:34.879:DEBUG -- [DejaToons2] #test - WHO requested
19:37:34.919:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("BFgmrFzNh0Y1PYH4s4f0Br") }], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_NAMREPLY, ["lksaar_", "=", "#test", "@[email protected]"]) }
19:37:34.919:TRACE -- Message received => Message { tags: [Tag { key: "batch", value: Some("BFgmrFzNh0Y1PYH4s4f0Br") }], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ENDOFNAMES, ["lksaar_", "#test", "End of /NAMES list."]) }
19:37:34.919:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: BATCH("-BFgmrFzNh0Y1PYH4s4f0Br", []) }
19:37:34.920:DEBUG -- loaded metadata for channel #test on DejaToons2
19:37:34.920:DEBUG -- [DejaToons2] requesting 50 latest messages in #test since *
19:37:34.954:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_WHOSPCRPL, ["lksaar_", "9", "#test", "lksaar_", "Hrs@", "lksaar"]) }
19:37:34.954:DEBUG -- [DejaToons2] #test - WHO receiving...
19:37:34.954:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Numeric(RPL_ENDOFWHO, ["lksaar_", "#test", "End of /WHO list."]) }
19:37:34.954:DEBUG -- [DejaToons2] #test - WHO done
19:37:35.064:TRACE -- Message received => Message { tags: [], source: Some(Server("falkor.dejatoons.net")), command: Unknown("FAIL", ["CHATHISTORY", "INVALID_TARGET", "LATEST", "#test", "Messages could not be retrieved, channel does not have mode +H"]) }
19:37:36.501:DEBUG -- loaded history for channel #test on DejaToons2: 0 messages
19:37:36.501:DEBUG -- closed history for user NickServ on DejaToons2
19:37:39.848:INFO -- dashboard saved
19:37:40.849:DEBUG -- flushed history for server on DejaToons2
19:38:03.027:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737052682998853700") }, Tag { key: "account", value: Some("lksaar") }, Tag { key: "msgid", value: Some("r2FgIP3CDN0QM0YMt7Uk0a") }, Tag { key: "time", value: Some("2025-01-16T18:38:03.023Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "system time is 19:37 (RT 19:37)") }
19:38:08.849:DEBUG -- flushed history for channel #test on DejaToons2
20:38:32.133:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737056312102204500") }, Tag { key: "account", value: Some("lksaar") }, Tag { key: "msgid", value: Some("ORICFdiN5GXTnfwuh5LDUt") }, Tag { key: "time", value: Some("2025-01-16T18:38:34.569Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "system time is 20:38 (RT 19:38)") }
20:38:37.408:DEBUG -- flushed history for channel #test on DejaToons2
18:38:53.541:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737049133503939500") }, Tag { key: "account", value: Some("lksaar") }, Tag { key: "msgid", value: Some("3SqZ4ZicVE08sF94jFRPEm") }, Tag { key: "time", value: Some("2025-01-16T18:39:01.246Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "system time is 18:38 (RT 19:38)") }
18:38:59.132:DEBUG -- flushed history for channel #test on DejaToons2
21:39:18.545:TRACE -- Message received => Message { tags: [Tag { key: "label", value: Some("1737059958515283600") }, Tag { key: "account", value: Some("lksaar") }, Tag { key: "msgid", value: Some("zSknN1JZCG0h3n7dk9hGtY") }, Tag { key: "time", value: Some("2025-01-16T18:39:30.365Z") }], source: Some(User(User { nickname: "lksaar_", username: Some("~lksaar"), hostname: Some("onwards.and.upwards") })), command: PRIVMSG("#test", "system time is 21:39 (RT 19:39)") }
21:39:24.026:DEBUG -- flushed history for channel #test on DejaToons2
21:39:44.736:DEBUG -- closed history for user HostServ on DejaToons2
21:39:44.736:DEBUG -- closed history for channel #test on DejaToons2
21:39:44.736:DEBUG -- closed history for user NickServ on DejaToons2
21:39:44.736:DEBUG -- closed history for server on DejaToons2
21:39:44.736:DEBUG -- closed history for channel #abc on DejaToons2
21:39:44.736:DEBUG -- closed history for logs
21:39:44.736:INFO -- [DejaToons2] quit

Image

@GlobeDotters
Copy link

You know what, it seems to have fixed itself on my client too!

How odd is that, we've started experiencing it at the same time and it also disappeared at the same time?

It's a proper mystery!

@andymandias
Copy link
Collaborator

Looks like what I was suspecting, the time recorded locally for the message is too far before the time the server records (preventing the local message from being considered for de-duplication). I'd guess it fixed itself at 11am because that's when your local time was synced with a time server, but the why of it is not particularly important. This should be fixable :)

@trfunk
Copy link
Author

trfunk commented Jan 19, 2025

Related to the same issue, but this comes with other strange consequences:

16:43   lksaar | it has been my lifelong dream, yes yews
16:43     Amos | lksaar meant to say: it has been my lifelong dream, yes yes
16:43   lksaar | s/yews/yes

Amos is a bot that responds to s/x/y prompts. The order of the last two messages should be obviously the other way around.

I'll try to figure out what causes this drift on my machine, I just wanted to note it down here for future reference.

@andymandias
Copy link
Collaborator

To be clear, my guess is that 11am is when your machine synced its time, but from the info available I don't know for sure which machine's clock is off. It could be your local clock, or it could be the server's clock. I'd suggest comparing your local clock against some time server (e.g. NIST). It's also possible that I'm overlooking another reason for the timestamps to be off, but the server's timestamp being before yours eliminates a number of other possibilities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants