@devvit/ui-renderer 0.10.18-next-2024-04-02-ec08400a7.0 → 0.10.18-next-2024-04-02-d134b44c8.0

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.
@@ -1,5 +1,6 @@
1
1
  import '@reddit/faceplate-ui/templateRenderingStrategy/clientStrategy.js';
2
2
  import type { BlockAction, Effect, LinkedBundle, Metadata, RealtimeEvent, RenderPostResponse, Struct, UIEvent } from '@devvit/protos';
3
+ import { Dimensions } from '@devvit/protos';
3
4
  import type { WorkerErrorType } from '@devvit/runtime-lite/client/BrowserLiteClient.js';
4
5
  import type { ActorRef } from '@devvit/runtimes/common/runtime/ActorRef.js';
5
6
  import type { FaceplateEvent } from '@reddit/faceplate/event-types.js';
@@ -70,6 +71,7 @@ export declare class DevvitCustomPost extends LitElement {
70
71
  useExperimentalBlocks: boolean;
71
72
  useSandbox: boolean;
72
73
  renderResponse?: RenderPostResponse | undefined;
74
+ dimensions?: Dimensions;
73
75
  private _blocksRenderer;
74
76
  private _isSuspended;
75
77
  private _rootBlock?;
@@ -1 +1 @@
1
- {"version":3,"file":"devvit-custom-post.d.ts","sourceRoot":"","sources":["../../library/src/client/devvit-custom-post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devvit-custom-post.d.ts","sourceRoot":"","sources":["../../library/src/client/devvit-custom-post.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
20
20
  };
21
21
  var _DevvitCustomPost_instances, _DevvitCustomPost_lastRequest, _DevvitCustomPost_looper, _DevvitCustomPost_rootHeight, _DevvitCustomPost_resizeObserver, _DevvitCustomPost_bubble, _DevvitCustomPost_newRenderContext, _DevvitCustomPost_onError, _DevvitCustomPost_onPluginCall, _DevvitCustomPost_onRenderPost, _DevvitCustomPost_onUserActionEffect, _DevvitCustomPost_onUserActionEvent;
22
22
  import '@reddit/faceplate-ui/templateRenderingStrategy/clientStrategy.js';
23
- import { Block, BlockConfig_Root, BlockRenderEventType, BlockStackDirection, RealtimeDefinition, } from '@devvit/protos';
23
+ import { Block, BlockConfig_Root, BlockRenderEventType, BlockStackDirection, RealtimeDefinition, Dimensions, } from '@devvit/protos';
24
24
  import { isCircuitBreaker } from '@devvit/runtime-lite/types/CircuitBreaker.js';
25
25
  import { throttle } from '@devvit/shared-types/throttle.js';
26
26
  import { asT3ID } from '@devvit/shared-types/tid.js';
@@ -126,13 +126,7 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
126
126
  const entry = entries[0];
127
127
  const { contentRect: { width, height }, } = entry;
128
128
  const scale = window.devicePixelRatio;
129
- // Set dimensions on the looper directly so that all effects will contain the most
130
- // update to date dimensions.
131
- __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").dimensions = { width, height, scale };
132
- // Ensure the initial update is handled inside of willUpdate
133
- if (__classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").rendered) {
134
- __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").queueRenderPost(BlockRenderEventType.RENDER_USER_ACTION, undefined, {});
135
- }
129
+ this.dimensions = { width, height, scale };
136
130
  }, 600)), "f");
137
131
  __classPrivateFieldGet(this, _DevvitCustomPost_resizeObserver, "f").observe(this, { box: 'content-box' });
138
132
  }
@@ -168,6 +162,9 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
168
162
  async willUpdate(props) {
169
163
  __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").meta = this.metadata;
170
164
  __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").postConfig = this.postConfig;
165
+ if (this.dimensions) {
166
+ __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").dimensions = this.dimensions;
167
+ }
171
168
  if (props.has('postId')) {
172
169
  __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").postID = this.postId ? asT3ID(this.postId) : undefined;
173
170
  }
@@ -189,9 +186,15 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
189
186
  __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").resetAppState();
190
187
  }
191
188
  }
189
+ // We always want to trigger at least one render if:
190
+ // 1. The app dimensions change
191
+ // 2. The bundle changes. Loading a bundle is lengthy and dimensions may have changed during a load
192
192
  if (!__classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").rendered) {
193
193
  __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").queueRenderPost(BlockRenderEventType.RENDER_INITIAL, undefined, {});
194
194
  }
195
+ else if (this.dimensions && (props.has('dimensions') || props.has('bundle'))) {
196
+ __classPrivateFieldGet(this, _DevvitCustomPost_looper, "f").queueRenderPost(BlockRenderEventType.RENDER_USER_ACTION, undefined, {});
197
+ }
195
198
  }
196
199
  };
197
200
  _DevvitCustomPost_lastRequest = new WeakMap();
@@ -248,6 +251,10 @@ __decorate([
248
251
  state(),
249
252
  __metadata("design:type", Object)
250
253
  ], DevvitCustomPost.prototype, "renderResponse", void 0);
254
+ __decorate([
255
+ state(),
256
+ __metadata("design:type", Object)
257
+ ], DevvitCustomPost.prototype, "dimensions", void 0);
251
258
  __decorate([
252
259
  query('devvit-blocks-renderer'),
253
260
  __metadata("design:type", DevvitBlocksRenderer)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/ui-renderer",
3
- "version": "0.10.18-next-2024-04-02-ec08400a7.0",
3
+ "version": "0.10.18-next-2024-04-02-d134b44c8.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -55,10 +55,10 @@
55
55
  },
56
56
  "types": "./index.d.ts",
57
57
  "dependencies": {
58
- "@devvit/protos": "0.10.18-next-2024-04-02-ec08400a7.0",
59
- "@devvit/runtime-lite": "0.10.18-next-2024-04-02-ec08400a7.0",
60
- "@devvit/runtimes": "0.10.18-next-2024-04-02-ec08400a7.0",
61
- "@devvit/shared-types": "0.10.18-next-2024-04-02-ec08400a7.0",
58
+ "@devvit/protos": "0.10.18-next-2024-04-02-d134b44c8.0",
59
+ "@devvit/runtime-lite": "0.10.18-next-2024-04-02-d134b44c8.0",
60
+ "@devvit/runtimes": "0.10.18-next-2024-04-02-d134b44c8.0",
61
+ "@devvit/shared-types": "0.10.18-next-2024-04-02-d134b44c8.0",
62
62
  "@dotlottie/player-component": "2.7.2",
63
63
  "p-queue": "7.3.4",
64
64
  "rxjs": "7.8.1"
@@ -85,7 +85,7 @@
85
85
  "devDependencies": {
86
86
  "@devvit/eslint-config": "0.10.17",
87
87
  "@devvit/repo-tools": "0.10.17",
88
- "@devvit/tsconfig": "0.10.18-next-2024-04-02-ec08400a7.0",
88
+ "@devvit/tsconfig": "0.10.18-next-2024-04-02-d134b44c8.0",
89
89
  "@lit-labs/ssr": "^2.2.3",
90
90
  "@lit/localize": "0.11.4",
91
91
  "@open-wc/testing-helpers": "2.3.0",
@@ -118,5 +118,5 @@
118
118
  "directory": "dist"
119
119
  },
120
120
  "source": "./src/index.ts",
121
- "gitHead": "dd6f86905eaf571ffaf2441a713f5f39d89f18e9"
121
+ "gitHead": "77ff806c3d72daf3f276007976479030c4bc3a39"
122
122
  }