|  | 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 |  | 
			
				
					|  | 7db96cfab4 | CSV export: correct display time + remaining pieces 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 14s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 37s | 2025-10-28 15:22:45 +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 |  | 
			
				
					|  | 916c7af738 | Fix refresh 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 28s | 2025-07-16 10:53:33 +02:00 |  | 
			
				
					|  | 537f32ab8b | Don't change browser history on category filter change 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 31s | 2025-07-16 10:43:08 +02:00 |  | 
			
				
					|  | 4ca711f5aa | Add category selectors on public scoreboards 
		
	
	
		
			
				
	
				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 30s | 2025-07-16 10:38:21 +02:00 |  | 
			
				
					|  | b13ef30807 | Permit to modify contestants categories 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 20s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 34s | 2025-07-16 10:22:47 +02:00 |  | 
			
				
					|  | 657c5ac47b | Internal scoreboard: add category filter 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 18s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 34s | 2025-07-15 18:23:26 +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 |  | 
			
				
					|  | ee476ab81b | Improve dashboard display 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 34s | 2025-06-27 13:15:53 +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 |  | 
			
				
					|  | 1b34d10dee | Improve public scoreboard UI + make it responsive 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 19s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 43s | 2025-06-26 10:53:21 +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 |  | 
			
				
					|  | 1a8ea0afee | Suggest closest contestant name when converting a message to completion 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 22s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 39s | 2025-06-25 08:54:02 +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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 6fb5ba5f3e | Flexify scoreboard 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 15s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Successful in 27s | 2025-06-21 11:11:18 +02:00 |  | 
			
				
					|  | 6c16e5e232 | Improve notice height 
		
	
	
		
			
				
	
				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 30s | 2025-06-21 11:04:08 +02:00 |  | 
			
				
					|  | 2969a24cb0 | Fix display_time 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 15s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 26s | 2025-06-21 10:54:20 +02:00 |  | 
			
				
					|  | 4b5c09f63b | Deactivate badges 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 15s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 29s | 2025-06-21 10:37:11 +02:00 |  | 
			
				
					|  | ca7399f490 | Flexify the contest dashboard 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Has been cancelled | 2025-06-21 10:36:19 +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 |  | 
			
				
					|  | 70c0fed0c4 | Show current puzzle image in puzzle edit form 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 14s 
				
	
				CI / scan_js (push) Successful in 10s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 27s | 2025-06-21 07:08:14 +02:00 |  | 
			
				
					|  | 6c0f5167a4 | Add puzzle images to the scoreboard 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 19s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 31s | 2025-06-21 07:05:12 +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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | a33f3ff4de | Display more participant info on contest dashboard 
		
	
	
		
			
				
	
				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 28s | 2025-06-18 07:46:45 +02:00 |  | 
			
				
					|  | 17a1af4e9f | Prevent the user from converting messages and warn them, if there are no puzzles 
		
	
	
		
			
				
	
				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 33s | 2025-06-18 07:40:05 +02:00 |  | 
			
				
					|  | baea71b312 | Autofill puzzle and don't show it when there's only one puzzle 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 14s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 30s | 2025-06-18 07:15:39 +02:00 |  | 
			
				
					|  | d7d90f0c91 | Add extension URL display 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 1m3s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 38s | 2025-06-13 18:30:47 +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 |  | 
			
				
					|  | 1397ddce2f | Implement message delete method 
		
	
	
		
			
				
	
				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 41s | 2025-05-14 16:37:28 +02:00 |  | 
			
				
					|  | 138fe67baa | Improve show contest buttons 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 15s 
				
	
				CI / scan_js (push) Successful in 10s 
				
	
				CI / lint (push) Successful in 11s 
				
	
				CI / test (push) Successful in 29s | 2025-05-14 15:17:42 +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 |  | 
			
				
					|  | 6afde8a971 | Turn puzzles into table 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Failing after 13s 
				
	
				CI / scan_js (push) Successful in 11s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 28s | 2025-05-11 21:09:57 +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 |  |