|  | 37a65526e4 | Implement offline POST method for starting an offline participation 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Failing after 15s 
				
	
				CI / test (push) Successful in 42s | 2025-10-30 11:37:20 +01:00 |  | 
			
				
					|  | aea001cdf6 | Add contest param for offline form participation 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 20s 
				
	
				CI / scan_js (push) Successful in 15s 
				
	
				CI / lint (push) Failing after 13s 
				
	
				CI / test (push) Successful in 38s | 2025-10-30 10:30:32 +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 |  | 
			
				
					|  | 1fa7bf10ec | Add contestant export feature 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 1m5s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 36s | 2025-10-28 10:19:19 +01: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 |  | 
			
				
					|  | d28f888ee2 | Add refresh button for the scoreboard 
		
	
	
		
			
				
	
				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 35s | 2025-06-25 17:36:33 +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 |  | 
			
				
					|  | c34b9654c8 | Client side puzzle image size validation 
		
	
	
		
			
				
	
				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 40s | 2025-06-25 08:00:49 +02:00 |  | 
			
				
					|  | f27b43ef45 | Improve top buttons 
		
	
	
		
			
				
	
				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 27s | 2025-06-21 10:07:42 +02:00 |  | 
			
				
					|  | 5b908fe37c | Add notices 
		
	
	
		
			
				
	
				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 39s | 2025-06-21 09:59:18 +02:00 |  | 
			
				
					|  | 2616cbaa71 | Add message when the URL is copied to the clipboard 
		
	
	
		
			
				
	
				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 26s | 2025-06-21 07:23:02 +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 |  | 
			
				
					|  | f78a082ad3 | Add warning for messages 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 33s | 2025-06-18 19:23:44 +02:00 |  | 
			
				
					|  | b8674a126f | Back buttons 
		
	
	
		
			
				
	
				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 37s | 2025-06-18 19:09:55 +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 |  | 
			
				
					|  | 96b8553b1f | Add puzzle fake data recommendation 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 15s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 34s | 2025-06-18 15:00:02 +02:00 |  | 
			
				
					|  | 7444a09046 | Translations for the contest dashboard page 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 28s | 2025-05-18 09:52:58 +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 |  | 
			
				
					|  | e65d639ca6 | Improve add buttons 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 12s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 31s | 2025-05-14 18:09:36 +02:00 |  | 
			
				
					|  | 3a8517e637 | Show messages on contest management view 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 11m23s 
				
	
				CI / scan_js (push) Has been cancelled 
				
	
				CI / lint (push) Has been cancelled 
				
	
				CI / test (push) Has been cancelled | 2025-05-11 21:22:19 +02:00 |  | 
			
				
					|  | 21f71f9d32 | More translations, incl. attributes 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 13s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 33s | 2025-03-28 14:26:57 +01:00 |  | 
			
				
					|  | 10fa821f19 | Some contest pages translations 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 38s | 2025-03-27 14:51:25 +01:00 |  | 
			
				
					|  | 497768610d | Setup I18n for titles 
		
	
	
		
			
				
	
				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-03-27 12:15:27 +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 |  |