[1.3.0] — 2026-08-21
Added
-
Hawamesh — notes attached to exact text on a page. Select any text, click the small Hamesh
mark that appears beside it, and write an ordinary note: the selected words are highlighted in the
brand accent, and hovering them brings the note back. Selecting text on its own still does nothing
but select text — the mark is only an offer, and nothing opens until it's clicked. Contextual notes
are ordinary Hamesh notes throughout: same storage, same viewer, same edit/delete/pin/folders, same
Notes Library rows (now showing the attached text), same search (which also matches that text), and
the same Open Note flow, which scrolls to the anchored words and flashes them. Hovering highlighted
text shows the very same pill a video marker shows — a dot and the note's first line, without the
timestamp — and the pointer turns into a hand over it; clicking opens the full note. -
Text anchors survive page changes, and refuse to guess. An anchor stores the exact text, the
words either side of it, its original position, and DOM paths for instant restoration. On a later
visit Hamesh tries the fast path first, then recovers by context. When it can't tell two candidate
occurrences apart, it highlights neither: the note keeps its text and simply reports that its
location couldn't be found this time. Highlights are painted with the CSS Custom Highlight API, so
nothing on the page is wrapped, moved, or modified. -
Settings → Text notes, with the feature and its automatic selection mark switchable
independently. Turning either off never touches stored notes or anchors — highlights come straight
back when it's switched on again. With the mark off, the new Alt+T shortcut (rebindable in
Chrome's own shortcuts page, alongside Alt+H and Alt+V) creates a contextual note from the current
selection, and does nothing when there is no valid selection. -
What's New. A page of Hamesh's own history, in English and Arabic, at the foot of the Notes
Library's sidebar. Every version gets a couple of lines about what changed for you — not the
developer changelog. Hamesh opens it once, in a background tab, the first time it runs after
updating itself; a dot marks it in the sidebar until it's read. It never opens itself on a fresh
install, on a browser update, or on a reload of the same version. -
Local backup. Settings → Backup exports every note and folder to a dated JSON file on your
own device, and imports one back. Importing never deletes anything: it adds what's missing,
refreshes anything the file has a newer copy of, and leaves everything else alone — so restoring
an old backup can't undo newer notes, and importing the same file twice does nothing the second
time. A file that isn't a Hamesh backup, or one written by a newer version, is refused with a
reason instead of half-imported. Nothing leaves your device; the file is yours to keep wherever
you like.
Changed
- Settings rows are now marked with icons. Language, Appearance, both Text notes toggles, and
each shortcut carry a small glyph before the label — and a shortcut's glyph is the mark of what it
creates (the margin mark, the play triangle, the text-note lines), so the rows are tellable apart
at a glance rather than by reading each one. Appearance now shows the same three icon choices in
the Notes Library's Settings page that the popup's Settings pane already used.
Fixed
-
The note actions menu ("⋮") could open and vanish immediately. It closed on any scroll
outside itself — and clicking the trigger focuses it, which makes the browser scroll whichever
ancestor it must to reveal it, including the hidden-overflow containers the folder tree's collapse
animation relies on. Whether the menu stayed open came down to whether that scroll landed before
or after the panel rendered, so it intermittently looked like clicking "⋮" did nothing. The menu
now follows its trigger when the page moves instead of closing, and only closes when the trigger
actually leaves the viewport. -
Hovering a Hamesh mark on a page made it see-through. Markers are drawn as an opaque chip
precisely so they stay legible over any host content, but the hover state filled them with
--hm-accent-tint— a token that is opaque in light appearance and a 16%-alpha overlay in dark, so
in dark appearance hovering dissolved the chip and the page showed straight through it. Hover now
uses a fill that is opaque in both appearances, and does more than recolor: the hairline turns
accent and the chip lifts 1px onto a deeper shadow, so it reads as something pressable. Pressing it
collapses the lift and fills solid.