Skip to content

Commit

Permalink
Merge pull request #238 from radixdlt/do-not-request-persona-data-whe…
Browse files Browse the repository at this point in the history
…n-updating-accounts

fix: do not request persona data
  • Loading branch information
dawidsowardx authored Jul 2, 2024
2 parents f7b7ac1 + 88d4882 commit 245367a
Show file tree
Hide file tree
Showing 13 changed files with 46 additions and 22 deletions.
4 changes: 4 additions & 0 deletions docs/v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ Detailed installation guide can be found in [@radixdlt/babylon-gateway-api-sdk](
import { Logger } from '@radixdlt/radix-dapp-toolkit'
```

### onUpdateSharedData -> onUpdateSharedAccounts

User can only update shared accounts during single login session. Persona data will no longer be requested from wallet. Because of that change callback has been renamed.

### Monorepo

Following npm packages are no longer released independently
Expand Down
4 changes: 2 additions & 2 deletions packages/connect-button/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ type ConnectButtonEvents = {
onIgnoreTransactionItem: (event: CustomEvent<{ id: string }>) => void
onDestroy: () => void
onShowPopover: () => void
onUpdateSharedData: () => void
onUpdateSharedAccounts: () => void
}
```
Expand All @@ -105,7 +105,7 @@ type ConnectButtonEvents = {
- onIgnoreTransactionItem - triggers when user ignores transaction output
- onDestroy - triggers when button is removed from the DOM. Useful for cleaning up registered event listeners and subscriptions.
- onShowPopover - triggers when users clicks on radix button and popover is being shown
- onUpdateSharedData - triggers when users clicks on "Update Shared Data" button
- onUpdateSharedAccounts - triggers when users clicks on "Update Account Sharing" button
# License
Expand Down
3 changes: 2 additions & 1 deletion packages/connect-button/src/components/connect-button.ts
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,9 @@ export class ConnectButton extends LitElement {
)
}}
@onUpdateData=${() => {
if (!this.accounts.length) return
this.dispatchEvent(
new CustomEvent('onUpdateSharedData', {
new CustomEvent('onUpdateSharedAccounts', {
bubbles: true,
composed: true,
}),
Expand Down
20 changes: 18 additions & 2 deletions packages/connect-button/src/components/pages/sharing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import '../themed-button/themed-button'
import RefreshIcon from '../../assets/refresh.svg'
import LogoutIcon from '../../assets/logout.svg'
import { pageStyles } from './styles'
import { classMap } from 'lit/directives/class-map.js'

@customElement('radix-sharing-page')
export class RadixSharingPage extends LitElement {
Expand Down Expand Up @@ -77,8 +78,20 @@ export class RadixSharingPage extends LitElement {
</div>
</div>
<div class="buttons">
<radix-themed-button class="full" @click=${this.onUpdateData}>
<div class="icon update-data"></div>
<radix-themed-button
class=${classMap({
full: true,
disabled: this.accounts.length === 0,
})}
@click=${this.onUpdateData}
>
<div
class=${classMap({
icon: true,
'update-data': true,
disabled: this.accounts.length === 0,
})}
></div>
Update Account Sharing
</radix-themed-button>
<radix-themed-button class="full" @click=${this.onLogout}>
Expand All @@ -105,6 +118,9 @@ export class RadixSharingPage extends LitElement {
width: 20px;
height: 20px;
}
.icon.disabled::before {
background: var(--radix-button-disabled-text-color);
}
.content {
max-height: 193px;
overflow-x: hidden;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ export class RadixThemedButton extends LitElement {
background: var(--radix-button-disabled-background);
color: var(--radix-button-disabled-text-color);
cursor: default;
pointer-events: none;
}
`,
]
Expand Down
2 changes: 1 addition & 1 deletion packages/dapp-toolkit/src/_types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ export type WalletApi = {
fn: (result: AwaitedWalletDataRequestResult) => void,
) => void
dataRequestControl: (fn: (walletResponse: WalletData) => Promise<any>) => void
updateSharedData: () => WalletDataRequestResult
updateSharedAccounts: () => WalletDataRequestResult
sendTransaction: (input: SendTransactionInput) => SendTransactionResult
setRequestData: (...dataRequestBuilderItem: DataRequestBuilderItem[]) => void
sendRequest: () => WalletDataRequestResult
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const ConnectButtonNoopModule = (): ConnectButtonModuleOutput => {
status$: NEVER,
onConnect$: NEVER,
onDisconnect$: NEVER,
onUpdateSharedData$: NEVER,
onUpdateSharedAccounts$: NEVER,
onShowPopover$: NEVER,
onCancelRequestItem$: NEVER,
onLinkClick$: NEVER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,13 +153,13 @@ export const ConnectButtonModule = (
}),
)

const onUpdateSharedData$ = fromEvent(
const onUpdateSharedAccounts$ = fromEvent(
connectButtonElement,
'onUpdateSharedData',
'onUpdateSharedAccounts',
).pipe(
tap(() => {
logger?.debug(`onUpdateSharedData`)
subjects.onUpdateSharedData.next()
logger?.debug(`onUpdateSharedAccounts`)
subjects.onUpdateSharedAccounts.next()
}),
)

Expand Down Expand Up @@ -251,7 +251,7 @@ export const ConnectButtonModule = (
accounts$,
personaData$,
personaLabel$,
onUpdateSharedData$,
onUpdateSharedAccounts$,
onShowPopover$,
dAppName$,
onLinkClick$,
Expand Down Expand Up @@ -310,7 +310,7 @@ export const ConnectButtonModule = (
onConnect$: subjects.onConnect.asObservable(),
onDisconnect$: subjects.onDisconnect.asObservable(),
onShowPopover$: subjects.onShowPopover.asObservable(),
onUpdateSharedData$: subjects.onUpdateSharedData.asObservable(),
onUpdateSharedAccounts$: subjects.onUpdateSharedAccounts.asObservable(),
onCancelRequestItem$: subjects.onCancelRequestItem.asObservable(),
onIgnoreTransactionItem$: subjects.onIgnoreTransactionItem.asObservable(),
onLinkClick$: subjects.onLinkClick.asObservable(),
Expand Down Expand Up @@ -430,8 +430,8 @@ export const ConnectButtonModule = (
)

subscriptions.add(
subjects.onUpdateSharedData
.pipe(switchMap(() => walletRequestModule.updateSharedData()))
subjects.onUpdateSharedAccounts
.pipe(switchMap(() => walletRequestModule.updateSharedAccounts()))
.subscribe(),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export type ConnectButtonSubjects = ReturnType<typeof ConnectButtonSubjects>
export const ConnectButtonSubjects = () => ({
onConnect: new Subject<{ challenge: string } | undefined>(),
onDisconnect: new Subject<void>(),
onUpdateSharedData: new Subject<void>(),
onUpdateSharedAccounts: new Subject<void>(),
connected: new ReplaySubject<boolean>(1),
requestItems: new BehaviorSubject<RequestItem[]>([]),
onCancelRequestItem: new Subject<string>(),
Expand Down
2 changes: 1 addition & 1 deletion packages/dapp-toolkit/src/modules/connect-button/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export type ConnectButtonModuleOutput = {
status$: Observable<RadixButtonStatus>
onConnect$: Observable<{ challenge: string } | undefined>
onDisconnect$: Observable<void>
onUpdateSharedData$: Observable<void>
onUpdateSharedAccounts$: Observable<void>
onShowPopover$: Observable<void>
onCancelRequestItem$: Observable<string>
onLinkClick$: Observable<{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,13 @@ export const transformSharedDataToDataRequestState = (
sharedData.ongoingPersonaData.numberOfRequestedPhoneNumbers,
emailAddresses:
sharedData.ongoingPersonaData.numberOfRequestedEmailAddresses,
reset: true,
reset: false,
}
}

if (sharedData.persona) {
draft.persona = { withProof: !!sharedData.persona.proof }
draft.persona = {
withProof: false,
}
}
})
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ export const WalletRequestModule = (input: {
}
}

const updateSharedData = () =>
const updateSharedAccounts = () =>
stateModule
.getState()
.mapErr((err) => {
Expand Down Expand Up @@ -645,7 +645,7 @@ export const WalletRequestModule = (input: {
setRequestDataState,
getPendingRequests,
getTransport,
updateSharedData,
updateSharedAccounts,
dataRequestStateModule,
interactionStatusChange$: interactionStatusChangeSubject.asObservable(),
requestItems$: requestItemModule.requests$,
Expand Down
2 changes: 1 addition & 1 deletion packages/dapp-toolkit/src/radix-dapp-toolkit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export const RadixDappToolkit = (
},
provideConnectResponseCallback:
walletRequestModule.provideConnectResponseCallback,
updateSharedData: () => walletRequestModule.updateSharedData(),
updateSharedAccounts: () => walletRequestModule.updateSharedAccounts(),
sendOneTimeRequest: walletRequestModule.sendOneTimeRequest,
sendTransaction: (input: SendTransactionInput) =>
walletRequestModule.sendTransaction(input),
Expand Down

0 comments on commit 245367a

Please sign in to comment.