From a8c35db201800c92202d681080b2fd8db6ee5989 Mon Sep 17 00:00:00 2001 From: ekklesia Date: Sat, 10 Oct 2026 23:02:55 -0500 Subject: [PATCH] chore: release signage 0.1.4 --- README.md | 2 +- ekklesia.module.json | 2 +- package.json | 2 +- src/display/index.tsx | 2 +- src/server/runtime.ts | 4 ++-- src/ui/index.tsx | 2 +- tests/browser/support/fake-host.ts | 2 +- tests/manifest.test.ts | 6 +++--- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4c49b56..f363e73 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Ekklesia and vendors none of its SDKs. ## Status -Version 0.1.3 is feature-complete for its declared scope, and Signage has run in production since +Version 0.1.4 is feature-complete for its declared scope, and Signage has run in production since 0.1.1. What exists today: - The module package, manifest (v8), four capabilities, six permissions, ten operator settings, and diff --git a/ekklesia.module.json b/ekklesia.module.json index a09b67c..80c6bb3 100644 --- a/ekklesia.module.json +++ b/ekklesia.module.json @@ -3,7 +3,7 @@ "id": "signage", "name": "Signage", "description": "Visual programming, timelines, synchronized channels, and display delivery for church screens.", - "version": "0.1.3", + "version": "0.1.4", "compatibility": { "platform": "^0.2.0", "moduleSdk": "^0.2.0" diff --git a/package.json b/package.json index ba4097f..9a7faee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ekklesia/signage", - "version": "0.1.3", + "version": "0.1.4", "private": true, "license": "AGPL-3.0-or-later", "type": "module", diff --git a/src/display/index.tsx b/src/display/index.tsx index cd85dc2..94e525d 100644 --- a/src/display/index.tsx +++ b/src/display/index.tsx @@ -59,7 +59,7 @@ function SignageDisplay({ context }: { readonly context: ModuleUiHostContext }): */ export default defineModuleUi({ id: "signage", - version: "0.1.3", + version: "0.1.4", styles: displayStyles, mount(container, context) { const root = createRoot(container); diff --git a/src/server/runtime.ts b/src/server/runtime.ts index b12e3b0..294654e 100644 --- a/src/server/runtime.ts +++ b/src/server/runtime.ts @@ -130,7 +130,7 @@ export function createSignageModuleRuntime( // Database ABI v1 executor, which `createSignageStore` binds Signage's own Drizzle adapter to. database: { abi: 1 }, id: "signage", - version: "0.1.3", + version: "0.1.4", register({ capabilities, config, http, realtime }) { const settings = readSignageSettings(config); @@ -192,7 +192,7 @@ export function createSignageModuleRuntime( // server enforces — a UI believing a stale limit would offer an upload the server refuses. return Response.json({ crossfadeMs: current.crossfadeMs, - moduleVersion: "0.1.3", + moduleVersion: "0.1.4", nativeImageDurationMs: current.nativeImageDurationMs, nativePresentation: current.nativePresentation, rendererInputVersion: SIGNAGE_SLIDE_RENDERER_INPUT_VERSION, diff --git a/src/ui/index.tsx b/src/ui/index.tsx index d50c9eb..5a4cc88 100644 --- a/src/ui/index.tsx +++ b/src/ui/index.tsx @@ -15,7 +15,7 @@ import ownStyles from "./styles.css"; */ export default defineModuleUi({ id: "signage", - version: "0.1.3", + version: "0.1.4", styles: `${EKKLESIA_UI_STYLESHEET}\n${ownStyles}`, mount(container, context) { const root = createRoot(container); diff --git a/tests/browser/support/fake-host.ts b/tests/browser/support/fake-host.ts index 0f3bf0b..fd33368 100644 --- a/tests/browser/support/fake-host.ts +++ b/tests/browser/support/fake-host.ts @@ -127,7 +127,7 @@ export function createFakeHost(options: FakeHostOptions): FakeHost { /** The settings payload every screen loads first. */ export const FAKE_SETTINGS = Object.freeze({ crossfadeMs: 1000, - moduleVersion: "0.1.3", + moduleVersion: "0.1.4", nativeImageDurationMs: 7000, nativePresentation: { backgroundColor: "#000000", diff --git a/tests/manifest.test.ts b/tests/manifest.test.ts index 60f2237..07c71a4 100644 --- a/tests/manifest.test.ts +++ b/tests/manifest.test.ts @@ -66,7 +66,7 @@ describe("Signage module manifest", () => { expect(manifest.manifestVersion).toBe(8); expect(manifest.id).toBe("signage"); expect(manifest.name).toBe("Signage"); - expect(manifest.version).toBe("0.1.3"); + expect(manifest.version).toBe("0.1.4"); expect(manifest.compatibility).toEqual({ moduleSdk: "^0.2.0", platform: "^0.2.0" }); }); @@ -151,7 +151,7 @@ describe("Signage module manifest", () => { describe("Signage server runtime", () => { it("exports the typed runtime definition the compiled server entrypoint publishes", async () => { // The runtime's database declaration must match the manifest's, or Core refuses to start it. - expect(moduleRuntime).toMatchObject({ database: { abi: 1 }, id: "signage", version: "0.1.3" }); + expect(moduleRuntime).toMatchObject({ database: { abi: 1 }, id: "signage", version: "0.1.4" }); }); it("registers its routes declaratively, with no database, storage, or realtime work", async () => { @@ -250,7 +250,7 @@ describe("Signage server runtime", () => { expect(response.status).toBe(200); expect(await response.json()).toEqual({ crossfadeMs: 400, - moduleVersion: "0.1.3", + moduleVersion: "0.1.4", nativeImageDurationMs: 12_000, nativePresentation: SIGNAGE_DEFAULT_SETTINGS.nativePresentation, rendererInputVersion: "1.0.0", -- 2.54.0