-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Notes temporal #1041
base: temporal-2
Are you sure you want to change the base?
Notes temporal #1041
Conversation
Vercel Unique URL: https://sendapp-j7w9yvfht-0xsend.vercel.app |
Playwright ReportSummary
Suitesaccount-rewards.onboarded.spec.tscan visit rewards page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
account-sendtag-checkout.onboarded.spec.tscan visit checkout page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can add a pending tag
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
cannot add an invalid tag name
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can confirm a tag
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can refer a tag
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can refer multiple tags in separate transactions
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
cannot confirm a tag without paying
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
cannot add more than 5 tags
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
account-settings-backup.onboarded.spec.tscan backup account
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can remove a signer
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
account.logged-in.spec.tscan visit account page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can update profile
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
activity.onboarded.spec.tscan visit activity page and see correct activity feed
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can search on activity page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
home.onboarded.spec.tscan visit token detail page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
leaderboard.logged-in.spec.tscan visit leaderboard page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
onboarding.logged-in.spec.tscan visit onboarding page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
profile.anon.spec.tsanon user can visit public profile
anon user cannot visit private profile
profile.logged-in.spec.tslogged in user needs onboarding before visiting profile
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
profile.onboarded.spec.tscan visit other user profile and send by tag
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can visit my own profile
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can visit private profile
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can view activities between another profile
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
send-token-upgrade.onboarded.spec.tscan upgrade their Send Token V0 to Send Token V1
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
send.onboarded.spec.tscan send USDC starting from profile page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send USDC using tag starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send USDC using sendid starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send USDC using address starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send ETH starting from profile page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send ETH using tag starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send ETH using sendid starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send ETH using address starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send SEND starting from profile page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send SEND using tag starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send SEND using sendid starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
can send SEND using address starting from home page
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
�[0m �[90m 30 |�[39m �[36mreturn�[39m �[36mfalse�[39m
sign-in.anon.spec.tsredirect on sign-in
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
redirect to send confirm page on sign-in
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
sign-up.anon.spec.tscan sign up
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
Locator: locator(':root') �[0m �[90m 26 |�[39m �[36mawait�[39m expect(signUpLink)�[33m.�[39mtoBeVisible()
country code is selected based on geoip
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
Locator: getByLabel('One-time Password') at fixtures/send-accounts/test.ts:21 �[0m �[90m 19 |�[39m �[36mawait�[39m signUpButton�[33m.�[39mclick()
skip otp for existing user trying to sign up using already used phone number
user can sign in with passkey from backing up page
user can sign in as back up using otp from backing up page
|
) => { | ||
export const TextAreaField = forwardRef< | ||
TamaguiElement, | ||
TextAreaProps & { labelProps?: LabelProps; iconBefore?: ReactNode; iconAfter?: ReactNode } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice
const id = useId() | ||
const disabled = isSubmitting | ||
const defaultTheme = useThemeName() as string | ||
const { resolvedTheme } = useThemeSetting() | ||
const themeName = (resolvedTheme ?? defaultTheme) as ThemeName | ||
const composedRefs = useComposedRefs(forwardedRef, field.ref) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice
}) | ||
|
||
const MAX_NOTE_LENGTH = 100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might want to save these restrictions in the db or somewhere more static
@@ -31,34 +57,72 @@ export function SendAmountForm() { | |||
const { recipient, idType } = sendParams | |||
const { data: profile } = useProfileLookup(idType ?? 'tag', recipient ?? '') | |||
const [isProfileInfoVisible, setIsProfileInfoVisible] = useState<boolean>(false) | |||
const [isInputFocused, setIsInputFocused] = useState<boolean>(false) | |||
const [isAmountInputFocused, setIsAmountInputFocused] = useState<boolean>(false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lets use a string enum
inputFocused = "amount" | "note" | undefined
@@ -45,5 +45,9 @@ export const createTransferActivities = (env: Record<string, string | undefined> | |||
log.info('isTransferIndexedActivity', { isIndexed }) | |||
return isIndexed | |||
}, | |||
|
|||
async saveNote(receipt: GetUserOperationReceiptReturnType, noteToSave: string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name a little unconventional. insertNote()
?
|
||
export async function saveNote(receipt: GetUserOperationReceiptReturnType, note: string) { | ||
const { data, status, statusText, error } = await supabaseAdmin.from('send_notes').insert({ | ||
tx_hash: receipt.receipt.transactionHash, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually probably going to switch to using the operationHash for our ids. Probably will do the same here. Let me get the new temporal spec implemented then these decisions will be more clear.
@@ -21,6 +22,10 @@ type BaseState = { userOp: UserOperation<'v0.7'> } | |||
type Simulating = { status: 'simulating' } & BaseState | |||
type Sending = { status: 'sending' } & BaseState | |||
type Waiting = { status: 'waiting'; hash: string } & BaseState | |||
type SavingNote = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should add the text of the note we are saving, we may want to show it optimistically
( | ||
"id" serial primary key, | ||
"tx_hash" bytea not null, | ||
"f" bytea not null, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is reasoning for saving "f" and "t" here. probably should use userIds instead
60dcf7f
to
834c211
Compare
68b504a
to
24524f3
Compare
2756ef4
to
783fc3f
Compare
1fc06c7
to
e02b9a7
Compare
No description provided.