v0.8.4

 ## Added
 - A date and time picker for inject open and expiry times and for access overrides, replacing `<input type="datetime-local">`, whose Firefox picker closes after the day is picked and leaves the time to be typed. One popover holds the month and a quarter-hour list, and any other time can be typed as "10:07 PM", "1007p" or "22:07"
 - An Unknown scoreboard state, shown in gray, for a cell with no result, such as when the engine starts paused or is paused before the page has seen a round. A check status the frontend doesn't recognize also shows as Unknown instead of Engine Error

 ## Changed
 - New injects default to unlimited resubmissions (-1) instead of none
 - The injects overview shows a graded result as points (`7/10`) instead of a percentage
 - Production minions run as 4 replicas of 16 parallel checks, instead of 2 of 64, and stay off swarm manager nodes
 - CI artifacts expire after 7 days
 - Removed one-line wrapper helpers, `cn` among them, from the check editor, inject pages and shared components

 ## Fixed
 - The API's CORS allowlist only accepted `HERMES_PUBLIC_DOMAIN` with a scheme, while the traefik rules need it bare. It now takes the bare host, allows both its http and https origins, and skips a value that includes a scheme