Skip to content

Redesign compatibility gate — min uteke version map + runtime feature detection (epic) #289

Description

@ajianaz

Part of the Corin v0.4 redesign effort. Single source of truth for which Corin feature requires which uteke version, plus the runtime mechanism so users never hit a silent mismatch.

Compatibility map

Corin 0.4 feature Min uteke Issue Status
Core UI redesign, reading surface, editor, command palette, rails/nav, settings consolidation 0.16.0 #291 #292 #293 #294 #290 #295 #296 planned
Graph add/remove connection fix release of uteke#1180 #298 blocked — read-only graph OK on 0.16.0
Namespace move/rename/merge/delete UX API from uteke#1181 (target 0.17.0) #297 proposed upstream

What

  • src/lib/ts/compat.ts: on startup read GET /health → version + api_latest; expose has(feature) driven by endpoint capability probes (not string compare) for gated features, falling back to semver compare when a probe is not distinctive.
  • UpgradePrompt.svelte: inline banner + disabled-action tooltip pattern: "Butuh uteke >= X (terpasang: Y)".
  • Release checklist step (docs/dev/release.md): bump the map above.

Why

Corin and uteke release independently; endpoint drift (e.g. room/delete response change post-0.16.0) must fail soft with guidance, not with console errors.

Testing

  • Unit: probe mocks for each gate (old/new version matrices).
  • E2E: against sandbox uteke-serve 0.16.0, all gated actions show UpgradePrompt and nothing throws.
  • bun run test + bun run build green.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions