@devvit/ui-renderer 0.10.15-next-2024-02-15-f7c48ffbb.0 → 0.10.15-next-2024-02-15-ea5e1b95f.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 +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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"}
@@ -53,6 +53,8 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
53
53
  super();
54
54
  _DevvitCustomPost_instances.add(this);
55
55
  this.useExperimentalBlocks = false;
56
+ // to-do: don't use attributes initialized to true. They cannot be passed by
57
+ // attributes.
56
58
  this.useSandbox = true;
57
59
  _DevvitCustomPost_appState.set(this, {});
58
60
  _DevvitCustomPost_customPostActor.set(this, void 0);
@@ -62,7 +64,8 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
62
64
  _DevvitCustomPost_localClient.set(this, void 0);
63
65
  _DevvitCustomPost_rerenderTimeout.set(this, void 0);
64
66
  _DevvitCustomPost_rootHeight.set(this, void 0);
65
- // No concurrency is used to enforce order.
67
+ // No concurrency is used to enforce order. Priority is used to allow server
68
+ // responses to jump to the front when received.
66
69
  _DevvitCustomPost_rpcQueue.set(this, new PQueue({ concurrency: 1 }));
67
70
  _DevvitCustomPost_uiEventHandlerActor.set(this, void 0);
68
71
  _DevvitCustomPost_handleUserAction.set(this, async (event) => {
@@ -127,18 +130,22 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
127
130
  </div>`;
128
131
  }
129
132
  async willUpdate(props) {
130
- if (props.has('localRuntimeCode') && this.localRuntimeCode) {
133
+ if (props.has('localRuntimeCode') || props.has('bundle') || props.has('useSandbox')) {
134
+ // The runtime or the bundle has changed. Reset.
131
135
  __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.quit();
136
+ __classPrivateFieldGet(this, _DevvitCustomPost_rpcQueue, "f").clear();
137
+ if (__classPrivateFieldGet(this, _DevvitCustomPost_rerenderTimeout, "f") != null)
138
+ clearTimeout(__classPrivateFieldGet(this, _DevvitCustomPost_rerenderTimeout, "f"));
139
+ __classPrivateFieldSet(this, _DevvitCustomPost_rerenderTimeout, undefined, "f");
140
+ }
141
+ if (props.has('localRuntimeCode') && this.localRuntimeCode) {
132
142
  __classPrivateFieldSet(this, _DevvitCustomPost_localClient, new BrowserLiteClient(this.localRuntimeCode, (type, err) => __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_bubble).call(this, 'devvit-ui-error', { type, err }), { callback: __classPrivateFieldGet(this, _DevvitCustomPost_onPluginCall, "f"), plugins: [RealtimeDefinition.fullName] }), "f");
133
143
  }
134
- const actorRefChanged = props.has('actorRef');
135
- if (actorRefChanged) {
144
+ if (props.has('actorRef')) {
136
145
  __classPrivateFieldSet(this, _DevvitCustomPost_customPostActor, this.actorRef?.As(CustomPostDefinition), "f");
137
146
  __classPrivateFieldSet(this, _DevvitCustomPost_uiEventHandlerActor, this.actorRef?.As(UIEventHandlerDefinition), "f");
138
147
  }
139
- if (props.has('bundle') || props.has('useSandbox'))
140
- __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.quit();
141
- if ((this.actorRef && (actorRefChanged || props.has('bundle'))) || props.has('useSandbox')) {
148
+ if (props.has('actorRef') || props.has('bundle') || props.has('useSandbox')) {
142
149
  if (this.bundle) {
143
150
  // offline/online, defer initialRender for offline client
144
151
  try {
@@ -148,6 +155,9 @@ let DevvitCustomPost = class DevvitCustomPost extends LitElement {
148
155
  __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_bubble).call(this, 'devvit-ui-error', { type: 'Error', err });
149
156
  throw err;
150
157
  }
158
+ // No remote runtime. Queue initial render.
159
+ if (!this.actorRef)
160
+ __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_initialRender).call(this);
151
161
  }
152
162
  else if ((this.bundle && props.has('bundle')) || !__classPrivateFieldGet(this, _DevvitCustomPost_hasInitialRender, "f")) {
153
163
  // online only
@@ -223,7 +233,7 @@ _DevvitCustomPost_processEvent = async function _DevvitCustomPost_processEvent(e
223
233
  call = (await __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.call('HandleUIEvent', req, this.metadata));
224
234
  }
225
235
  catch (err) {
226
- if (!isCircuitBreaker(err) && __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.ready) {
236
+ if ((!isCircuitBreaker(err) && __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.ready) || !__classPrivateFieldGet(this, _DevvitCustomPost_uiEventHandlerActor, "f")) {
227
237
  console.error(err);
228
238
  __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_bubble).call(this, 'devvit-ui-error', { err, type: 'Error' });
229
239
  }
@@ -241,15 +251,14 @@ _DevvitCustomPost_processEvent = async function _DevvitCustomPost_processEvent(e
241
251
  }
242
252
  }
243
253
  if (call) {
244
- const res = await call;
245
254
  // Can only change state on the main queue.
246
255
  if (!ev.queue) {
247
- __classPrivateFieldSet(this, _DevvitCustomPost_appState, res.state ?? {}, "f");
256
+ __classPrivateFieldSet(this, _DevvitCustomPost_appState, call.state ?? {}, "f");
248
257
  }
249
258
  const renderType = ev.realtimeEvent
250
259
  ? BlockRenderEventType.RENDER_EFFECT_EVENT
251
260
  : BlockRenderEventType.RENDER_USER_ACTION;
252
- await __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_handleEffects).call(this, renderType, res.effects);
261
+ await __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_handleEffects).call(this, renderType, call.effects);
253
262
  }
254
263
  };
255
264
  _DevvitCustomPost_queueRenderPost = function _DevvitCustomPost_queueRenderPost(req, circuitBreak) {
@@ -277,7 +286,7 @@ _DevvitCustomPost_renderPost = async function _DevvitCustomPost_renderPost(req,
277
286
  }
278
287
  else {
279
288
  // Render now.
280
- if (!circuitBreak && __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.ready) {
289
+ if ((!circuitBreak || !__classPrivateFieldGet(this, _DevvitCustomPost_customPostActor, "f")) && __classPrivateFieldGet(this, _DevvitCustomPost_localClient, "f")?.ready) {
281
290
  __classPrivateFieldGet(this, _DevvitCustomPost_instances, "m", _DevvitCustomPost_bubble).call(this, 'devvit-ui-error', { err, type: 'Error' });
282
291
  console.error(err);
283
292
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/ui-renderer",
3
- "version": "0.10.15-next-2024-02-15-f7c48ffbb.0",
3
+ "version": "0.10.15-next-2024-02-15-ea5e1b95f.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,10 +54,10 @@
54
54
  },
55
55
  "types": "./index.d.ts",
56
56
  "dependencies": {
57
- "@devvit/protos": "0.10.15-next-2024-02-15-f7c48ffbb.0",
58
- "@devvit/runtime-lite": "0.10.15-next-2024-02-15-f7c48ffbb.0",
59
- "@devvit/runtimes": "0.10.15-next-2024-02-15-f7c48ffbb.0",
60
- "@devvit/shared-types": "0.10.15-next-2024-02-15-f7c48ffbb.0",
57
+ "@devvit/protos": "0.10.15-next-2024-02-15-ea5e1b95f.0",
58
+ "@devvit/runtime-lite": "0.10.15-next-2024-02-15-ea5e1b95f.0",
59
+ "@devvit/runtimes": "0.10.15-next-2024-02-15-ea5e1b95f.0",
60
+ "@devvit/shared-types": "0.10.15-next-2024-02-15-ea5e1b95f.0",
61
61
  "@dotlottie/player-component": "2.7.2",
62
62
  "p-queue": "7.3.4",
63
63
  "rxjs": "7.5.7"
@@ -84,7 +84,7 @@
84
84
  "devDependencies": {
85
85
  "@devvit/eslint-config": "0.10.14",
86
86
  "@devvit/repo-tools": "0.10.14",
87
- "@devvit/tsconfig": "0.10.15-next-2024-02-15-f7c48ffbb.0",
87
+ "@devvit/tsconfig": "0.10.15-next-2024-02-15-ea5e1b95f.0",
88
88
  "@lit-labs/ssr": "^2.2.3",
89
89
  "@lit/localize": "0.11.4",
90
90
  "@open-wc/testing-helpers": "2.3.0",
@@ -116,5 +116,5 @@
116
116
  "directory": "dist"
117
117
  },
118
118
  "source": "./src/index.ts",
119
- "gitHead": "3f84c335d9c69b040e20a5b29c74a3533fe31164"
119
+ "gitHead": "48cd25b0170f2b5a269f4bab901c444b78fae5a5"
120
120
  }