Commit Graph

23233 Commits

Author SHA1 Message Date
scheinriese
ef215dccfc Add --lx/--rx color fallbacks for OG theme compatibility
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>
2026-03-13 20:45:58 +08:00
scheinriese
1594a122cc Redesign keymap header with search-first layout and contextual status
- 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>
2026-03-13 20:45:58 +08:00
scheinriese
776f5abc0a Replace external toasts with inline undo feedback in shortcut popover
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>
2026-03-13 20:45:58 +08:00
scheinriese
1eb87f4541 Fix vertical alignment of shortcut list rows for single and multi-line
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>
2026-03-13 20:45:58 +08:00
scheinriese
c318c70e19 Redesign keystroke filter popup with V3 design language and fix Esc propagation
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>
2026-03-13 20:45:58 +08:00
scheinriese
a9478e7583 Polish keymap list rendering and filter inactive platform shortcuts
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>
2026-03-13 20:45:58 +08:00
scheinriese
def3dfb233 Implement V3 shortcut customization popover with two-tier conflict detection
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>
2026-03-13 20:45:58 +08:00
scheinriese
7f8c11680a Polish shortcut redesign: remove interactive prop, wire up press animations
- 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>
2026-03-13 20:45:58 +08:00
scheinriese
67c123b4ed Redesign keyboard shortcut component with 3 display modes
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
2026-03-13 20:45:58 +08:00
Tienson Qin
0e4d32d218 fix: tests 2026-03-13 18:48:45 +08:00
Tienson Qin
84965424a9 fix: gate graph when it's not ready for downloading 2026-03-13 18:22:16 +08:00
Tienson Qin
0193fddc26 fix: lint 2026-03-13 17:44:54 +08:00
Tienson Qin
eeabd54d87 refactor: graph download switch to use r2 snapshot 2026-03-13 16:43:54 +08:00
charlie
546499ef04 fix(ui): updateBlock plugin API does not update UI https://github.com/logseq/db-test/issues/771 2026-03-13 16:09:06 +08:00
megayu
adbaf10abc chore: tech stack upgrade (#12448)
* 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>
2026-03-13 13:20:49 +08:00
Charlie
ffb82f1ccc fix(login): simplify user login handling for native platforms 2026-03-13 20:41:41 +08:00
Gabriel Horner
2e8d7c6303 fix: bump nbb-logseq to include datascript fix 2026-03-12 10:21:54 -04:00
Tienson Qin
fe1e41f571 fix: tests 2026-03-12 20:59:09 +08:00
Gabriel Horner
0ee04cc038 fix: intermittent clj-kondo lint for :private-call
Passes locally but fails on CI
2026-03-12 08:43:06 -04:00
Tienson Qin
ba62af5e38 fix(sync): don't sync upload metadata tx 2026-03-12 20:19:01 +08:00
Tienson Qin
81d1ded924 fix(sync): gate rtc until snapshot upload finishes 2026-03-12 20:00:29 +08:00
Tienson Qin
2fb2c56725 set large graph title size 2026-03-12 18:29:45 +08:00
Tienson Qin
7d3d3922d1 enhance: generate large graphs with random text 2026-03-12 18:01:12 +08:00
Tienson Qin
880d7d2c3f fix(rtc): isolate e2ee import temp pool 2026-03-12 17:51:23 +08:00
Tienson Qin
1b4943350b fix(rtc): reduce e2ee import finalize memory 2026-03-12 17:51:23 +08:00
Tienson Qin
f538491096 chore: reduce test noise and infer warnings 2026-03-12 17:51:23 +08:00
Tienson Qin
ae11f615a5 fix: clear old db when importing datoms for encrypted graphs 2026-03-12 17:51:23 +08:00
Tienson Qin
80b48b7b86 enhance(rtc): improve snapshot import progress 2026-03-12 17:51:23 +08:00
Tienson Qin
98e262d118 fix: reduce memory usage when encrypting large graph 2026-03-12 17:51:23 +08:00
Tienson Qin
d8e7032e78 fix(search): make index build non-blocking 2026-03-12 17:51:23 +08:00
Tienson Qin
c2512fe355 fix: stop workers when hot-reload 2026-03-12 17:51:23 +08:00
Tienson Qin
f6b5a100d6 fix(sync): stream snapshot import batches 2026-03-12 17:51:23 +08:00
Tienson Qin
0007c48003 fix(sync): close failed import setup dbs 2026-03-12 17:51:23 +08:00
Tienson Qin
6c3a94ea04 fix(sync): isolate chunked import sessions 2026-03-12 17:51:23 +08:00
Tienson Qin
59ab42598b fix(sync): invalidate stale search state on rtc import 2026-03-12 17:51:23 +08:00
briansunter
0594088149 fix(sync): use named search-db-version constant for FTS index versioning
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>
2026-03-12 17:51:23 +08:00
briansunter
7679e73b0d fix(sync): chunked import and search rebuild fixes 2026-03-12 17:51:23 +08:00
Charlie
1b0db68098 enhance(ux): align for the image asset block container (#12425)
* 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
2026-03-12 11:18:51 +08:00
Tienson Qin
b1ceaa1216 enhance: able to generate large graphs with >1M blocks 2026-03-12 10:42:07 +08:00
Tienson Qin
7386eec6db fix(db-sync): server shouldn't delete addrs 2026-03-12 08:28:38 +08:00
Tienson Qin
5d602c9d58 fix(db-sync): drop stale lookup-ref tx datoms 2026-03-12 08:18:52 +08:00
Tienson Qin
6e08f7b187 fix: remote block create split across batches 2026-03-12 08:08:01 +08:00
Gabriel Horner
ae003f1469 fix: clean up template property 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
2026-03-11 15:44:12 -04:00
Gabriel Horner
fdf1a8f8cc fix: imported Template blocks
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
2026-03-11 15:44:12 -04:00
Mega Yu
df5fb72ed9 fix lint Shadowed var 2026-03-11 15:44:12 -04:00
Mega Yu
371b1d5301 feat(exporter): support template import 2026-03-11 15:44:12 -04:00
Mega Yu
5bc154aacb chore: update test helpers in config for async tests 2026-03-11 15:44:12 -04:00
Mega Yu
935673a860 update path handling in exporter tests to make it compatible with Windows path 2026-03-11 15:44:12 -04:00
Gabriel Horner
5f7885dff5 fix: outdated docs and misc cleanup
Also added the new option to the import CLI,
improved tests that only test one file to only import 1 file
and cleaned up some hard to read code
2026-03-11 15:44:12 -04:00
Mega Yu
7522a87939 skip heavier parsing if code fences in the title
add split-title-by-code-fences test
2026-03-11 15:44:12 -04:00