Commit Graph
100 Commits
Author SHA1 Message Date
Zef Hemel dc3c23b68f Initial set of PlayWright e2e tests 2026-03-24 10:47:01 +01:00
Zef Hemel 7132a61c7d Website: Make manual build ref configurable 2026-03-23 08:08:23 +01:00
Zef Hemel 6dbf646d37 Split out website builds for edge and release versions
So these can be deployed to separate .silverbullet.md subdomains later
2026-03-23 08:05:39 +01:00
Zef Hemel 495bd8e3e6 Fixes #1896 2026-03-21 14:19:11 +01:00
Zef Hemel 6623daa0a2 More sync engine tests + fixes 2026-03-20 16:10:33 +01:00
Zef Hemel ee2a3edb47 Lua interpreter performance optimization (hot paths)
* The interpreter wasted cycles on unnecessary async/Promise wrapping
  and redundant allocations even for synchronous operations.
* Now: more "sync-first" evaluation — try the fast synchronous path
  first, only fall back to Promises when actually needed.
* In addition: fast paths for table access, variable lookups, string
  concat, arithmetic, and function calls; loops can re-enter sync mode
  after an async iteration resolves.
* Added benchmarks

Results: 1.3x–1.7x speedup across typical workloads (API calls, table
traversal, string ops), up to 1.92x in some cases.
2026-03-20 14:44:00 +01:00
Zef Hemel b204c07359 More sync edge case fixes 2026-03-20 14:31:12 +01:00
Zef Hemel d1570a6217 lint 2026-03-20 13:34:35 +01:00
Zef Hemel e527be8668 Optimizations to tree traversal and page indexes
* Added benchmark suites for both

Should all be behvior preserving
2026-03-20 13:25:28 +01:00
Zef Hemel ba7266d171 Fix: sync edge case: matching timestamps, but different content lengths 2026-03-20 12:58:29 +01:00
Zef Hemel a16eebd902 More safetey in overriding default template files in non-empty spaces 2026-03-20 12:28:29 +01:00
Zef Hemel 18f4806aca Fix SB_READ_ONLY docs 2026-03-19 07:34:19 +01:00
Zef Hemel e456100b5b No new logs fix 2026-03-17 11:25:10 +01:00
Zef Hemel 10c95bcba5 Runtime API: Clean up lock file on chrome hard-kill 2026-03-17 11:09:01 +01:00
Zef Hemel 587b27fbd9 Runtime API: Make logs already available before client is fully
initialized
2026-03-17 11:01:25 +01:00
Zef Hemel 63b71f1689 Disable integration tests on github 2026-03-17 10:22:16 +01:00
Zef Hemel d04c69e74e Tests files for integration tests 2026-03-17 10:06:51 +01:00
Zef Hemel 50a483ad3d Merge branch 'remote-cli' 2026-03-17 09:57:34 +01:00
Zef Hemel b15b57059e Merge branch 'main' of github.com:silverbulletmd/silverbullet 2026-03-17 09:57:29 +01:00
Zef Hemel c04d7c332f First pass at "Remote API" (see docs)
Note: this is highly experimental and will likely change in the future.
2026-03-17 09:57:08 +01:00
Zef Hemel efe70a77dd Tauri detection (future) 2026-03-15 08:02:51 +01:00
Zef Hemel 4a411b224d Unrelated code slipped in 2026-03-13 14:58:02 +01:00
Zef Hemel fc2228be1a Make sync requests not blow up when service worker is not activated 2026-03-13 14:54:01 +01:00
Zef Hemel 19d3328647 lint fixes 2026-03-13 09:24:52 +01:00
Zef Hemel 702c75cc9c CHANGELOG updates 2026-03-13 09:17:43 +01:00
Zef Hemel f6308c788c Adds back "lock" button on mobile
This can be used to toggle between read-only mode, useful for mobile
users that are primarily navigating, not editing
2026-03-13 09:14:52 +01:00
Zef Hemel b60496f30e Move forward/backward action buttons to drop-down on mobile 2026-03-13 08:39:20 +01:00
Zef Hemel e841d1f24d CHANGELOG updates 2026-03-13 08:36:28 +01:00
Zef Hemel 3aea9a8112 Fixes #1872 2026-03-13 08:32:04 +01:00
Zef Hemel 9581433cd3 Fixes #212: adds footnote support
Based on https://www.markdownlang.com/extended/footnotes.html

* Both "official" [^1] and [^1]: def
* And inline ^[My foot note]

Features:
* Properly parsed in markdown parser
* Syntax highlighting
* Live Preview to ... when on-hover preview of content, on-click moves
  cursor to definition
* Reference completion
* Invalid references are marked
2026-03-13 08:28:43 +01:00
Zef Hemel 4bb258ca71 Fix regression: transclusions were no longer treatin wikilinks as
absolute
2026-03-12 20:08:43 +01:00
Zef Hemel 2dd2c9b929 Fix "No such header #boot" errors in PWA mode 2026-03-12 15:08:38 +01:00
Zef Hemel 1a5c7fdfc6 Update website CONFIG with individual actionButton.define calls 2026-03-12 14:57:13 +01:00
Zef Hemel 1b0ba027b3 Add standalone option to action buttons
When `standalone` is set to true, this action button will only appear in
"standalone PWA" mode (e.g. home-screen mobile apps, or installed PWA on
desktop). Useful to e.g. only show forward and backward buttons. These
forward and backward buttons are now also added to the default action
button config.
2026-03-12 14:51:31 +01:00
Zef Hemel 6bc12bc00f Add support for opting out action buttons from the drop down on mobile
+ by default making the page picker opt out
2026-03-12 14:27:20 +01:00
Zef Hemel dbcef9e8aa Fix: make sure Edit buttons work even for Lua expressions and code
widgets whose bodies appear multiple times in the same page (previously
always jumped to first).
2026-03-12 14:13:18 +01:00
Zef HemelandGitHub 3df11ccf3d Implements custom markdown syntax extensions (EXPERIMENTAL) (#1881)
Alternative implemention of #1727
2026-03-12 13:40:20 +01:00
Zef HemelandGitHub 84136c7ed6 Merge pull request #1878 from mjf/liq-implement-offset 2026-03-11 19:44:04 +01:00
Zef HemelandGitHub f898c44196 Merge pull request #1877 from mjf/liq-implement-order-by-for-aggregates
[LIQ] Implement `order by` for aggregates
2026-03-11 16:54:07 +01:00
Zef Hemel 1beb13a134 Fix: regression where multi-line markdown results from Lua directives
would _always_ be rendered as inline.

Added back the old heuristic check.
2026-03-11 14:55:02 +01:00
Zef Hemel 0ac8172185 Fix CI 2026-03-11 14:40:57 +01:00
Zef Hemel e799d30c63 Some more build cleanup 2026-03-11 14:28:45 +01:00
Zef Hemel 0cc7091b7d Remove vim mode from mini-editor, which didn't really work anyway 2026-03-11 10:15:46 +01:00
Zef Hemel a080ee3b15 Optimize bundle size + chunked builds + JIT loading
* Replaced AJV with other JSON schema library
* Turndown and Vim mode (very large) now only loaded when used
* Chunked builds with ESBuild
2026-03-11 10:04:13 +01:00
Zef Hemel 81408ed5cf Refactor TopBar component
Extracts various part into separate components
2026-03-10 16:11:33 +01:00
Zef Hemel ec40aa0838 Add action buttons to flashNotification
Used by upgrade notification
2026-03-10 16:07:25 +01:00
Zef Hemel 73d657d652 Remove format checking as part of make check 2026-03-10 14:05:07 +01:00
Zef Hemel d9f4b93795 Eliminate (most) uses of the client global
Also an opportunity to refactor the transclusion code, which had become
very messy
2026-03-10 14:02:05 +01:00
Zef Hemel 6b461aa5f3 Changelog and outline website doc update 2026-03-10 13:04:41 +01:00
Zef Hemel fd1a81b8d8 Client refactor: move UI related APIs to editor_ui.ts 2026-03-10 12:42:26 +01:00
Zef Hemel 6d33d3d8ac Refactor: extract page/document manager into separate class 2026-03-10 12:33:34 +01:00
Zef Hemel cb9f954bc7 Refactor: extract widget cache from Client class 2026-03-10 12:17:02 +01:00
Zef Hemel 822997fd5e Client available upgrade notification
If the server is updated, but the client doesn't match the server
version, a notification will appear instructing the user to reload.
2026-03-10 12:05:33 +01:00
Zef Hemel c2d42849a9 A few more format and type fixes 2026-03-10 09:42:48 +01:00
Zef Hemel 799e27a9b4 Enable biome based formatter and reformat 2026-03-10 09:38:59 +01:00
Zef HemelandGitHub a0b79e7c1d Merge pull request #1839 from silverbulletmd/to-node
Migration Deno -> Node.js
2026-03-10 09:11:32 +01:00
Zef Hemel 21e846ba09 Docs fix 2026-03-10 09:00:30 +01:00
Zef Hemel cce5b669f6 Merge branch 'main' into to-node 2026-03-10 08:57:58 +01:00
Zef HemelandGitHub 6de5b1ed14 Merge pull request #1876 from mjf/improve-widget-rendering
Improve Lua Widget Rendering
2026-03-10 08:42:51 +01:00
Zef HemelandGitHub c02594f20c Merge pull request #1865 from Dobli/collapsible-toc
Make ToC widget collapsible
2026-03-10 08:42:01 +01:00
Zef Hemel a59fb566ae Add table row support also to outline commands
As requested in #1051
2026-03-09 14:58:02 +01:00
Zef Hemel dbe9e702aa Thorough redo of the outline operation commands
Fixes #606 and #908 improves #1051,
2026-03-09 14:52:06 +01:00
Zef Hemel a5c9227499 deno fmt 2026-03-08 16:11:29 +01:00
Zef Hemel 6ad4878748 Fixes #1722 (clean completed tasks)
Refactors logic to be more testable. Now handles more scenarios.
2026-03-08 16:11:14 +01:00
Zef Hemel 0452910b0b Fixes #1777 2026-03-08 16:00:18 +01:00
Zef Hemel bbcd9ac6aa Introduce new noFloatingPromises lint rule and fix violiations 2026-03-08 15:49:45 +01:00
Zef Hemel 5c9dba30de Merge branch 'main' into to-node 2026-03-06 14:37:03 +01:00
Zef Hemel ff4c42a125 Grouping docs cleanup 2026-03-06 14:36:30 +01:00
Zef Hemel 82f1c9dd74 Cleaned up imports/exports 2026-03-06 14:36:23 +01:00
Zef HemelandGitHub 15cd08f190 Merge pull request #1873 from mjf/fix-lua-table-rendering
Fix table cell alignment for missing and misaligned cells
2026-03-06 14:35:21 +01:00
Zef Hemel 947edf52c8 Remove redundant type argument 2026-03-06 13:59:37 +01:00
Zef Hemel 3859af0260 Remove redundant Deno global vars 2026-03-06 13:57:28 +01:00
Zef Hemel adfa5e5596 Bring autofocus back in auth 2026-03-06 13:53:57 +01:00
Zef Hemel 8a2424f27f Fix mini editor regressions 2026-03-06 13:50:29 +01:00
Zef Hemel d6424b714a Merge branch 'main' into to-node 2026-03-06 13:38:23 +01:00
Zef HemelandGitHub c75f48d8a3 Merge pull request #1819 from onespaceman/panels
Panels - strings to elements
2026-03-06 13:30:03 +01:00
Zef Hemel ad45eebba4 2.5.2 2026-03-06 13:20:22 +01:00
Zef HemelandGitHub 49f1b58dbb Merge pull request #1871 from mjf/fix-table-indexer-empty-cells
Fix table indexer empty cells - continued
2026-03-06 13:15:36 +01:00
Zef HemelandGitHub eaa85a990a Merge pull request #1870 from mjf/fix-table-indexer-empty-cells
Fix table indexer shifting columns when cells are empty
2026-03-06 08:37:09 +01:00
Zef Hemel 9db8d822f7 Fixes #1850 2026-03-06 08:31:53 +01:00
Zef Hemel 06e4a4c7ed Fixes #1869 2026-03-06 08:20:45 +01:00
Zef Hemel dbf275d75b Introduce biome as linter with lint fixes 2026-03-06 08:05:13 +01:00
Zef Hemel de32dfb0f5 Auto discover lua test files 2026-03-05 16:39:19 +01:00
Zef Hemel 873fa7e4f5 Further simplification of runtime loading 2026-03-05 16:38:05 +01:00
Zef Hemel 9d39c8b1b8 Merge branch 'main' into to-node 2026-03-05 16:26:16 +01:00
Zef Hemel 91ecfcbd60 2.5.1 2026-03-05 16:12:49 +01:00
Zef Hemel 4b66106c20 Reduce logging in common cases 2026-03-05 16:11:32 +01:00
Zef Hemel 19483e8687 Attempting to determine the build time in a more reliable way 2026-03-05 16:03:25 +01:00
Zef Hemel e9266d467e (Debug) bundle timestamps 2026-03-05 15:28:35 +01:00
Zef Hemel 17418fd7ec Pull reported client version number from system.getVersion() 2026-03-05 15:07:25 +01:00
Zef Hemel 0768884b7c Log SilverBullet version on server boot 2026-03-05 14:44:47 +01:00
Zef Hemel 92d4807d52 2.5.0 2026-03-05 14:15:03 +01:00
Zef Hemel c299a65198 Updates to HTTP API docs 2026-03-05 14:15:03 +01:00
Zef HemelandGitHub e14d0a3dfd Mildly reduce hostility in contribution guide 2026-03-05 08:23:12 +01:00
Zef Hemel e1daa7204d CHANGELOG and Space Overview updates reflecting new space-lua ordering 2026-03-05 08:20:43 +01:00
Zef Hemel 856b176ce7 Fixes #1864 by making ordering stable 2026-03-05 08:12:19 +01:00
Zef Hemel 444349c3f3 Cleanup plug runtime loading during compilation
Note: drops custom worker URL support (which I doubt anybody used)
2026-03-04 16:07:38 +01:00
Zef Hemel e218433f52 Merge remote-tracking branch 'origin/main' into to-node
# Conflicts:
#	client/space_lua/query_collection.test.ts
2026-03-04 15:47:09 +01:00
Zef Hemel 1178f7bc92 Fix: ordering of space-lua scripts
No priority defined now means priority 0
2026-03-04 15:40:59 +01:00
Zef Hemel 9a92bced1f CHANGELOG updates 2026-03-04 14:55:19 +01:00