about summary refs log tree commit diff
path: root/src/state/session
Commit message (Collapse)AuthorAgeFilesLines
* Fully neuter Bluesky PBC moderationVika2025-09-221-1/+2
|
* Remove Bluesky PBC regional labelersVika2025-09-221-2/+2
|
* run `yarn lint --fix` (#9013)Samuel Newman2025-09-093-3/+3
|
* E2E fixes (#8980)Samuel Newman2025-09-051-4/+4
| | | | | | | * update dev-env * hide nux after onboarding * use getter/setter for proxy header
* use an env var for configurable proxy header (#8863)hailey2025-08-261-3/+41
|
* Add displayName to contexts (#8814)Samuel Newman2025-08-141-0/+3
|
* [APP-1173] Clean up env (#8701)Eric Bailey2025-07-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Clean up env files * Use new env in Sentry setup file * Use new env in Bitdrift setup file * Use new env in chat proxy header * Prefix Bitdrift key with EXPO_PUBLIC * Deprecate SENTRY_RELEASE since we use package.json now * Use existing EXPO_PUBLIC_BUNDLE_IDENTIFIER short commit has as Sentry dist value * Fix missing bundle identifier for Render deploys * Deprecate SENTRY_DIST in favor of EXPO_PUBLIC_BUNDLE_IDENTIFIER * Prefix SENTRY_DSN with EXPO_PUBLIC to match others * Remove debugging field * Replace NODE_ENV in places where its safe * Self review * Properly patch Sentry package * Echo variables to .env in Dockerfile instead of passing to shell script * Make sure EXPO_PUBLIC_ENV is set for web container builds * Update IS_TESTFLIGHT to include testflight-android * Slice bundle hash to match other platforms, needed for render.com deployments * [APP-1331] Migrate `app-info` to new env (#8703) * Move env files into directory with platform specific files * Migrate usages of app-info to new env * Fix bad import * Update BUNDLE_DATE format comment * Trim RENDER_GIT_COMMIT to first 7 to match --short sha * Clarify build process env vars and ensure they are explicitly passed in * Revert Sentry patch as a result of prev commit * Update webpack Sentry dist value based on prev commits * Add PACKAGE_VERSION and replace in statsig to fix conflict * Fix render substitution syntax * Remove invalid syntax * Remove unnecessary testflight check * Just use long commit hash * Slice full hash for display in app * Fix missing space in ios workflow * Pass in sentry CLI env vars, align matching values * Align on RELEASE_VERSION * Add new env setup to missed OTA spot * Update webpack to use same SENTRY_RELEASE var * Just fallback to package version for Render deploys * Remove TF check for BUNDLE_DATE * Set EXPO_PUBLIC_ENV for bundle update * Consistent naming "Env" * Add comment * Use RELEASE_VERSION instead of package.json * Update PR comment CI
* Replace `resumeSession` with `getSession` in the email check (#8670)Samuel Newman2025-07-233-3/+69
| | | | | | | | | | | | | * 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>
* Port post embeds to new arch (#7408)Eric Bailey2025-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Direct port of embeds to new arch (cherry picked from commit cc3fa1f6cea396dd9222486c633a508bfee1ecd6) * Re-org * Split out ListEmbed and FeedEmbed * Split out ImageEmbed * DRY up a bit * Port over ExternalLinkEmbed * Port over Player and Gif embeds * Migrate ComposerReplyTo * Replace other usages of old post-embeds * Migrate view contexts * Copy pasta VideoEmbed * Copy pasta GifEmbed * Swap in new file location * Clean up * Fix up native * Add back in correct moderation on List and Feed embeds * Format * Prettier * delete old video utils * move bandwidth-estimate.ts * Remove log * Add LazyQuoteEmbed for composer use * Clean up unused things * Remove remaining items * Prettier * Fix imports * Handle nested quotes same as prod * Add back silenced error handling * Fix lint --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* change `UK` country code to `GB` in additional-moderation-authorities.ts (#8211)surfdude292025-04-181-2/+2
|
* Configure moderationEric Bailey2025-04-101-12/+67
|
* Instrument signup (#8037)Samuel Newman2025-03-272-20/+38
|
* Logger improvements (#7729)Eric Bailey2025-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove enablement * Refactor context and filtering * Fix imports, simplify transports config * Migrate usages of debug context * Re-org, add colors and grouping to console logging * Remove temp default context * Remove manual prefix * Move colorizing out of console transport body * Reduce reuse * Pass through context * Ensure bitdrift is enabled in dev * Enable Sentry on web only * Clean up types * Docs * Format * Update tests * Clean up tests * No positional args * Revert Sentry changes * Clean up context, use it, pass metadata through to Bitdrift * Fix up debugging * Clean up metadata before passing to Bitdrift * Correct transports * Reserve context prop on metadata and include in transports * Update tests
* Takendown state + in-app takedown appeals (#7566)Samuel Newman2025-01-232-2/+7
| | | | | | | | | | | | | | | | | * 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
* Pipe statsig events to logger (#7141)dan2024-12-171-13/+0
| | | | | | | | | | | * Pipe statsig events to logger * Log rich objects to bitdrift * Fix tests * Consolidate mocks, fix tests * Reduce log trash on native
* Remove the environment indirections (#7089)dan2024-12-131-2/+1
| | | | | * Use raw underlying globals for environment * Set dev EXPO_PUBLIC_ENV by exclusion
* Gate bitdrift integration (#7088)dan2024-12-131-0/+9
| | | | | | | | | * Move Statsig init call earlier * Gate Bitdrift init call * Remove IS_TEST env constant * Mock statsig
* Add `isSelfHosted` to `SessionAccount` (#7028)Eric Bailey2024-12-092-0/+33
| | | | | * Add isSelfHosted to SessionAccount * Update snaps
* Disable feed debug gate due to EME (#5815)Hailey2024-10-171-1/+6
|
* Add DE labeler (#5675)Eric Bailey2024-10-171-1/+3
|
* Remove Segment (#5518)Hailey2024-09-271-4/+0
|
* Additional moderation (#5172)Eric Bailey2024-09-202-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Set up additional mod authorities * Filter out non-configurable mod authorities * WIP * Working * Cleanup, add mod * Cleanup * Add more debug logs * Tweak logs * Filter out imperative labels from typeaheads * Filter hideable content from notifications * Add api * Fall back in dev * Remove space * Use prod endpoint * Add tiny notice * Add notice to labeler card, show all labelers
* Language fixes (#5384)Eric Bailey2024-09-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | * Add some comments * Decouple language settings * Normalize on read/write * Refactor * Support device locale on app startup * Cleanup, port to web * Clean up comments * Comment * Try not to mutate * Protect util handling, update test * Dedupe array values
* Move global "Sign out" out of the current account row (#4941)dan2024-08-154-17/+159
| | | | | | | | | | | | | | | | | | | | | | | * 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>
* Don't kick to login screen on network error (#4911)dan2024-08-133-12/+33
| | | | | | | | | | | | | | | | | | | | | * Don't kick the user on network errors * Track online status for RQ * Use health endpoint * Update test with new behavior * Only poll while offline * Handle races between the check and network events * Reduce the poll kickoff interval * Don't cache partially fetched pinned feeds This isn't a new issue but it's more prominent with the offline handling. We're currently silently caching pinned infos that failed to fetch. This avoids showing a big spinner on failure but it also kills all feeds which is very confusing. If the request to get feed gens fails, let's fail the whole query. Then it can be retried.
* subclass agent to add setPersistSessionHandler (#4928)Hailey2024-08-122-82/+60
| | | | Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Upgrade API, implement XRPC rework (#4857)Hailey2024-08-124-49/+93
| | | | 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] Include stack with the debug event (#4763)dan2024-07-101-1/+6
|
* Rename session event, scope to errors (#4761)dan2024-07-092-4/+6
|
* Log session events unconditionally (#4758)dan2024-07-092-1/+15
|
* Starter Packs (#4332)Hailey2024-06-211-12/+0
| | | | | | | Co-authored-by: Dan Abramov <dan.abramov@gmail.com> Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* [Session] Logging (#4476)dan2024-06-203-6/+178
| | | | | | | * Add session logging (console.log) * Hook it up for real * Send type separately
* [Session] Convert account to session data explicitly (#4446)dan2024-06-192-17/+24
| | | | | | | * Extract a variable * Extract sessionAccountToSession * Convert account to session data on assignment
* Verify email reminders (#4510)Eric Bailey2024-06-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | * Clarify intent * Increase email reminder period to once per day * Fallback * Snooze immediately after account creation, prevent showing right after signup * Fix e2e test exports * Remove redundant check * Better simple date generation * Replace in DateField * Use non-string comparison * Revert change to unrelated code * Also parse * Remove side effect
* [🙅] Integrate deactivate (#4308)Eric Bailey2024-06-052-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update types (cherry picked from commit 27deac1f367825771ba76fa098ec1b0a62dcf64a) * Integrate into deactivate dialog (cherry picked from commit 84f299a447259cc1fbfc7be607e28197779e4ec1) * Integrate into Deactivated screen (cherry picked from commit 29193f34822ecdf11e2a407197fa230285dfe846) * Bump api sdk (cherry picked from commit 738c622d3e5a23bfbb0d3bdce3a6bdf01e54ca60) * Update permalink (cherry picked from commit c10bf5c071d76c3054bc4ce9d313c10b1820f038) * Bump sdk pkg * Update types to match backend * Loosen types for forwards compat * Hydrate status from persisted data * Refresh session when re-activating, clear query cache * Show app password error * Refactor dialog to clear state when closed * Add app password error to Deactivated screen
* [🙅] Remove fallback that's no longer valid (#4353)Eric Bailey2024-06-042-30/+30
| | | | | * Remove fallback that's no longer valid * Update test
* [🙅] Disambiguation of the deactivation (#4267)Eric Bailey2024-06-044-36/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Log error statuses from failed resume session calls (#4174)Eric Bailey2024-05-231-1/+11
| | | | | | | | | * Add log to track how resume fails * Use safe field name * Better log * Properly catch
* [Session] Dispose of stale agents immediatelyDan Abramov2024-05-231-0/+13
|
* [Session] Persist updates from inactive agentDan Abramov2024-05-232-17/+22
|
* More retries when resuming non-stale account (#4156)Eric Bailey2024-05-221-1/+1
|
* Conditionally set chat declaration (#4122)Eric Bailey2024-05-201-9/+12
|
* Set chat declaration upon signup (#4084)Eric Bailey2024-05-171-0/+10
|
* Movable following feed (#3593)Eric Bailey2024-05-111-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Handle home algo with backwards compat * Remove todo, fix pwi view * Simplify filter logic * Handle edge case * Handle home algo in FeedSourceCard * Fix handling of pinned feed if home algo is disabled * Handle home algo on ProfileFeed screen * Rename * Fix pinned feeds key * Improve perf of pinned feeds with primary algo * Update statsig API * Revert unneeded changes * Support following feed as well * Better formatting * Clarify primary algo usage * Better comment * Handle saved feed screen edge case * Restore Feeds sparkle, fix line height * Move gate call down * Filter out primary algo from feeds page * Filter dupe from Feeds screen * Simplify logic * Missing following handling * Hide primary feed setting outside exp * Revert testing change * Migrate usePinnedFeedInfos * Migrate FeedSourceCard * Migrate Feeds screen * Migrate SavedFeeds screen * Handle timeline in feed infos * Finish migrating ProfileFeed, FeedSourceCard * Migrate ProfileList * Finalize mutation hooks * Allow unsaving lists * Handle following feed on Feeds screen * Handle following on SavedFeeds * Get rid of deprecated interface usages * Handle no pinned feeds * Handle no feeds on Feeds screen * Reuse component on SavedFeeds screen * Handle no following feed * Remove primary algo references * Migrate to new plural APIs * Remove unused event * Prevent duplicate keys * Make handling much more clear * Dedupe useHeaderOffset * Filter unknown feed types at source * Use just following * Immprove key handling * Resume from last tab * Bump sdk * Revert Gemfile * Additional protection in FeedSourceCard * Fix ProfileList save/unsave handling * Translate * Translate * Match existing handling post-signup * Ensure onboarding results in correct selected feeds * Some testing tweaks on create/onboarding * Revert primary algo consderations * Remove comment * Handle default feed setting * Rm unnecessary type cast * Remove premature gate check * Remove nullable check in onPageSelecting, assume the pager checks bounds * Use null for default selected feed * Rm unrelated change * Remove the concept of __key__ I don't think this concept is consistent. It's introduced on FeedSourceInfo which is used both by pinned feeds and by useFeedSourceInfoQuery. Pinned feeds use the pinning ID there. But there is no pinning ID for useFeedSourceInfoQuery. So this means this field is sometimes one thing and sometimes some other thing. That is a decent sign that it shouldn't be on that type at all. It's not used anywhere except the desktop feed enumeration. It seems reasonable to assume there that we wouldn't want to show the same feed URL twice. (And if it does occur in the array twice, IMO we should solve that at the API level and dedupe it on read or next write.) So I think we should just use the URL in that place. (I used the descriptor, which is equivalent.) * Dedupe pinned feeds by URL on read * Filter timeline out of mergefeed sources * Put FeedDescriptor into FeedSourceInfo * Group saved info with feed for pins This removes a loop within a loop within a loop. * Fix Feeds link on native --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Restore emailAuthFactor and emailConfirmed from last session (#3939)dan2024-05-091-4/+7
|
* Handle push notifications for DMs (#3895)Hailey2024-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some better handling for notifications prep merge move `useNotificationsListener` into shell progress better structure only show messages notifications while using app if it is the current account progress only emit on native current chat emitter only show alerts for the current chat type add logs setup handlers * remove event emitter * just needs cleanup * oops * remove unnecessary `queryClient` param * few fixes * cleanup * nit * remove folds * remove comment * simplify if * add back invalidate * comment out other navigations for now * rename type * handle various navigation cases * push to conversation from notification * update badge in all cases except `chat-message` * ensure no duplicate notifications * rm unused `animationOnReplace` * revert to using `goBack` in the conversation header * add todo comment
* Replace updateCurrentAccount() with refreshSession() (#3910)dan2024-05-084-224/+1
| | | Replace updateCurrentAccount() with resumeSession()
* Add session reducer tests (#3860)dan2024-05-082-0/+1644
|