github murtaza-nasir/speakr v0.10.22-alpha

one hour ago

Speakr v0.10.22-alpha

In this release, each single sign-on app can be given its own scope limit, notifications are shown in the interface theme, and several gaps in sharing, failure notices and layout are closed.

New

  • Token exchange refusals. For a valid SSO access token, POST /api/v1/tokens/exchange answers 403 sso_registration_closed when the person has no Speakr account, and 409 sso_link_required when a Speakr account with the same email is not yet linked to single sign-on. In both cases, the person signs in to Speakr with SSO once. A request with an invalid token still receives 401, and other API routes still answer every refusal with 401.
  • Exchange status without a token. GET /api/v1/sso/status reports whether the token exchange is available and, with client_id, whether that client may exchange. No other information is returned.
  • Scopes per app. With sso_api_client_scopes, each client can be given its own scope limit within sso_api_scopes, for example read for an assistant tool server such as Open WebUI and read write upload share webhooks for an app that syncs in the background.
  • App names on tokens. With sso_api_client_names, a client id can be given a display name, and an exchanged token is listed as "Created through SSO by" that name. GET /api/v1/tokens/current and token objects include sso_client_id and sso_client_name.
  • Times on recent tokens. In Account settings → API tokens, dates within the last seven days show the time, and every date shows the full date and time on hover.

Changed

  • Toasts. Notifications are shown in the interface theme, with a colored icon and an accent strip per type, and all text meets AA contrast in light and dark mode. Error notifications stay until they are closed, warnings stay at least eight seconds, and hovering pauses them. Every notification has a close button, and a repeated message shows a count in place of a second notification. They are announced by screen readers, and on phones they are shown full width above the player.
  • Tablet header. Between 641 and 1279 px, the recording header fits in every theme. Below 1024 px, the inbox, star, archive, folder, tags and speaker actions are in the More menu, and below 1280 px the Ask Ambrose and New recording buttons show icons only.
  • Portrait videos on phones. A portrait video in the player is limited in height and shown whole, so the player controls and the transcript stay in view. Landscape videos are unchanged.

Fixed

  • Tag group changes. When a tag is made a group tag, moved to another group or made personal again, its completed recordings are shared with the new group according to the tag's sharing settings, and the previous group's tag shares end. Shares made by hand, and access still given by another group tag or folder, are kept.
  • Failure notices. For a transcription that returns no text, and for a transcription stopped by the transcription budget, one recording.transcription.failed webhook is sent and, to users who turned on processing emails, one failure email. Since v0.10.21, no notice was sent in either case.
  • WebM audio in the watch folder. .weba files are taken from the watch folder and handled like .webm files at upload. A watch folder file skipped because of its extension is noted once in the log.

Upgrading

Pull the new image and start as usual. Two settings are added at startup without a value, so nothing changes until an admin sets them: sso_api_client_scopes and sso_api_client_names, with the .env variables SSO_API_CLIENT_SCOPES and SSO_API_CLIENT_NAMES. No database columns are added.

A few changes are visible to administrators and API clients:

  • Token exchange. A valid SSO token for a person without a Speakr account now receives 403 sso_registration_closed or 409 sso_link_required from POST /api/v1/tokens/exchange, not 401. Other routes are unchanged.
  • Webhooks. recording.transcription.failed is now sent for an empty transcript and for a transcription stopped by the budget.
  • Tokens. GET /api/v1/tokens/current and token objects include sso_client_id and sso_client_name.
  • Going back to v0.10.21. The new settings are ignored.

Full Changelog: v0.10.21-alpha...v0.10.22-alpha

Don't miss a new speakr release

NewReleases is sending notifications on new releases.