pulsar: errors are information, not punishment
The notifications package auto-hides a notification after 5 s only when it is NOT dismissable. Everything raised through addError/addFatalError is dismissable, so every error waits for a click forever, at 450 px of pale-red fill with near-black text over a dark theme — and a fatal one SHAKES, three times, which is punitive UX with an actual keyframe. Nothing is lost by hiding them: the same package keeps a timestamped log of every notification, reachable with notifications:toggle-log. That is what makes a timeout safe rather than careless — it hides the interruption, not the information. notifications.js gives every dismissable notification a life, longer the worse it is (4 s info to 25 s fatal). Hovering pauses it, because reading is not dismissing. Clicking cancels it for good, because a click means "I am working on this". Notifications the package already auto-hides are left alone: one owner per behaviour. notifications.less makes the panel dark, translucent and blurred so the code underneath stays readable, moves the type into the colour of the icon strip instead of a wall of fill, deletes the shake, and draws a 2 px countdown bar from the same duration the script used — read through a custom property, so the bar cannot disagree with the timer. Ship's Bridge tokens, so the editor and the armada UIs say "error" in the same colour. They live here rather than in ~/.pulsar so the reasoning is in git; the dotfiles hold one require and one @import. The stylesheet was compiled before landing. init.js needs a window reload to take effect; styles.less is live on save.
Showing
tools/pulsar/notifications.js
0 → 100644
tools/pulsar/notifications.less
0 → 100644
Please
register
or
sign in
to comment