Release Time Tools 0.2.0
Verify / verify (push) Canceled after 0s

This commit is contained in:
2026-09-02 05:05:59 +02:00
parent 3c82e7a305
commit 5e462f881d
30 changed files with 1830 additions and 110 deletions
+16 -4
View File
@@ -1,19 +1,31 @@
# Time Tools
Work with dates, time zones and recurrences locally in the browser.
Plan across time zones and work with dates and recurrences locally in the browser.
Time Tools is a standalone local-first application in the [add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are processed in the browser and are not uploaded.
## Version 0.1 scope
## Version 0.2 scope
- Exact signed epoch conversion through nanosecond precision
- IANA-zone comparison, skipped/ambiguous local-time resolution and transition inspection
- Side-by-side wall-clock and elapsed-duration arithmetic
- Bounded 5/6/7-field cron and strict RFC 5545 RRULE occurrence previews
- Bounded cron previews with explicit Unix/Vixie, GitHub Actions, Croner, Quartz and AWS EventBridge dialect rules, plus strict RFC 5545 RRULE previews
- A bounded multi-participant meeting planner that compares entered recurring local work windows across IANA zones
- Weekend/explicit-holiday business-day arithmetic and escaped UTC iCalendar event export
- Bounded `.ics` file/paste import with structural validation, multiple-event inventory, VTIMEZONE inspection and recurrence previews that apply EXDATE/RDATE plus moved or cancelled RECURRENCE-ID overrides
- Inert URL and attachment inspection: references are reported as data and are never fetched, opened, decoded or rendered
iCalendar import is limited to 8 MiB, 100,000 content properties, 20,000
components, 10,000 events, 16 component levels and 1,000 previewed
occurrences. Named TZIDs available to the browser are evaluated with its IANA
data. Custom VTIMEZONE observances are inventoried, but recurrence expansion is
withheld when the browser cannot execute that TZID rather than guessing an
offset.
Named-zone results use the IANA data supplied by the browser runtime and can therefore vary with browser versions. ECMAScript Temporal does not represent leap seconds. The business-day calculator excludes weekends and only the holiday dates supplied by the user; it does not infer regional calendars. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
Cron previews intentionally reject fields or extensions outside the selected dialect and show the normalized expression and scheduler caveats. The meeting planner reads no calendar, holiday, travel or presence data: every candidate comes only from the work windows and weekend choices entered in the page.
## Development
Requires Node.js 22 and npm 11.
@@ -26,7 +38,7 @@ npm run test:browser
## Release
`npm run release:artifact` creates a deterministic `release/time-tools-0.1.0.zip` and checksum sidecar.
`npm run release:artifact` creates a deterministic `release/time-tools-0.2.0.zip` and checksum sidecar.
## Licence