Premium

ICS change detection & reconciliation

Detect changes between ICS snapshots and reconcile competing local and remote edits against a common base. The toolkit produces an inspectable result so applications can choose their conflict policy deliberately.

Loading interactive demo…

What you configure

diffICalendar
Compare previous and current ICS content using the intended time zone.
reconcile
Supply base, local, and remote event collections with stable IDs.
conflict policy
Choose local, remote, or manual reconciliation behavior.

Essential integration

This assumes the shared Quick start already provides premiumLicense and, for UI views, premiumCalendarOptions. Only the feature-specific setup is shown.

Feature-specific TypeScript
import { PremiumCalendarInteroperability } from '@wts-calendar/core/premium-interoperability';
import type { CalendarEventInput } from '@wts-calendar/core';
const interoperability = new PremiumCalendarInteroperability({ license: premiumLicense });

// File contents and event snapshots come from your application, not a WTS service.
export function compareFeeds(previousIcs: string, currentIcs: string) {
  return interoperability.diffICalendar(previousIcs, currentIcs, 'UTC');
}
export function reconcileEvents(
  base: CalendarEventInput[],
  local: CalendarEventInput[],
  remote: CalendarEventInput[],
) {
  const result = interoperability.reconcile(base, local, remote, 'manual');
  // Keep local state until your conflict UI resolves every unresolved conflict.
  return { proposedEvents: result.events, conflicts: result.conflicts };
}

Behavior and lifecycle

  • Three-way conflicts retain the base, local, and remote values.
  • Manual mode preserves the local copy in the proposal while reporting the unresolved conflict.

Limits and responsibilities

  • Basic ICS import/export remains separate from this Premium change-management workflow.
  • When a provider returns a delta, preserve remoteBase so absent unchanged events are not mistaken for deletions.
Premium

Enable this capability

Optional module
@wts-calendar/core/premium-interoperability
Local capability ID
premium-interoperability · enabled by package-wide Premium

Use the request form to describe your project and deployment origins. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.

The live example uses a browser-visible deployment key restricted to this package and approved origins. It does not collect license keys or visitor credentials.

Request Premium pricing

Share the details we need to respond to your request.

Optional for this inquiry, but required before deployment. Add one origin per line without a page path. Registered HTTP localhost origins are allowed for development.

Don’t include license keys, passwords, or confidential information.