zemion 5e462f881d
Verify / verify (push) Canceled after 0s
Release Time Tools 0.2.0
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-02 05:05:59 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00
2026-09-01 02:54:04 +02:00

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. 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 and 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.

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.

S
Description
Local-first date, time-zone, duration, cron and recurrence utilities for add·ideas Toolbox.
Readme GPL-3.0
127 KiB
2026-09-02 05:05:59 +02:00
Languages
TypeScript 83.2%
JavaScript 11.8%
CSS 4.5%
HTML 0.5%