|  | 35ad7da355 | Add offline model and "new" form/controller 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 15s 
				
	
				CI / lint (push) Failing after 14s 
				
	
				CI / test (push) Failing after 15m10s | 2025-10-29 17:20:38 +01:00 |  | 
			
				
					|  | bbd2cef168 | Support remaining pieces in completions and scoreboards 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 16s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 36s | 2025-10-28 15:13:29 +01:00 |  | 
			
				
					|  | 5b9862c19c | Fix completion deps for puzzle deletion 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 28s | 2025-07-16 10:39:59 +02:00 |  | 
			
				
					|  | 502649620b | Add contestant categories to contests 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 1m4s 
				
	
				CI / scan_js (push) Successful in 3m20s 
				
	
				CI / lint (push) Successful in 15s 
				
	
				CI / test (push) Successful in 2m7s | 2025-07-14 14:54:55 +02:00 |  | 
			
				
					|  | 0599def237 | Add number of pieces to puzzles 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 34s | 2025-06-27 09:23:25 +02:00 |  | 
			
				
					|  | b6da55723d | Ensure puzzle uniqueness per contestant validation error is shown 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 33s | 2025-06-27 08:59:27 +02:00 |  | 
			
				
					|  | 2b1a2c9296 | Add "public" setting to contests 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 35s | 2025-06-25 10:07:27 +02:00 |  | 
			
				
					|  | 2cadc8eca5 | Add completion: order contestants by name + add email if present 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 34s | 2025-06-25 08:31:42 +02:00 |  | 
			
				
					|  | ac3b354480 | Contest language & top buttons 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 33s | 2025-06-20 08:07:39 +02:00 |  | 
			
				
					|  | 71f2bb6b70 | Fix completion conversion in case of errors 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 30s | 2025-06-19 17:28:55 +02:00 |  | 
			
				
					|  | ac83a599f3 | Make email mandatory + sign in translations 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 26s | 2025-06-19 16:54:47 +02:00 |  | 
			
				
					|  | 79fb1edfaf | Multiples traductions 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 32s | 2025-06-19 11:20:33 +02:00 |  | 
			
				
					|  | 4645b45f5d | Fix CSV import & contestant deletion 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 35s | 2025-06-19 10:33:36 +02:00 |  | 
			
				
					|  | 67d2ef41b3 | Add indicator for processed messages 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 36s | 2025-06-18 18:42:04 +02:00 |  | 
			
				
					|  | 194c126c90 | Correctly order participants 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 19s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 31s | 2025-06-18 14:49:16 +02:00 |  | 
			
				
					|  | ec2201f9a8 | Implement CSV import and conversion to contestants 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 26s | 2025-05-17 17:40:03 +02:00 |  | 
			
				
					|  | 939e2157ab | Start CSV importer feature 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 20s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 32s | 2025-05-17 12:03:10 +02:00 |  | 
			
				
					|  | c4902d85d5 | Messages to completions conversion 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 15s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 31s | 2025-05-15 08:57:25 +02:00 |  | 
			
				
					|  | 70005468c6 | Add route and controller for incoming messages | 2025-05-11 21:09:45 +02:00 |  | 
			
				
					|  | 2f23938e81 | Add message model 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 14s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 27s | 2025-05-11 19:40:30 +02:00 |  | 
			
				
					|  | 8b0b1c6745 | Add language settings for users, and translate titles to French 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 36s | 2025-03-27 12:55:12 +01:00 |  | 
			
				
					|  | 2144c22bd9 | Use the friendly ID gem for contest slugs 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 10s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 33s | 2025-03-26 17:40:56 +01:00 |  | 
			
				
					|  | a5d165c4b3 | Save display times in the db 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 41s | 2025-03-26 17:00:06 +01:00 |  | 
			
				
					|  | 2982f44acc | Public scoreboard scaffold 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 14s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Failing after 8s | 2025-03-23 08:44:38 +01:00 |  | 
			
				
					|  | 9a2a3a6f33 | Add public scoreboard slug & URL 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-22 18:21:13 +01:00 |  | 
			
				
					|  | d47ebf22ab | Fix completion validation 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-22 13:08:35 +01:00 |  | 
			
				
					|  | ce5b729fef | Add annotate_rb gem and annotate all models 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-22 08:39:40 +01:00 |  | 
			
				
					|  | 570e517c28 | Improve completions 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-21 19:50:03 +01:00 |  | 
			
				
					|  | ea7cdcf608 | Some improvements 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-20 16:14:48 +01:00 |  | 
			
				
					|  | a03907f756 | Add completions 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-20 11:12:55 +01:00 |  | 
			
				
					|  | 44507bb85c | Add contestants 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-20 09:19:39 +01:00 |  | 
			
				
					|  | 658c50fd04 | Add brand to puzzles 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-20 08:59:31 +01:00 |  | 
			
				
					|  | 6f07ec802f | Allow to delete puzzles 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Has been cancelled 
				
	
				CI / scan_js (push) Has been cancelled 
				
	
				CI / lint (push) Has been cancelled 
				
	
				CI / test (push) Has been cancelled | 2025-03-16 15:00:54 +01:00 |  | 
			
				
					|  | 0cbd2e4fdc | Add puzzles to contests 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-15 14:28:24 +01:00 |  | 
			
				
					|  | 026bda2a99 | Add users controller 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-14 16:37:21 +01:00 |  | 
			
				
					|  | 50280ce389 | Initial app 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Waiting to run 
				
	
				CI / scan_js (push) Waiting to run 
				
	
				CI / lint (push) Waiting to run 
				
	
				CI / test (push) Waiting to run | 2025-03-14 15:36:05 +01:00 |  |