Commit Graph
77 Commits
Author SHA1 Message Date
Zef Hemel aaaee4299a 2.1.9 2025-10-09 15:56:41 +02:00
Zef Hemel 17e838883b 2.1.8 2025-10-09 09:59:43 +02:00
Zef Hemel 5be6297271 2.1.7 2025-10-04 15:41:12 +02:00
Matouš Jan FialkaandGitHub 9967cf1fd1 Space Lua: Remove unary plus (#1585)
* Improve documentation on string to number conversion (plus minor fixes of typos)
* Update Lua grammar to disallow unary plus

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2025-10-03 08:28:36 +02:00
Zef Hemel 9521c7605a 2.1.6 2025-09-30 11:08:37 +02:00
Zef Hemel 2b32ab65ea 2.1.5 2025-09-27 06:43:12 +02:00
Zef Hemel afb97a1aac 2.1.4 2025-09-26 12:19:32 +02:00
Zef Hemel a072b68c53 Fix lint 2025-09-25 15:53:10 +02:00
Zef Hemel 7a571836a6 2.1.3 2025-09-25 15:30:58 +02:00
Zef Hemel 60dbb13d4a 2.1.2 2025-09-25 13:19:49 +02:00
Zef Hemel 9f3087a665 2.1.1 2025-09-25 10:41:46 +02:00
Zef Hemel f545497d0d 2.1.0 2025-09-25 10:16:50 +02:00
Zef Hemel dd9e4582dd Move built client files to client_bundle folder to make embedding them into the server binary cleaner. 2025-09-25 09:51:05 +02:00
Zef Hemel f4336bf09f Code restructuring: eliminated the top-level lib/ directory 2025-09-23 17:00:34 +02:00
Zef HemelandGitHub a524c64884 Go backend (#1555)
* Replaces old Deno server with a Go implementation
* Restructured the code base accordingly
2025-09-19 13:23:20 +02:00
Zef HemelandGitHub dc2987a3f9 Sync engine rearchitecture (#1516)
* Don't require auth for .ping
* Finally introducing loggers
* Remove file list caching from disk_space_primitives
I don't think this is required anymore with the sync model
* Simplification of space primitives and more tests
* More reliable online status
* Add .zed settings
* Remove selfUpdate argument from `writeFile` no longer used
- Add `sync` config schema and document sync options
- Move sync config handling to client boot logic
- Move BootConfig type to ui_types.ts
- Remove sync env vars from server
- Update documentation for sync and architecture
* Improve sync logic and proxy routing for full sync state
* Add BoxProxy for late-bound client and improve Lua boot
- Add isMobile syscall for editor
* Add concurrency to sync process and log indexing duration
* Better service worker lifecycle management
2025-09-12 14:43:57 +02:00
Zef Hemel 644e027abe Fixes #1515
Replaces hacky way of building two binaries for ARM and Intel and putting the right one into the image by using a multi-stage build. You can now build SB without even installing Deno.

Also adds a HEALTCHECK
2025-09-01 09:09:16 +02:00
Zef Hemel 7571ad1972 2.0.0 2025-08-29 15:38:06 +02:00
Zef Hemel f5cd8ceb8c 2.0.0-rc3 2025-08-29 15:32:39 +02:00
Zef Hemel fdf5a3acf6 2.0.0-rc2 2025-08-29 15:31:18 +02:00
Zef Hemel 2e16bc0663 2.0.0-rc1 2025-08-29 15:23:09 +02:00
Zef HemelandGitHub fe5dc80a14 Expose file system API on /.fs instead of root (#1507)
Fixes #1506
2025-08-27 09:58:11 +02:00
aa0b95b31d The one about refs (#1496)
* [Major] Introduce a new `Ref` and `Path` type

This introduces a new `Ref` and `Path` type, which try to be as lightweight and rigorous as possible. More description in the PR

* [Minor] Updated Syntax

* [Minor] Updated Type

* [Minor] Renamed file

* [Minor] Updated type

* [Minor] Updated Syntax

* [Major] Rename css classes for wiki links

Previously all the parts of a wiki link were tagged with `sb-wiki-link-page`. This didn't make a whole lot of sense. Also the tag `sb-wiki-link` was could never render, because of the way `HighlightStyle` works. Now every part of a wiki link will be tagged with `sb-wiki-link` (i.e. the link, the alias, the dimensions). Invalid and missing links will be styled separately in a later commit.

* [Minor] Adjust to new API

* [Minor] Small changes

* [Minor] Function and file renames

* [Major] Syscall adjusments

Change behavior of `getCurrentPath` to actually return what's now considered a `Path`. `getCurrentPage(Meta)` now also correctly returns for documents. We could consider a rename to get rid of the `page` association

* [Major] Rework `Client`

Mostly minor adjustments for the new API. Some major changes in `navigateWithinPage` and some unecessary checks removed now

* [Major] Errors on navigate

This now throws an error when the user tries to navigate to a link that is invalid

* [Major] Minor adjustments and remove some old bulk

This does the typicall adjustments to the new API. A thing to consider is that invalid links aren't indexed. Also removed old code about template and query stuff. And reused a regex instead of copy pasting it.

* [Minor] Cleanup editor ui

* [Minor] Adjust to new API

* [Minor] Adjust to new API and reduce ugly regex

* [Minor] New API

* [Minor] Rework link cm plugin

* [Major] Rework wiki links

A lot of code cleanup, reworked for new APIs and also introduces "invalid links"

* [Minor] Part of the editor ui rework

* [Major] Adjust to new API

This also removes the `looksLikePathWithExtension` check. I don't think it was necessary.

* [Minor] PArt of editor ui rewrite

* [Minor] Adjust to new API

* [Major] Adjust renderer to new API

Invalid links now link to `#`

* [Major] Rewrite navigator

This still needs major rework, currently in a "got it working" state

* [Minor] Adjust file name

* [Minor] Mistake during rebase

* [Minor] Navigate to end of header

* [Minor] Remove `tweakEditorDOM` and use proper CM extensions

* [Major] Heavily clean up the navigation code

* [Minor] Make `PageNavigator` closable again

* [Minor] Small fixes to reduce errors bubbling up

* [Minor] Show error message if navigate fails

* [Major] Remove legacy `navigate({ kind = ` syntax

This removes the old navigation syntax. It's still supported but the user will be warned then using it. I also added some validation to editor.navigate for user provided refs.

* [Minor] Make notifications errors

* [Minor] Don't fail if header isn't found

* [Minor] Typo

* [Major] Remove cleanPageRef

* [Minor] Small bug

* [Minor] Align behavior between render and editor

* [Major] Remove `PageRef`. Pretty sure it's obsolete

* [Major] Remove pos from header as it's an invalid ref

* [Minor] Align with original behavior

* [Minor] Get tests working again

* [Minor] check that indexPage is valid

* [Major] Rewrite `resolve.ts` file

* [Minor] More tests, more fixes

* [Minor] Don't just append .md this is weird

* [Minor] More edge cases

* [Minor] Version bumping hono somehow fixes the `/` case

* [Minor] Smaller TODOs

* [Major] We can be a littler looser on the restrictions

* [Major] Change header indexing, to index with pos

* [Minor] More fixes for headers

* [Minor] Rename for clarity

* [Minor] Change more regexes to named groups

* [Major] Inline content rewrite

* [Minor] Fix TODO

* [Minor] Bump index version

* [Major] New Space Primitive to check paths

* [Minor] Fix #1214

* [Minor] Fix #1169

* [Minor] Remove TODO

This check is probably not needed anymore. Unsure. May look into it later

* [Minor] small bug

* [Minor] Not a good rebase without me needing to fix it afterwards

* [Minor] Improve fallback for file upload

* [Minor] Some fixes on the for resolving

* [Minor] Removed doubled test case

* [Minor] Resolve #860

* [Minor] Turn flash notification into an error

* [Minor] Change handling of `.` paths

* [Minor] Show empty URL for index page

* [Minor] Push correct ref to history

* [Major] Capture mini editor events in capture phase

This fixes the issue were when pressing arrowup or arrowdown changed the cursor position inside the editor

* [Major] Add prefix to `FilterList`

This now fixes issues were if you had a prefixed page you  con't properly search for it, because the search considered the prefix as part of the name

* [Minor] A little rigor for empty headers

* [Major] Fix #1404

* [Minor] `parseInt` returns `NaN` handle that

* [Minor] Use `fileName`

* [Minor] Fix comment

* [Minor] Fixes

* [Major] disallow `foo.png.md` and `/../`, etc. cases

* [Major] Change name of conflicted pages

* [Minor] Remove unecessary check

* [Minor] Remove some split code

* [Minor] Allow deletion of invalid files

* [Minor] Bug in the regex

* [Minor] Give some possibility of fixing incorrect names

* [Minor] Tiny bug with header completion

* [Major] Docs

* [Minor] Ignore errors for navigation inside of a page

This could be a problem when SB e.g. cached a scrollTop for a page, which, because e.g. the file is now deleted, doesn't exist anymore and thus CM throws an error, when trying to navigate

* Update conflicted copy regex in Maintenance.md

---------

Co-authored-by: Zef Hemel <zef@zef.me>
2025-08-24 16:16:19 +02:00
Zef Hemel efdb54d282 Fix deno task install
Not sure why this worked before...
2025-06-18 17:43:16 +02:00
Zef Hemel cc3aece55c Don't include sourcemap in production build 2025-06-18 15:45:25 +02:00
Zef Hemel 40c2bd82d7 Dependency bumps 2025-06-18 11:42:01 +02:00
Zef Hemel a2917a9d10 Dependency bumps 2025-06-18 11:01:41 +02:00
Zef Hemel 6d8deb969e Migrate from esm.sh to npm: packages 2025-06-18 10:49:19 +02:00
Zef Hemel d92eeb85c2 2.0.0-pre4 2025-06-18 10:11:42 +02:00
Zef Hemel 42bd980419 2.0.0-pre3 2025-06-18 10:01:24 +02:00
Zef Hemel ac85013908 2.0.0-pre2 2025-06-18 09:47:20 +02:00
Zef Hemel 23dcb73f44 2.0.0-pre1 2025-06-18 09:39:38 +02:00
Zef Hemel 450ef50df7 Cleanup: more cleanup and moving stuff around 2025-06-17 16:12:18 +02:00
Zef Hemel c3672056fb Eliminate $lib 2025-06-16 18:53:21 +02:00
Zef Hemel ea41d195b2 Minor code tweaks 2025-06-12 21:12:50 +02:00
Zef Hemel 8d3dc4cc4e Refactor, cleanup 2025-06-12 20:30:01 +02:00
Zef Hemel f51af7b580 Work on release builds 2025-06-09 09:53:13 +02:00
Zef Hemel bf2e0cdb87 Refactor: Merging common/ into web/ 2025-06-04 14:01:59 +02:00
Zef Hemel 85310e915d codemirror-vim mode version bump 2025-04-30 09:18:46 +02:00
Zef Hemel 64e537732b Debug: Reset Client is now called System: Wipe Client
Merged two datastores into one (for both state and files), this will trigger a resync on upgrade
2025-03-28 12:17:17 +01:00
Zef Hemel e6a45f213a Remove temporal 2025-03-25 18:55:27 +01:00
Zef Hemel 254d6e6379 Ripped out use of Deno KV and other unstable features 2025-03-24 20:21:17 +01:00
Zef Hemel ac5a839ea8 Moving some endpoints 2025-03-22 07:32:27 +01:00
Zef Hemel 6361ba0443 Added git hook that does some sanity checking 2025-03-18 18:29:46 +01:00
Zef Hemel dde532d1b6 Added silverbullet lua:repl command 2025-03-14 16:43:13 +01:00
Zef Hemel 98befe3a33 Lua widget event support 2025-03-14 10:36:41 +01:00
Zef Hemel def7bf6a2f Hono dependency upgrade 2025-03-14 10:02:25 +01:00
Zef Hemel 977f87864d Dependency bumps 2025-03-14 10:02:25 +01:00
Zef Hemel 2e6a2a3adf Dependency bumps 2025-03-14 10:02:25 +01:00
Allie StephanandGitHub 6190a4ff06 Vim Mode and Read Only Fixes (#1240)
* Vim Mode and Read Only Fixes

- remove client.focus call from global keydown handler. This call causes
  issues with vim mode.  For instance typing j with the editor not
  focused would insert a j before properly going to normal mode instead
  of just moving down a line as expected
- add client.reloadPage call to setUiOption syscall. This appears to fix
  read only mode that is broken without the above focus call.  In
  particular when switching between vim and regular mode read only mode
  was previously broken even with the client.focus call
- add client.focus call to CommandPalette onTrigger if no cmd is
  selected. Without the client.focus call above, the editor is no longer
  selected when exiting the command palette with escape - this call
  fixes that
- add watch-all task to deno.json to run all 3 watches in 1 terminal
  window

* Update watch-all

Fix watch-all order so that arguments get passed to watch-server
2025-03-02 15:22:33 +01:00