Commit Graph
311 Commits
Author SHA1 Message Date
Matouš Jan FialkaandGitHub 8f7e525812 Fix mobile tasks, annoying caret jumping and empty widgets on navigation (#1890) 2026-03-17 22:16:58 +01:00
Brett AnthoineandGitHub 356bc82986 Add optional stdin to shell syscall (#1885) 2026-03-14 20:55:11 +01:00
Zef Hemel ec40aa0838 Add action buttons to flashNotification
Used by upgrade notification
2026-03-10 16:07:25 +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 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 799e27a9b4 Enable biome based formatter and reformat 2026-03-10 09:38:59 +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
Matouš Jan Fialka 81f5ec7f67 Fix table cell alignment for missing and misaligned cells
The table style is determined by the header row. After normalizing the
header (filling empty cells between consecutive delimiters), extract
two properties: the column count and whether the header starts with
a delimiter.

For each data row, normalization proceeds in three steps. First, fill in
empty cells between consecutive delimiters (this handles empty cells in
the middle of a row). Second, if the header has no leading delimiter but
the row does, insert an empty cell after the row's leading delimiter (this
corrects the one-position shift caused by the row having a leading pipe
that the header lacks. Third, if the row has fewer cells than the header
column count, pad with empty cells at the end (this handles rows that
are shorter than the header because trailing pipes or cells were
omitted).

The same normalization is applied both in the renderer and the indexer.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-06 14:20:48 +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
Matouš Jan Fialka 7c35c05367 Fix regression
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-06 08:52:54 +01:00
Matouš Jan Fialka 9b37060d9f Extract normalizer to helper shared by both parser and renderer
Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-06 08:45:16 +01:00
Zef Hemel dbf275d75b Introduce biome as linter with lint fixes 2026-03-06 08:05:13 +01:00
Zef Hemel 803c5c478d Merge remote-tracking branch 'origin/main' into to-node 2026-02-27 15:05:49 +01:00
Zef Hemel 336e87672f Simplifies #1724
Now considers any HTTP status >= 500 < 600 as offline
2026-02-26 11:39:43 +01:00
rktjmpandGitHub 472ff93416 Consider "" to be an invalid path (#1847) 2026-02-21 17:55:23 +01:00
Zef Hemel 99bbb37ff0 Fix make check 2026-02-15 08:35:06 +01:00
Zef Hemel 02bd8ed362 Migration Deno -> Node.js
* First pass
* Now using vitest for tests
2026-02-14 22:08:35 +01:00
onespaceman 9129f15e57 Panels - strings to elements 2026-02-05 21:44:01 +00:00
Zef Hemel 0773df31e2 Add validation and error handling for object indexing
- Introduced a new `validate` callback for `tag.define`
- Added `index.validateObjects` API to validate and transform objects before indexing.
- Updated relevant documentation and examples to reflect these changes.
2026-02-03 15:59:04 +01:00
Zef Hemel 3d1e569bd2 Refactor page metadata access in Client class
- Introduced `currentPageMeta` method to encapsulate access to the current page's metadata.
- Updated references to page metadata throughout the codebase to use the new method, improving code readability and maintainability.
- Adjusted related components in the UI and linting logic to utilize the new method for consistency.
2026-02-03 15:57:34 +01:00
Zef Hemel 9057702557 Merge Client: Clean into Client: Wipe and remove Client: Clean
Client: Wipe now also deletes redundant other databases.

Related to #1798
2026-02-03 09:48:01 +01:00
Zef Hemel 9b05beba16 First pass of custom tag behavior (schema and postProcess) support
See API/tag.md for explanations and examples.
2026-01-22 15:32:01 +01:00
Zef Hemel 8acad63565 Reorganized keyboard shortcuts a little bit and documented them. 2026-01-21 11:01:11 +01:00
Zef Hemel c25a073e81 WIP 2026-01-20 13:48:15 +01:00
Zef Hemel 688afded0f Picker tuning
* Removed code complete from mini editor (didn't really work anyway, and
  only use case was emoji)
* Changed meta picker to be more consistent with page picker
* Alt-space completion in page picker (completes "folder" to the top
  match)
2026-01-15 11:14:16 +01:00
Zef Hemel 840e0c5fea Tuned the filterbox and fuse-based filtering
* Upgraded fuse library
* Removed the category support in the filterbox, it was buggy and hides
  command names
* Tweaked fuse parameters for (hopefully) better matches in the page
  picker (and everywhere where the filter box is used)
2026-01-15 09:17:34 +01:00
Zef Hemel cf49b9372f Add message queue flushing to Client: Clean 2026-01-15 08:42:06 +01:00
Zef Hemel 062c1ea44d Fix: addParentPointers re-attaches parents even if a sub-tree already
has some

+ some cleanup

Properly addresses #1776
2026-01-14 08:33:29 +01:00
Zef Hemel 0f4d5a5437 system.getBaseURI syscall 2026-01-13 15:44:52 +01:00
Zef Hemel 3461b19f83 Item and transclusion refactor 2026-01-12 17:19:23 +01:00
Zef Hemel fb3dd51bdb Inline content refactor 2026-01-12 17:19:23 +01:00
MrMugameandGitHub 4cd12c8ae7 Set base inside of iframes (#1766)
* Set base inside of iframes

* Add `system.getURLPrefix` syscall
2026-01-09 15:30:34 +01:00
Zef Hemel ff60237d95 use readPageWithMeta syscall to reduce indexing cost 2026-01-08 14:06:58 +01:00
Zef Hemel dc21c5f6aa Add syscalls to retrieve both file and page content together with meta
in 1 call (optimization opportunity)
2026-01-08 14:05:50 +01:00
Zef Hemel 757896d502 Fixes #1730 Introduces editor:fold and editor:unfold event, also
documents some other events while at it.
2026-01-08 09:30:40 +01:00
Zef Hemel 3c15b6301b Mock fix 2026-01-07 16:30:43 +01:00
Zef Hemel aa9132d918 Further bug fixes and optimizations 2026-01-07 16:26:43 +01:00
Zef Hemel 596b92cd55 Reindex refactor feature complete 2026-01-07 15:44:04 +01:00
Zef Hemel c93d656ac6 Significant refactor of index
* Moved YAML library import to index plug (so no async syscalls anymore)
  should speed things up
* Merged task and item indexing
* Merged tasks plug into index (questionable)
* taskstate is now no longer a tag, but needs to be configured via
  configs
2026-01-07 11:00:32 +01:00
Zef Hemel 2470bea0b5 Start of rudementary refactoring of indexing Making index logic actually
testable. Three indexers migrated:
* page
* data
* item
2026-01-06 12:21:02 +01:00
dkoosis@gmail.comandZef Hemel fa2d6d9a2d Fix HTTP 500 errors locking client outside offline mode
When the server returns HTTP 500 or other 5xx errors, the client
was caching the error HTML page (e.g., Nginx error pages) and
attempting to parse it as JSON on boot, causing a lockout with
the message 'Could not process config and no cached copy'.

This fix adds all standard 5xx server error codes to the
offlineStatusCodes list, ensuring the client enters offline mode
and uses cached data instead of caching error responses.

Before: Only 502, 503, 504, 530 triggered offline mode
After: All 5xx errors (500-511, 530) trigger offline mode

Fixes #1724
2026-01-05 14:55:15 +01:00
Zef Hemel 2efeb93b47 Implements #1707
This splits indexing into two phases:

* preindex (where only pages, space lua, space styles are indexed)
* index (where everything else is indexed)

The goal is to get to more-or-less operational state quicker this way,
because probably most functionality can already be enabled after the
pre-index phase.
2025-12-10 09:48:09 +01:00
Ohad LutzkyandGitHub f45fcdeb68 Handle error 530 (#1719) 2025-12-06 18:44:22 +01:00
Ohad LutzkyandGitHub 72a7c6e071 More robust "offline" handling when using proxies (#1675)
Identify more HTTP statuses as indicating "offline", specifically ones
delivered by proxies such as cloudflare.
2025-11-09 12:10:30 +01:00
Zef Hemel f65abb4704 Lua: start of crypto.* API 2025-11-07 10:49:13 +01:00
Zef Hemel 44a9ae6c0e Support deletion of keys in YAML patch library 2025-11-07 10:47:11 +01:00
Zef Hemel f44f00f4c2 2.2.1 2025-11-03 07:56:44 +01:00
Zef Hemel 5654a6bc6d config.insert syscall 2025-10-31 09:13:24 +01:00