7,091 Commits over 2,833 Days - 0.10cph!
▅▉▌ ▄▍██ █▌▋▊▄█▄▆ ▇▊▋█▌▍ ▉▌ ▄▍█▋▆▍▊▄▄/▍▌▆▇▊▊▋▉▉▅▇ (▇▆▆'▆ █▆▅▄ ▌▉▇ ▊▉▊▋▅▉▋▅▉, ▅▋▊'▄ ▊▋▍ ?. ▊▍▍▌▆▋▆█)
▊▆▅▌█▊▍ ▍▋▇▍▆▋█▉▊▅ ▅██▌▇ ▊▋▌▋ ▍▊ ▊▌▊▋ ▉▋▍▆ ▋▄▊ ▍▋▌▋▆ ▊▇▌█▅▄▌▇▌▅
▅▍█ ▊▄▋ ▉█▊▄▅ █▅▍▌ ▄▋ █▇▄▋ ▅█▇ ▋▅▄▄▇▄ ▇▉▅▋▉ ▆▍▇ ██▄▊ ▅▅▅▉▉
▇▅▉ █▇▍▍▌▉▍▅▍ ▍▇▍█▌▅▌▍▅▅ ▌█▆█▄▋▊▅▆ █▆▇ ▊▋▋█▊ ▄▆▋▉▊▅▇ ▅▉ ▉▇▅ ▆▋▇▌
▍▉█▄▄▍▌ ▌▉▄ ██▍▍▋ █▄▆█▋ ▄▅▅ ▌▊▅▆▋▆▆ ▇▆▌▍ ▄▄█▉▍▍▍▇
█▌▊'▆ ▋▆▍▆▆ ▄▄▄▊ ▋▇▉█ ▌▊▄ ▊▆▋▅▊▍▍▊▍▉▆█▋▊▋▇▅█ █▄▌▍ ▄▇ ▅▋▇ ▆▋ ▍ ▅▄▇▍ (▋▅▄ ▉▉▋ ▇▆▆▋▋▊▇ ▍▄▄)
▇▌▆'▉ ▇▆▅▌▇ ▉▆▅▄█▉▆ ▅▅▋▊▉▌ ▋▋▄█▍▊ ▄▇▋█▇▆▄ ▍▍ ▌█▆▄▅▉▌ ▍▇ ▌▌█▌ ▆▇'▅ ▋█▉▅██▌▆ █▋▄▋▌▋▋█▊▆
Limit how often the client can call the Discord friends lookup endpoint
Incrementally update Steam friends list based on persona state change events instead of polling every 15s
Still do polling when the friends list UI is visible to make sure it's in sync
Update protobuf code generator tool
Updated hackweek_reduce_copies changes to latest
Ditch Stream as the read/write interface to reduce the amount of copying data around
Refactor to make BufferStream a class and support resizing the backing buffer automatically
Fix writing incorrect padding for len prefixes
Optimize ReadFromStream(Stream, int) to not allocate because the length is known
Fixes and additions for latest rust
Merge from menu_friends_list
Increased pending send limit from 256 to 2048 so rcon spam is less likely to cut it off
Add limit for the number of pending sends a websocket connection can have
Increased limit to better tolerate spiky traffic
Show send message option if one of your Discord friends who you don't have on Steam sends a game message too
Add a send message option in the chat message context menu
█▉▋ ▉▅▍▊▄▆▊ █▇▌▌ ▍▆▆▍▌ ▅▊▋▆▊█▉ ▋▍ ▄▆█▅▍▉▄ ▊▆▄▉ ▋▅▇▉ ▄▌▋▉
▇▇▍ ▋▇█▌▄▋▆█▆ ▄▋▅▋ ▉█▊▊▅▌▉ ▆▄▍▆█.▍▄▍ ▄▇ █▊█▍▆▌▉ ▄▆▆▉ ▋▆▅▄▊▅▋ ▅▅▇▋ ▉▋ ▊▊▇ ▅▇▄▋▆█▍▊▄▊
▋▆▉ ▅▉▌▊▍▉▋ ▌▆▋▋▆ ▌▍▍▊▅ ▋▇▉▉▇▊▆█▇▇▇ █▍ ▍▇█▉▍▌▍▍▋▅▍▉▍▉▆█▇█▄▄▍▍█
█▇▄ ▄▊▉▆█▊▍▍▍█▍ ▆▅▇ ▍▆▄▌▊▋▇▇ ▄▊▍▆▇▋ ▉█▍▋ ▋▌▋▍▌▄▉█ ▊▌ ▇▇▋▄▍▋█▋▍
▇▉▄'▇ ▄▅▆▋ █▌▌ ▋▇▄▅▇▌ ▌▌ ▍▅▊▅▇▇▅ ▉▍ ▆▄▉▊▍▌▌ ▊▌▊▄ ▇▌▆▆ ▆▌ ▋▍▆▄'▇▌ ▄▆▋▋▊▇▋ ▍▌▉▆ ██▆▆▋█ ▆▉ █▆▋▉▄▍█ (▍▉▊▆ ▆▌▌▆▉ ▇▆▅▅▇▅▋▅ ▋ ▊▋▋▍▊ ▍█▍▉▌▉)
▋▌█▌▍ ▉█▄▆ ▆▌▊▋_▋██▊█▇▊_▅▇▋▊
▆▉▋▊ ▉▋▍▉▄▍▄▌▅ ▆▋▌▅▌▇▆▍▄▊▆ ▇▄█▍▌▍▉ █▍▉▋▊▊▍▇▄▆▋▉▌ ▇▋▊▋ ▅▆▅ ▉█▍▆▅▍▉
▉▆▅ ▇▉ ▄▄▄▋▌▍ ▇▉ ▉▄▄▉ ▄▄▄▉▇▋█▆ ▍▍▅ ▋▄▉▉ ▉▇▌▆▉██▌ ▋▊▆▉ ▉▄ ▌▊▄▋▌▊█
█▋▋'▌ ▊▇▅▄ █▅▉ ▋▅█▊▋▋ ▋▍ ▆▆▌█ ▋▄▊▆▌▆ █▋ ▍▋▆▅ ▅▌ ▄▄▊▆▅▅▇▉ ▆▅▉▌ █▊ ▋▍▇▊▉▆▍ ▋▄ ▅▆▌▄ ▇▉▄▍▇▉▌ ▊▊ ▆▍▅▋▄▆▌█
█▅▇█▋ ▉▆▄▆ ▇▄▅▋_█▆▉▌▉▍█_▍█▄▄
▇▉▍▄▌ ▌▇▄▍ ▊▉▊█_▇▌▆▄▆▌▋_▋▍▋▇
▌▆▆'▌ █▍▍▉▌ ▆▌▌▋▌.▅▊▊▊▌▇▉▊▉▍▊ █▍ ▋▌ █, ▍▊▊▅ █▍ ▋▊ ▆▌█▋
▋▄█ ▍▊█▅▉▇ ▋▌▋▍▋▇▅▍▅ ▋▋▄ ▊▌▉▆▌█▇ ▋▆, █▊▄▄▄▋ █▍▉ ▉▇ ▊▄▇ ▋▇▅█▍
▋█▄ ▉▋▋▆▉▅▄ █▅▊ ▋▍▌▅▍▊▍▋▅ ▉▌▄▉▋▄▅ ▊▋▄▆ ▍▇▊▋▉▆█ ▌▄▌▄▋▊█ █▋▄▇, ▋▍▄█▉▍▅ ▉▅▍▅▇ ▉▇▇▌▊ █▇▅▉▋▆ -> ▅▋▇█ ▅█▅▇ ▇▅▆'▍ ▅ ▅▉▌▋▊ ▄▄█▊▋▇▋ ▇▋▌ ▍█
▉▅█ ▌▄▋▊▉▅.▅▉▍▅▉▇▌▋▍█▌▋▆▆▄▆█▌▅▍ (▅▋▍▄▋▉▇ ▅▅▌▍▊▌▆▅) █▉ ▋▆▍▍█▅ ▅█ ▌▇▍▇▊▊▌ ▉▉▍▇▉▌▇
▄▄▋ ▊▅▉▆▌▍▄ ▉▊▋▊ ▅▄▋▊▌▊▍▆ ▇▋▉▅▄ ▅▇▇▌ ▍▋ ▇▆▌ ▆▋▍▊ (▆▍▇▍▋.▍▍)
▍▉▆ ▆▇▄▍ █▍▉▇▊ ▆▄▅▊ ▌▌▋ ▌▆▌▌▍▊▋ ▉▍▌▆▅ (▅▊.▅█▅▊▇▇▅ ▋▊█▆ ▋▊▌ ▌█▉▇█▆▅ ▊ ▅▊▆▊▊█)
Fix FlexTransition resetting state in Awake when a different state was set before
▇▌▋ ▄▄▍▅ ▆▇▄██▅▊ ▉▍▆▋▉▅▉ ▍▌▋▅ ▌▄▌ ▆▆▊▄▅▅ ▆▄▌ ▍▅▅▅▌▌ ▌▉▋▋▄▍▍ ▊▆▉▅ ▄█▄ ▄▍▆▌▆▄ ▅█▇▇▍ █▉▅▆'▉█ ▄▋▄▍▆▇▄ ▄ ▍▆▉▇▉▄
▊█▆ ▄▌▉▌ ▋▊▅▋▉▊▄ ▄▌▅▊█ ▆▍▊▄ ▄▊▊▋▋ ▌▅▋▋ ▅▄▉▌▋▉▇ ▇▆█▄▇▍▇▄▍ █▆ ▄▍▌▅
▊▆█▅▄ ▄▄▋▆ ▊▋█▍_▍▆▇█▅▇▊_▇▊▇▊
▄▍▋▍▉▅▊ ▆▄▇ ▄▊▆█ (▉▋▄▉▇ ▆▆█▅▆ ▅▇█ ▊█▅▍█▅▍▋)
▉▊▄▋▅▆▅ ▋▍▍▇▌▉▍▌▄ ▉▌▆ ▌▅▆▄▍▄▋▊▄ ▅▇▉▅▋▍█ ▉▋█▆▌▊ ▋▉▊▋▄▍▌▌
▇▋▄▊▊▉▋ ▋▋▆▍▄ - ▊▋▌▌▇▊ ▄▄▋▋ ▇█▄▇▄▌█▆▌▉▋▊▍▅█
▄▅▋▄▅▄ ▇▋▆▌▅▋ █▉█▇▇▆▊ ▇▅▌▆▆▌▉▋█▄▊ █▇ ▌▇▋▊▉█▉█ ▋▊ ▄▅▅▊█▉▊▉ ▌▇▉█ █▆▍█▅▉▇▍▊▊█
Update test projects so the solution loads with latest LTS
Dispose handler when closing the socket
▇▊▇▅▋ ▇▇▍▆ ▇▆▉▋_▄▄▋▇▇▋▆_▍▆▋▉
▋▇▊▌▆█ ▍█.▅▄▉▋▄▉▇▅▍▋ ▋▌▌ ▍▊▆▉ ▊▅▍▋▄▉▍ ▅▊▋▇▉▍▉▉▋▄█▊▅▅▌
▆█▆ ▌▉█▊▆▌.▋█▇▉▆▍▊▅█▊▉▇▋▍▉ <▍▆▆▅▋▉▍> <▄█▌▍▉█> ▅▍█ ▉█▍▉▅▊▍
Explicitly turn off BOM when marshaling strings to/from Steamworks, just to be safe
▍▆▄ ▋▅▆▌▇█▍▉▄▍▋▋ █▍▅ ▊▅▋▊▅▍▌ ▆▉ █▆██▌▌▋ █▊▅▄
▄▍▉ ▉▋▇▅ ▊▌▊▋▆██ ▌▍▊ ▆▄▅▍▌ ▋█▅▄█▊▅▆▆ ▄▇▌▅ ▋▉▆▍▌▌▆ ▇▌▋▄ ▍▄ ▄▍▅▆ ▊▍▅ ▅▅▄█▋▌██▊ ▇▊▍▉ ▆▄▇▇▇▅▇▋ ▉▌▋ ▅▄ █▉▅ ▄▄▇
▇▋▍▉ ▉▌▆▄▇ ▋▊▉▄▄█▋ ▄▊ ▋▌▉▊ █▊▇▇ ▆▊ ▇▍▆▊▆▆
▋▆▅▊▉▉█ ▇▆▇ ▅▆▄▉▋▅▋ ▍█▆█
▆▉█ ▌▌▍▆▉▇▌ ▆▌█▍▆ ▌▆ ▇▆ ▌ ▋▄▆▌ ▌█ █▋▍ ▇▍▉▌▉▉▋▊▋ ▋▊▅▌▌█ ▍▇▉▉█▇▉▊ (▅▇▊▅▇ ▉▄▇ ██▉▄▌▋▍ ▌██▅▉▉▊▊ ▌▅▋▍█ ▍▌▆▉▋ ▆▇█▍▇█▄▋ █▅▊▇▋▊▆)
▇▊▄ ▄▅▄▅▉▋▋▄.▊▊▉█▉ ▆▍▆▊ ▇▉▍▅▄▅▋▄▉ ▍▉ █ ▄▋▄▆▋▆ ▇▋▅ ▌▋▅ ▆▌ █ ▅▄▉█ (▇█▄▌▌ ▋▍▍▄▆▄▄ ▋▆▊▉▌ ▉▅▋)
▅▇▄'▄ ▆▍▄▌▌ ▅▍▍▄ ▄▊▇▉ ▅▇ ▄▄ █▍█▉ ▌▇ ▇▊▍▊█▊ █▍▅▇▆
▋▉▉▍ ▆▌ ▇▅██ █▉▍▉▇▆▍ ▊▇▉█▇'▉ ▋▅▌▉ ▉▆▉▄█▍▆▇▋, ▉▅ ▅▅▅▇█▍▍
▅▄▅▅ ██▆▋▋▌ █▍▌▋█ ▇▋▍▌▇▍▉ ▊▆▉▋ ▌▉▆█▄ ▍▊▋▄▌▇█ ▌▅ ▌▋▆ █▌▌▊▇▋▋ ▇█▉▉▍▉▇ ▌▉▊ ▉▋█▆▋█ ▇▄▊ ▉▍▇▄▋▉ ▅▇▅▇▋'▄ ▉▋█▅
▊█▄▋▉▉ ▉▌▅▊▄▇▍▋ ▇█▉▋ ▆▌/▍▇▌▄ ▌▆▅█▋▉ ▍▄▍ ▅▅▄▆'▇ ▅▄█▉▍▄▉▌ ▇█▍▇█▌▉
▉▅▆▋▇ ▅▊▅▍ ▊▄▍▌_▋▋▋▍▅▊▄_▌▌▌▉
▌▊▅'█ █▌▍▉ ▇▅▍-▉▇▅▊▊▊ ▇▆▉▋▌▌▄ ▍▊▍▊▅▍▉█▆▊▊▌▍ ▋▆ ▊▊▅▉▇▅▌
▇▇█▆ ▄▍ █▄▆▋ ▆▌▋▊▍▄▆▊ ▅▅▊▊▋▊▌ ▄▅▄▍ ▅▅▅▌▊▆▌ ▅▄▄▄ ▍▌▄▆▉▍██▋