Commit Graph

24409 Commits

Author SHA1 Message Date
Mega Yu
f8dcaed826 Merge branch 'master' into fix/table-render 2026-05-14 21:27:59 +08:00
Mega Yu
1ce19817d5 add markdown table test 2026-05-14 21:26:41 +08:00
Mega Yu
f134dea06a fix: update table column group logic to use header column count 2026-05-14 21:26:13 +08:00
Mega Yu
cbbe6830e9 fix: improve markdown table row parsing by refining line trimming logic 2026-05-14 21:23:18 +08:00
Mega Yu
a4497a39c7 fix: handle end-idx check in inline macro parsing 2026-05-14 21:22:26 +08:00
Mega Yu
4807578d35 fix: return empty vector for blank input in inline JSON parser 2026-05-14 21:22:08 +08:00
Mega Yu
c09944870e refactor(mldoc): enhance inline parsing to preserve cell content on failure 2026-05-14 21:02:39 +08:00
rcmerci
1d16c9b47e fix(dev): db-worker-node build don't copy publicdir 2026-05-14 19:57:37 +08:00
Victor239
c37386e393 fix: firefox paste 2026-05-14 19:28:28 +08:00
megayu
e286370c36 Fix Windows file URL opening for block links (#12646)
* fix: preserve Windows file URL handling in path functions

* fix: improve file path handling for Windows file URLs

* fix: correct regex for Windows file URL handling

* improve file path compatibility
2026-05-14 19:13:07 +08:00
Mega Yu
ebb003e51c fix(graph-parser): normalize markdown table cells with escaped/code-span pipes 2026-05-14 18:22:16 +08:00
Cory Donnelly
2169a86f03 fix: honor documented repeater cookie semantics (#12523)
* fix: honor the three documented repeater cookie semantics

Logseq's documented repeater semantics (per docs.logseq.com and
`logseq/docs` `Tasks.md`) define three org-mode-style cookies for
recurring tasks:

  `.+`: repeats from the last completion date
  `++`: advances from scheduled, skipping in whole intervals to future
  `+`:  advances from scheduled by the declared interval (can stack)

The scheduler in `worker/commands.cljs` has been ignoring the cookie
entirely and applying a single, `++`-like semantic for every
recurring task. A user who wrote `.+1w` in markdown — expecting "a
week from when I actually finished" — silently got `++1w` behavior
("a week from the original scheduled date, skipped to future"),
which for a weekly task scheduled 2026-04-01 and completed on
2026-04-05 returns the next occurrence on 2026-04-08 rather than
the documented 2026-04-12.

This change:

  * Adds a closed-values `:logseq.property.repeat/repeat-type` property
    with values `:dotted-plus` / `:plus` / `:double-plus`. Default is
    `:double-plus` so existing recurring tasks see no behavior change
    on upgrade.
  * Rewrites the scheduler to branch on repeat-type and implement each
    semantic: `.+` anchors on now; `+` advances from original once (can
    stack overdue, per org-mode); `++` iterates in whole intervals
    until strictly after now. The `++` path is mathematically
    equivalent to the previous scheduler, so default-path behavior is
    preserved.
  * Guards against frequency <= 0 — the old code would silently produce
    nonsense and, under the new `++` loop, would spin forever. The
    guard short-circuits to `nil`.
  * Extracts `resolve-recur-frequency` and fixes the previous
    `(or [A B] [C D])` pattern in `compute-reschedule-property-tx` —
    any 2-vector is truthy in Clojure, so the default-value branch
    was unreachable and entities without an explicit
    `:recur-frequency` silently fell through to `frequency = nil`.
    `if-let` makes both branches reachable so default-to-1 actually
    works at migration time.
  * Restores the cookie-type selector that was removed from the
    date-time popover in `0a5b88467` (Nov 2020) — in-code support for
    all three cookies has been present but not user-pickable for the
    last ~5.5 years.
  * Adds `docs/recurring-tasks.md` — a technical spec for contributors
    and users that restates and augments the upstream `Tasks.md` text,
    adds decision guidance, and documents the implementation surface.
  * Extends the file-graph → DB-graph migration (built on top of
    `44d6bd49c4` "fix: preserve repeated schedule import") to also
    carry the cookie kind via a new `repeat-types` map in
    `graph-parser/exporter.cljs`, so an imported `.+1w` task lands in
    the DB-graph with `:repeat-type.dotted-plus` rather than picking
    up the `:double-plus` default. Test updated to assert this.
  * Adds deftests covering each cookie's distinctive behavior plus
    boundary cases (non-positive frequency, unknown unit, frequency > 1
    variants, `++` at month/year units, and both branches of
    `resolve-recur-frequency`).

The preexisting `get-next-time-test` passes unchanged under the
`:double-plus` default, preserving the existing regression contract.
Tests pin `t/now` via `with-redefs` for determinism.

Refs #7731, #11260, #6715, #8531. Folds in the small remaining delta
from #12532 (now closed as superseded by `44d6bd49c4`).

* fix: harden recurring task repeat type

* fix: contain repeat type selector

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: handle clamped monthly repeats

---------

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-14 17:53:11 +08:00
yshalsager
f6e2ab9026 fix(publish): set dir auto for mixed rtl/ltr content 2026-05-14 16:29:02 +08:00
Mega Yu
a20939292f fix: preserve resized network image width 2026-05-14 16:27:16 +08:00
Mega Yu
c84e7de0fb fix: preserve spaces between refs in headings 2026-05-14 16:25:20 +08:00
Tienson Qin
1bfc6a7aec Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-14 16:19:02 +08:00
Tienson Qin
127356d753 fix: keep published task bullets clear of status icons
fix https://github.com/logseq/db-test/issues/860
2026-05-14 16:19:02 +08:00
Tienson Qin
5638050cbb fix: record reproducible task choices 2026-05-14 15:17:52 +08:00
Tienson Qin
e97cc497f3 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-14 14:52:08 +08:00
rcmerci
37789780cd fix: preserve block refs when merging hashtag link refs
Handle both map refs and lookup vector refs when deduping block refs.
Add regression coverage for multiple block refs in wrap-parse-block
2026-05-14 14:52:08 +08:00
Tienson Qin
4fe42af3ed fix: preserve markdown tag link aliases 2026-05-14 14:52:08 +08:00
Tienson Qin
03adb8c7f8 fix: hide tag aliases from tag completion 2026-05-14 14:46:39 +08:00
Tienson Qin
8d83c7985a [codex] hide class hierarchy (#12640)
* fix: hide class hierarchy

* fix: resolve class label maps
2026-05-14 14:41:28 +08:00
Tienson Qin
7838becdf0 fix: preserve code block language 2026-05-14 13:23:26 +08:00
megayu
200a6da0d5 deprecated block-ref (#12627)
* feat(graph-parser): convert block-ref syntax to page-ref in titles

* feat(block): deprecate block-ref syntax

* feat(graph-parser): replace block-ref with page-ref in title processing

* fix lint

* chore(i18n): remove deprecated i18n key
2026-05-14 13:21:22 +08:00
megayu
64b78b69e4 fix: resolve uuid refs in breadcrumb labels (#12636)
* fix(breadcrumb): resolve uuid refs in breadcrumb labels

* feat(breadcrumb): add functionality to resolve and hydrate breadcrumb reference titles
2026-05-14 13:20:25 +08:00
Tienson Qin
008d115b2d enhance: mention linked issue in task PR commits 2026-05-13 23:07:51 +08:00
Tienson Qin
3dabc2d0c6 enhance: refine lambda task status workflow 2026-05-13 23:02:28 +08:00
Tienson Qin
1d7f416b55 enhance: record lambda task PR url 2026-05-13 22:38:11 +08:00
Tienson Qin
d1f764a171 enhance: update lambda task skill workflow 2026-05-13 22:35:16 +08:00
rcmerci
0d1654893b Update logseq task-on-lambda fetch workflow 2026-05-13 22:01:27 +08:00
rcmerci
89b11ff45c dev: instaparse clj-kondo config 2026-05-13 21:51:52 +08:00
Tienson Qin
9318205c32 fix: improve graph view interactions 2026-05-13 21:38:19 +08:00
rcmerci
14b85b96d6 enhance(skill): add logseq-task-on-lambda 2026-05-13 21:13:18 +08:00
rcmerci
8a5aab6ffb enhance(skill): update logseq-review-workflow 2026-05-13 20:50:52 +08:00
rcmerci
bf23ee5fa5 enhance(skill): update logseq-review-workflow 2026-05-13 16:54:25 +08:00
rcmerci
3f5b52cc07 feat(cli): unify backup impl for desktop and cli 2026-05-13 16:27:00 +08:00
rcmerci
51c9c2970d fix lint 2026-05-13 13:51:53 +08:00
rcmerci
d12beff383 feat(graph-view): add task zoom-in view 2026-05-13 13:40:55 +08:00
Tienson Qin
cf24914e6c fix: dedupe raw node choices 2026-05-13 12:04:23 +08:00
Tienson Qin
b2fc00b31b fix: handle sidebar asset drops 2026-05-13 12:03:29 +08:00
megayu
e097ec8cd8 fix(fsrs): cloze macro with superscript/subscript markup and render improvements 2026-05-13 12:00:24 +08:00
Tienson Qin
58098303e0 fix: stop cmdk sidebar shortcut propagation 2026-05-13 11:42:28 +08:00
Tienson Qin
c8d00f5a7b fix: dedupe node property choices 2026-05-13 11:35:13 +08:00
Tienson Qin
00964157b1 dev: run lint-and-test in parallel
run cljs tests in parallel too
2026-05-12 23:36:42 +08:00
Tienson Qin
c9acb4df39 fix(ci): cli e2e cache key 2026-05-12 22:13:55 +08:00
Tienson Qin
250993c328 ci: run cli tests in parallel 2026-05-12 22:10:13 +08:00
Tienson Qin
1b9a1999ac fix: block selection while scrolling 2026-05-12 21:38:21 +08:00
Tienson Qin
1c061cc871 fix: align heading bullets 2026-05-12 20:28:38 +08:00
Tienson Qin
96bf1f074b fix: align dark right sidebar header 2026-05-12 18:50:30 +08:00