general: revert #1665
This commit is contained in:
@@ -24,7 +24,6 @@ import { toNumber } from './generics'
|
||||
import type { ILogger } from './logger'
|
||||
import { LT_HASH_ANTI_TAMPERING } from './lt-hash'
|
||||
import { downloadContentFromMessage } from './messages-media'
|
||||
import { decodeAndHydrate } from './proto-utils'
|
||||
|
||||
type FetchAppStateSyncKey = (keyId: string) => Promise<proto.Message.IAppStateSyncKeyData | null | undefined>
|
||||
|
||||
@@ -154,7 +153,7 @@ export const encodeSyncdPatch = async (
|
||||
state = { ...state, indexValueMap: { ...state.indexValueMap } }
|
||||
|
||||
const indexBuffer = Buffer.from(JSON.stringify(index))
|
||||
const dataProto = proto.SyncActionData.create({
|
||||
const dataProto = proto.SyncActionData.fromObject({
|
||||
index: indexBuffer,
|
||||
value: syncAction,
|
||||
padding: new Uint8Array(0),
|
||||
@@ -233,16 +232,16 @@ export const decodeSyncdMutations = async (
|
||||
}
|
||||
|
||||
const result = aesDecrypt(encContent, key.valueEncryptionKey)
|
||||
const syncAction = decodeAndHydrate(proto.SyncActionData, result)
|
||||
const syncAction = proto.SyncActionData.decode(result)
|
||||
|
||||
if (validateMacs) {
|
||||
const hmac = hmacSign(syncAction.index, key.indexKey)
|
||||
const hmac = hmacSign(syncAction.index!, key.indexKey)
|
||||
if (Buffer.compare(hmac, record.index!.blob!) !== 0) {
|
||||
throw new Boom('HMAC index verification failed')
|
||||
}
|
||||
}
|
||||
|
||||
const indexStr = Buffer.from(syncAction.index).toString()
|
||||
const indexStr = Buffer.from(syncAction.index!).toString()
|
||||
onMutation({ syncAction, index: JSON.parse(indexStr) })
|
||||
|
||||
ltGenerator.mix({
|
||||
@@ -327,9 +326,9 @@ export const extractSyncdPatches = async (result: BinaryNode, options: RequestIn
|
||||
snapshotNode.content = Buffer.from(Object.values(snapshotNode.content))
|
||||
}
|
||||
|
||||
const blobRef = decodeAndHydrate(proto.ExternalBlobReference, snapshotNode.content as Buffer)
|
||||
const blobRef = proto.ExternalBlobReference.decode(snapshotNode.content as Buffer)
|
||||
const data = await downloadExternalBlob(blobRef, options)
|
||||
snapshot = decodeAndHydrate(proto.SyncdSnapshot, data)
|
||||
snapshot = proto.SyncdSnapshot.decode(data)
|
||||
}
|
||||
|
||||
for (let { content } of patches) {
|
||||
@@ -338,7 +337,7 @@ export const extractSyncdPatches = async (result: BinaryNode, options: RequestIn
|
||||
content = Buffer.from(Object.values(content))
|
||||
}
|
||||
|
||||
const syncd = decodeAndHydrate(proto.SyncdPatch, content as Uint8Array)
|
||||
const syncd = proto.SyncdPatch.decode(content as Uint8Array)
|
||||
if (!syncd.version) {
|
||||
syncd.version = { version: +collectionNode.attrs.version! + 1 }
|
||||
}
|
||||
@@ -366,7 +365,7 @@ export const downloadExternalBlob = async (blob: proto.IExternalBlobReference, o
|
||||
|
||||
export const downloadExternalPatch = async (blob: proto.IExternalBlobReference, options: RequestInit) => {
|
||||
const buffer = await downloadExternalBlob(blob, options)
|
||||
const syncData = decodeAndHydrate(proto.SyncdMutations, buffer)
|
||||
const syncData = proto.SyncdMutations.decode(buffer)
|
||||
return syncData
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user