mirror of
https://github.com/Nystik-gh/ignis.git
synced 2026-06-17 04:35:53 +00:00
shim randomUUID, bump version
This commit is contained in:
24
CHANGELOG.md
24
CHANGELOG.md
@@ -2,6 +2,30 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [0.5.0] - (2026-03-22)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Compression middleware (gzip/brotli) for API responses to reduce bandwidth
|
||||||
|
- Plugin installation prompt system with per-vault trust flags
|
||||||
|
- Versioning system with cache-busting query parameters on script URLs
|
||||||
|
- Option to install ignis-bridge plugin to vaults imported at runtime
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Auto-creation of default vault now requires `AUTO_CREATE_DEFAULT=true` environment variable
|
||||||
|
- Script URLs (`ignis-ui.js`, `shim-loader.js`) now include version query params for automatic cache invalidation
|
||||||
|
- Cache headers: versioned assets cached for 1 year, non-versioned for 5 minutes
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Vault manager not displaying when no vaults exist
|
||||||
|
- `window.close()` now shows vault manager when no vault is configured
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Unused `VAULT_PATH` environment variable fallback logic
|
||||||
|
|
||||||
## [0.4.0] - Basil (2026-03-18)
|
## [0.4.0] - Basil (2026-03-18)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ignis",
|
"name": "ignis",
|
||||||
"version": "0.4.0",
|
"version": "0.5.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "An Electron shim and server bridge for running Obsidian in a browser.",
|
"description": "An Electron shim and server bridge for running Obsidian in a browser.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import { randomBytes } from "./random-bytes.js";
|
import { randomBytes } from "./random-bytes.js";
|
||||||
import { createHash } from "./create-hash.js";
|
import { createHash } from "./create-hash.js";
|
||||||
import { scrypt } from "./scrypt.js";
|
import { scrypt } from "./scrypt.js";
|
||||||
|
import { randomUUID } from "./random-uuid.js";
|
||||||
|
|
||||||
export const cryptoShim = {
|
export const cryptoShim = {
|
||||||
randomBytes,
|
randomBytes,
|
||||||
createHash,
|
createHash,
|
||||||
scrypt,
|
scrypt,
|
||||||
|
randomUUID,
|
||||||
};
|
};
|
||||||
|
|||||||
3
src/shims/crypto/random-uuid.js
Normal file
3
src/shims/crypto/random-uuid.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
export function randomUUID() {
|
||||||
|
return crypto.randomUUID();
|
||||||
|
}
|
||||||
@@ -88,12 +88,17 @@ for (const [name, shim] of Object.entries(rawRegistry)) {
|
|||||||
const throwOnRequire = new Set(["btime", "get-fonts", "vibrancy-win"]);
|
const throwOnRequire = new Set(["btime", "get-fonts", "vibrancy-win"]);
|
||||||
|
|
||||||
window.require = function (moduleName) {
|
window.require = function (moduleName) {
|
||||||
if (throwOnRequire.has(moduleName)) {
|
// Strip node: prefix if present
|
||||||
|
const normalizedName = moduleName.startsWith("node:")
|
||||||
|
? moduleName.slice(5)
|
||||||
|
: moduleName;
|
||||||
|
|
||||||
|
if (throwOnRequire.has(normalizedName)) {
|
||||||
throw new Error(`Cannot find module '${moduleName}'`);
|
throw new Error(`Cannot find module '${moduleName}'`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shimRegistry[moduleName]) {
|
if (shimRegistry[normalizedName]) {
|
||||||
return shimRegistry[moduleName];
|
return shimRegistry[normalizedName];
|
||||||
}
|
}
|
||||||
|
|
||||||
console.warn("[ignis] Unshimmed require:", moduleName);
|
console.warn("[ignis] Unshimmed require:", moduleName);
|
||||||
|
|||||||
Reference in New Issue
Block a user