Commit Graph
839 Commits
Author SHA1 Message Date
Zef Hemel ec40aa0838 Add action buttons to flashNotification
Used by upgrade notification
2026-03-10 16:07:25 +01:00
Zef Hemel 6b461aa5f3 Changelog and outline website doc update 2026-03-10 13:04:41 +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 21e846ba09 Docs fix 2026-03-10 09:00:30 +01:00
Zef Hemel ff4c42a125 Grouping docs cleanup 2026-03-06 14:36:30 +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 Hemel e1daa7204d CHANGELOG and Space Overview updates reflecting new space-lua ordering 2026-03-05 08:20:43 +01:00
Zef Hemel 9a92bced1f CHANGELOG updates 2026-03-04 14:55:19 +01:00
Zef HemelandGitHub 5ece01147a Merge pull request #1867 from mjf/space-lua-liq-add-order-by-using
[Space Lua] LIQ: Add `using ...` support to `order by`
2026-03-04 14:35:00 +01:00
Zef Hemel 6387b3a864 Actually include the Journaling guide... 2026-03-04 14:24:27 +01:00
Zef Hemel 405899781e Added journaling guide to website content 2026-03-04 14:23:59 +01:00
Zef Hemel 35542a2cc9 Missing website files, whoops 2026-03-04 13:39:27 +01:00
Zef Hemel 59c271131b Big website content iteration 2026-03-04 13:31:27 +01:00
Matouš Jan Fialka a1024212ee [LIQ] order by: Replace Quicksort with merge sort with SWO violation detection
- Add iterative async stable merge sort (*O(n log n)*).
- Replace Quicksort with the new merge sort (kept Quicksort for tables).
- Update documentation (reorganize for logical flow, add SWO section
  with invalid comparator example that really throws).

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-04 09:06:11 +01:00
Matouš Jan Fialka 01dd7c1db4 [Space Lua] LIQ: Add using ... support to order by
* support for custom comparators in LIQ `order by` clauses via the
  `using` keyword.

* `using` is mutually exclusive with `asc`/`desc` and accepts either
  a *named function* or an *inline anonymous function*. The comparator
  receives two values and returns true if the first should come before the
  second.

* `nulls first`/ `nulls last` works independently of `using`.

* `using` is now a reserved keyword (`kw`; this cannot be avoided but
  the chance to collide with user scripts is negligable),

* documentation updated + polished a little

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-03 14:47:28 +01:00
Zef Hemel ba297f66db Doc tweaks (less duplication of queryies and more use of bound queries) 2026-03-03 10:43:30 +01:00
Matouš Jan Fialka b786d65307 [LIQ] Add filter(where <cond>) clause for per-row aggregate filtering
Implements `filter(where <cond>)` for aggregate functions in LIQ
queries which allows per-row conditional filtering within grouped
aggregates. Also extends test suite and documentation.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-03 08:29:18 +01:00
Matouš Jan Fialka ff6854f6ee [LIQ] Add nulls first / nulls last to order by
Extend the `order by` clause with optional `nulls first` and `nulls
last` modifiers following standard SQL semantics. Each sort key can
independently specify where `nil` values should appear in the result. By
default, ascending sorts place nulls last and descending sorts place
nulls first. An explicit nulls first or nulls last overrides this
default. The `asc` keyword is also now accepted as an explicit
alternative to the default ascending direction. Documentation and tests
were updated accordingly.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-02 12:34:25 +01:00
Matouš Jan Fialka b6d4f71aca [LIQ/doc] Fix docs typo
The `select` part operates not over a single record, but over each group
(i.e., the set of records sharing the same group key). The `select`
clause's environment is generally:

* `name` (the group key)

* `group` (the table of records in the group)

Note: no `p` is bound (`p` is not set; it was the row variable during scan, but we are now at the group level).

In the `select { name = name }` the name refers to the group key (what
we `group by`-ed).

We typically use:

* `name = name` (group key, as in the query), or

* if we want data from the first record (say all grouped `p.name` are
  the same and non-`nil`) then `name = group[1].name`.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-02-25 10:45:08 +01:00
13c61ebab7 [LIQ] Extend with group by and having with aggregators (#1843)
* [LIQ] Extend with `group by` and `having` support

Also update documentation with extensive examples and add some parser
tests.

Note: `make generate` JS files included.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Merge `liq-add-support-for-aggregators` branch

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Fix link, remove `_` example

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Wrap example LIQ queries inside `query [[ .. ]]` and replace `sql` code block type to `lua`

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Example self-consistency fix

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Fixed some queries

* Add experimental tags to LIQ aggregation/grouping

---------

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
Co-authored-by: Zef Hemel <zef@zef.me>
2026-02-25 10:35:31 +01:00
rktjmpandGitHub 4fdc8c1af5 Vim mode binding collision documentation (#1827) 2026-02-08 15:22:30 +01:00
Zef Hemel f6d2e37d25 Reduce logging noise 2026-02-05 11:09:05 +01:00
Zef Hemel e0d173914f Inline Page Template content on website 2026-02-04 19:25:41 +01:00
Zef Hemel 0f6f06a14f Website docs refactoring (Lua, mostly) 2026-02-04 17:03:55 +01:00
Zef Hemel 34f34f9347 CHANGELOG fix 2026-02-03 16:02:14 +01: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 7adeb4bd30 CHANGELOG updates 2026-02-03 10:26:26 +01:00
Zef Hemel 923b18eba6 Update CHANGELOG.md 2026-01-29 15:44:10 +01:00
Zef Hemel d14695abf4 Iterations on tag.define
* Now also supports setting a custom metatable (replacement of
  index.defineTag)
* Load tag.define API on boot so can be used for initial client index
  from CONFIG
* Docs and examples
2026-01-29 11:07:28 +01:00
Metin YaziciandGitHub 10520ffb3d Configure remember me option (#1796)
* Configure remember me option

* Update Configuration.md
2026-01-29 08:13:50 +01:00
Zef Hemel 1110258b90 Adding back index.defineTag (DEPRECATED)
Removed from docs
Will be replaced with something better later
2026-01-27 17:11:59 +01:00
Zef Hemel d6078979a5 Revert "Remove legacy index.defineTag API"
This reverts commit 78236db7a0.
2026-01-27 16:52:52 +01:00
Zef Hemel 77b3186160 Revert from t in expr syntax variant in LIQ after discussion 2026-01-27 16:24:29 +01:00
Zef Hemel 78236db7a0 Remove legacy index.defineTag API 2026-01-27 13:46:09 +01:00
Zef Hemel 6f8c8bda64 Deployment notes on file systems 2026-01-27 10:33:56 +01:00
Zef Hemel bd03a406f0 Renamed postIndex to transform for tag.define API (experimental). 2026-01-27 09:33:00 +01:00
Zef Hemel 812dee8537 Lua/LIQ: added from p in <<expr>> as a syntax variant (and preferred
option) for `from p = <<expr>>`. Updated docs accordingly.
2026-01-27 09:15:07 +01:00
Zef Hemel 2e469ba3ea Lua: table.select API 2026-01-27 09:00:37 +01:00
Nick SavageandGitHub fe800417bc Adjust some documentation (#1788) 2026-01-25 14:38:53 +01:00
Zef Hemel fa49044cf0 PayPal funding option 2026-01-24 16:40:41 +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 fb10fd65b8 shortWikiLinks config option 2026-01-22 08:42:30 +01:00
Zef Hemel a89ab96438 Expose _G global variable in Space Lua 2026-01-21 14:32:41 +01:00
Zef Hemel 16114292fb Update CHANGELOG.md 2026-01-21 13:38:45 +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 81b7bd0d5a Funding page tweaks 2026-01-16 13:38:30 +01:00
Zef Hemel e4f869bb71 2.4.0 2026-01-16 13:04:17 +01:00
Zef Hemel 7a6bb14825 type 2026-01-16 08:34:11 +01:00