Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							099fd7c08f 
							
						 
					 
					
						
						
							
							Update translation backend stuff a little more  
						
						
						
						
					 
					
						2018-01-23 17:22:39 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							1a5ff05493 
							
						 
					 
					
						
						
							
							Update translation framework  
						
						
						
						
					 
					
						2018-01-23 16:50:19 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							ddec79f8d0 
							
						 
					 
					
						
						
							
							Update translation framework a touch more  
						
						
						
						
					 
					
						2018-01-23 15:09:47 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							75dcff7183 
							
						 
					 
					
						
						
							
							Update translation framework, add badge to readme  
						
						
						
						
					 
					
						2018-01-23 15:06:55 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							4b1aa2b952 
							
						 
					 
					
						
						
							
							remove unused member ChannelRegistry.channels  
						
						
						
						
					 
					
						2018-01-22 13:51:25 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							7edd9032d3 
							
						 
					 
					
						
						
							
							remove newConns channel  
						
						
						
						
					 
					
						2018-01-22 13:51:25 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							728863a17c 
							
						 
					 
					
						
						
							
							move Commands initialization to an init()  
						
						
						
						
					 
					
						2018-01-22 13:51:25 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							62fc2c0cc3 
							
						 
					 
					
						
						
							
							remove Server.commands  
						
						
						
						
					 
					
						2018-01-22 13:47:57 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							b2afd55285 
							
						 
					 
					
						
						
							
							Don't load example translation file, make example actually list all translatable strings  
						
						
						
						
					 
					
						2018-01-22 22:16:07 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							090095b2b9 
							
						 
					 
					
						
						
							
							Set default client language when creating them  
						
						
						
						
					 
					
						2018-01-22 21:30:28 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							275227a461 
							
						 
					 
					
						
						
							
							Make like every client-facing string translatable  
						
						
						
						
					 
					
						2018-01-22 21:26:01 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							0569b5cfaa 
							
						 
					 
					
						
						
							
							RESUME: Fix a few bugs, play modestrings 'n' all  
						
						
						
						
					 
					
						2018-01-22 20:55:20 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							f8b39cfe61 
							
						 
					 
					
						
						
							
							Send fake channel joins on RESUME  
						
						
						
						
					 
					
						2018-01-22 17:58:10 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							7760634efe 
							
						 
					 
					
						
						
							
							Actually let the takeover work somewhat more properly  
						
						
						
						
					 
					
						2018-01-22 17:57:38 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							0d5327de8a 
							
						 
					 
					
						
						
							
							Fix some issues, add RPL_WHOISACCOUNT  
						
						
						
						
					 
					
						2018-01-22 17:57:38 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							ac99e82192 
							
						 
					 
					
						
						
							
							Fix build issues  
						
						
						
						
					 
					
						2018-01-22 17:57:38 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							d09f085b1a 
							
						 
					 
					
						
						
							
							Add very initial RESUME cap and command  
						
						
						
						
					 
					
						2018-01-22 17:57:38 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							e99f22488f 
							
						 
					 
					
						
						
							
							Make LANGUAGE support work  
						
						
						
						
					 
					
						2018-01-22 17:30:31 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							a7fdade41d 
							
						 
					 
					
						
						
							
							Extend to include example translation stuff  
						
						
						
						
					 
					
						2018-01-21 16:49:17 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							ba77a95c81 
							
						 
					 
					
						
						
							
							Very initial beginning of languages implementation  
						
						
						
						
					 
					
						2018-01-21 16:11:16 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							3b3c1c733a 
							
						 
					 
					
						
						
							
							Support bot mode +B  
						
						
						
						
					 
					
						2018-01-07 12:56:51 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							3ba8af714e 
							
						 
					 
					
						
						
							
							Use base 36 when generating message IDs, gives us full 0-9a-z to use while preserving uniqueness nicely  
						
						
						
						
					 
					
						2018-01-04 00:21:35 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							63bd52d471 
							
						 
					 
					
						
						
							
							Make message IDs much shorter (thanks @prawnsalad!)  
						
						
						
						
					 
					
						2018-01-04 00:13:32 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							713fc59691 
							
						 
					 
					
						
						
							
							CAP: Correctly suspend registration for CAP REQ as per the spec  
						
						
						
						
					 
					
						2017-12-28 13:50:42 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							7c624f9a38 
							
						 
					 
					
						
						
							
							Setup v0.10.4-unreleased devel ver  
						
						
						
						
					 
					
						2017-12-28 13:41:36 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							5e9f0fd411 
							
						 
					 
					
						
						
							
							Release v0.10.3  
						
						
						
						
					 
					
						2017-12-26 12:43:37 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							197ab520bf 
							
						 
					 
					
						
						
							
							Change casemapping name and advertisement to match new spec  
						
						
						
						
					 
					
						2017-12-26 12:30:04 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							36b26f99be 
							
						 
					 
					
						
						
							
							Merge pull request  #173  from slingamn/timeouts.3  
						
						... 
						
						
						
						refactor idle timeouts again 
						
						
					 
					
						2017-12-11 14:53:05 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d8d1705035 
							
						 
					 
					
						
						
							
							refactor idle timeouts again  
						
						
						
						
					 
					
						2017-12-06 23:23:25 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							e0519a6387 
							
						 
					 
					
						
						
							
							caps: Rename maxline cap  
						
						
						
						
					 
					
						2017-12-06 13:11:38 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ad1e00629b 
							
						 
					 
					
						
						
							
							fix a race condition in idle timeouts  
						
						... 
						
						
						
						squigz on freenode reported an issue where bots were responding to PING
on time, but were occasionally being timed out regardless. This was a race
condition: timeout was detected as idleTime >= it.quitTimeout, but if
the client responded promptly to its PING message and sent no further messages,
but the main loop subsequently slept for longer than expected (i.e., significantly
longer than quitTimeout), this condition would be met through no fault of the
client's.
The fix here is to explicitly track the last time the ping was sent, then test
!lastSeen.After(lastPinged) instead (making use of time.Time's monotonicity).
It is sufficient that the measurement of lastPinged happens-before the PING is sent. 
						
						
					 
					
						2017-12-02 20:30:26 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							f5e7ec525d 
							
						 
					 
					
						
						
							
							synchronize accesses to client.atime  
						
						
						
						
					 
					
						2017-12-02 20:05:06 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b4907dadb9 
							
						 
					 
					
						
						
							
							fix a bug where the uncasefolded nickname wasn't being recorded  
						
						... 
						
						
						
						Also, rename the nickname vars to hopefully make things clearer 
						
						
					 
					
						2017-11-22 16:56:14 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d5a5f939dd 
							
						 
					 
					
						
						
							
							review fixes  
						
						
						
						
					 
					
						2017-11-22 16:35:57 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							52b0fb71e7 
							
						 
					 
					
						
						
							
							refactor ClientManager  
						
						
						
						
					 
					
						2017-11-22 05:09:38 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							bfcada11dc 
							
						 
					 
					
						
						
							
							KLINE: Save name of the banning oper  
						
						
						
						
					 
					
						2017-11-19 10:32:32 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							dedb029272 
							
						 
					 
					
						
						
							
							DLINE: Save name of the banning oper  
						
						
						
						
					 
					
						2017-11-19 10:27:40 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							8036df92fc 
							
						 
					 
					
						
						
							
							WHO: Require first param, matching other servers  
						
						
						
						
					 
					
						2017-11-19 10:10:10 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b83d454554 
							
						 
					 
					
						
						
							
							fix ban regexp not being recompiled on removal  
						
						
						
						
					 
					
						2017-11-13 18:25:51 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b1e12ca1eb 
							
						 
					 
					
						
						
							
							allow unprivileged users to list bans  
						
						
						
						
					 
					
						2017-11-13 18:25:51 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							fc8007e6e4 
							
						 
					 
					
						
						
							
							Setup v0.10.3-unreleased devel ver  
						
						
						
						
					 
					
						2017-11-13 22:52:48 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							11ea52b0f0 
							
						 
					 
					
						
						
							
							Release v0.10.2  
						
						
						
						
					 
					
						2017-11-13 22:46:50 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ca8a0b7091 
							
						 
					 
					
						
						
							
							fix a wide-ranging assortment of crash bugs  
						
						
						
						
					 
					
						2017-11-13 02:42:20 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ff50a25b65 
							
						 
					 
					
						
						
							
							Merge pull request  #161  from slingamn/chanreg.3  
						
						... 
						
						
						
						remove registeredChannelsMutex 
						
						
					 
					
						2017-11-13 12:46:23 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							efb54163a5 
							
						 
					 
					
						
						
							
							Setup v0.10.2-unreleased devel ver  
						
						
						
						
					 
					
						2017-11-13 12:45:10 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							f2d4698baf 
							
						 
					 
					
						
						
							
							Release v0.10.1  
						
						
						
						
					 
					
						2017-11-09 15:07:40 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							6d619bf411 
							
						 
					 
					
						
						
							
							fix channel mode change privilege enforcement  
						
						
						
						
					 
					
						2017-11-08 23:37:38 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d4cb15354f 
							
						 
					 
					
						
						
							
							remove registeredChannelsMutex  
						
						... 
						
						
						
						This moves channel registration to an eventual consistency model,
where the in-memory datastructures (Channel and ChannelManager)
are the exclusive source of truth, and updates to them get persisted
asynchronously to the DB. 
						
						
					 
					
						2017-11-08 22:24:33 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							60b861e07e 
							
						 
					 
					
						
						
							
							fix a race in regenerateMembersCache  
						
						... 
						
						
						
						The rationale for why regenerateMembersCache didn't need to hold the Lock()
throughout was subtly wrong. It is true that at least some attempt to
regenerate the cache would see *all* the updates. However, it was possible for
the value of `result` generated by that attempt to lose the race for the final
assignment `channel.membersCache = result`.
The fix is to serialize the attempts to regenerate the cache, without adding
any additional locking on the underlying `Channel` fields via
`Channel.stateMutex`. This ensures that the final read from `Channel.members`
is paired with the final write to `Channel.membersCache`. 
						
						
					 
					
						2017-11-07 14:38:18 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							9b74c47b74 
							
						 
					 
					
						
						
							
							rename some getters  
						
						... 
						
						
						
						Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters  
						
						
					 
					
						2017-11-03 02:36:55 -04:00