A results pane that tells you what happened
- changelog
The results pane leads with the verdict
At the default layout the results pane is small, and it used to keep wherever the last run left it scrolled. The new verdict could sit off-screen, and Your Output vs Expected was always below the fold. Now:
- A new result scrolls back to the top, and the verdict header sticks while you scroll the cases.
- The diff comes first. A failed case opens on the error and your output beside the expected answer. The input follows underneath.
- Run and Submit say what they did. A passing Run reads Run passed. Accepted is only for a Submit. While you wait, a Run says "Running the sample cases…" and a Submit says "Judging every case…".
- Clearer failures. A Submit that stops at its first failing case says "Stopped at case 1 of 57" instead of "0/57 passed". A compile error shows the compiler output once, with no pass count or timing.
- The colour key waits behind a Key toggle instead of always taking space.
Screen readers now hear the verdict and the pass count when a run finishes.
Signed out? You hear about it first
Visitors who weren't signed in could type a whole solution, press Run and get a bare "Authentication required". The results pane now says up front that you need an account to run code, with Log in (which brings you back to the same problem) and Sign up. Your draft is saved in the browser either way, and the stopwatch waits until you're signed in.
Comment on a line
Comments on a shared solution used to sit in one list under the code. Now you can point at the exact line you mean:
- Start a thread from the gutter. Click the + beside a line, drag along the gutter for a range, or shift-click to extend one. You can also select some code and use the toolbar.
- Threads sit in the code, right under the last line they cover, open by default. Fold one away, or collapse them all at once.
- Replies. Each line thread takes replies, and the person who started it is notified.
- Links land on the comment. Opening a comment from your notifications scrolls the code to it and highlights it.
Comments on the solution as a whole still work as before.
On your phone
- A menu for the site links. On narrow screens the header's links used to disappear with nothing in their place. A menu button now opens them as a sheet under the header, with the theme switch at the bottom.
- Results you can reach. On a phone, the editor used to grow to its full height and push the results more than a screen further down, past the edge of the page. The statement, editor and results now all fit, and the problem tabs scroll sideways instead of cutting off Solutions.
- No more overflowing cards. The dashboard's Following and Keep going cards ran off the right edge on small screens. They fit now.
Easier to read
An accessibility pass went through every page:
- Muted text, placeholders and the light theme's coloured text now clear the WCAG contrast bar on every background they sit on.
- Orange buttons use dark text. White on orange was hard to read. The new pairing has more than twice the contrast.
- Text links stay underlined, so they don't rely on colour alone.
- Keyboard users get a "Skip to content" link on the first Tab, a visible focus ring on every control, and problem tabs you move between with the arrow keys.
- Nothing is smaller than 12px across the site, and the pass/fail squares are bigger and easier to hit.
- Bigger tap targets. Controls are easier to hit on a touchscreen, including the rows of your profile's category progress.
- Orange text in the light theme is a deeper shade, so it reads clearly on the light background. Orange buttons and highlights are unchanged.
- The editor's line numbers and code colours are easier to read, in both themes.
The site has a new font, Overpass, for headings and text. The frosted-glass panels in Trail Blaze and on the home page are now solid, and text inside the tile layout is back in the regular font instead of monospace.
Hide difficulty
Turn on Settings → Problems → Hide difficulty and every problem's tier is covered until you click it, the same way topic tags are. It's off by default. A reveal lasts until you leave that problem. Filters still give the tier away, so if you filter to Gold, the matching rows show it. Tier names that aren't a problem's own difficulty, like the filter chips, your profile's per-tier stats and Trail Blaze, stay visible.
Study groups: pick an exact mix
When a study group draws random problems or problems from topics, the Difficulty section now has a Range | Exact mix toggle. Range is the draw you know. Exact mix sets how many problems of each tier you want, from one to five in total: "2 bronze, 1 gold" draws exactly that. If the pool can't fill a tier, the group says which one instead of quietly playing fewer problems.
Your solved checkmarks also stick now. Leaving, reloading or reconnecting used to wipe them, even though the scoreboard still counted your solves.
Streamers
The new Streamers page lists everyone who has streamed AlgoBlazer on Twitch over the last 7, 30 or 90 days: how many streams, how long, their peak viewers and when they last went live, with a badge for whoever is live now. It's linked from the dashboard's Live band.
Learn
Five categories got their primer, the short lesson above the problem ladder: Monotonic Stack, Knapsack, Union-Find, Shortest Paths and Tree DP. The last two ladders without a lesson have one now: Segment Trees (a range-max tree that speeds up a DP) and String Matching (the KMP failure function and why the scan never moves backward). The existing primers got a polish too, including comparison tables for BFS and DFS.
Complexity labels for two-size problems
Some problems have two sizes that matter: n values and k transactions, an m×n grid, a graph with n nodes and m edges. Labels used to be written in a single n, so a solution that ran in O(n·k) had nothing to land on and showed no label. Each of these problems now has its own list of answers like O(n·k) or O(m·n), for both time and extra space.
When the labelling model isn't confident about a solution on one of these problems, a second model now gets asked too. More accepted solutions end up with a time and space label, and a label still only appears when it's likely to be right.
Smaller changes
- Stats page. /stats drops "Solver share" and "Avg / solver" and adds members active this week (with the change from last week), Trail Blaze runs and study groups held. Most solved, which repeated the problems page, is now a breakdown of members by rank.
- Beta problems ask for your rating. Community Beta problems graduate on votes, and the vote widget under the results was easy to miss. An accepted Submit on a beta problem now opens a short "Rate this beta problem" prompt, once per visit, unless you've already voted.
- Release dates. A problem's page now shows when it was released, under the title.
- Practice room chat sticks around. A problem's room used to lose its chat as soon as the last person left. The last 100 messages now stay for 30 days, so you can read what was said when you come back.
- Next Trail Blaze map. The dashboard's Trail Blaze row now says when this week's shared map gets replaced, like "New map in 4d 3h".
- Trail Blaze maps have their own shape. Floors spread out unevenly, nodes sit above or below their line, and the trails between floors fork and merge differently on every map. Middle floors can now hold up to four nodes. Everyone sees the same map the same way.
- JavaScript time limits. JavaScript got five times the base time limit, which let some solutions with the wrong complexity pass the biggest cases. It now gets twice the base, and every reference solution still runs in under half of that. Solutions already accepted stay accepted.
Fixes
- Ctrl+Enter in shared editors. In collab rooms, Ctrl+Enter inserted a line into everyone's code instead of running it. It runs now, and in interview rooms it runs the sample cases.
- Shared editors catch up. On a slow connection, a shared editor could stay blank or behind until someone else typed. It now catches up as soon as the connection recovers.
- Deleted chat stays deleted. A message deleted by a moderator just as someone joined could come back on their screen until they reloaded.
- Accurate stats past 1,000 submissions. Past a thousand submissions, the profile heatmap dropped your most recent days, and the dashboard's solved and submission totals, the language breakdown and the solver counts on the problem list came up short. They all count every submission now.
- Trail Blaze. A map could deal the same problem twice, once on Camp 1 and again on a floor above. Camp 1 also deals at most one random problem now, and Unknown nodes show their tier's icon instead of a generic fog.
- No stale answers. A debug hint for your previous run could arrive after a new run and look like it explained it. Switching problems or filters quickly could also mix an older submission history or solution list into the new one. Both now drop the out-of-date answer.
- Live feed tile. In the tile layout, the Live feed stopped at a short fixed height however big you made its tile. It fills the tile now.
- Vim Replace mode. With Vim keybindings, pressing Space in Replace mode (
R) inserted a space instead of overwriting the character under the cursor. It overwrites now. - "Your python code". The editor's reset dialog had lost the space between the language and "code".