* 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>
* Support emoji in text with custom font
* Add emoji support to elements that need it
* Remove unused file causing lint failure
* Fix a few more emoji locations
* Couple more
* No throw
* 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
* use appropriate icons for toasts
* use info for session expiry
* tweak size
* message -> safeMessage
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* replace threadgate modal with alf dialog
* add accessibility to selectable
* add aria
* hide spinner once fetched
* add `hasOpenDialogs` value to context
* remove state
* Rm loading state
* Update the threadgate dialog button theming
* Factor out the threadgate editor and add editing to post views
* Mark messages for localization
* Use colors from mute dialog
* Remove unnecessary effect
* Reset state on dialog dismiss
* Clearer CTA
* Fix bugs
* Scope keyboard fix
* Rm getAreDialogsActive (no longer needed)
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Only enable keyboard controller when necessary
* make it screen only
* rm keyboard padding
* rm keyboardpadding file
* revert using keyboard controller in composer
* remove styles.outer (unnecessary for revert)
* continue to use keyboard padding in the report dialog for dms
---------
Co-authored-by: Hailey <me@haileyok.com>
* fix nits in add/remove users from list screen
invert check
use `ViewHeader`
simplify
replace with hairline width
fix top border width for user list updates
* dont use `ViewHeader`
* update one more hairline
* fix depreciated import
* add animations to old dropdown
* wrap modals in fullwindowoverlay
* move errors inside header
* add background to bottom bar and stop overlap
* nest dialogs on android
* fix android (wrap in gesturehandlerrootview)
* make borders all the same color
* revert threadgate button back to solid
* add checkbox to create privileged app password
* add indicator to privileged app pwds to list
* bump api
* oops missed the yarnlock
* adjust modal padding
* lowercase
* one more lowercase
---------
Co-authored-by: Hailey <me@haileyok.com>
* 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>
* 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>
* 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
* uitextview use library w/ fixes
bump
bump
multiple uitextview fixes
* bump
* Open share sheet on link long press
* rm package manager field
* add link warning to longpress
---------
Co-authored-by: Hailey <me@haileyok.com>
* Use ALF for account quick switch
* clean up modal type
* add haptics to dialog opening
* move account list to it's own component and share
* make tick slightly darker
* use @discord/bottom-sheet
* add @types/invariant
* some progress on keyboard dialog
* rework
rework
add a comment
use discord bottom sheet
* remove `@gorhom/bottom-sheet`
* remove android specific code
* organize imports