Skip to content

Commit

Permalink
fix: naming, shadow root, etc
Browse files Browse the repository at this point in the history
  • Loading branch information
Misaka-0x447f committed Sep 19, 2019
1 parent ae5b6b3 commit 6320d1c
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import { encodeArrayBuffer } from '../../../utils/type-transform/String-ArrayBuf
import { toCompressSecp256k1Point } from '../../../utils/type-transform/SECP256k1-Compression'
import { queryMyIdentityAtDB } from '../../../database/people'
import { PersonIdentifier } from '../../../database/type'
import { getActivatedWorker } from '../../../social-network/worker'
import { getWorker } from '../../../social-network/worker'
//#endregion
//#region ProvePost, create & verify
export async function getMyProveBio(whoAmI: PersonIdentifier): Promise<string | null> {
const myIdentity = await queryMyIdentityAtDB(whoAmI)
if (!myIdentity) return null
const pub = await crypto.subtle.exportKey('jwk', myIdentity.publicKey)
const compressed = toCompressSecp256k1Point(pub.x!, pub.y!)
return getActivatedWorker(whoAmI.network).publicKeyEncoder(encodeArrayBuffer(compressed))
return getWorker(whoAmI.network).publicKeyEncoder(encodeArrayBuffer(compressed))
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { geti18nString } from '../../../utils/i18n'
import { unCompressSecp256k1Point } from '../../../utils/type-transform/SECP256k1-Compression'
import { storeNewPersonDB } from '../../../database/people'
import { PersonIdentifier } from '../../../database/type'
import { getActivatedWorker } from '../../../social-network/worker'
import { getWorker } from '../../../social-network/worker'
import { import_ECDH_256k1_Key } from '../../../utils/crypto.subtle'

export async function verifyOthersProve(bio: string, others: PersonIdentifier): Promise<boolean> {
const compressedX = getActivatedWorker(others.network).publicKeyDecoder(bio)
const compressedX = getWorker(others.network).publicKeyDecoder(bio)
if (!compressedX) return false
const { x, y } = unCompressSecp256k1Point(decodeArrayBuffer(compressedX))
const key: JsonWebKey = {
Expand Down
11 changes: 7 additions & 4 deletions src/social-network-provider/twitter.com/ui/fetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { PersonIdentifier } from '../../../database/type'
import { host } from '../index'
import { getEmptyPostInfo, SocialNetworkUI, SocialNetworkUIInformationCollector } from '../../../social-network/ui'
import { deconstructPayload } from '../../../utils/type-transform/Payload'
import { notEmpty } from '../../../utils/assert'
import { instanceOfTwitterUI } from './index'
import { resolveInfoFromBioCard } from '../utils/fetch'
import { uploadToService } from '../utils/user'
import { isNil } from 'lodash-es'

const resolveLastRecognizedIdentity = (self: SocialNetworkUI) => {
const selfSelector = selfInfoSelectors().screenName
Expand All @@ -16,9 +16,12 @@ const resolveLastRecognizedIdentity = (self: SocialNetworkUI) => {
const screenName = selfInfoSelectors().screenName.evaluate()
const nickname = selfInfoSelectors().name.evaluate()
const avatar = selfInfoSelectors().userAvatar.evaluate()
const identifier = new PersonIdentifier(host, notEmpty(screenName, 'user id not found'))
if (!identifier.isUnknown) {
ref.value = { identifier, nickname, avatar }
if (!isNil(screenName)) {
ref.value = {
identifier: new PersonIdentifier(host, screenName),
nickname,
avatar,
}
}
}
new MutationObserverWatcher(selfSelector)
Expand Down
9 changes: 7 additions & 2 deletions src/social-network-provider/twitter.com/ui/inject.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@ import { renderInShadowRoot } from '../../../utils/jss/renderInShadowRoot'
import { SocialNetworkUIInjections } from '../../../social-network/ui'
import { nop } from '../../../utils/utils'

// Closing the afterShadowRoot prevents external access to after shadow. This cannot protect before shadow.
// Closing these shadowRoot prevents external access to them.
const newMOW = (i: LiveSelector<HTMLElement, true>) =>
new MOW(i).setDomProxyOption({ afterShadowRootInit: { mode: 'closed' } }).startWatch()
new MOW(i)
.setDomProxyOption({
beforeShadowRootInit: { mode: 'closed' },
afterShadowRootInit: { mode: 'closed' },
})
.startWatch()

const injectPostBox = () => {
const target = newMOW(newPostEditorBelow())
Expand Down
2 changes: 1 addition & 1 deletion src/social-network/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export interface SocialNetworkWorkerDefinition extends SocialNetworkWorkerAndUI
}

export type SocialNetworkWorker = Required<SocialNetworkWorkerDefinition>
export const getActivatedWorker = getCurrentNetworkWorker
export const getWorker = getCurrentNetworkWorker

export const definedSocialNetworkWorkers = new Set<SocialNetworkWorker>()
export function defineSocialNetworkWorker(worker: SocialNetworkWorkerDefinition) {
Expand Down

0 comments on commit 6320d1c

Please sign in to comment.