Skip to content

Dynamic Widget environments report stale Voltra version #237

Description

@V3RON

Library version

2.2.0

Description

Dynamic Widget environments report env.build.voltraVersion as 1.4.1 even though the artifacts are versioned 2.2.0.

WidgetBuildEnvironment.voltraVersion is documented as the installed Voltra package version and can be used by widgets for compatibility checks and error reporting. Several runtime and prerender paths currently contain a hard-coded stale value:

  • packages/ios-client/ios/target/VoltraClientWidgetRuntime.swift
  • packages/ios-client/expo-plugin/src/ios-widget/clientRenderedPrerender.ts
  • packages/android-client/expo-plugin/src/android/files/clientRenderedPrerender.ts
  • packages/cli/src/platforms/shared/widgetModule.ts

On iOS this affects every runtime render. On Android it affects the prerendered placeholder before the native runtime supplies the correct BuildConfig.VOLTRA_VERSION. CLI-generated placeholder environments are also affected.

Minimal reproduction

export default function VersionWidget(_props, env) {
  console.log(env.build.voltraVersion)
  return <Voltra.Text>{env.build.voltraVersion}</Voltra.Text>
}

Using Voltra 2.2.0, the iOS Dynamic Widget reports 1.4.1.

Expected behavior

For Voltra 2.2.0, env.build.voltraVersion should return 2.2.0. Future releases should automatically report their corresponding package version.

Proposed resolution

Generate a shared version constant from the relevant package.json during the build instead of maintaining release strings manually. Use it in the native iOS runtime, both Expo-plugin prerender paths, and CLI-generated environments.

Acceptance criteria

  • env.build.voltraVersion matches the published package version.
  • No hard-coded historical Voltra version remains in runtime or prerender source.
  • iOS runtime, iOS/Android placeholders, and CLI-generated environments agree.
  • Tests fail if the reported version diverges from package metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions