- Modified the `assertEqual` function to include a custom message for assertion failures.
- Added tests for empty tables and JavaScript arrays to verify correct behavior of `pairs` and `ipairs`.
- Implemented checks for mixed key types and ensured `ipairs` only iterates over numeric indices, validating the expected values.
- Added a check to skip indexing links for pages tagged as "meta/template" to prevent indexing links there.
- Updated the documentation in `Spaces.md` to remove redundant information regarding git repository usage for space folders.
- Changed the fenced code block notation from "template-type" to "language" for clarity in the Fenced Code Blocks documentation.
- Removed outdated example code from the Hashtags documentation to streamline content and improve focus on relevant information.
- Revised multiple documentation files to correct references and improve clarity, including updates to the Command Palette, Document Editor, and various Markdown files.
- Removed outdated references to "Slash Templatese" and replaced them with "Slash Templates" for consistency.
- Enhanced explanations regarding meta pages and shortcuts, ensuring accurate guidance for users.
- Enhanced the `Config.md` documentation to clarify built-in configuration options and the use of the `config.set` API.
- Removed outdated `Page Template.md` and `Slash Template.md` files to streamline documentation and avoid confusion.
- Updated references in various documentation files to reflect the removal of deprecated templates and ensure consistency across the site.
- Introduced a new `stdLibPrefix` constant in `constants.ts` for standard library paths.
- Updated the import statement in `sync_service.ts` to include `stdLibPrefix`.
- Modified the logic in `SyncService` to check for both `plugPrefix` and `stdLibPrefix` when validating names.
- Introduced a new system for defining slash commands using templates, allowing for easier command creation and management.
- Added multiple slash command templates, including for functions, queries, and admonitions, with specific context handling.
- Enhanced existing Lua command definitions to support new template-based commands and improved context filtering.
- Updated the `template.fromPage` function to handle raw template text, enabling more flexible command definitions.
- Introduced a new page template system to automate page creation based on defined templates.
- Added configuration options for templates, including suggested names, confirmation prompts, and keyboard shortcuts.
- Created a new "Quick Note" template with specific command and key bindings.
- Removed the old "Page Templates" file and integrated its content into the new structure for better organization.
- Introduced `pageExists` function in `space.ts` to verify if a page exists in the space.
- Enhanced cursor placeholder handling in `editor.ts` to prevent errors when the placeholder is not found, ensuring smoother text manipulation.
- Added caching mechanism for client configuration to enhance performance and reliability.
- Implemented a timeout for fetching fresh config, falling back to cached config in case of errors or timeouts.
- Updated error handling to ensure proper responses when fetching fails, including returning a 404 status when no config is available.
- Introduced a new `TagDef` type to define tags with optional schema and metatable.
- Added `registerTag` method in `ScriptEnvironment` to register tags.
- Updated `indexSyscalls` to handle tag registration and enrich query results with tag metadata.
- Modified `queryLua` and `DataStore` to support an optional enricher function for enhanced data processing.
- Updated the `pairsFunction` to specify that keys can be of type `string` or `number`, enhancing type safety.
- Corrected a comment for clarity regarding key retrieval from plain JavaScript objects, ensuring accurate documentation.
- Updated the `tonumber` function to support optional base conversion, allowing for binary, octal, decimal, hexadecimal, and base 36 inputs.
- Added validation for invalid bases and non-numeric strings.
- Introduced comprehensive tests for various `tonumber` scenarios in `language_core_test.lua` to ensure correct functionality.
- Modified `luaCall` and `luaValueToJS` functions to handle promises, allowing asynchronous execution of JavaScript functions from Lua.
- Updated the `jsApi` to expose the global `globalThis` object instead of `window`, improving compatibility across different environments.
- Added a convenience function for creating HTML widgets, streamlining widget creation.
- Enhanced the key retrieval logic in the pairs function to ensure it captures prototype keys correctly.
- Exposed the global window object in the jsApi for better access to DOM functions.
- Included a warning at the top of the SilverBullet documentation indicating that it is for version 2, which is still in progress.
- Provided a link to version 1 for users preferring a stable version and included a note about active development on v2.
- Deleted the `share` plug, including its associated files and YAML configuration.
- Removed references to share options and commands from the codebase.
- Cleaned up unused event listeners and functions related to sharing content.
- Updated `ipairsFunction` and `pairsFunction` to accept both `LuaTable` and array types, enhancing flexibility.
- Modified `eachFunction` to support arrays, ensuring consistent behavior across different data structures.
- Added type checks and adjusted key retrieval logic for better compatibility with JavaScript objects.
- Added `yaml.patch` syscall to apply patches to YAML strings using the new `applyPatches` function.
- Updated tests to cover a wider range of scenarios, including edge cases and preservation of comments and formatting.
- Refactored existing tests to utilize the new patching logic, ensuring comprehensive coverage of YAML operations.
- Added slash commands for inserting today's, yesterday's, and tomorrow's dates.
- Introduced new admonition commands for notes and warnings.
- Implemented a table command for quick table insertion.
- Enhanced the `insertAtCursor` function to support a cursor placeholder option.
- Updated `getSelection` to return the selected text along with cursor positions.
- Added a new widget function to display linked tasks in the editor.
- Introduced comprehensive tests for applying minimal set key patches in YAML, covering various scenarios including scalar operations, adding new keys, list operations, and handling of empty values.
- Implemented serialization functions to convert JavaScript types to YAML format, ensuring proper handling of scalars, arrays, and objects.
- Enhanced the `applyMinimalSetKeyPatches` function to support patching of top-level keys while preserving comments and formatting.
- Introduced checks for initial sync completion before updating the page list cache.
- Updated logic to fetch pages based on sync status and index plug availability.
- Added tagging for meta pages starting with "Library/" during direct fetch.
- Initialized empty tags array for file metadata in fileMetaToPageMeta function.
- Add optional logout parameter to system.wipeClient
- Add new 'Clear Local Storage & Logout' command
- Update API to support logout parameter
- Clean up server code comments