Skip to content

Commit 4749d34

Browse files
committed
Implement VDom Worker SSR Takeover Logic #7785
1 parent 03418d6 commit 4749d34

3 files changed

Lines changed: 18 additions & 4 deletions

File tree

src/core/IdGenerator.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const IdGenerator = {
1515

1616
/**
1717
* @param name
18-
* @returns {string}
18+
* @returns {String}
1919
*/
2020
getId(name) {
2121
name = name || 'neo';
@@ -26,10 +26,10 @@ const IdGenerator = {
2626

2727
counter[name] = ++count;
2828

29-
return me.base + (name === 'neo' ? '' : name + '-') + count;
29+
return me.base + (name === 'neo' ? '' : name + '-') + count
3030
}
3131
}
3232

3333
export default Neo.gatekeep(IdGenerator, 'Neo.core.IdGenerator', () => {
34-
Neo.getId = IdGenerator.getId.bind(IdGenerator);
34+
Neo.getId = IdGenerator.getId.bind(IdGenerator)
3535
});

src/worker/Manager.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class Manager extends Base {
233233
let workerConfig = {...config, windowId};
234234

235235
if (ssrData) {
236-
workerConfig.useSsr = true;
236+
workerConfig.useSSR = true;
237237

238238
switch (key) {
239239
case 'app':

src/worker/VDom.mjs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ class VDom extends Base {
4141

4242
me.sendMessage('app', {action: 'registerPort', transfer: port2}, [port2])
4343
}
44+
45+
/**
46+
* @param {Object} msg
47+
* @param {Object} msg.data The Neo.config content
48+
*/
49+
onRegisterNeoConfig(msg) {
50+
super.onRegisterNeoConfig(msg);
51+
52+
let config = msg.data;
53+
54+
if (config.useSSR && config.idCounters) {
55+
Object.assign(Neo.core.IdGenerator.idCounter, config.idCounters)
56+
}
57+
}
4458
}
4559

4660
export default Neo.setupClass(VDom);

0 commit comments

Comments
 (0)