diff --git a/CHANGELOG.md b/CHANGELOG.md index c464dca..2021276 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,25 @@ tag (08 §3.1): `selfphoneng-api`, `selfphoneng-asterisk` and `selfphoneng-probe the Gitea registry. From v0.0.3 the release also has the probe as downloads for machines without Docker. +## v0.0.11 — 2026-10-28 + +**Updating:** no database changes. Portainer: change both tags to `0.0.11` and redeploy. Compose: +`sudo scripts/update.sh v0.0.11`. + +- **Phones:** on an iPhone a ringing call dimmed the screen but showed no Answer button (iOS + zoomed into the small sign-in fields and stayed zoomed, so the call dialog was off screen). + Fields are now 16px on touch screens and buttons at least 44px. A ringing call gets its own + screen: full screen on a phone, with big round Decline and Answer buttons. My Phone's tabs fold + into a menu button on narrow screens. +- **New look:** colors from the logo (blue, and its navy for dark mode), cards on an off-white + page, and text that is easy to read in both themes (all text at least WCAG AA). Icons + throughout. +- **Admin sidebar** grouped into Call routing, People, Features, History and System. +- **My Phone Home** is a set of cards: My status, Missed calls (with call back) and New + voicemails. +- **Browser phone:** a status pill (Ready, Connecting…), phone-style call buttons with icons + (Mute, Hold, Keypad, Transfer, Hang up) and a round keypad with the letters under the digits. + ## v0.0.10 — 2026-10-27 **Before you update:** this version changes the database (spam check); the api backs up first, diff --git a/README.md b/README.md index bf41d52..a337fb1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A fully open source, self-hosted business phone system. Bring your own SIP trunk and numbers (reference provider: voip.ms). Built on Asterisk 24 + TypeScript + PostgreSQL 18, runs in Docker. -**Status:** pre-1.0 (v0.0.10), for testing. See [what's left for v1](docs/v1-checklist.md). +**Status:** pre-1.0 (v0.0.11), for testing. See [what's left for v1](docs/v1-checklist.md). ## What it does today diff --git a/apps/api/package.json b/apps/api/package.json index ea84503..7974729 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -1,6 +1,6 @@ { "name": "@selfphoneng/api", - "version": "0.0.10", + "version": "0.0.11", "private": true, "license": "AGPL-3.0-or-later", "type": "module", diff --git a/apps/probe/package.json b/apps/probe/package.json index ba3c34c..35fc284 100644 --- a/apps/probe/package.json +++ b/apps/probe/package.json @@ -1,6 +1,6 @@ { "name": "@selfphoneng/probe", - "version": "0.0.10", + "version": "0.0.11", "private": true, "license": "AGPL-3.0-or-later", "type": "module", diff --git a/apps/web/package.json b/apps/web/package.json index 6330667..aa1d0b6 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@selfphoneng/web", - "version": "0.0.10", + "version": "0.0.11", "private": true, "license": "AGPL-3.0-or-later", "type": "module", @@ -13,6 +13,7 @@ "@hookform/resolvers": "^5.9.1", "@selfphoneng/shared": "workspace:*", "@tanstack/react-query": "^5.104.3", + "lucide-react": "^1.56.0", "react": "^19.3.1", "react-dom": "^19.3.1", "react-hook-form": "^7.90.0", diff --git a/apps/web/src/auth/RequireAuth.tsx b/apps/web/src/auth/RequireAuth.tsx index ad88152..21c1de3 100644 --- a/apps/web/src/auth/RequireAuth.tsx +++ b/apps/web/src/auth/RequireAuth.tsx @@ -26,7 +26,7 @@ export function RequireAuth({ }) { const me = useMe(); const loc = useLocation(); - if (me.isPending) return
Loading…
; + if (me.isPending) returnLoading…
; if (me.isError) { if (me.error instanceof ApiError && me.error.status === 401) returnNothing to pick yet ({what}).
+Nothing to pick yet ({what}).
)} ); diff --git a/apps/web/src/components/Dialog.tsx b/apps/web/src/components/Dialog.tsx index bec6fa3..e056a97 100644 --- a/apps/web/src/components/Dialog.tsx +++ b/apps/web/src/components/Dialog.tsx @@ -1,5 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later // Native