remotion 4.0.522 → 4.0.523

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ import type { VideoConfig } from './video-config.js';
6
6
  export type BaseMetadata = Pick<VideoConfig, 'durationInFrames' | 'fps' | 'props' | 'height' | 'width' | 'defaultCodec' | 'defaultOutName' | 'defaultVideoImageFormat' | 'defaultPixelFormat' | 'defaultProResProfile' | 'defaultSampleRate'>;
7
7
  export type AssetPreviewMetadata = BaseMetadata & {
8
8
  asset: string;
9
+ src: string;
9
10
  };
10
11
  export declare const getAssetPreviewCompositionId: (asset: string) => string;
11
12
  export type CanvasContent = {
@@ -3,4 +3,4 @@
3
3
  * @see [Documentation](https://remotion.dev/docs/version)
4
4
  * @returns {string} The current version of the remotion package
5
5
  */
6
- export declare const VERSION = "4.0.522";
6
+ export declare const VERSION = "4.0.523";
@@ -7,4 +7,4 @@ exports.VERSION = void 0;
7
7
  * @see [Documentation](https://remotion.dev/docs/version)
8
8
  * @returns {string} The current version of the remotion package
9
9
  */
10
- exports.VERSION = '4.0.522';
10
+ exports.VERSION = '4.0.523';
@@ -21,8 +21,16 @@ const isIosSafari = () => {
21
21
  if (typeof window === 'undefined') {
22
22
  return false;
23
23
  }
24
- const isIpadIPodIPhone = /iP(ad|od|hone)/i.test(window.navigator.userAgent);
25
- return isIpadIPodIPhone && (0, exports.isSafari)();
24
+ const { userAgent, platform, maxTouchPoints } = window.navigator;
25
+ const isIpadIPodIPhone = /iP(ad|od|hone)/i.test(userAgent);
26
+ // Since iPadOS 13, Safari on iPad defaults to "Request Desktop Website"
27
+ // and sends a macOS user agent ("Macintosh; Intel Mac OS X 10_15_7"),
28
+ // so the string above never matches. A Mac platform with a touch
29
+ // screen is the only remaining signal — real Macs report 0 touch
30
+ // points. Without this, iPads get the blob + media fragment
31
+ // combination that Mobile Safari refuses to play (#1655).
32
+ const isIpadOsDesktopMode = platform === 'MacIntel' && maxTouchPoints > 1;
33
+ return (isIpadIPodIPhone || isIpadOsDesktopMode) && (0, exports.isSafari)();
26
34
  };
27
35
  exports.isIosSafari = isIosSafari;
28
36
  // https://github.com/remotion-dev/remotion/issues/1655
@@ -21,7 +21,8 @@ export type WithInteractivitySchemaOptions<S extends InteractivitySchema, Props
21
21
  readonly controls: SequenceControls | undefined;
22
22
  }>;
23
23
  componentName: string;
24
- componentIdentity: JsxComponentIdentity | null;
24
+ /** @internal */
25
+ componentIdentity?: JsxComponentIdentity | null;
25
26
  schema: S;
26
27
  supportsEffects: boolean;
27
28
  };
@@ -127,7 +127,7 @@ const DisableInteractivityProvider = ({ children }) => {
127
127
  return react_1.default.createElement(DisableInteractivityContext.Provider, { value: true }, children);
128
128
  };
129
129
  exports.DisableInteractivityProvider = DisableInteractivityProvider;
130
- const withInteractivitySchema = ({ Component, componentName, componentIdentity, schema, supportsEffects, }) => {
130
+ const withInteractivitySchema = ({ Component, componentName, componentIdentity = null, schema, supportsEffects, }) => {
131
131
  // Schema is static for a component, so we move this outside
132
132
  const schemaWithSequenceName = (0, interactivity_schema_js_1.extendSchemaWithSequenceName)(schema);
133
133
  const flatSchema = (0, flatten_schema_js_1.getFlatSchemaWithAllKeys)(schemaWithSequenceName);
@@ -1537,7 +1537,7 @@ var Composition = (props) => {
1537
1537
  };
1538
1538
 
1539
1539
  // src/version.ts
1540
- var VERSION = "4.0.522";
1540
+ var VERSION = "4.0.523";
1541
1541
 
1542
1542
  // src/multiple-versions-warning.ts
1543
1543
  var checkMultipleRemotionVersions = () => {
@@ -5215,7 +5215,7 @@ var DisableInteractivityProvider = ({ children }) => {
5215
5215
  var withInteractivitySchema = ({
5216
5216
  Component,
5217
5217
  componentName,
5218
- componentIdentity,
5218
+ componentIdentity = null,
5219
5219
  schema,
5220
5220
  supportsEffects
5221
5221
  }) => {
@@ -8299,8 +8299,10 @@ var isIosSafari = () => {
8299
8299
  if (typeof window === "undefined") {
8300
8300
  return false;
8301
8301
  }
8302
- const isIpadIPodIPhone = /iP(ad|od|hone)/i.test(window.navigator.userAgent);
8303
- return isIpadIPodIPhone && isSafari();
8302
+ const { userAgent, platform, maxTouchPoints } = window.navigator;
8303
+ const isIpadIPodIPhone = /iP(ad|od|hone)/i.test(userAgent);
8304
+ const isIpadOsDesktopMode = platform === "MacIntel" && maxTouchPoints > 1;
8305
+ return (isIpadIPodIPhone || isIpadOsDesktopMode) && isSafari();
8304
8306
  };
8305
8307
  var isIOSSafariAndBlob = (actualSrc) => {
8306
8308
  return isIosSafari() && actualSrc.startsWith("blob:");
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.522";
2
+ var VERSION = "4.0.523";
3
3
  export {
4
4
  VERSION
5
5
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core"
4
4
  },
5
5
  "name": "remotion",
6
- "version": "4.0.522",
6
+ "version": "4.0.523",
7
7
  "description": "Make videos programmatically",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "react-dom": "19.2.3",
36
36
  "webpack": "5.105.0",
37
37
  "zod": "4.5.4",
38
- "@remotion/eslint-config-internal": "4.0.522",
38
+ "@remotion/eslint-config-internal": "4.0.523",
39
39
  "eslint": "9.19.0",
40
40
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
41
41
  },