@slidev/client 0.40.12 → 0.40.13

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slidev/client",
3
- "version": "0.40.12",
3
+ "version": "0.40.13",
4
4
  "description": "Presentation slides for developers",
5
5
  "author": "antfu <anthonyfu117@hotmail.com>",
6
6
  "license": "MIT",
@@ -41,8 +41,8 @@
41
41
  "vue-router": "^4.1.6",
42
42
  "vue-starport": "^0.3.0",
43
43
  "windicss": "^3.5.6",
44
- "@slidev/parser": "0.40.12",
45
- "@slidev/types": "0.40.12"
44
+ "@slidev/parser": "0.40.13",
45
+ "@slidev/types": "0.40.13"
46
46
  },
47
47
  "devDependencies": {
48
48
  "vite": "^4.2.2"
package/setup/root.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /* __imports__ */
2
2
  import { watch } from 'vue'
3
- import { useHead, useHtmlAttrs } from '@vueuse/head'
3
+ import { useHead } from '@vueuse/head'
4
4
  import { nanoid } from 'nanoid'
5
5
  import { configs } from '../env'
6
6
  import { initSharedState, onPatch, patch } from '../state/shared'
@@ -17,8 +17,10 @@ export default function setupRoot() {
17
17
  /* __injections__ */
18
18
 
19
19
  const title = configs.titleTemplate.replace('%s', configs.title || 'Slidev')
20
- useHead({ title })
21
- useHtmlAttrs(configs.htmlAttrs)
20
+ useHead({
21
+ title,
22
+ htmlAttrs: configs.htmlAttrs,
23
+ })
22
24
  initSharedState(`${title} - shared`)
23
25
  initDrawingState(`${title} - drawings`)
24
26
 
@@ -41,6 +43,7 @@ export default function setupRoot() {
41
43
  patch('viewerPage', +currentPage.value)
42
44
  patch('viewerClicks', clicks.value)
43
45
  }
46
+
44
47
  patch('lastUpdate', {
45
48
  id,
46
49
  type: isPresenter.value ? 'presenter' : 'viewer',
@@ -7,7 +7,7 @@ export function createSyncState<State extends object>(serverState: State, defaul
7
7
  let patchingTimeout: NodeJS.Timeout
8
8
  let updatingTimeout: NodeJS.Timeout
9
9
 
10
- const state = __USE_SERVER__
10
+ const state = __SLIDEV_HAS_SERVER__
11
11
  ? reactive<State>(serverState) as State
12
12
  : reactive<State>(defaultState) as State
13
13
 
@@ -37,11 +37,11 @@ export function createSyncState<State extends object>(serverState: State, defaul
37
37
 
38
38
  function init(channelKey: string) {
39
39
  let stateChannel: BroadcastChannel
40
- if (!__USE_SERVER__ && !persist) {
40
+ if (!__SLIDEV_HAS_SERVER__ && !persist) {
41
41
  stateChannel = new BroadcastChannel(channelKey)
42
42
  stateChannel.addEventListener('message', (event: MessageEvent<Partial<State>>) => onUpdate(event.data))
43
43
  }
44
- else if (!__USE_SERVER__ && persist) {
44
+ else if (!__SLIDEV_HAS_SERVER__ && persist) {
45
45
  window.addEventListener('storage', (event) => {
46
46
  if (event && event.key === channelKey && event.newValue)
47
47
  onUpdate(JSON.parse(event.newValue) as Partial<State>)
@@ -57,8 +57,9 @@ export function createSyncState<State extends object>(serverState: State, defaul
57
57
  onPatchCallbacks.forEach((fn: (state: State) => void) => fn(state))
58
58
  }
59
59
 
60
- watch(state, onStateChanged, { deep: true })
61
- if (!__USE_SERVER__ && persist) {
60
+ watch(state, onStateChanged, { deep: true, flush: 'sync' })
61
+
62
+ if (!__SLIDEV_HAS_SERVER__ && persist) {
62
63
  const serialzedState = window.localStorage.getItem(channelKey)
63
64
  if (serialzedState)
64
65
  onUpdate(JSON.parse(serialzedState) as Partial<State>)