Files
time-tools/README.md
T
zemion 5e462f881d
Verify / verify (push) Canceled after 0s
Release Time Tools 0.2.0
2026-09-02 05:05:59 +02:00

46 lines
2.6 KiB
Markdown

# Time Tools
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.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 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.
```sh
npm ci
npm run check
npm run test:browser
```
## Release
`npm run release:artifact` creates a deterministic `release/time-tools-0.2.0.zip` and checksum sidecar.
## Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).