Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/release-notes-1.5.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## Highlights

### The first 1% of usage no longer reads as 100%

A lightly used OpenCode Go account could report its rolling window as 100% used while the dashboard showed 1%. The usage page reports each window as either whole percentages or fractions of the limit, and a lone `1` means 1% in one and 100% in the other. The per-window scaling rule turned the first 1% of use into a maxed-out rolling window.

The scale is now resolved once per response from real evidence in the payload, and only read as fractions when a window actually holds a fractional value. The same bug was present in the OpenCode, Qoder, Chutes, and Sakana providers, and it is fixed for all of them.

### OpenCode Go's monthly window has a name

The OpenCode Go card now labels its monthly bar "Monthly" instead of the generic "Extra", so the third usage window on that card is no longer anonymous.

### The Store build submits again

The 1.5.21 Microsoft Store submission was rejected because Partner Center caps installer parameters at 40 characters and the inherited value was longer. The parameters are now normalized to that limit, with startup-prompt suppression and the restart-required exit code preserved, and a deterministic Store-package preparation test guards it in CI.

## Installers

- **Ceiling-1.5.22-Setup.exe** - standard installer
- **Ceiling-1.5.22-portable.exe** - portable
- **Ceiling-1.5.22-Store-Setup.exe** - Microsoft Store package (WebView2 bundled)

Portable builds show alerts as banners but do not keep them in the notification center. That requires the Start Menu shortcut installed by the standard or Store build.

---

**Full Changelog**: https://github.com/tsouth89/ceiling/compare/v1.5.21...v1.5.22
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Changelog

## Unreleased
## [Ceiling] 1.5.22 - 2026-08-03

### Fixed
- A lightly used OpenCode Go account could report its rolling window as 100% used while the dashboard showed 1%. The usage page reports each window as either whole percentages or fractions of the limit, and a lone `1` means 1% in one and 100% in the other. The old rule scaled any value at or below 1 by 100 window-by-window, so the first 1% of use rendered as a maxed-out rolling window. The scale is now resolved once per response, and only read as fractions when a window actually contains a fractional value, which is the case that proves it.
- The same 1%-reads-as-100% scale bug affected the OpenCode, Qoder, Chutes, and Sakana providers, all of which scaled values at or below 1 by 100 window-by-window. OpenCode (same backend as OpenCode Go), Qoder, and Chutes now resolve the scale once per response like OpenCode Go. Sakana no longer scales literal percent text at all (a page showing "1%" cannot mean 100% used), and only its JSON percent keys use the evidence-based scale.
- The OpenCode Go card now names its monthly bar "Monthly" instead of the generic "Extra", so the third usage window on that card is no longer anonymous.
- The Microsoft Store submission for 1.5.21 was rejected because Partner Center limits installer parameters to 40 characters and the inherited value was longer. The parameters are now normalized to that limit, startup-prompt suppression and the restart-required exit code are preserved in the Inno installer, and a deterministic Store-package preparation test guards it in CI.

## [Ceiling] 1.5.21 - 2026-08-01

Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/desktop-tauri/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "desktop-tauri",
"private": true,
"version": "1.5.21",
"version": "1.5.22",
"packageManager": "pnpm@10.18.1",
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop-tauri/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "codexbar-desktop-tauri"
version = "1.5.21"
version = "1.5.22"
edition = "2024"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion apps/desktop-tauri/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Ceiling",
"version": "1.5.21",
"version": "1.5.22",
"identifier": "io.github.tsouth89.ceiling",
"build": {
"beforeDevCommand": "pnpm run dev",
Expand Down
2 changes: 1 addition & 1 deletion rust/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "codexbar"
version = "1.5.21"
version = "1.5.22"
edition = "2024"
authors = ["Ceiling Contributors"]
description = "Local-first Windows companion for monitoring AI capacity and reset times"
Expand Down
4 changes: 2 additions & 2 deletions version.env
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
MARKETING_VERSION=1.5.21
BUILD_NUMBER=123
MARKETING_VERSION=1.5.22
BUILD_NUMBER=124
Loading