about summary refs log tree commit diff
path: root/src/state/session/index.tsx
Commit message (Collapse)AuthorAgeFilesLines
* Add displayName to contexts (#8814)Samuel Newman2025-08-141-0/+3
|
* Replace `resumeSession` with `getSession` in the email check (#8670)Samuel Newman2025-07-231-1/+21
| | | | | | | | | | | | | * replace resumeSession with getSession * copy lil type tweak from the other PR * Add partialRefreshSession to session API context, use session state to infer state further down tree * Review --------- Co-authored-by: Eric Bailey <git@esb.lol>
* Instrument signup (#8037)Samuel Newman2025-03-271-10/+25
|
* Takendown state + in-app takedown appeals (#7566)Samuel Newman2025-01-231-1/+1
| | | | | | | | | | | | | | | | | * takendown screen * add form, move button inline * expect type error * display error * disable submit if too long * move around all the ctas * typos, rm layoutanimation, fix link * use REASONAPPEAL
* Remove the environment indirections (#7089)dan2024-12-131-2/+1
| | | | | * Use raw underlying globals for environment * Set dev EXPO_PUBLIC_ENV by exclusion
* Remove Segment (#5518)Hailey2024-09-271-4/+0
|
* Move global "Sign out" out of the current account row (#4941)dan2024-08-151-6/+32
| | | | | | | | | | | | | | | | | | | | | | | * Rename logout to logoutEveryAccount * Add logoutCurrentAccount() * Make all "Log out" buttons refer to current account Each of these usages is completely contextual and refers to a specific account. * Add Sign out of all accounts to Settings * Move single account Sign Out below as well * Prompt on account removal * Add Other Accounts header to reduce ambiguity * Spacing fix --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* subclass agent to add setPersistSessionHandler (#4928)Hailey2024-08-121-20/+4
| | | | Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Upgrade API, implement XRPC rework (#4857)Hailey2024-08-121-4/+20
| | | | Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
* [Persisted] Make broadcast subscriptions granular by key (#4874)dan2024-08-061-2/+2
| | | | | | | * Add fast path for guaranteed noop updates * Change persisted.onUpdate() API to take a key * Implement granular broadcast listeners
* [Session] Logging (#4476)dan2024-06-201-5/+37
| | | | | | | * Add session logging (console.log) * Hook it up for real * Send type separately
* [Session] Convert account to session data explicitly (#4446)dan2024-06-191-2/+3
| | | | | | | * Extract a variable * Extract sessionAccountToSession * Convert account to session data on assignment
* [🙅] Disambiguation of the deactivation (#4267)Eric Bailey2024-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Disambiguation of the deactivation * Snapshot crackle pop * Change log context * [🙅] Add status to session state (#4269) * Add status to session state * [🙅] Add new deactivated screen (#4270) * Add new deactivated screen * Update copy, handle logout * Remove icons, adjust padding * [🙅] Add deactivate account dialog (#4290) * Deactivate dialog (cherry picked from commit 33940e2dfe0d710c0665a7f68b198b46f54db4a2) * Factor out dialog, add to delete modal too (cherry picked from commit 47d70f6b74e7d2ea7330fd172499fe91ba41062d) * Update copy, icon (cherry picked from commit e6efabbe78c3f3d9f0f8fb0a06a6a1c4fbfb70a9) * Update copy (cherry picked from commit abb0ce26f6747ab0548f6f12df0dee3c64464852) * Sizing tweaks (cherry picked from commit fc716d5716873f0fddef56496fc48af0614b2e55) * Add a11y label
* Replace getAgent() with reading agent (#4243)dan2024-05-281-9/+2
| | | | | * Replace getAgent() with agent * Replace {agent} with agent
* [Session] Dispose of stale agents immediatelyDan Abramov2024-05-231-0/+13
|
* Replace updateCurrentAccount() with refreshSession() (#3910)dan2024-05-081-19/+1
| | | Replace updateCurrentAccount() with resumeSession()
* [Session] Code cleanup (#3854)dan2024-05-081-296/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split utils into files * Move reducer to another file * Write types explicitly * Remove unnnecessary check * Move things around a bit * Move more stuff into agent factories * Move more stuff into agent * Fix gates await * Clarify comments * Enforce more via types * Nit * initSession -> resumeSession * Protect against races * Make agent opaque to reducer * Check using plain condition
* [Session] Remove global agent (#3852)dan2024-05-081-330/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove logs and outdated comments * Move side effect upwards * Pull refreshedAccount next to usage * Simplify account refresh logic * Extract setupPublicAgentState() * Collapse setStates into one * Ignore events from stale agents * Use agent from state * Remove clearCurrentAccount * Move state to a reducer * Remove global agent * Fix stale agent reference in create flow * Proceed to onboarding even if setting date fails --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [Session] Align state and global agent switchpoints (#3845)dan2024-05-031-36/+22
| | | | | | | | | | | | | * Adopt synced accounts unconditionally * Remove try/catch around resuming session * Move to login form on resume failure * Restructure code flow for easier reading --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [Session] Reset global agent on expire (#3838)dan2024-05-031-6/+11
|
* [Session] Rely on agent session change event for persisting resumed session ↵dan2024-05-031-32/+12
| | | | | | | (#3836) * Rely on agent session change handler for resumption * Add a fast path for noop resumes
* [Session] Fix stale emailAuthFactor and emailConfirmed on the client (#3835)dan2024-05-031-15/+11
| | | | | * Fix account refresh to not clobber falsy values * Use ?? in more places
* [Session] Track agent in state (#3833)dan2024-05-031-47/+139
| | | | | | | | | | | | | * Expand currentAccountDid into currentAgentState * Inline all callsites of upsertAccount * Inline all internal callsites of clearCurrentAccount * Add agent to currentAgentState * Collapse extra setStates * Add TODOs
* [Session] Call persist handler directly (#3828)dan2024-05-021-96/+63
|
* [Session] Extract selectAccount out (#3812)dan2024-05-021-24/+1
|
* [Session] Extract resumeSession out (#3811)dan2024-05-021-22/+1
|
* [Session] Derive currentAccount from accounts + currentAccountDid (#3795)dan2024-05-011-22/+28
| | | | | * Derive currentAccount from accounts and currentAccountDid * Add TODOs for divergence with __globalAgent
* [Session] Use flag on state for persistence (#3793)dan2024-05-011-43/+42
| | | | | | | | | * Move isInitialLoad and isSwitchingAccounts out of main state * Remove spreads, order object keys * Track need to persist on state object * Reoder state variables
* [Session] Refactor to prepare for V2 (#3781)dan2024-05-011-317/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move types to another file Co-authored-by: dan <dan.abramov@gmail.com> * Move utilities out Co-authored-by: dan <dan.abramov@gmail.com> * Move PUBLIC_BSKY_AGENT Co-authored-by: dan <dan.abramov@gmail.com> * Move createPersistSessionHandler inline Co-authored-by: dan <dan.abramov@gmail.com> * Call configureModeration when clearing account too This ensures that the app labelers get reset in a test environment. Co-authored-by: dan <dan.abramov@gmail.com> * Make guest configureModeration sync, non-guest async * Extract isSessionExpired Co-authored-by: dan <dan.abramov@gmail.com> * Flip isSessionExpired condition Co-authored-by: dan <dan.abramov@gmail.com> * Extract agentToSessionAccount Co-authored-by: dan <dan.abramov@gmail.com> * Extract createAgent* Co-authored-by: dan <dan.abramov@gmail.com> * Simplify isSessionExpired --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [Session] Move deactivated field off the session object (#3780)dan2024-05-011-3/+4
|
* [Session] Consistently copy SessionAgent fields (#3779)dan2024-05-011-5/+7
| | | Co-authored-by: Eric Bailey <git@esb.lol>
* Session fixes, pt. 1 (#3762)dan2024-04-301-8/+12
| | | | | | | | | | | | | | | | | * Update persisted schema for new source of truth, implement in existing session (cherry picked from commit b1e5f12baee932721d66c60dd51c981b46b0c274) * Improve toasts, log caught error, during switch account (cherry picked from commit fe0d1507063d2e532b7b1a447670b689292d1dc3) * Handle thrown errors from initSession during login (cherry picked from commit 2c85c045917e923901284b9ba310a82e28f37b5c) --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [Session] Add `useAgent` hook and replace (#3706)Eric Bailey2024-04-251-7/+5
| | | | | | | | | | | * Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Persist PDS URL for session resumption (#3620)Mary2024-04-241-4/+20
| | | | | | | | | | | * fix: store PDS URL for session resumption * fix: handle a few more cases * fix: blocking resumption should also use pds url * refactor: do it in the construct itself * fix: revert ce96223
* Email auth factor (#3602)Paul Frazee2024-04-221-3/+13
| | | | | | | | | | | | | | | * Add email 2fa toggle * Add UI elements needed for 2fa codes in login * Wire up to the server * Give a better failure message for bad 2fa code * Handle enter key in login form 2fa field * Trim spaces * Improve error message
* [Statsig] Slightly block the UI on gates (#3608)dan2024-04-181-1/+14
|
* PWI improvements (#3489)Paul Frazee2024-04-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Enable home and feeds on the PWI * Add global SigninDialog to drive useRequireAuth() * Tweak desktop styles * Make the logo in leftnav PWI a clickable home link * Add label * Improve dialog on web * Fix query key * Go to home after signout from settings screen * Filter out feeds from the discover listing for logged out users which are known to break without auth * Update profile header follow/subscribe to give signin prompt * Show profile feeds tabs on pwi * Add language selector to account creation footer and pwi left nav desktop --------- Co-authored-by: dan <dan.abramov@gmail.com>
* Scope query client per DID (#3333)dan2024-04-041-11/+4
| | | | | | | | | * Move QueryProvider inside the key * Pull useQueryClient-dependent code down in App.native * Remove useQueryClient dependency from session provider * Scope query client per DID
* [Statsig] Onboarding and routing events (#3302)dan2024-03-211-8/+10
|
* [Statsig] Track login/logout (#3286)dan2024-03-191-23/+38
| | | | | * [Statsig] Track login/logout * Fix missing attribution
* 3p moderation services [WIP] (#2550)Paul Frazee2024-03-181-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add modservice screen and profile-header-card * Drop the guidelines for now * Remove ununsed constants * Add label & label group descriptions * Not found state * Reorg, add icon * Subheader * Header * Complete header * Clean up * Add all groups * Fix scroll view * Dialogs side quest * Remove log * Add (WIP) debug mod page * Dialog solution * Add note * Clean up and reorganize localized moderation strings * Memoize * Add example * Add first ReportDialog screen * Report dialog step 2 * Submit * Integrate updates * Move moderation screen * Migrate buttons * Migrate everything * Rough sketch * Fix types * Update atoms values * Abstract ModerationServiceCard * Hook up data to settings page * Handle subscription * Rough enablement * Rough enablement * Some validation, fixes * More work on the mod debug screen * Hook up data * Update invalidation * Hook up data to ReportDialog * Fix native error * Refactor/rewrite the entire moderation-application system * Fix toggles * Add copyright and other option to report * Handle reports on profile vs content * Little cleanup * Get post hiding back in gear * Better loading flow on Mod screen * Clean up Mod screen * Clean up ProfileMod screen * Handle muting correctly * Update enablement on ProfileMod screen * Improve Moderation screen and dialog * Styling, handle disabled labelers * Rework list of labels on own content * Use moderateNotification() * ReportDialog updates * Fix button overflow * Simplify the ProfileModerationService ui * Mod screen design * Move moderation card from the profile header to a tab * Small tweaks to the moderation screen * Enable toggle on mod page * Add notifs to debugmod and dont filter notifs from followed users * Add moderator-service profile view * Wire up more of the modservice data to profiles * A bunch of speculative non-working UI * Cleanup: delete old code * Update ModerationDetailsDialog * Update ReportDialog * Update LabelsOnMe dialog * Handle ReportDialog load better * Rename LabelsOnMeDialog, fix close * Experiment to put labeling under a tab of a normal profile * Moderator variation of profile * Remove dead code and start moving toward latest modsdk * Remove a bunch of now-dead label strings * Update ModDebug to be a bit more intuitive and support custom labels * Minor ui tweaks * Improve consistency of display name blurring * Fix profile-card warning rendering * More debugmod UI tuning * Update to use new labeler semantics * Delete some dead code and do some refactoring * Update profile to pull from labeler definition * Implement new label config controls (wip) * Tweak ui * Implement preference controls on labelers * Rework label pref ui * Get moderation screen working * Add asyncstorage query persistence * Implement label handling * Small cleanup * Implement Likes dialog * Fix: remove text outside of text element * Cleanup * Fix likes dialog on mobile * Implement the label appeal flow * Get report flow working again with temporarily fixed report options * Update onboarding * Enforce limit of ten labeler subscriptions * Fix type errors * Fix lint errors * Improve types of RQ * Some work on Likes dialog, needs discussion * Bit of ReportDialog cleanup * Replace non-single-path SVG * Update nudity descriptions * Update to use new sdk updates * Add adult-content-enabled behavior to label config * Use the default setting of custom labels * Handle global moderation label prefs with the global settings * Fix missing postAuthor * Fix empty moderation page * Add mutewords control back to Mod screen * Tweak adult setting styles * Remove deprecated global labels * Handle underage users on mod screen * Adjust font sizes * Swap in RichText * Like button improvements * Tweaks to Labeler profile * Design tweaks for mod pref dialog * Add tertiary button color * Switch moderation UIs to tertiary color * Update mutewords and hiddenposts to use the new sdk * Add test-environment mod authority * Switch 'gore' to 'graphic-media' * Move nudity out of the adult content control * Remove focus styles from buttons - let the browser behavior handle it * Fixes to the adult content age-gating in moderaiton * Ditch tertiary button color, lighten secondary button * Fix some colors * Remove focused overrides from toggles * Liked by screen * Rework the moderationlabelpref * Fix optimistic like * Cleanup * Change how onboarding handles adult content enabled/disabled * Add special handling of the mod authorities * Tweaks * Update the default labeler avatar to a shield * Add route to go server * Avoid dups due to bad config * Fix attrs * Fix: dont try to detect link/label mismatches on post meta * Correctly show the label behavior when adult content is disabled * Readd the local hiddenPosts handling * WIP * Fix bad merge * Conten hider design tweaks * Fix text string breakage * Adjust source text in ContentHider * Fix link bug * Design tweaks to ContentHider and ModDetailsDialog * Adjust spacing of inform badges * Adjust spacing of embeds in posts * Style tweaks to post/profile alerts * Labels on me and dialog * Remove bad focus styles from post dropdown * Better spacing solution * Tune moderation UIs * Moderation UI tweaks for mobile * Move labelers query on Mod screen * Update to use new SDK appLabelers semantics * Implement report submission * Replace the report modal entirely with the report dialog * Add @ to mod details dialog handle * Bump SDK package * Remove silly type * Add to AWS build CI * Fix ToggleButton overflow * Clean up ModServiceCard, rename to LabelingServiceCard * Hackfix to translate gore labels to graphic-media * Tune content hider sizing on web desktop * Handle self labels * Fix spacing below text-only posts * Fix: send appeals to the right labeler * Give mod page links interactive states * Fix references * Remove focus handling * Remove remnant * Remove the like count from the subscribed labeler listing * Bump @atproto/api@0.11.1 * Remove extra @ * Fix: persist labels to local storage to reduce coverage gaps * update dipendencies * revert dipendencies * Add some explainers on how blocking affects labelers * Tweak copy * Fix underline color in header * Fix profile menu * Handle card overflow * Remove metrics from header * Mute 'account' not 'user' * Show metrics if self * Show the labels tab on logged out view * Fix bad merge * Use purple theming on labelers * Tighten space on LabelerCard * Set staleTime to 6hrs for labeler details * Memoize the memoizers * Drop staleTime to 60s * Move label defs into a context to reduce recomputes * Submit view tweaks * Move labeler fetch below auth * Mitigation: hardcode the bluesky moderation labeler name * Bump sdk * Add missing translated string Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Add missing translated string Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Hailey's fix for incorrect profile tabs Co-authored-by: Hailey <me@haileyok.com> * Feedback * Fix borders, add bottom space * Hailey's fix pt 2 Co-authored-by: Hailey <me@haileyok.com> * Fix post tabs * Integrate feedback pt 1 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 2 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 3 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 4 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 5 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 6 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 7 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Integrate feedback pt 8 Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> * Format * Integrate new bday modal * Use public agent for getServices * Update casing --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> Co-authored-by: Hailey <me@haileyok.com>
* Scale back sentry logs for trivial events (#2997)Hailey2024-02-261-9/+9
| | | | | * scale back sentry logs * update migrate log tests
* remove sandbox labels (#2883)Hailey2024-02-161-6/+0
| | | | | * rm sandbox * remove comment
* Hackfix to avoid creating identical profile objects during account creationPaul Frazee2024-02-071-0/+6
|
* set default display name to be blank (#2717)Hailey2024-01-311-1/+1
|
* Clean up some sentry logs (#2630)Eric Bailey2024-01-251-46/+9
| | | | | | | * Change prop name for sentry ingestion * Fix test * Add default object
* Add account-activation queueing to signup (#2613)Paul Frazee2024-01-251-5/+33
| | | | | | | | | | | | | | | | | | | * Add deactivated-account tracking * Center button text * Add Deactivated screen * Add icon to Deactivated screen * Abort session resumption if the session is deactivated * Implement deactivated screen status checks * Bump api@0.9.5 * Use new typo-fixed scope * UI refinements
* Phone number verification in account creation (#2564)Paul Frazee2024-01-181-1/+13
| | | | | | | | | | | | | | | | | * Add optional sms verification * Add support link to account creation * Add e2e tests * Bump api@0.9.0 * Update lockfile * Bump api@0.9.1 * Include the phone number in the ui * Add phone number validation and normalization
* Create a profile record on new user (#2520)Paul Frazee2024-01-121-0/+6
| | | | | * Create a profile record on new user * Dont hold up account creation for the profile
* Ensure sessions and tokens are synced between tabs (#2498)Eric Bailey2024-01-121-23/+37
| | | | | * Ensure sessions and tokens are synced between tabs * Send clear account to sentry for monitoring