@devvit/ui-renderer 0.10.23-next-2024-06-14-64b9d0537.0 → 0.10.23-next-2024-06-14-95f8697e9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -67,8 +67,10 @@ export declare class DevvitSurface extends LitElement {
67
67
  runtimeDebugLogging: boolean;
68
68
  /** Color scheme that the surface renders the blocks into */
69
69
  scheme?: ColorScheme;
70
- /** Enabled the use of experimental blocks that are not production ready */
70
+ /** Enable the use of experimental blocks that are not production ready */
71
71
  useExperimentalBlocks: boolean;
72
+ /** Enable the use of speculative execution from within KMP */
73
+ useSpeculativeExecution: boolean;
72
74
  allowWebView: boolean;
73
75
  disableAssetSandbox: boolean;
74
76
  renderResponse?: UIResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"devvit-surface.d.ts","sourceRoot":"","sources":["../../library/src/client/devvit-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devvit-surface.d.ts","sourceRoot":"","sources":["../../library/src/client/devvit-surface.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
10
15
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
11
16
  if (kind === "m") throw new TypeError("Private method is not writable");
12
17
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
13
18
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
14
19
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
15
20
  };
16
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
17
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
18
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
19
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20
- };
21
21
  var _DevvitSurface_rootHeight, _DevvitSurface_resizeObserver, _DevvitSurface_intersectionObserver, _DevvitSurface_dispatcher, _DevvitSurface_newRenderContext, _DevvitSurface_onRender;
22
22
  import '@reddit/faceplate-ui/templateRenderingStrategy/clientStrategy.js';
23
23
  import { BlockConfig_Root, BlockStackDirection, UIDimensions } from '@devvit/protos';
@@ -49,8 +49,10 @@ let DevvitSurface = class DevvitSurface extends LitElement {
49
49
  super();
50
50
  /** Enables debug logging for the local runtime */
51
51
  this.runtimeDebugLogging = false;
52
- /** Enabled the use of experimental blocks that are not production ready */
52
+ /** Enable the use of experimental blocks that are not production ready */
53
53
  this.useExperimentalBlocks = false;
54
+ /** Enable the use of speculative execution from within KMP */
55
+ this.useSpeculativeExecution = false;
54
56
  this.allowWebView = false;
55
57
  this.disableAssetSandbox = false;
56
58
  _DevvitSurface_rootHeight.set(this, void 0);
@@ -64,7 +66,7 @@ let DevvitSurface = class DevvitSurface extends LitElement {
64
66
  _DevvitSurface_newRenderContext.set(this, () => ({
65
67
  experimental: this.useExperimentalBlocks,
66
68
  webViewEnabled: this.allowWebView,
67
- onAction: (action) => __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f").submit([
69
+ onAction: (action) => __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f")?.submit([
68
70
  {
69
71
  userAction: {
70
72
  actionId: action.id,
@@ -98,16 +100,19 @@ let DevvitSurface = class DevvitSurface extends LitElement {
98
100
  });
99
101
  if (devvit?.debug.surface)
100
102
  console.debug(`[surface] Using devvit-surface and KMP!`);
103
+ }
104
+ async connectedCallback() {
105
+ super.connectedCallback();
106
+ // This can't go in the constructor since we require feature flags. Sad!
101
107
  __classPrivateFieldSet(this, _DevvitSurface_dispatcher, new WebDispatcher({}, {
102
108
  colorScheme: this.scheme,
103
109
  dimensions: this.dimensions,
104
110
  // TODO: Unsure where to get this information currently
105
111
  locale: undefined,
106
112
  timezone: undefined,
113
+ }, {
114
+ useSpeculativeExecution: this.useSpeculativeExecution,
107
115
  }), "f");
108
- }
109
- async connectedCallback() {
110
- super.connectedCallback();
111
116
  __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f").subscribe((params) => {
112
117
  __classPrivateFieldGet(this, _DevvitSurface_onRender, "f").call(this, {
113
118
  request: params.request,
@@ -125,7 +130,7 @@ let DevvitSurface = class DevvitSurface extends LitElement {
125
130
  __classPrivateFieldGet(this, _DevvitSurface_resizeObserver, "f").observe(this, { box: 'content-box' });
126
131
  __classPrivateFieldSet(this, _DevvitSurface_intersectionObserver, new IntersectionObserver((entries) => {
127
132
  entries.forEach((entry) => {
128
- __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f").togglePause(!entry.isIntersecting);
133
+ __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f")?.togglePause(!entry.isIntersecting);
129
134
  });
130
135
  }), "f");
131
136
  __classPrivateFieldGet(this, _DevvitSurface_intersectionObserver, "f").observe(this);
@@ -154,6 +159,8 @@ let DevvitSurface = class DevvitSurface extends LitElement {
154
159
  </div>`;
155
160
  }
156
161
  async willUpdate(props) {
162
+ if (!__classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f"))
163
+ return;
157
164
  // Keep the env up to date as things change
158
165
  __classPrivateFieldGet(this, _DevvitSurface_dispatcher, "f").setEnv({
159
166
  colorScheme: this.scheme,
@@ -250,6 +257,10 @@ __decorate([
250
257
  property({ attribute: 'use-experimental-blocks', type: Boolean }),
251
258
  __metadata("design:type", Boolean)
252
259
  ], DevvitSurface.prototype, "useExperimentalBlocks", void 0);
260
+ __decorate([
261
+ property({ attribute: 'use-speculative-execution', type: Boolean }),
262
+ __metadata("design:type", Boolean)
263
+ ], DevvitSurface.prototype, "useSpeculativeExecution", void 0);
253
264
  __decorate([
254
265
  property({ attribute: 'allow-webview', type: Boolean }),
255
266
  __metadata("design:type", Boolean)
@@ -16,7 +16,9 @@ export declare class WebDispatcher {
16
16
  */
17
17
  hasRendered: boolean;
18
18
  get state(): KMPDispatcher['state'];
19
- constructor(initialState: Record<string, any>, env: UIEnvironment);
19
+ constructor(initialState: Record<string, unknown>, env: UIEnvironment, config: {
20
+ useSpeculativeExecution: boolean;
21
+ });
20
22
  set metadata(metadata: Readonly<Metadata> | undefined);
21
23
  set runtimeDebugLogging(runtimeDebugLogging: boolean);
22
24
  subscribe(cb: (p: SubscribeCallbackParams<UIRequest, ReplayUIResponse>) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webDispatcher.d.ts","sourceRoot":"","sources":["../../library/src/client/webDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAGV,uBAAuB,EAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuC,MAAM,eAAe,CAAC;AAkBjG,KAAK,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAwC/C,qBAAa,aAAa;;IAOxB;;;;;;OAMG;IACH,WAAW,UAAS;IAMpB,IAAI,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAElC;gBAGW,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa;IA6BjE,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,EAOpD;IAED,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,EAEnD;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,IAAI,GAAG,IAAI;IAiCtF,MAAM,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI;IAIlF,WAAW,IAAI,IAAI;IAInB,IAAI,IAAI,IAAI;IAIZ,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAUjC,aAAa,IAAI,IAAI;IAKrB,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAItD,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,eAAe,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI;CAGxE"}
1
+ {"version":3,"file":"webDispatcher.d.ts","sourceRoot":"","sources":["../../library/src/client/webDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAGV,uBAAuB,EAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuC,MAAM,eAAe,CAAC;AAkBjG,KAAK,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAwC/C,qBAAa,aAAa;;IAOxB;;;;;;OAMG;IACH,WAAW,UAAS;IAMpB,IAAI,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAElC;gBAGC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAkC9C,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,EAOpD;IAED,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,EAEnD;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,IAAI,GAAG,IAAI;IAiCtF,MAAM,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI;IAIlF,WAAW,IAAI,IAAI;IAInB,IAAI,IAAI,IAAI;IAIZ,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAUjC,aAAa,IAAI,IAAI;IAKrB,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAIhC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAItD,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,eAAe,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI;CAGxE"}
@@ -62,8 +62,7 @@ export class WebDispatcher {
62
62
  get state() {
63
63
  return __classPrivateFieldGet(this, _WebDispatcher_dispatcher, "f").state;
64
64
  }
65
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
- constructor(initialState, env) {
65
+ constructor(initialState, env, config) {
67
66
  _WebDispatcher_requestBuilder.set(this, void 0);
68
67
  _WebDispatcher_timers.set(this, void 0);
69
68
  /** The KMP dispatcher that orchestrates events for blocks */
@@ -82,10 +81,13 @@ export class WebDispatcher {
82
81
  _WebDispatcher_localRuntime.set(this, void 0);
83
82
  _WebDispatcher_pauseSnapshot.set(this, void 0);
84
83
  __classPrivateFieldSet(this, _WebDispatcher_requestBuilder, new UIRequestBuilder(env), "f");
84
+ if (config.useSpeculativeExecution && devvit?.debug.runtime) {
85
+ console.debug('[webDispatcher] Using speculative execution mode!');
86
+ }
85
87
  __classPrivateFieldSet(this, _WebDispatcher_dispatcher, new JsDispatcherImpl(initialState ?? {}, __classPrivateFieldGet(this, _WebDispatcher_requestBuilder, "f"), RenderPostContent, {
86
88
  logger: new Logger(),
87
89
  featureFlags: {
88
- isSpeculativeExecutionEnabled: false,
90
+ isSpeculativeExecutionEnabled: config.useSpeculativeExecution,
89
91
  },
90
92
  errorHandler: (error) => {
91
93
  console.warn('dispatcher was unable to retry/circuit-break this error, ignoring and continuing: ', error);
@@ -10199,7 +10199,7 @@
10199
10199
  "format": "esm"
10200
10200
  },
10201
10201
  "library/src/client/webDispatcher.ts": {
10202
- "bytes": 7082,
10202
+ "bytes": 7256,
10203
10203
  "imports": [
10204
10204
  {
10205
10205
  "path": "../../node_modules/@devvit/multiplatform/kotlin/ui-shared-shared.js",
@@ -10840,7 +10840,7 @@
10840
10840
  "format": "esm"
10841
10841
  },
10842
10842
  "library/src/client/devvit-surface.ts": {
10843
- "bytes": 10563,
10843
+ "bytes": 10949,
10844
10844
  "imports": [
10845
10845
  {
10846
10846
  "path": "../../node_modules/@reddit/faceplate-ui/templateRenderingStrategy/clientStrategy.js",
@@ -10921,7 +10921,7 @@
10921
10921
  "imports": [],
10922
10922
  "exports": [],
10923
10923
  "inputs": {},
10924
- "bytes": 12142008
10924
+ "bytes": 12142788
10925
10925
  },
10926
10926
  "dist/devvit-surface.min.js": {
10927
10927
  "imports": [
@@ -11740,7 +11740,7 @@
11740
11740
  "bytesInOutput": 1178
11741
11741
  },
11742
11742
  "library/src/client/webDispatcher.ts": {
11743
- "bytesInOutput": 2048
11743
+ "bytesInOutput": 2190
11744
11744
  },
11745
11745
  "../../node_modules/@lit/localize/internal/str-tag.js": {
11746
11746
  "bytesInOutput": 131
@@ -11800,10 +11800,10 @@
11800
11800
  "bytesInOutput": 1710
11801
11801
  },
11802
11802
  "library/src/client/devvit-surface.ts": {
11803
- "bytesInOutput": 3921
11803
+ "bytesInOutput": 4129
11804
11804
  }
11805
11805
  },
11806
- "bytes": 4392237
11806
+ "bytes": 4392587
11807
11807
  }
11808
11808
  }
11809
11809
  }