|  | 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 |  | 
			
				
					|  | a8f1ffd920 | Update gems 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 1m3s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 13s 
				
	
				CI / test (push) Successful in 1m10s | 2025-10-29 16:48:13 +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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 9862f0c74b | Relative times: pad to minutes format 
		
	
	
		
			
				
	
				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 39s | 2025-06-26 10:56:09 +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 |  | 
			
				
					|  | 341e626f6f | Delete test directory 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 16s 
				
	
				CI / scan_js (push) Successful in 13s 
				
	
				CI / lint (push) Successful in 15s 
				
	
				CI / test (push) Successful in 28s | 2025-06-22 07:56:22 +02:00 |  | 
			
				
					|  | c22b529858 | Add contest feature specs 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 17s 
				
	
				CI / scan_js (push) Successful in 14s 
				
	
				CI / lint (push) Successful in 14s 
				
	
				CI / test (push) Has been cancelled | 2025-06-22 07:55:23 +02:00 |  | 
			
				
					|  | 50050064c2 | Bundle update 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 35s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 33s | 2025-06-22 06:59:51 +02:00 |  | 
			
				
					|  | 5aa69a108c | Allow all origins for sending messages 
		
	
	
		
			
				
	
				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-21 18:20:27 +02:00 |  | 
			
				
					|  | ef3c63ea67 | Add /connect route 
		
	
	
		
			
				
	
				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 26s | 2025-06-21 18:00:06 +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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 67492cdd15 | Update completion -> back to contestant 
		
	
	
		
			
				
	
				CI / scan_ruby (push) Successful in 15s 
				
	
				CI / scan_js (push) Successful in 12s 
				
	
				CI / lint (push) Successful in 12s 
				
	
				CI / test (push) Successful in 30s | 2025-06-19 11:30:21 +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 |  | 
			
				
					|  | 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 |  | 
			
				
					|  | 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 |  |