OXYGENHUB

Pictures in issues and comments fit their box; release 0.9.22 (closes #364) e4f1f52f2929

Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key d9e288f270be
When
· 2026-11-02 23:33 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
e4f1f52f292989309fd940d1f96fd99810feddef521b9881f5e668da5ac9ddd5
Depends on
5c6e92fd8d71 8297a33b9a4c b5668108487f d23464c0ac60
Depended on by
64e5964e9f13 306aec1839aa
In bookmarks
main
In tags
v0.9.22 v0.9.23 v0.9.24
Edits
9 atoms, 0 tree operations, 4 files

Browse the tree at this change

modified CHANGELOG.md +4 −0
…
1 unchanged lines
2 2
3 3
OxygenHub runs at https://oxygenhub.io; each deploy's build is on the About page and at `/api/v1/version`.
4 4
5 +
## 0.9.22 (2026-11-02)
6 +
7 +
- **Pictures in issues and comments fit their box (#364):** an attached screenshot was shown at its own size, running out of the card on a phone and dwarfing the text on a desktop; pictures in all rendered Markdown now scale down to the width they have.
8 +
5 9
## 0.9.21 (2026-11-01)
6 10
7 11
- **Added: your phone as the second factor, and the sudo step (#356).** With two-factor sign-in on, the OxygenHub app can add the phone as a second factor (its Keystore key, opened by your fingerprint, face or PIN; adding it needs a current app code). Signing in then shows a two-digit number and waits: the phone offers three, you pick the one shown and confirm, and the browser carries on, with "Use a code instead" always there. A wrong number is a no. Before sensitive changes (password, two-factor settings, keys, tokens, secrets, webhooks, collaborators, deleting or transferring a repository, anything under Administration) a session that has not proved a second factor in 15 minutes is asked again at `/sudo`: the phone, a code, or the password for an account without two-factor. Settings › Security lists the phones; turning app codes off removes them. API: `/api/v1/user/authenticators`, `/api/v1/user/approvals`; migration 0104.
…
443 unchanged lines
modified Cargo.lock +3 −3
…
1459 unchanged lines
1460 1460
1461 1461
[[package]]
1462 1462
name = "hub-api"
1463 -
version = "0.9.21"
1463 +
version = "0.9.22"
1464 1464
dependencies = [
1465 1465
 "schemars",
1466 1466
 "serde",
…
797 unchanged lines
2264 2264
2265 2265
[[package]]
2266 2266
name = "oh"
2267 -
version = "0.9.21"
2267 +
version = "0.9.22"
2268 2268
dependencies = [
2269 2269
 "anyhow",
2270 2270
 "axum",
…
86 unchanged lines
2357 2357
2358 2358
[[package]]
2359 2359
name = "oxygenhub"
2360 -
version = "0.9.21"
2360 +
version = "0.9.22"
2361 2361
dependencies = [
2362 2362
 "ammonia",
2363 2363
 "anyhow",
…
2513 unchanged lines
modified Cargo.toml +1 −1
…
6 unchanged lines
7 7
resolver = "2"
8 8
9 9
[workspace.package]
10 -
version = "0.9.21"
10 +
version = "0.9.22"
11 11
edition = "2021"
12 12
license = "MIT OR Apache-2.0"
13 13
authors = ["Andy McCall <[email protected]>"]
…
60 unchanged lines
modified templates/style.css +2 −1
…
219 unchanged lines
220 220
article.doc code { background: var(--soft); padding: 0 3px; }
221 221
article.doc pre code { background: none; padding: 0; }
222 222
article.doc table { width: auto; }
223 -
article.doc img { max-width: 100%; }
223 +
/* Pictures in rendered Markdown (attachments, #350) fit their box at any width (#364). */
224 +
.doc img, .body img, .tl-text img { max-width: 100%; height: auto; }
224 225
article.doc blockquote { border-left: 3px solid var(--band); margin: 0; padding: 2px 12px; color: var(--mute); }
225 226
226 227
/* files and diffs */
…
1292 unchanged lines