Commit graph

163 commits

Author SHA1 Message Date
ab2fc823e8
feat: streamd daily is now default instead of streamd new 2026-04-13 20:09:09 +02:00
6c8f1f5253 feat: add Windows cross-compilation and release artifacts
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 2m43s
Continuous Integration / Build Package (push) Successful in 3m16s
Release / Build and Release (push) Successful in 6s
- Add mkWindowsCraneLib using x86_64-pc-windows-gnu target
- Add mkStreamdWindows using mingw-w64 toolchain for cross-compilation
- Export streamd-windows package from flake
- Add Windows build step and .exe artifact to release workflow
2026-04-13 19:53:48 +02:00
46766a9ec7 fix: cross-platform compatibility for Windows support
- Use directories::BaseDirs for config path fallback instead of hardcoded Unix path
- Default to notepad on Windows instead of vi for editor commands
- Skip +N line argument for notepad in todo edit (notepad doesn't support it)
2026-04-13 19:53:48 +02:00
349a639e90 chore(deps): lock file maintenance
Some checks failed
Release / Build and Release (push) Successful in 9s
Continuous Integration / Lint, Check & Test (push) Has been cancelled
Continuous Integration / Build Package (push) Has been cancelled
2026-04-13 19:53:29 +02:00
693ffbc764
chore: release 0.2.3
Some checks failed
Continuous Integration / Build Package (push) Has been cancelled
Release / Build and Release (push) Has been cancelled
Continuous Integration / Lint, Check & Test (push) Has been cancelled
2026-04-13 19:52:59 +02:00
ee96033639
refactor: remove duplicate code
All checks were successful
Release / Build and Release (push) Successful in 5s
Continuous Integration / Lint, Check & Test (push) Successful in 1m43s
Continuous Integration / Build Package (push) Successful in 1m54s
2026-04-13 19:49:50 +02:00
b8a73bfb3e
docs: document file_type prefix convention and streamd daily command
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Build Package (push) Successful in 44s
Continuous Integration / Lint, Check & Test (push) Successful in 1m9s
2026-04-13 19:33:19 +02:00
bf700a15af
feat: add streamd daily command
`streamd daily [YYYYMMDD]` opens the earliest existing daily file
(file_type=daily) whose timestamp falls within the target date.
If no such file exists it creates `<timestamp>_daily.md` and opens it.
Date defaults to today in the repository timezone.
2026-04-13 19:31:32 +02:00
b653590c36
feat(localize): extract file_type from filename prefix
Add `extract_file_type_from_file_name` to parse prefixes like `_daily`
from filenames (e.g. `20260412-123456_daily.md` → `"daily"`).

Insert the result into `initial_location` in `localize_stream_file` so
all localized shards carry a `file_type` dimension value.

Also register the `file_type` dimension in `TaskConfiguration` so the
propagation contract is documented.
2026-04-13 19:30:59 +02:00
e15e6f1053
fix: broken tasks extraction
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Lint, Check & Test (push) Successful in 1m33s
Continuous Integration / Build Package (push) Successful in 1m43s
2026-04-13 19:26:31 +02:00
10f4ae282a chore(deps): update rust crate clap_complete to v4.6.1
All checks were successful
Continuous Integration / Build Package (push) Successful in 50s
Release / Build and Release (push) Successful in 5s
Continuous Integration / Lint, Check & Test (push) Successful in 1m12s
2026-04-11 00:05:42 +00:00
c2b4fb5160 chore(deps): update rust crate indexmap to v2.14.0
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Build Package (push) Successful in 24s
Continuous Integration / Lint, Check & Test (push) Successful in 44s
2026-04-10 00:06:13 +00:00
e562af0dc3
fix: clippy warnings
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Lint, Check & Test (push) Successful in 1m26s
Continuous Integration / Build Package (push) Successful in 1m36s
2026-04-07 13:43:40 +02:00
5dca68037d
chore: fix timezone handling
Some checks failed
Continuous Integration / Lint, Check & Test (push) Failing after 57s
Release / Build and Release (push) Successful in 5s
Continuous Integration / Build Package (push) Successful in 1m43s
2026-04-07 13:26:34 +02:00
e8dc2013bc
chore: make datetime pure 2026-04-07 13:13:55 +02:00
2ab2b6a52b
ci: bump to 0.2.2
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 2m7s
Continuous Integration / Build Package (push) Successful in 2m45s
Release / Build and Release (push) Successful in 2m56s
2026-04-07 09:57:30 +02:00
22ada87de6
feat(timesheet): make hour-output default, decimal with two decimals 2026-04-07 09:56:46 +02:00
7f4d3bb147
ci: remove cargo-audito from pre-commit-hooks 2026-04-07 09:42:38 +02:00
60fac418f8
fix: forgot to bump lock-file
Some checks failed
Continuous Integration / Build Package (push) Successful in 2m31s
Release / Build and Release (push) Successful in 2m44s
Continuous Integration / Lint, Check & Test (push) Failing after 48s
2026-04-07 08:47:32 +02:00
b322c0307d
chore: bump version to 0.2.1
Some checks failed
Continuous Integration / Build Package (push) Failing after 28s
Release / Build and Release (push) Failing after 29s
Continuous Integration / Lint, Check & Test (push) Failing after 49s
2026-04-07 08:42:42 +02:00
0533c7777a
feat: add timesheet debug 2026-04-07 08:42:14 +02:00
d614d678af
chore: switch from h-float to min-int in timesheet
Some checks failed
Release / Build and Release (push) Successful in 6s
Continuous Integration / Lint, Check & Test (push) Failing after 56s
Continuous Integration / Build Package (push) Successful in 1m42s
2026-04-07 08:28:50 +02:00
a79111c650
ci: add cargo audit 2026-04-07 08:16:18 +02:00
a9acd34801
ci: fix release-pipeline running on feature-branches
All checks were successful
Continuous Integration / Build Package (push) Successful in 26s
Continuous Integration / Lint, Check & Test (push) Successful in 56s
Release / Build and Release (push) Successful in 2m37s
2026-04-07 08:09:47 +02:00
9563ff4d93
feat: bump to 0.2.0
All checks were successful
Release / Build and Release (push) Successful in 5s
Continuous Integration / Lint, Check & Test (push) Successful in 2m9s
Continuous Integration / Build Package (push) Successful in 2m43s
2026-04-07 08:06:55 +02:00
42d9ecd3d9
feat: add --minutes flag to timesheet command
All checks were successful
Release / Build and Release (push) Successful in 5s
Continuous Integration / Lint, Check & Test (push) Successful in 1m43s
Continuous Integration / Build Package (push) Successful in 1m56s
Adds a -m/--minutes flag to `streamd timesheet` that displays time
in HH:MM format (e.g., 8:30) instead of decimal hours (e.g., 8.5h).
Includes unit tests for both formatting functions.
2026-04-07 07:57:28 +02:00
e4ed1d839e chore(deps): lock file maintenance
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Lint, Check & Test (push) Successful in 4m20s
Continuous Integration / Build Package (push) Successful in 4m50s
2026-04-06 00:06:43 +00:00
19a9e6a72e
ci: change release pipeline to run on every push
All checks were successful
Release / Build and Release (push) Successful in 6s
Continuous Integration / Lint, Check & Test (push) Successful in 1m31s
Continuous Integration / Build Package (push) Successful in 1m44s
2026-04-03 16:01:15 +02:00
7564ce01d5
chore: update cargo lock to 0.1.1
All checks were successful
Continuous Integration / Build Package (push) Successful in 25s
Continuous Integration / Lint, Check & Test (push) Successful in 49s
2026-04-03 15:47:49 +02:00
4f3c7cc0e4
chore: bump tag to 0.1.1
Some checks failed
Continuous Integration / Build Package (push) Failing after 29s
Continuous Integration / Lint, Check & Test (push) Failing after 52s
2026-04-03 15:42:42 +02:00
1d934b1a0d
chore: add verbose flag to release action
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m34s
Continuous Integration / Build Package (push) Successful in 1m47s
2026-04-03 15:39:32 +02:00
9b74f13155
fix: use own release instance
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m45s
Continuous Integration / Build Package (push) Successful in 1m58s
2026-04-03 14:57:57 +02:00
16218a8da7
fix: sed not installed, release pipeline fails
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m41s
Continuous Integration / Build Package (push) Successful in 1m54s
2026-04-03 14:06:44 +02:00
725ebcfbfd docs: add installation instructions for .deb, binary, and Nix
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m50s
Continuous Integration / Build Package (push) Successful in 1m49s
Document the three installation methods:
- Debian/Ubuntu .deb package with shell completions
- Statically-linked binary for any Linux system
- Nix flake and Home Manager module
2026-04-03 13:57:01 +02:00
0d929b20b7 feat(ci): add release workflow for .deb and static binary
Add Forgejo Actions workflow that builds and publishes releases:
- Triggers on tag push (v*) or manual workflow dispatch
- Builds static binary using musl target
- Creates .deb package with shell completions
- Uploads artifacts to Forgejo Releases

Requires RELEASE_TOKEN secret to be configured in repository settings.
2026-04-03 13:57:01 +02:00
10728a554f feat(flake): expose streamd-musl and streamd-deb packages
Update packages output to include streamd-musl (static binary) and
streamd-deb (.deb package) alongside the default streamd package.
2026-04-03 13:57:01 +02:00
45f8b3503b feat(flake): add .deb packaging with shell completions
Add mkStreamdDeb function that uses nfpm to create a .deb package
containing the statically-linked binary and shell completions for
bash, zsh, and fish.
2026-04-03 13:57:01 +02:00
e242e0cc2c feat(flake): add musl static build for streamd
Add mkMuslCraneLib and mkStreamdMusl functions to create a
statically-linked binary using the x86_64-unknown-linux-musl target.
This enables portable binaries that don't depend on system glibc.
2026-04-03 13:57:01 +02:00
9d1b47d19e refactor(flake): read version from Cargo.toml
Extract version from Cargo.toml using builtins.fromTOML as single
source of truth instead of hardcoding "0.1.0" in derivations.
2026-04-03 13:57:01 +02:00
02c2310d53 chore(deps): lock file maintenance
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 4m44s
Continuous Integration / Build Package (push) Successful in 5m34s
2026-04-03 10:02:05 +02:00
6453ef7c2a fix(deps): update rust crate chrono-tz to 0.10
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m51s
Continuous Integration / Build Package (push) Successful in 2m23s
2026-04-03 02:12:18 +02:00
661a0ce230 chore(deps): update rust crate toml to v1.1.2
Some checks failed
Continuous Integration / Build Package (push) Has been cancelled
Continuous Integration / Lint, Check & Test (push) Has been cancelled
2026-04-03 02:09:50 +02:00
2398bee8d9 chore(deps): update rust crate indexmap to v2.13.1
Some checks failed
Continuous Integration / Lint, Check & Test (push) Has been cancelled
Continuous Integration / Build Package (push) Has been cancelled
2026-04-03 00:06:27 +00:00
aa8f83e321
fix: replace vec! with array to satisfy clippy useless_vec lint
All checks were successful
Continuous Integration / Build Package (push) Successful in 26s
Continuous Integration / Lint, Check & Test (push) Successful in 42s
2026-04-02 18:36:10 +02:00
926a239d7e
docs: add todo edit/done and --show-future documentation
Some checks failed
Continuous Integration / Lint, Check & Test (push) Failing after 51s
Continuous Integration / Build Package (push) Successful in 1m46s
Document the new todo command features:
- Numbered task display
- `streamd todo N edit` for editing tasks
- `streamd todo N done` for marking tasks done
- `--show-future` flag for including future tasks
- Add R21 specification for todo command behavior
2026-04-02 18:29:02 +02:00
e05e9cfd90
test(todo): add comprehensive unit tests for todo features
Add tests for:
- @Done insertion at various line positions
- Future task filtering with show_future flag
- Task sorting by moment ascending
- Error message formatting for all new error variants
- Trailing newline preservation
2026-04-02 18:28:13 +02:00
124a5b7e2a
feat(todo): add numbered tasks, edit, done, and future filtering
Implement smoother todo editing with the following features:
- Display numbered tasks [1], [2], etc. in `streamd todo`
- Add `streamd todo N edit` to open editor at task line
- Add `streamd todo N done` to insert @Done after @Task
- Add `--show-future` flag to include future tasks (hidden by default)
2026-04-02 18:27:19 +02:00
a8c41ec833
refactor: use chrono for month names
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m20s
Continuous Integration / Build Package (push) Successful in 1m40s
2026-04-02 18:18:48 +02:00
d11a35c157
refactor(timesheet): use repeat() for separator lines and sort points before grouping
All checks were successful
Continuous Integration / Build Package (push) Successful in 25s
Continuous Integration / Lint, Check & Test (push) Successful in 41s
2026-04-02 17:07:36 +02:00
b51fb511ac
fix(timesheet): display zero hours as positive instead of negative zero 2026-04-02 17:07:06 +02:00