◢███◤      ◢██◤                            ◢██◤                            
     ◢██◤       ◢██◤                            ◢██◤                             
    ◢██◤       ◢██◤                            ◢██◤                              
   ◢██◤       ◢██◤                            ◢██◤                               
  ◢██◤       ◢██◤                            ◢██◤                                
◢███◤       ◢██◤                            ◢██◤                          ◥██◣   
◥███       ◢█████◣    ◢████████◤ ◢███████◤ ◢██◤ ◢██◤                 ◢██◤   ██◣  
 ███      ◢███████◣        ◢██◤ ◢██◤ ◢██◤ ◢███████◤                 ◢██◤    ███  
 ███     ◢██◤  ◢██◤ ◢████████◤ ◢██◤      ◢█████◣                   ◢██◤     ███  
 ███    ◢██◤  ◢██◤ ◢██◤  ███◤ ◢██◤ ◢██◤ ◢██◤◥███◣                 ◢██◤      ███  
 ◥██   ◢██◤  ◢██◤ ◢████████◤ ◢███████◤ ◢██◤  ◥███◣               ◢██◤       ███◣ 
  ◥██◣                                                          ◢██◤       ◢███◤ 
                                 ◢███◤ ◢███◤ ◢██◤  ◢██◤ ◢█████████◤       ◢██◤   
                                ◢█████████◤ ◢██◤  ◢██◤ ◢██◤  ████◤       ◢██◤    
                               ◢██◤◢█◤◢██◤ ◢██◤  ◢██◤ ◢██◤   ███◤       ◢██◤     
                              ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤       ◢██◤      
                             ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤      ◢███◤       

0005
[Request] align chat and gc rate limits
mj8ym2
Right now, GC xfer rate limits are 5 transfers per 20 seconds from A to B, and then a tier-based overall transactions per minute (200 for t4, less at lower tiers) So for example, one user can send 5 transactions to user A, then 5 more to user B, then 5 more to user C, etc, all within 20 seconds, because the 5/20 rate limit is *per pair* not global (and then the 200/min global rate limit tracks all of those) Chat rate limit is also 5 chats per 20s, except it is pure global. Send 5 tells to A, and you cannot send tells to anyone else for 20s. We are increasingly seeing events and games where a single centralized user wants to send relatively low-volume chats to many many people (think the surf event, or zac.rpg, or similar), such that the 5/20 global rate limit is getting in the way because although you might only need 1 chat per 20 seconds per user, if you have 20 users, you blow past your 5/20 global rate limit. In some cases (zac.rpg) this has caused the author to consolidate and reduce chats, which negatively affects game play. In others (surf), it lead to the author switching to transaction memos for updates, which precludes people monitoring via the chat API, and cannot be moved out of the main shell area like chats can so they just get annoying. It solves the problem but is poor for players. My suggestion: convert the chat rate limit to be more like the GC rate limit: 5/20s from A to B, with global rate limits similar to GC (even the t0 20/min global is better than 5/20 global). Treat channels and users separately, i.e. one user can send 5 chats to user A, 5 chats to user B, and 5 chats to channel #foo all in the same 20s period. Abuse vectors: People [like me] running chat-based DB backup could export our data faster by doing salami.slice style things with chats. But it shouldn't change overall *volume* of chats, just make it faster. That might increase peak load and reduce idle load. (also I am super lazy i probably wouldn't make that change) Since we can already use chat memos for spam (and they cannot be moved out of the chat area *and* play a sound), this shouldn't significantly affect spam potential. Yes chats can be *longer*, but memos are more obnoxious. overall it's probably a wash
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -