5 JavaScript cancellation patterns that look similar:

xhr.abort() vs fetch() + AbortController
setTimeout vs AbortSignal.timeout()
manual signal chaining vs AbortSignal.any()
signal.aborted vs the abort event
one generic catch vs error.name

Follow for more.
0
0
2
301
Node.js fixed a Brotli bug that can let attackers run code on a server.

Five updates for front end engineers from the last two weeks.

01 Node bundles its own copy of Brotli, so it isn’t in package.json and npm audit can’t see it. Fixed in 22.23.4, 24.22.1 and 26.12.1.
1
0
0
251
Replying to @greatfrontend
03 Fake take-home assignments ship their own Tailwind plugin to run hidden code on your machine. npm install pulls a private package via the repo’s own .npmrc, and the dev server loads it. --ignore-scripts won’t stop it.

Run take-homes in a container.
1
0
0
68
Replying to @greatfrontend
04 Developers are ranking what Interop 2027 should make work everywhere. Josh Comeau’s top three: @function, corner-shape, border-shape.

05 Chrome 156 lets a failed import() be retried. Before 156 it cached the failure and the retry failed instantly.
0
0
0
54
Modal vs popover: the difference is what happens to the rest of the page.

A popover leaves it interactive. dialog.showModal() adds a ::backdrop and makes the rest of the document inert, so nothing outside the dialog can be interacted with.
1
1
3
261
Replying to @greatfrontend
A popover is always non-modal. popover="auto" closes on outside click or Esc, popover="manual" you toggle yourself.

Both rise into the top layer, so neither needs a z-index. The z-index: 999 you were about to write does nothing for either one.
1
0
0
88
Replying to @greatfrontend
You can open a popover with no JavaScript: a button with popovertarget plus a div with the popover attribute.

Ask one question. Must the user deal with this before anything else? No, popover. Yes, dialog plus showModal().
0
0
1
74
5 DOM event pairs that sound similar:
Individual event listeners vs event delegation
Event capturing vs event bubbling
event.target vs event.currentTarget
preventDefault() vs stopPropagation()
removeEventListener() vs AbortController with signal

Follow for more.
0
0
2
231
One real resume, about 100 applications, around 8 interviews, 4 offers.

A Computer Science student posted it to r/EngineeringResumes in August 2026, already anonymised. It’s a full stack resume, so this looks at the front end parts.
1
0
1
257
Replying to @greatfrontend
A personal project can still show a measurable front end result: “Built responsive SPA frontend with React, TypeScript and Tailwind CSS, scoring 100/100 on Lighthouse audits.”

Lighthouse is a lab measurement, so be ready to say whether a number came from lab tools or real users.
1
0
1
58
Replying to @greatfrontend
What the resume can’t tell you: they applied to over 100 roles, they already had internship experience, and the post never says which bullets the interviewers cared about.

Copy the habits, not the outcome. One page one column, work with its scale and result, a number can defend.
0
0
0
47
Six checks before you approve:

Read the diff, not the PR summary. The description is AI-written too.

Go to the blast radius first: auth, payments, data, anything hard to undo.

Open the tests and read them. A green check is not a review.

#frontend #aicode
0
0
2
242
5 dropdown pairs that sound similar, but work differently:

a custom dropdown vs base-select
manual ARIA vs native behaviour
a portal vs anchor positioning
manual value rendering vs selectedcontent
a selected class vs checked and checkmark

Follow for more.

#javascript #css
0
0
4
366
Yielding makes a page feel faster without doing less work.

Your JavaScript, clicks and screen updates share one main thread, and the browser runs one task at a time on it. While your code runs, a click can’t be handled and the screen can’t update.
1
0
2
343
Replying to @greatfrontend
Why not setTimeout? It sends the rest of your work to the back of the queue, so other waiting tasks run before your work continues.

scheduler.yield() puts your continuation ahead of other tasks of the same priority, so it resumes sooner.
1
0
0
46
Replying to @greatfrontend
Check support first. Chrome and Edge 129+, Firefox 142+, not Safari on macOS or iOS as of October 2026. Fall back to a setTimeout promise when scheduler.yield is missing.

Respond to the click first, finish the work after.
0
0
0
66