Ensure shortcut component and shui shortcut badges work across both
Radix and legacy Logseq color themes by adding proper fallback chains:
- shortcut.css: Add --lx-* → --rx-* fallbacks for gray scale (08-12),
--lx-* → --ls-* → --rx-* for background steps (01-04, 06), use
opacity-based row dimming instead of color-based for theme-agnostic
muting, and use --color-level-6 for icon link color
- shui.css: Add --rx-* fallbacks to bare --lx-* variables on shortcut
key badges (background, border, text color, separator)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move search bar to the left as the primary, widest element (flex-grow)
- Add magnifying glass icon inside search bar matching other search inputs
- Replace static "Total shortcuts 123" with contextual status line
(e.g. "15 shortcuts", "8 custom shortcuts", "No matching shortcuts")
- Reorder toolbar: search first, then fold/refresh/keystroke/filter icons
- Add tooltips to keystroke and category filter icons
- Fix singular/plural grammar in status text
- Make header sticky on scroll with category headers nesting below
- Remove double scrollbar by delegating scroll to settings article
- Style focus ring to match form-select pattern (ring-2 ring-ring)
- Fix vertical centering of search icon and clear button (mt-0, translateY)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move undo notifications from bottom-right shui toasts into the popover's
existing feedback banner system, keeping the user's focus in one place.
Add subtle background colors to success and muted feedback variants for
visual consistency with error and warning banners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch from items-center to items-start so multi-line rows keep the
label top-aligned instead of vertically centered against wrapped badges.
Add 1px top padding to label-wrap and action-wrap to simulate centering
in single-line rows, plus 2px on status labels (Unset/Custom/Disabled)
for optical balance.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the old ui/dropdown-based filter with shui/popup-show! (Radix Popover),
matching the V3 shortcut recording popover's architecture. Adds key sequence
accumulation with 400ms debounce, keyboard-driven removal (Backspace/Esc),
shimmer placeholder, and proper Esc isolation so it only closes the filter
popup without dismissing the parent Settings dialog.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace old <code> tag shortcut rendering with proper shui/shortcut key
badges, add flex-wrap layout for multiple bindings, styled status labels
for "Custom:" and "Unset", and filter platform-inactive shortcuts from
the data layer to prevent empty rows.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rewrite the shortcut customization UI from a modal dialog to an inline
popover with a state machine (idle → recording → accepted/conflict).
Add cross-context conflict awareness with amber warnings for non-blocking
conflicts across handler groups, while keeping red blocking conflicts for
same-context collisions. Redesign Esc/Backspace semantics for consistency:
Esc always closes, Backspace always removes. Add Radix tooltip on Reassign
button and polish spacing, animations, and feedback banners.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove unused `interactive?` prop from shortcut component and all call sites
- Trigger `shortcut-press!` animation when shortcuts are invoked
- Update shortcut settings UI to use `shui/shortcut` instead of raw `<code>` elements
- Fix shortcut key min-width (fit-content → 20px) for consistent sizing
- Pass raw-binding through `render-keyboard-shortcut` for data attribute matching
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the single-style shortcut renderer with a new component
supporting combo (simultaneous keys), separate (sequential keys),
and compact (text-only) display styles with auto-detection.
- Add shortcut-press! for triggering key press animations via DOM
- Add CSS for all 3 styles with glow effects and reduced-motion support
- Update CMD+K to use v2 styles and press animations on Enter/Cmd+C
- Add accessibility defaults (interactive?/aria-hidden?) to consumers
- Remove old v1 namespace, consolidate under logseq.shui.shortcut
- Remove unused size/theme/animate-on-press? params from API
* fix(lint): make worker/frontend separation lint work on Windows
* chore: update cljs:electron-watch script to include test flag
* chore: remove dead root dependencies
* chore(deps): converge better-sqlite3 to 12.6.2 across deps packages
* chore(deps): converge fs-extra to ^11.3.0 across package roots
* fix(test): correct parameters for create-if-not-exists function
* chore(deps): converge cljs-bean to 1.9.0 across deps roots
* fix(tests): escape regex in cljs:run-test script
* chore: pin root packageManager to yarn 1.22.22
* chore(build): replace del with fs.rmSync in gulp clean
* chore(build): replace npm-run-all with npm-run-all2
* chore(security): upgrade dompurify and unify sanitizer path
* chore(observability): upgrade web sentry to 8.x
* chore: remove unused react-draggable dependencies
* chore(ci): fix windows release artifact collection
* fix(build): create static dir before gulp clean scans it
* fix: update nbb-logseq dependency to version feat-db-v33
* fix(test): move start-time initialization after clone repo
* fix(deps): update nbb dependencies and adjust test script paths to compatible with windows path delimiter
* chore(deps): remove dead meander dependency
---------
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Replace pos?/zero? checks with exact version comparison against a
search-db-version constant. Bumping the constant will auto-trigger
rebuilds when the index format changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(asset): add alignment options for images
* enhance(ux): select block for the action of double click in the image asset container
* enhance(asset): change alignment property type from string to keyword and normalize alignment handling
When new built-in properties are supported in exporter, all-built-in-names
and file-built-in-property-names should be updated. No need
to handle block/properties-order and block/properties-text-values
as those are ignored
Template blocks were being copied instead of updated in place. Would
feel buggy to user as Template blocks would show up twice in search and
would not be where they had defined them