Commit Graph

4038 Commits

Author SHA1 Message Date
Tienson Qin
ad3cc18a63 fix: lint 2026-03-18 06:31:47 +08:00
Tienson Qin
e122073693 fix: lint 2026-03-18 06:23:22 +08:00
Tienson Qin
e3e54eba3f tag/property/closed value should be hard retracted 2026-03-18 06:11:04 +08:00
Tienson Qin
1f30693851 fix: tests 2026-03-18 06:11:04 +08:00
Tienson Qin
6ca2cc4312 fix(sync): disable checksum for encrypted graphs 2026-03-18 06:11:04 +08:00
Tienson Qin
16f775c9ad refactor: separate sync into modules 2026-03-18 06:11:04 +08:00
Tienson Qin
5e957beafb add more tests 2026-03-18 06:11:04 +08:00
Tienson Qin
fb76b061b4 fix: simplify db sync for recycle semantics 2026-03-18 06:11:04 +08:00
Tienson Qin
7630d49207 fix: tests 2026-03-18 06:11:04 +08:00
Tienson Qin
174cdfd865 feat: recycle 2026-03-18 06:11:04 +08:00
Tienson Qin
dc829be3f1 fix: lint 2026-03-18 06:11:04 +08:00
rcmerci
5db3a3086c 061-graph-dir-space-preserve-canonical.md 2026-03-17 16:45:36 +08:00
Tienson Qin
917309113f feat: sync checksum 2026-03-17 00:07:33 +08:00
Tienson Qin
33098113ee enhance: returns rejected tx 2026-03-17 00:07:33 +08:00
Tienson Qin
071d922442 fix: sync tests 2026-03-17 00:07:33 +08:00
Tienson Qin
68476aee3e refactor(outliner): batch ops via temp conn 2026-03-17 00:07:33 +08:00
Tienson Qin
42fec8324e simplify sync by applied txs sequentially 2026-03-17 00:07:33 +08:00
Tienson Qin
b8d7483a81 add scripts to manage graphs 2026-03-17 00:07:33 +08:00
rcmerci
97dd3cef04 fix lint 2026-03-15 17:06:21 +08:00
rcmerci
b87aac8a22 Merge remote-tracking branch 'origin/master' into feat/cliable 2026-03-15 16:42:36 +08:00
rcmerci
ae93a633ad 060-cli-graph-list-legacy-graph-dir-rename-command.md 2026-03-14 23:15:32 +08:00
Tienson Qin
01c1a498cd fix: uploaded graph not ready 2026-03-14 10:11:34 +08:00
scheinriese
57adfb144a Assorted code quality cleanups
- Remove unused clojure.string require in core_test.cljs
- Replace promesa.core p/delay with js/setTimeout, remove import
- Remove redundant final-result binding in print-shortcut-key
- Flatten nested if chain to cond for raw-binding
- Fix nested button inside button (keystroke-active → div)
- Remove dead .cp__shortcut-table-wrap CSS
- Align global-handlers set in get-cross-context-conflicts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
8d62b4d6bc Use cond-> for container-attrs in shortcut badge components
Replace chained if/assoc rebindings with idiomatic cond-> in
combo-keys, separate-keys, and compact-keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
e02810f983 Show readable PgUp/PgDn labels in shortcut kbd badges
The page-up and page-down keys were mapped to Private Use Area Unicode
characters (U+F571, U+F572) that don't exist in any font loaded by the
kbd elements, rendering as invisible/empty badges.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
19c878cba0 Fix Option key recording and show ⌥ symbol on macOS
On macOS, Option+key combos in the shortcut recording dialog were
silently dropped because Google Closure's KeyHandler corrupts the
keyCode (merging keydown/keypress produces Unicode charCodes like ç
instead of the base key). Fall back to the native KeyboardEvent.code
property when the primary key-names lookup fails and a modifier is
held — works cross-platform (also helps AltGr on Windows).

Also replace "Opt" text with the standard ⌥ symbol in shortcut badges,
matching ⌘ and ⇧, and update all round-trip paths (decorate, undecorate,
canonicalize, normalize) to handle the new symbol.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
4dcdbcc44c Replace flat row flash with accent shimmer sweep and fix combo key press animation
- Row highlight on shortcut trigger now uses a horizontal gradient sweep
  (background-position animation) instead of a static background flash,
  providing a distinct visual language from the focus ring
- Shimmer uses theme-aware accent color via color-mix on keymap page,
  with a neutral fallback in shui.css base styles
- Guard against animation spam: clearTimeout+reset pattern prevents
  stale timeout accumulation during rapid key repeat; reflow only
  forced on first trigger, class stays applied until last trigger ends
- Fix combo key press animation: animate the container (the keycap)
  instead of individual kbd elements, so translateY and box-shadow
  follow the container's border-radius correctly
- Scope row shimmer to .shui-shortcut-row/.shortcut-row elements
  to prevent accidental shimmer on standalone badge containers
- Respect prefers-reduced-motion for all new animations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
f6668aef37 Fix row highlight for keymap shortcut press animation
highlight-row! was looking for .shui-shortcut-row but keymap rows use
.shortcut-row, so the row highlight silently failed. Widen the selector
and add a visible background style for keymap rows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
93ae5648be Fix React key warning, binding normalization mismatch, and focus return
- Add ^{:key} metadata to fragment in shortcut-keymap-x for loop
- Normalize "cmd"/"command" → "meta" and "opt"/"option" → "alt" in
  normalize-binding so cmdk shortcut-press! calls match rendered
  data-shortcut-binding attributes
- Remove onCloseAutoFocus preventDefault from both popovers so Radix
  returns focus to the trigger button on close

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
c3df1d857d Internationalize all hardcoded English strings in shortcut redesign
Replace 24 hardcoded English UI strings with (t :keymap/...) translation
calls and add corresponding keys to en.edn. Thread a :chord-separator
prop through the shui shortcut component so chord sequence "then" text
is translatable without adding i18n awareness to the presentation layer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
5b08feecfa Fix chord sequence display, add polish and resilience improvements
- Add chord-sequence-keys component to shui shortcut for multi-step
  bindings (e.g. ⌘C then ⌘R) that were previously truncated to just
  the first key. Detects nested binding groups and renders each combo
  with a "then" separator and proper glow styling.
- Update normalize-binding to handle chord sequences by joining groups
  with spaces instead of flattening into a single combo string.
- Cap keystroke recording at 5 keys to prevent app crashes from
  excessively long bindings being persisted to localStorage.
- Add try/catch around localStorage shortcut reads for resilience
  against corrupt data on startup.
- Fix vertical centering of shortcut badges using display:contents
  wrappers and removing padding-top from label-wrap/action-wrap.
- Style Reset button with accent color and underline-on-hover.
- Add white-space:nowrap to button reset block to prevent text wrapping.
- Use gap instead of margin for shortcut-input-binding spacing.
- Minor CSS refinements: search input padding, keystroke border color,
  empty state sizing, toolbar action specificity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:45:58 +08:00
scheinriese
4c5b7ca511 Address remaining should-fix items from pr-review
- Extract animate-element!/highlight-row! helpers in shortcut-press! (was 4x duplication)
- Extract matches-keystroke? predicate (was duplicated in count + render)
- Replace <a> tags with <button> for all interactive elements (remove, clear, reset, undo, toggle, refresh)
- Add aria-label to icon-only buttons for screen reader support
- Add button reset CSS for elements changed from <a> to <button>
- Replace hardcoded rgba colors in CSS glow/shadow/row-pressed with theme variables
- Define press-animation-ms constant (was magic number 160)

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
84965424a9 fix: gate graph when it's not ready for downloading 2026-03-13 18:22:16 +08:00
Tienson Qin
eeabd54d87 refactor: graph download switch to use r2 snapshot 2026-03-13 16:43:54 +08:00
rcmerci
75be7be8df Merge remote-tracking branch 'origin/master' into feat/cliable 2026-03-13 16:32:49 +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
rcmerci
4b428094e1 chore: remove unused LOGIN-URL 2026-03-12 23:09:06 +08:00
Gabriel Horner
2e8d7c6303 fix: bump nbb-logseq to include datascript fix 2026-03-12 10:21:54 -04:00
Tienson Qin
81d1ded924 fix(sync): gate rtc until snapshot upload finishes 2026-03-12 20:00:29 +08:00
Tienson Qin
f538491096 chore: reduce test noise and infer warnings 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
rcmerci
605c86ecd1 056-graph-name-dir-encoding-alignment.md 2026-03-12 15:12:34 +08:00
Gabriel Horner
83b7cc8e3e fix: resolve-data-dir - caught by test
Also fix lint and regression on noisy db-worker-node-test
2026-03-12 15:12:34 +08:00
Gabriel Horner
a081d01c6d enhance: allow graphs dir to change with $LOGSEQ_GRAPHS_DIR
Affects electron and cli thanks to previous commit.
Requested at least twice by #db-feedback posts:
https://discord.com/channels/725182569297215569/1421133499477524490
and https://discord.com/channels/725182569297215569/1353859592634892400/1353859592634892400
2026-03-12 15:12:34 +08:00
Gabriel Horner
7032e6ba37 refactor: centralize default graphs dir spread across cli and electron
Having different definitions doesn't allow for configurability
and can lead to bugs. Also addressed sqlite-cli having one-off definition
2026-03-12 15:12:34 +08:00
Gabriel Horner
6d2be5a87e chore: bump to latest nbb-logseq
bump to match latest datascript changes in this branch
2026-03-12 15:12:34 +08:00
Gabriel Horner
b45a3a8b80 fix: common lint 2026-03-12 15:12:34 +08:00