Skip to content

Conversation

@Dinnerbone
Copy link
Contributor

@Dinnerbone Dinnerbone commented Nov 7, 2025

This overrides $version/Capabilities.version to a custom string, if set.

Available through:

  • Desktop CLI as --custom-player-version <CUSTOM_PLAYER_VERSION>
  • Desktop UI
  • Bundles as custom_version_string
  • Web load options as customPlayerVersionString

This also changes AVM1 $version/System.capabilities.version to use the same logic as AVM2, where it will report WIN instead of LNX by default.

This should fix #22148

@Dinnerbone Dinnerbone added A-core Area: Core player, where no other category fits T-feature Type: New Feature (that Flash doesn't have) labels Nov 7, 2025
@Dinnerbone Dinnerbone force-pushed the custom_version branch 3 times, most recently from 18966e8 to 725e719 Compare November 7, 2025 18:11
@moulins
Copy link
Contributor

moulins commented Nov 7, 2025

It seems somewhat unfortunate to have slightly different names between CLI/web/etc: couldn't CLI use --custom-player-version-string and bundles custom_player_version_string instead? This will probably be a rarely-used option so I wouldn't mind sacrificing conciseness here.

@Dinnerbone
Copy link
Contributor Author

I omitted "player" from the bundle because it's under player. "player's custom player version string" just feels too redundant.

Cli I have no string feelings on, it just felt too long.

Comment on lines +18 to +19
* [
`[parameters]` - A list of parameters to pass to the starting movie](#parameters---a-list-of-parameters-to-pass-to-the-starting-movie)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be divided into two lines? Similarly lines below

@kjarosh
Copy link
Member

kjarosh commented Nov 10, 2025

I'm still wondering if we should allow producing behaviors different than FP's. I personally liked @Lord-McSweeney's idea of (optionally) passing a 4-part version. We could also use this information to infer the u8 player version so that the user doesn't have to sync those two. Plus we make sure that the content doesn't break unexpectedly and we don't produce unexpected behaviors that are not present in FP.

@Lord-McSweeney
Copy link
Collaborator

If we had a four-part player version, we could also observe API versioning that changed between, e.g. FP 10.0.0.32 and FP 10.1 without having to reparse the entire string.

Could we always store the player version as four u8s and make --player-version set it to X.0.0.0 and --custom-player-version (--player-version-full maybe?) set it to W.X.Y.Z?

@kjarosh
Copy link
Member

kjarosh commented Nov 11, 2025

We could also accept a,b,c,d as a variant of --player-version

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

Labels

A-core Area: Core player, where no other category fits T-feature Type: New Feature (that Flash doesn't have)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ruffle does not pass version checks

5 participants