* 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
* Bump SDK
* Use consistent type in profile query
* Omit from constraint for profile shadow
* Replace isRecord with isValidRecord in QuoteEmbed
* Omit type from constraint for old ProfileCard
* Omit type from constraint in profile queries where appropriate
* Use correct type for update profile mutation
* Conslidate and fix check for isValidRecord in Post.tsx
* Replace isRecord with isValidRecord in PostThreadItem
* Remove redundant cast in PostThreadFollowBtn
* Ignore errors in DebugMod screen
* Use matching type in ProfileFollows screen
* Use matching type in ProfileFollowers screen
* Migrate to isValidRecord in PostFeedItem
* Use matching type if PostRepostedBy
* Omit type from constraint in avatar props
* Use matching types in NotificationFeedItem
* Todo
* Use isValidRecord in NotfyFeedItem
* Improve MediaPreview types
* Migrate another isValidRecord in NotificationFeedItem
* Migrate to isValidView in queries/util
* Migrate to isValidRecord in threadgate/util
* Fix types in threadgates
* Fix up types in starter-packs queries
* Todo
* Specify exact types in search-posts
* Use internal type util to align types
* Ditto last
* Migrate postgate/index
* Specify exact types in post-thread
* Use correct type in post-quotes
* FIX potential bug in post-thread
* Use correct type in post-feed
* Add correct type guards to notifications/feed
* Migrate a guard in notifications/util
* Migrate guard in Wizard/State
* [@next] Profile handling, migrate `ProfileCard` (#7347)
* Introduce new utils for profiles, migrate old ProfileCard
* Rename, reorg
* Add parseEmbed utils
* Expand AnyProfileView to include chat profile view, update post shadow to reflect this
* Cast for perf reasons
* Tighten up types now that we have AnyProfileView
* Add fastIsType util
* Use `assertDid`
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use util types
* Comment
* Use fastIsType where no validation was happening before
* suggestions (#7382)
* suggestions
* Revert unneeded changes
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Use new util
* Rename to dangerousIsType
* Convert object shape
* Use dangerous util
* Use dangerous util
* Use dangerous util, we can trust post records
* Use dangerous util
* Use AnyProfileVIew
* Convert object shape
* Clean up handling
* Patch moderateProfile to accept known profile views, to discuss
* Add AnyStarterPackView and related, implement in first usage
* Remove validation, fix type, fix ref
* Migrate over list-conversations
* Clarify intent behind precacheProfile and its unstable query cache
* Clean up unstable profile cache
* Fix types during label creation in PwiOptOut (#7346)
* Tighten types in queries/list
* Chat: use correct profile views
* Chat: fix log type check
* Chat: construct lexically correct shape, even though it's only internal usage
* Chat: use correct profile types
* Chat: fix type check in logs
* Starter: use correct profile types
* Starter: use correct profile types
* Starter: tighten types to match lex
* Any profile type will work in blocked-and-muted
* Use dangerous util
* Use dangerousIsType
* Update new ProfileCard to use AnyProfileView
* Use dangerousIsType
* Remove outdated todo
* Use correct profile type
* Use correct profile types
* Tighten up types
* Use dangerousIsType
* Chat: more type fixes
* Remove unused file
* Add a few utils
* Remove unused file
* Ignore feedPost.__source
* Clean up types, leave validation in critical path
* Use dangerousIstype
* Use ANyProfileView
* Use isValidRecord
* Use dangerousIsType
* Fix types in ListCard
* Fix FeedInterstitials types
* Fix types in FeedCard
* Fix types in dms ReportDialog
* Fix types in SearchablePeopleList
* Fix bad type in composer opts
* Starter: ok these need to be loose too
* Clarify docs
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Less code
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
* Use package exports
* Bump sdk, update $Typed imports
* Format
* Format
* Fix weird TS error
* Remove patch
* Beter name
* It's memo, can validate
* Tighten up parseEmbed, dogfood
* Bump sdk
* Use asPredicate
* Loosen types a bit
* use asPredicate
* Fix types
* Use asPredicate
* Use asPredicate
* Use asPredicate
* Clean up upsertProfile types
* Use asPredicate
* Use Un util
* Fix types
* Use new AnyProfileView
* Use dangerousIsType
* Use asPredicate
* Use asPredicate
* Add fallback content-type to pass typecheck
* Clean up upsertProfile types
* Align types
* Use dangerousIsType
* Use dangerousIsType
* Use asPredicate
* Align types
* Convert findLast
* Align types
* Just ignore type errors and use findLast
* Rename atproto -> bsky
* Add validate util
* Fix type error
* Loosen types
* Export post
* rename atp bsky
* Remove unused code
* minor changes
* Bump deps
* Fix types
* Tighten back up loose check
* Tighten back up loose check
* Fix small bug
* Update comment
* Revert change
---------
Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
* Add interaction settings screen
* Move header out of interaction settings form
* WIP hook it up
* Thread through default settings into composer
* Update copy pasta
* Handle edited state
* Copy feedback
* Sentence case
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update copy
* Bump SDK
* Fix new type error
* Less in your face
* Remove new dep
* Add slot
* Copy edit
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* update eslint config with jsx runtime
* leverage jsx transform to remove unnecessary react imports and update eslint config
* run yarn lint --fix to remove eslint disables related to react/prop-types that is now disabled
* start building storybook
* add title
* add some styles
* try out new icons
* more settings list component parts
* make text do the spacing
* clean up storybook
* gated new settings screen
* switch account
* add current profile
* use Layout.Screen
* Layout.Header and Layout.Content
* translate helpdesk text
thanks @surfdude29!
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* add account settings
* undo changes to export car dialog
* privacy and security screen
* Translate protect account stuff
Thanks @surfdude29!
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* content and media settings
* about settings
* 2fa copy
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* a11y and appearance
* use new components for appearance settings
* redesign accessibility settings
* Update ContentAndMediaSettings.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* add divider
* remove a11y and appearance middleman screen
* fix web settingslist styles
* new SettingsList.Group component
* explain how portal magic works
* hide pwioptout in old location
* Update Settings.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* replace gate with `IS_INTERNAL`
* add IS_INTERNAL to app-info.web
* fix profile area growing
* add close button to switch account
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* 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>
* 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