chore: release v1.2.1
release / verify (push) Successful in 25s
ci / rust (push) Successful in 48s
ci / lint-yaml (push) Successful in 4s
release / linux-amd64 (push) Successful in 30s

This commit is contained in:
2026-07-05 02:53:49 +02:00
parent fface10081
commit 549025dfe7
5 changed files with 22 additions and 4 deletions
+7
View File
@@ -4,6 +4,12 @@ All notable changes to this project are documented here.
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`. The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
## [1.2.1] - 2026-07-05
### Changed
- Updated the TUI running screen to center a larger termdown-style ASCII time-left display above progress and post-countdown commands.
## [1.2.0] - 2026-07-05 ## [1.2.0] - 2026-07-05
### Added ### Added
@@ -42,6 +48,7 @@ The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`
- Added YAML configuration, CLI `init`, `preview`, and `run` commands. - Added YAML configuration, CLI `init`, `preview`, and `run` commands.
- Added Gitea CI and tag-based release workflows. - Added Gitea CI and tag-based release workflows.
[1.2.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.1
[1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0 [1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3 [1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
[1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2 [1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2
Generated
+1 -1
View File
@@ -298,7 +298,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]] [[package]]
name = "gosleep-timer" name = "gosleep-timer"
version = "1.2.0" version = "1.2.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "gosleep-timer" name = "gosleep-timer"
version = "1.2.0" version = "1.2.1"
edition = "2024" edition = "2024"
rust-version = "1.85" rust-version = "1.85"
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI" description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
+1 -1
View File
@@ -1 +1 @@
1.2.0 1.2.1
+12 -1
View File
@@ -1669,6 +1669,7 @@ fn format_gauge_label(progress: f64) -> String {
} }
fn ascii_time(value: &str) -> Vec<String> { fn ascii_time(value: &str) -> Vec<String> {
const GLYPH_WIDTH: usize = 10;
let mut rows = vec![String::new(); 7]; let mut rows = vec![String::new(); 7];
for ch in value.chars() { for ch in value.chars() {
let glyph = ascii_glyph(ch); let glyph = ascii_glyph(ch);
@@ -1676,7 +1677,7 @@ fn ascii_time(value: &str) -> Vec<String> {
if !row.is_empty() { if !row.is_empty() {
row.push(' '); row.push(' ');
} }
row.push_str(part); row.push_str(&format!("{part:<GLYPH_WIDTH$}"));
} }
} }
rows rows
@@ -2044,6 +2045,16 @@ mod tests {
assert!(keys.contains(&FieldKey::CustomCommands)); assert!(keys.contains(&FieldKey::CustomCommands));
} }
#[test]
fn ascii_time_rows_have_equal_width() {
let rows = ascii_time("14:45:27");
let width = rows.first().map(String::len).unwrap_or(0);
assert_eq!(rows.len(), 7);
assert!(width > 0);
assert!(rows.iter().all(|row| row.len() == width));
}
fn visible_field_keys(config: &Config) -> Vec<FieldKey> { fn visible_field_keys(config: &Config) -> Vec<FieldKey> {
visible_fields(config) visible_fields(config)
.into_iter() .into_iter()