Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2019-05-30 00:00:00Z and 2019-05-31 00:00:00Z
Avatar
if someone could compile ddnet in release mode on windows with msvc and with debug symbols, that'd be awesome 🙂
00:45
I'd like to take a look at the annoying aio bug
00:45
@Learath2 unrelated, in 0c13c8cebb09b7798309ea0317a2e85885fb5697, you only print utf16 characters that consist of one code unit to the windows console. is this intentional?
Avatar
@heinrich5991 that's a pretty crude hack tbh, I barely have an idea why it works
Avatar
@archimede67 mon son est revenu mais que lorsque j'allume mon pc avec un certain casque
Avatar
xd
Avatar
@heinrich5991 I think that commit was after hours of messing around, I didn't really want to think much after it started working
Avatar
okay
Avatar
also it seems to be leaking memory 😛
Avatar
ggwp
12:21
xd
Avatar
imagine spending 8 hours trying to figure out why windows won't just print what you tell it to print on the console
12:27
turns out the console is a special device in windows and it only accepts utf16
Avatar
because its windows
12:27
wot
12:27
utf16
12:27
why xd
Avatar
I guess bill gates thought 16 was a nice number
Avatar
@Learath2 but you don't output utf8
12:40
*utf16
12:40
you only output utf16 without surrogate pairs
12:41
(have you tried characters outside the bmp?)
Avatar
idk what I output tbh, I just know that if you encode the codepoints in utf16, shove that in a wchar array and pass that to WriteConsoleW it looks correct on the console
12:43
I'm pretty sure things outside the bmp won't look correctly
12:45
@heinrich5991 I think I wasn't sure if the wchar can hold characters that consist of two code units
Avatar
I think wchar_t is a code unit
12:46
so you need two wchar_ts for each code unit outside the bmp
Avatar
I believe wchar_t was implementation defined in size
12:47
also the way i output to the console isn't complete, it fails to work with redirects
Avatar
wchar_t is probably not implementation defined in size on windows
Avatar
have to check GetConsoleMode and if it's redirected you need to use WriteFile instead
12:49
Anyways, I think WriteConsoleW takes a byte array, not specifically wchar_t so could probably drop that
Avatar
WriteConsoleW probably takes wchar_t tbh
12:50
ah no
12:50
const void *
Avatar
well msdn doesn't say so
Avatar
Writes a character string to a console screen buffer beginning at the current cursor location.
Avatar
@heinrich5991 btw are you thinking of cleaning that up?
Avatar
not right now
12:51
no
12:52
I wanted to fix the stupid aio thing
12:52
but it just doesn't work 😦
12:52
or rather, I can't find a mistake
Avatar
wait you can reproduce it?
Avatar
you can reproduce it with the testcases IIRC
12:52
not sure
Avatar
I think I was the last person that can reproduce it reliably, and I upgraded to win10, haven't tested whether it happens still
12:53
on my computer it was an instant crash with aio stdout
12:53
like a 100% of the time
Avatar
really.
12:54
also in the debugger?
Avatar
you even tried to debug it with teamviewer after i gave up iirc 😄
12:54
yep
Avatar
argh
Avatar
but it crashed deep in ntdll or system32
Avatar
because of an invalid pointer I guess
12:54
should've tried harder
Avatar
not one that I could see
Avatar
ok
12:55
can you try whether you can still reproduce it?
Avatar
well I can install msvc and try again, maybe it still happens 😄
Avatar
where does one even get msvc? 😛
Avatar
msvs it's called, these days
12:55
Visual Studio dev tools & services make app development easy for any platform & language. Try our Mac & Windows code editor, IDE, or Azure DevOps for free.
12:56
top left is msvs, rest is unrelated products :<
Avatar
oh, need the ide aswell right, that will take some time to download
Avatar
I currently have around 20-200KB/s. can you beat that? 😛
Avatar
that sounds horrible
12:56
what happened to germany? 😛
Avatar
aio is async io?
Avatar
yes
Avatar
does it work on linux
Avatar
yes
Avatar
is it enabled there?
Avatar
I don't know if by chance, but probably
12:57
yes
12:57
@Learath2 I'm on the train, so I guess it's okayish
Avatar
oh, that's great for train internet
Avatar
at least they provide free internet for everyone these days
Avatar
I get 5 MB/s at home
12:58
which is good
12:58
monkaS
Avatar
much better then back in turkey where I got 0.8 MB/s
Avatar
at uni I got 600MB/s ^^
Avatar
but literally everyone else gets a 800mbps link here, just my stupid old apartment
Avatar
bytes or bits?
Avatar
(not via wifi though. bytes)
Avatar
i got 600/600 on home xd
Avatar
600mbps?
Avatar
uh nice 😄 (edited)
Avatar
70mb/s
Avatar
@Ryozuki fast.com
12:59
plz
Avatar
i got 75kb (edited)
Avatar
french detected 😛
Avatar
I wish I got 600/600 at home 😛
Avatar
ew
Avatar
never knew that site
12:59
xd
Avatar
best speed test site
12:59
no clutter
Avatar
I've been begging them for the last 3 years to get fibre
Avatar
barcelona got fibre everywhere and its more worth to have it than dsl nowadays xd
Avatar
which site
Avatar
the office building next to us already has it so it's not too too hard to get a couple more fibres routes
Avatar
fast.com
Avatar
but the guy who owns the apartment, he is so old :/
Avatar
@Learath2 I KNOW
13:00
i was on a old building before
13:00
and they didnt want fibre
Avatar
i have 46Mbps
Avatar
they were fcking 70 year old
13:01
xddd
13:01
lucky i moved
13:01
and the best is that
Avatar
oh, visual studio seems smaller nowadays
Avatar
instalation was paid by the company
13:01
not ourselves
13:01
but old ppl dont understand shit
13:02
it pissed me for lot of years
13:02
xd
Avatar
to be honest I'd be okay with paying the price if it wasn't absolutely insane
Avatar
what's insane?
Avatar
(i dont pay it, but i think its 30-50 month the internet)
Avatar
if I want them to route one for me it's around 2000e to route it, and 300e contribution fee every month for 3 years in addition to the regular fee
Avatar
@Learath2 I think you only installed the installer 😄
Avatar
xd
Avatar
If the apartment owner gets 80% of the residents to agree, they waive the 2000e, and the 300e is split up between everyone so it's nothing
Avatar
being able to download at 70mb/s and play tw without lag is pure pleasure danAmazing
Avatar
@heinrich5991 lol I didn't mean that small 😛
13:04
I thought it'd be around 5-6gb but it's only 3
13:05
what should i do with this
Avatar
I think: make it a message to the user to execute this command
Avatar
why not just execute it ourselves?
Avatar
thats what im doing rn
Avatar
does it get executed on a logout/login?
13:07
ah idk
Avatar
because we're not necessarily installing into the system, but maybe just into some packaging folder
13:07
but the tool operates on the whole system
Avatar
@heinrich5991 okay how do i cmake here?
Avatar
in msvs?
Avatar
just sent this link to someone else 4 hours ago 😄
Avatar
hmm my copy seems to be missing cmake somehow
13:09
i don't see the targets
13:10
let me check if i installed all the correct components
Avatar
yeah that makes more sense
13:12
I clicked the wrong c++ thing
13:12
an extra 1.16gb download
13:12
for the worst compiler ever created by mankind 😛
13:12
@Learath2 what u prefer, gcc or clang
Avatar
I think I like clang more, but I'm pretty neutral really
Avatar
i think clang is smarterwith errors
Avatar
my position is that msvc can go to hell
13:13
windows bad
Avatar
Imagine not supporting C99 in 2019
13:13
let alone C11
Avatar
clang caused gcc to catch up with error messages
Avatar
i think there is c18 now
13:13
it fixes bugs in c11
Avatar
wat?
Avatar
butdoesnt introduce anything
Avatar
ah c17
Avatar
C18 is the informal name for ISO/IEC 9899:2018, the most recent standard for the C programming language, published in June 2018. It replaced C11 (standard ISO/IEC 9899:2011). It has been informally named as C17 too. GCC 8.1.0 and LLVM Clang 7.0.0 support C18. C18 will be sup...
Avatar
@heinrich5991 I think c17 didn't come out in time so they named it c18
13:14
caused some drama in ##C 😛
Avatar
why?
Avatar
someone changed the topic to C18
13:14
because ISO changed the name to C18
Avatar
itsn ot like they are adding lot of stuff to be late lol
Avatar
but the working group hadn't changed the name yet
Avatar
C18 will be superseded by C2x
13:15
i wonder if c20 or c22
Avatar
so we discussed for a couple hours whether we care about what ISO says or what the WG says 😛
Avatar
c21 looks bad
Avatar
C++ has some horrible error messages, there was discussion about that in #c++ a month or so ago
13:16
with templates
13:16
and stuff
13:16
it goes insane
Avatar
whether it's the standards committees job to get better error messages or is it just up to the compilers
Avatar
well, it kind of depends on the standard whether it's feasible to provide good error messages
Avatar
okay it compiles \o/
13:19
now let me enable aio
13:20
yeah sadly it works now that i upgraded
Avatar
also the tests
Avatar
let me figure out how to run them 😛
Avatar
select testrunner in the green run arrow menu
Avatar
passed all tests
Avatar
run it a couple of times
Avatar
passes just fine
13:27
I guess that bug is lost to us forever 😛
13:27
either way, aio dbg_logging in windows won't really work unless you use WriteConsole
Avatar
build/testrunner --gtest_filter=Async.NonDivisor --gtest_repeat=-1 --gtest_break_on_failure
Avatar
windows consoles are just broken
Avatar
pls
Avatar
where do builds go?
13:28
in a deep folder
13:28
its not on ur cwd
13:28
xdd
13:28
start ddnet sv and right click it to find the path iguess
Avatar
CMakeBuilds in your home folder or so
Avatar
oh did they change it
13:29
i dont use vs since years xd
Avatar
nah, it's special for cmake builds
Avatar
they changed it apparently
13:31
it's now in, ~/source/repos/<repo-name>/out
13:32
lets see if it bresks
13:32
breaks*
13:32
I'm on iteration 4000 😛
13:35
@heinrich5991 I don't think this will fail tbh
13:35
it's been fine for 20k iterations
13:41
@heinrich5991 when can I stop? 😄
Avatar
you can stop
13:48
lol. 10k iterations on linux cost 17s
Avatar
apparently my fix for console printing unicode wasn't correct either
13:48
it doesn't work on windows 10
13:55
do you know how to look at memory in vs?
Avatar
nop
Avatar
very useful debugger
Avatar
xd
13:55
whats ur prob already?
Avatar
trying to get windows to render unicode correctly in the console
Avatar
ah
13:58
does it work or not at all? xd
Avatar
[2019-05-30 14:06:40][chat]: Learath2: ♫
14:06
supposed to be a music note
Avatar
ah
14:07
xd
14:07
but
14:08
@Learath2 which console?
Avatar
the actual console
14:08
MSDN says "For the most consistent results, applications should use Unicode, such as UTF-8 or UTF-16, instead of a specific code page."
Avatar
ChillerDragon 2019-05-30 14:08:53Z
discord down?
Avatar
this ?
14:08
Avatar
MSDN says "For the most consistent results, applications should use Unicode, such as UTF-8 or UTF-16, instead of a specific code page."
14:09
MSDN says "For the most consistent results, applications should use Unicode, such as UTF-8 or UTF-16, instead of a specific code page."
14:09
I'm trying my very best to use utf-8 but it just doesnt work...
Avatar
this?
14:09
14:10
omg pls discord upload
Avatar
ChillerDragon 2019-05-30 14:10:00Z
@noby i think its just our private chat xd
Avatar
on a msvc blog, they shamelessly post this
14:10
I think they are the ones that need to learn how to fucking use utf-8
Avatar
discord is censoring me
Avatar
yes @archimede67 that one
Avatar
it works fine for me
Avatar
are you on windows 10?
Avatar
ye
Avatar
amazing, it works on some computers, doesn't on others
14:11
even better
14:12
@archimede67 can you join the server and send some weird character?
Avatar
xd ok
Avatar
xd
14:13
i'm funny huh
Avatar
@archimede67 send a 𑀌
Avatar
lul
Avatar
I hope that didn't crash everyones client :p
Avatar
wait
14:14
i don't have the chat line for that message xd
14:14
Avatar
yeah, i told you it's very broken
Avatar
xd
Avatar
turns out the windows console can only understand ucs-2, so wchar_t seems to be the correct choice after all @heinrich5991
Avatar
@Learath2 unicode symbols work for me too, on windows 10. but this 𑀌 doesnt
14:22
the line is just gone
Avatar
also @heinrich5991 I remembered why I didn't allow characters from the SMP
14:22
windows console just can't handle utf16
14:23
it can only handle ucs2
14:23
@fokkonaut yeah that's a character from the SMP
14:23
it just causes the logger to return without printing anything
Avatar
because windows console can't handle utf16
14:24
it only understands ucs2
Avatar
for real?
14:25
embarrassing
Avatar
yeah, it's straight out of the 90s 😛
Avatar
windows is embarasing ye
Avatar
is there no way to fix it#?
14:26
discord lagging ouuuuut
Avatar
yeah discord bad
14:26
lets go to irc
Avatar
i am
Avatar
@fokkonaut no fixing it, the console is just the way it is
14:30
lmao i can see emojis
14:30
gg irc
Avatar
well it's not irc you should congratulate
Avatar
irc just passes along bytes as they are
14:31
it's the wonder of proper utf8 support on most linux terminals
Avatar
maybe i installed some fonts
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:31:23Z
Learath2: discord works so bad rn
Avatar
yeah, idk what's up with it
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:31:38Z
Learath2: on debian i saw also the emoji but not colored
14:31
i guess i got some font installed
Avatar
depends on the terminal and the fonts
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:32:22Z
im using same terminal
14:32
termite
Avatar
then it's the fonts prolly
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:33:09Z
lmao
Avatar
xd
Avatar
visual studio seems convinced I'm dereferencing a NULL pointer
14:33
but I'm not :/
Avatar
wdym by dereferencing a null pointer
Avatar
ah i see what it means
Avatar
its safe to free a null pointer if thats what u meant
Avatar
dereferencing is *
Avatar
it's trying to say I forgot a null check
Avatar
is it safe?
14:35
ah
Avatar
but because it's autistic it says im dereferencing NULL
Avatar
clion best
14:35
or
14:35
the clang server
14:36
lmao they got a screenshoot of vscode
14:36
ah but u are on vs studio
Avatar
apparently there is a literal macro for IsWindowsXPOrGreater
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:38:37Z
🌠 Dark powered asynchronous completion framework for neovim/Vim8 - Shougo/deoplete.nvim
Avatar
apparently there is a literal macro for IsWindowsXPOrGreater
14:40
we have a os_is_winxp_or_lower 😛
14:40
@Ryozuki I think most people I know using vim only use the built in autocompletion
14:40
it's supposed to be pretty decent when you have a ctags file
Avatar
well know u now one who doesnt
14:42
pepeH
14:54
poggers
Avatar
@Learath2 can ur vanilla vim do this tho
Avatar
probably not
Avatar
i don't use vim
Avatar
I'm not sure if I want to invest time in getting fluent with vim
Avatar
vim even with plugins is blazing fast
14:55
and all modern plugins are asynchronous nowadays
Avatar
it sorely needs a way to properly navigate around
Avatar
[quakenet] Ryozuki BOT 2019-05-30 14:55:58Z
vim even with plugins is blazing fast
14:56
and all modern plugins are asynchronous nowadays
14:56
fcking discord
Avatar
sublime text is already blazing fast
Avatar
vim is hard 😦
Avatar
and vscode isn't far behind even though it's an electron app
Avatar
i have fun using vim
14:56
and learning it
14:57
specially when u learn it
14:57
u notice the amount of power
14:57
in ur hands
Avatar
I'm pretty decent at using vim
Avatar
but it needs time to be configured to ur likings
14:57
like ricing ur desktop
14:57
xd
Avatar
still not as fast as I am with my mouse though
Avatar
u can spend all day
14:58
i can go to defintion too
Avatar
ooooh, haven't played nethack in a while
Avatar
yeah I'm done coding for the day 😛
Avatar
@Ryozuki do you have some refactoring tool?
Avatar
it has a rename option but it needs tweaking
15:00
cuz after it wont find the symbol
15:00
mm
15:00
i guess i need to rerun cmake
15:00
to make compile_commands.jsoon again
15:00
but im not sure
15:01
Vim plugin for clang-rename, clang-rename is a C++ refactoring tool. - uplus/vim-clang-rename
15:01
i would try this
15:01
but im lazy rn
15:02
ima play nethack too
Avatar
@Ryozuki play on nethack.alt.org so I can watch
Avatar
i need to learn how to play tho xd
15:09
hjkl
Avatar
ima register
15:10
whats diferent about 3.6.2 and .1
Avatar
if you are just starting out just play the new one
15:11
couple bug fixes, couple balance things
15:12
you'll want to turn off the numberpad setting btw
Avatar
uh im completly lost xd
Avatar
press capital y
15:14
okay
15:14
shift+O
15:14
space a couple times
15:14
one more
15:14
h
15:14
enter
15:14
a enter
15:14
now hjkl should work to move 😛
15:15
you can also use the diagonals, yubn
15:15
i for inventory
Avatar
whats nethack
Avatar
old terminal roguelike
15:16
how can i know what i have equipped
Avatar
check your inventory
15:17
yeah nothing to equip rn
Avatar
im poisoned xd
Avatar
but that ring of conflict is very useful in a pickle 😛
15:17
no you aren't, that message is just "wrong" it just means you took more damage
15:18
no you aren't, that message is just "wrong" it just means you took more damage
15:18
, to pick up
15:18
but wizards shouldn't really wear plate mail 😛
Avatar
it's too heavy 😛
Avatar
where can i find controls
15:19
a good website?
Avatar
good question, I have no idea
Avatar
is # some path without light or smth?
Avatar
# is corridor
15:22
you are a wizard right?
Avatar
you can use a spell with shift Z
Avatar
#off-topic lets move there xd
Avatar
oh yeah true this is #developer 😛
Avatar
xd
Avatar
fstd: do you still play nethack?
Avatar
ChillerDragon 2019-05-30 15:58:08Z
fstd is here? i just started using pstd service 😃 it rocks
Avatar
you can add a ?c at the end to use c syntax highlighting 😛
Avatar
ChillerDragon 2019-05-30 15:58:55Z
ikr best
Avatar
?lua and ?nim also works
Avatar
ChillerDragon 2019-05-30 15:59:13Z
doc said only c
15:59
nim lol
15:59
yo btw do we have a file naming convention? Seems like vanilla used all lowercase and together like gamecontext.cpp and some newer ddnet files use snake case like name_bans.cpp
Avatar
yeah possible that those are not in the doc, I think I added nim without saying anything 😛
15:59
yeah possible that those are not in the doc, I think I added nim without saying anything 😛
16:00
lowercase and together is more prevalent
Avatar
ChillerDragon 2019-05-30 16:00:35Z
src/engine/shared/network_client.cpp
16:00
ah thats vanilla as well huh?
16:00
i dont get it
Avatar
xd
16:01
don't ask
Avatar
ChillerDragon 2019-05-30 16:01:15Z
xc
16:01
dfq does prevalent even mean
16:02
ye so we should kill the subvalent imo
16:02
(i can also invent words :p)
Avatar
xDD
Avatar
[quakenet] fstd BOT 2019-05-30 16:04:57Z
Learath2: haven't played in a long time, you?
Avatar
I'm starting again, but my config is gone 😦
Avatar
ChillerDragon 2019-05-30 16:05:22Z
lol he is actually here
16:05
always track configs on github hehe
16:06
oh its a ascii game nice
16:07
is it only ascii textures or is it actually cli?
Avatar
ChillerDragon 2019-05-30 16:08:50Z
awesome
16:09
i didnt know cli games are a thing i thought im the only person on planet who enjoys it
Avatar
xD
Avatar
[quakenet] fstd BOT 2019-05-30 16:10:38Z
Learath2: but you're not ingame are you?
Avatar
no i quit when i noticed my config was toast
Avatar
ChillerDragon 2019-05-30 16:17:06Z
rq
Avatar
ChillerDragon 2019-05-30 16:33:26Z
Avatar
do it
Avatar
ChillerDragon 2019-05-30 16:33:38Z
16:33
didnt help
Avatar
xD
Avatar
ChillerDragon 2019-05-30 16:34:15Z
are there different types of all and alphabetical sort? xd or what am i not getting here
Avatar
probably
16:35
or u just did shit idk
Avatar
ChillerDragon 2019-05-30 16:35:58Z
16:36
looks pretty all and sort to me
Avatar
ye
Avatar
character_dummymodes.cpp has to be under character.h
16:41
@ChillerDragon
Avatar
you added a new file?
Avatar
yes he did
16:45
but not sorted correctly
Avatar
ChillerDragon 2019-05-30 16:46:09Z
Hmm
Avatar
@ChillerDragon did you read my message
Avatar
ChillerDragon 2019-05-30 16:46:26Z
Ye
Avatar
Then do so
Avatar
ChillerDragon 2019-05-30 16:46:44Z
It makes sense
Avatar
Ofc it does
Avatar
ChillerDragon 2019-05-30 16:46:54Z
But I wonder why it looks like this
16:47
what
Avatar
ChillerDragon 2019-05-30 16:48:39Z
i mean grep usually doesnt forget folders
Avatar
ChillerDragon 2019-05-30 16:49:54Z
ah nvm got confused
16:50
but it didnt help
Avatar
@ChillerDragon just make sure that the order in cmakelists.txt is the same as in your folder if you sort it alphabetically
Avatar
ChillerDragon 2019-05-30 16:51:00Z
yes i piped it through the sort command
16:51
i expect that to be sorted
Avatar
@ChillerDragon try piping through LC_ALL=C sort
Avatar
@heinrich5991 does my pr looks good to you or is there some bugs/things wrong?
Avatar
ChillerDragon 2019-05-30 18:24:52Z
awesome that worked @heinrich5991 ur a fokin wizard
Avatar
@archimede67 inline in class definition doesn't do anything btw
Avatar
ChillerDragon 2019-05-30 18:27:43Z
i dont understand why inline is in classes by default
Avatar
@archimede67 the first thing that would probably need to get fixed is that the thread still accesses some stuff from the main thread
18:33
namely pSnapshotDelta and pConsole
18:33
ah, CSnapshotDelta might be threadsafe, let me check
18:33
(but pConsole isn't)
18:34
(and it might be good to factor out the CDemoEdit out of client.h and client.cpp
Avatar
oh you think?
18:34
so it has its own file,
18:34
?
Avatar
yes
18:36
CSnapshotDelta is not threadsafe
Avatar
hmmm
18:37
but i need it to init the demoeditor
Avatar
then you need to create your own instance
18:38
for each thread
Avatar
of CSnapshotDelta?
Avatar
yes
Avatar
and for pConsole ?
Avatar
patch CDemoRecorder to also work with a NULL pConsole I guess
18:48
thx!
Avatar
@heinrich5991 where should I put the new file?
Avatar
src/engine/client/
Avatar
ok thanks
Avatar
uff
19:30
Avatar
ok fixed xd
Avatar
@heinrich5991 I need the CSnapshotDelta from the client to make the demoeditor work properly
Avatar
why?
Avatar
idk, if not the demo is buggy
Avatar
@archimede67 I mean if there's a way the client's CSnapshotDelta becomes the way it is, then you can just put your own copy through the same process
Avatar
my own copy?
20:58
so creating a thing exactly like the m_SnapshotDelta in the client that i pass in my thread?
Avatar
is there a reason why rainbow color changing was made impossible on ddnet?
Avatar
maybe coz of last update with colors
Avatar
no its been removed long ago
Avatar
ah
21:11
idk then sry
Avatar
@Im 'corneum I for example would remove it because it looks attention-grabbing
Avatar
then it seems to me its the same reason that emoticon spam was removed. but as it was brought back why dont you reactivate rainbow?
Avatar
I would also remove emote spams 😛
Avatar
@deen could you have a look at these PR's before a new version? #1732, #1760
Avatar
Rainbow is way more attention-grabing than emotes spam
Avatar
Bcs emote spam is easy to ignore and only in one place but a rainbow tee with top rank makes the btm right corner of ur screen flash
Avatar
xd
Exported 553 message(s)