* Add lists and profilelist screens
* Implement lists screen and lists-list in profiles
* Add empty states to the lists screen
* Switch (mostly) from blocklists to mutelists
* Rework: create a new moderation screen and move everything related under it
* Fix moderation screen on desktop web
* Tune the empty state code
* Change content moderation modal to content filtering
* Add CreateMuteList modal
* Implement mutelist creation
* Add lists listings
* Add the ability to create new mutelists
* Add 'add to list' tool
* Satisfy the hashtag hyphen haters
* Add update/delete/subscribe/unsubscribe to lists
* Show which list caused a mute
* Add list un/subscribe
* Add the mute override when viewing a profile's posts
* Update to latest backend
* Add simulation tests and tune some behaviors
* Fix lint
* Bump deps
* Fix list refresh after creation
* Mute list subscriptions -> Mute lists
* top-level Makefile
The primary motivation here is the `build-web` command, which calls the
yarn build and then also copies over JS files. The Dockerfile does this
and I always forget when doing it manually.
* build-web: cp bundles in yarn command, not Makefile+Dockerfile
* Add keyboard shortcuts: new, escape, and hard break
* Add preferences modal
* Remove code accidentally re-added due to rebase
* Fix incorrect copy and lint
* Put stuff back so diffs are clearer
* Re-add invite codes to settings
* Address comments
* Tune the copy
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* React Native accessibility
* First round of changes
* Latest update
* Checkpoint
* Wrap up
* Lint
* Remove unhelpful image hints
* Fix navigation
* Fix rebase and lint
* Mitigate an known issue with the password entry in login
* Fix composer dismiss
* Remove focus on input elements for web
* Remove i and npm
* pls work
* Remove stray declaration
* Regenerate yarn.lock
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* setup sentry
* add sentry to transformIgnorePatterns to fix jest issues
* update README with sourcemap instructions
* only enable integrations on native
* fix sentry web
* remove testing code
* fix sentry authToken
* Switch over to paul's auth tokens temporarily (lol)
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Quick fix to prompt
* Add blocked accounts screen
* Add blocking tools to profile
* Blur avis/banners of blocked users
* Factor blocking state into moderation dsl
* Filter post slices from the feed if any are hidden
* Handle various block UIs
* Filter in the client on blockedBy
* Implement block list
* Fix some copy
* Bump deps
* Fix lint
* Add ScreenHider component
* Add blur attribute to UserAvatar and UserBanner
* Remove dead suggested posts component and model
* Bump @atproto/api@0.2.10
* Rework moderation tooling to give a more precise DSL
* Add label mocks
* Apply finer grained moderation controls
* Refactor ProfileCard to just take the profile object
* Apply moderation to user listings and banner
* Apply moderation to notifications
* Fix lint
* Tune avatar & banner blur settings per platform
* 1.24
* Switch android to use slide left/right animations on navigation
* Bump the repost icon down by a pixel
* Tune theme colors for contrast and darker bg on darkmode
* Move back handler to a point in the init flow that leads to more consistent capture of events
* Fix image share flow on android
* Fix lint
* Add todo about sharing not available
* Drop the android slide animation because it's too slow
* Fix 'flashes of white' in dark mode android
* Add alt text support and rework image layout
* Add additional BottomSheet implementation to account for nested Composer modal
* Use mobile gallery layout on mobile web
* Missing key
* Fix lint
* Move altimage modal into the standard modal system
* Fix overflow wrapping of images
* Fixes to the alt-image modal
* Remove unnecessary switch
* Restore old imagelayoutgrid code
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* add isLikedPressed flag to disallow like counter out of sync
* create revertible helper for updateDataOptimistically
* test implementation
* Update updateDataOptimistically() and apply to reposts
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* add prebuild command to package.json
* add ProfileTab navigator and screen
* add prop to remove back button from profile
* fix MyProfileTabNavigatorParams type
* fix dep array for rendering ProfileHeader
* just added ts-ignore
* enable opening drawer in profile tab
* clean up useNavigationTabState
* clean up code
* fix hideBackButton code flow
* WIP
* WIP
* Fix header offset on web
* Remove debug
* Fix web mobile feed and FAB layout
* Fix modals on mobile web
* Remove dead code
* Remove ios config that shouldnt be committed now
* Move bottom bar into its own folder
* Fix web drawer navigation and state behaviors
* Remove dark mode toggle from web drawer for now
* Fix search on mobile web
* Fix the logged out splash screen on mobile web
* Fixes to detox simulator
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Rework notifications to sync locally in full and give users better control
* Fix positioning of load more btn on web
* Improve behavior of load more notifications btn
* Fix to post rendering
* Fix notification fetch abort condition
* Add start of post-hiding by labels
* Create a standard postcontainer and improve show/hide UI on posts
* Add content hiding to expanded post form
* Improve label rendering to give more context to users when appropriate
* Fix rendering bug
* Add user/profile labeling
* Implement content filtering preferences
* Filter notifications by content prefs
* Update test-pds config
* Bump deps
* add android & ios folders to .gitignore
* delete android and ios dirs
* fix android build errors
* fix status bar color
* fix top cutoff on composer in android
* fix weird whitespace issue in post
* fix greyed out header android
* fix main feed getting cut off android
* fix swiping on main feed
* fix profile tabs switching on android
* A few app.json config items for iOS
* Update app.json for bgfetch
* make swiping work on android
* make splash screen cover
* add eas.json
* fix image container on android
* fix android status bar color
* use expo-splash-screen instead of react-native-splash-screen
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Add mobile UIs for invite codes
* Update invite code UIs for web
* Finish implementing invite code behaviors (including notifications of invited users)
* Bump deps
* Update web right nav to use real data; also fix lint
* Fix: handle validation failures correctly in feed-view
* Fix: convert the off-spec feed view to lex objects
* Fix to fetching all follows during init
* Bump @atproto/api@0.2.1
* Fix: properly group together like notifications
* 1.12
* Remove the hackcheck for upgrades
* Rename the PostEmbeds folder to match the codebase style
* Updates to latest lex refactor
* Update to use new bsky agent
* Update to use api package's richtext library
* Switch to upsertProfile
* Add TextEncoder/TextDecoder polyfill
* Add Intl.Segmenter polyfill
* Update composer to calculate lengths by grapheme
* Fix detox
* Fix login in e2e
* Create account e2e passing
* Implement an e2e mocking framework
* Don't use private methods on mobx models as mobx can't track them
* Add tooling for e2e-specific builds and add e2e media-picker mock
* Add some tests and fix some bugs around profile editing
* Add shell tests
* Add home screen tests
* Add thread screen tests
* Add tests for other user profile screens
* Add search screen tests
* Implement profile imagery change tools and tests
* Update to new embed behaviors
* Add post tests
* Fix to profile-screen test
* Fix session resumption
* Update web composer to new api
* 1.11.0
* Fix pagination cursor parameters
* Add quote posts to notifications
* Fix embed layouts
* Remove youtube inline player and improve tap handling on link cards
* Reset minimal shell mode on all screen loads and feed swipes (close#299)
* Update podfile.lock
* Improve post notfound UI (close#366)
* Bump atproto packages