Commit Graph

134 Commits (bbe9861eef0e9f44b31259cb92221ee4094afac2)

Author SHA1 Message Date
Paul Frazee b154d3ea21
Labeling & moderation updates [DRAFT] (#1057)
* First pass moving to the new labeling sdk (it compiles)

* Correct behaviors around interpreting label moderation

* Improve moderation state rendering

* Improve hiders and alerts

* Improve handling of mutes

* Improve profile warnings

* Add profile blurring to profile header

* Add blocks to test cases

* Render labels on profile cards, do not filter

* Filter profiles from suggestions using moderation

* Apply profile blurring to ProfileCard

* Handle blocked and deleted quote posts

* Temporarily translate content filtering settings to new labels

* Fix types

* Tune ContentHider & PostHider click targets

* Put a warning on profilecard label pills

* Fix screenhider learnmore link on mobile

* Enforce no-override on user avatar

* Dont enumerate profile blur-media labels in alerts

* Fixes to muted posts (esp quotes of muted users)

* Fixes to account/profile warnings

* Bump @atproto/api@0.5.0

* Bump @atproto/api@0.5.1

* Fix tests

* 1.43

* Remove log

* Bump @atproto/api@0.5.2
2023-08-03 22:08:30 -07:00
Paul Frazee 96280d5f1a
Improve the profile preview with "swipe up to view" and local cache optimization (#1096)
* Update the ProfilePreview to use a swipe-up to navigate

* Use the profile cache to optimize load performance

* Hack to align the header in the profile preview against the screen view

* Fix profiles cache logic to ensure cache is used

* Fix dark mode on profile preview
2023-08-03 10:25:17 -07:00
Ansh 3b8b562268
[APP-737] Accessible native dropdown menu (#988)
* fix comments

* add zeego package

* get basic native dropdown working

* add separator and icon components

* refined native dropdown component

* add android build properties to app.json

* move `PostDropdownBtn` to its own component

* fix selectors issue

* move `PostDropdownBtn` to its own component

* fix hitslop

* fix post dropdown hitslop

* fix android dropdown icons

* move `UserAvatar.tsx` to native dropdown

* use native dropdown in `ProfileHeader.tsx`

* use native dropdown in `PostThreadItem.tsx`

* use native dropdown in `UserBanner.tsx`

* use native dropdown in `CustomFeed.tsx`

* replace `testId` with `testID` (which is what is used everywhere)

* move `Settings.tsx` to use native dropdown

* create jest mocks for zeego

* create jest mock for `zeego/dropdown-menu`

* web styles for native dropdown

* remove example native dropdown

* adjust web styles

* fix propagation

* fix pressable in `Settings.tsx`

* animate dropdown on web

* add keyboard nav and hover styles

* add hitslop to constants

* add comments to NativeDropdown component

* temporarily removed android icons

* add testID to PostDropdownBtn

* add testID back to all NativeDropdown button implementations

* add postDropdownBtn testID

* add testID to dropdown items

* remove testID from dropdown menu item

* refactor home-screen tests for native dropdown

* refactor profile-screen tests for native dropdown

* refactor thread-muting tests for native dropdown

* refactor thread-screen tests for native dropdown

* fix dropdown color for post dropdown button

* remove icons from android dropdown menu

* fix `create-account.test.ts`

* fix `invite-codes.test.ts`
2023-07-28 16:00:37 -05:00
Ansh 38d78e16bf
Search custom feeds (#1031)
* paginate custom feeds

* basic search

* update `@atproto/api`

* use search from the API

* debounce search for 200ms
2023-07-28 10:29:37 -05:00
Logan Rosen 806be6f722
Bump react-native-paste-input; remove hack (#1051) 2023-07-25 09:45:38 -05:00
Ansh bb99a234e1
[APP-720] Paginate custom feeds (#1030)
* paginate custom feeds

* Fix loading state bug

* DRY code up
2023-07-21 17:39:06 -05:00
Eric Bailey 5a2401ada9 conditionally install husky 2023-07-13 15:55:30 -07:00
Eric Bailey c83573bf97 set up lint-staged via husky
(cherry picked from commit 98151fafbd9b248fce62f013cecd3d20d4d17006)
2023-07-13 15:35:56 -07:00
Paul Frazee f8d218e11a
Simulator fixes (#918)
* Update the mock server to use the dev-env to manage the server

* Fix list testIDs

* Fix the invite test construction

* Remove leftover test hardcode
2023-06-27 20:55:46 -05:00
Paul Frazee bfaa6d73f3
Improvements to the alt text behaviors in the composer (#910)
* Add an image preview in the alt modal

* Composer: add info about alt text and a green checkmark when done

* Shrink the alt visual indicator a bit so it doesnt obscure the image

* Fix typo

* Fix: avoid requiring multiple tabs to save alt text

* update react-native-screens

* Improve the alt text help tip

* Remove redundant hints

---------

Co-authored-by: Ansh Nanda <anshnanda10@gmail.com>
2023-06-27 09:52:49 -05:00
Ansh b9abd444e5
[APP-657] Add share list functionality (#863)
* replace delete list button text with icon

* fix mute list styling on desktop

* add share button to nav bar on a list

* fix styling when on profile

* bug: add key to ImageHorzList

* clean up code & refactor

* fix styling for ListItems

* create a reusable ListActions component for actions on a list

* remove dead styles

* add keys to ListActions

* add helpers to set list embed

* render list embeds

* fix list sharing on web

* make style prop optional in ListCard

* update `@atproto/api` to `0.3.13`
2023-06-26 12:15:39 -05:00
Ansh 08804f265e
[APP-690] better handling of post languages language filtering (#893)
* add SelectLangBtn

* memoized objects that are created to reduce re-creation on re-render

* add langs when uploading post

* only send the top 3 languages otherwise backend will throw error

* mv ContentLanguagesSettings to folder

* add post languages settings modal and state

* fix typos

* modify feed manip to also check langs label on post

* Fix tests

* Remove log

* Update feed-manip.ts

* Fix syntax errors

* UI tuneups

* Show the currently selected languages in the composer

* fix linting

* Use a bcp-47 matching function

* Fix a duplicate language issue

* Fix web

* Dont include lang in prompt

* Make select language btn an observer

* Keep device languages on top of language selection UIs

* Fix android build settings

* Enforce a max of 3 languages in posts

* Fix tests

* Fix types

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-06-23 12:48:52 -05:00
Logan Rosen 9b19a95e63
Bump @types/react to ^18 and adjust types (#889) 2023-06-22 12:40:32 -04:00
Tymoteusz Boba 272ddeb7e2
Upgrade Reanimated from 2.14.4 to 3.1.0 (#753)
* Update Reanimated API to v3

* Fix failing tests after updating Reanimated

* Include changes from package.json in Reanimated library to patch

* upgrade reanimated to 3.3.0

* remove patch

* upgrade bottom sheet

---------

Co-authored-by: Ansh Nanda <anshnanda10@gmail.com>
2023-06-14 16:35:06 -05:00
Logan Rosen 55cf53cfd5 Use native heading elements 2023-06-10 19:12:26 -04:00
Ansh 189fdb1789
fix linting & type errors (#819) 2023-05-31 17:19:08 -07:00
38elements e224569a11
Remove lodash.clonedeep in package.json (#652) 2023-05-30 20:19:09 -05:00
Paul Frazee 762ab3d385 Update yarn.lock 2023-05-30 18:20:11 -05:00
Ansh 724951e2f0
stick to bottom sheet version 4.4.5 (#777) 2023-05-30 14:37:40 -05:00
Logan Rosen a89129fcf6
Fix button to find people to follow (#806) 2023-05-30 13:55:06 -05:00
Paul Frazee dfb39e7c4f Add feed discovery page 2023-05-24 22:09:39 -05:00
Paul Frazee 0b8dd95f2a Bump deps again 2023-05-18 18:22:34 -05:00
Paul Frazee df3b988157 Update yarn.lock 2023-05-17 13:42:09 -05:00
Paul Frazee 7aa1d9010e Merge branch 'main' into custom-algos 2023-05-17 12:30:54 -05:00
Matin Zadeh Dolatabad c1fe12f5bf
chore: update expo-image to 1.2.3 (#664)
Issue: https://github.com/expo/expo/pull/22491
2023-05-17 09:19:59 -05:00
Ansh Nanda 52c72d6532 cleanup package.json 2023-05-16 23:46:29 -07:00
Ollie H 5f66adc9a6
Replace image picker with expo-image-picker (#649)
* Replace image picker with expo-image-picker

* Fix cropper & picker on web

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-16 17:38:32 -05:00
Ansh Nanda 25a9013380 add react-native-draggable-flatlist package 2023-05-16 13:41:14 -07:00
Paul Frazee 75007d8fae
[APP-643] Account preferences server sync (#615)
* Bump deps

* Bump deps

* Add server sync of content preferences and an adult content toggle
2023-05-11 17:52:38 -05:00
Paul Frazee ebcd633386
[APP-635] Mutelists (#601)
* 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
2023-05-11 16:08:21 -05:00
Ollie H b0ebb6c9d1
Update web image editor (#588)
* Update web image editor

* Delete type-assertions.ts

* Re-add getKeys

* Uncomment rotation code

* Revert "Uncomment rotation code"

This reverts commit 6269f3b928c2e5cacaf5d0ff5323fe975ee48eab.

* Shuffle dependencies and update mobile resolution

* Update ImageEditor modal layout for mobile

* Avoid accidental closes of the EditImage modal

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-09 14:55:44 -05:00
Paul Frazee 7a176b3fdf
[APP-615] COPPA-compliant signup (#570)
* Rework account creation to be COPPA compliant

* Fix lint

* Switch android datepicker to use the spinner mode

* Fix type signatures & usages
2023-05-08 17:25:57 -05:00
Ollie H 95f8360d19
Add keyboard shortcuts: new, escape, and hard break (#552)
* 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>
2023-05-02 23:00:18 -05:00
Ollie H 83959c595d
React Native accessibility (#539)
* 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>
2023-05-01 20:38:47 -05:00
Ansh c75c888de2
[APP-527] setup sentry (#532)
* 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>
2023-05-01 14:42:31 -05:00
Paul Frazee 7171d0404e
App store fixes (permission descriptions) (#557)
* Fix permission usage descriptions on iOS

* Bump ios build number
2023-05-01 13:13:58 -05:00
Paul Frazee a95c03e280
Implement blocks (#554)
* 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
2023-04-28 20:03:13 -05:00
Paul Frazee 1d50ddb378
Refactor moderation to apply to accounts, profiles, and posts correctly (#548)
* 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
2023-04-27 12:38:23 -05:00
Ollie Hsieh afd87a6390
Add undo to web composer (#542) 2023-04-27 09:27:33 -05:00
Paul Frazee 1b356556c9
Performance fixes with new getPosts (#525)
* Update notifications to fetch in a batch using getPosts

* Improve search perf with getPosts

* Bump @atproto/api@0.2.9

* Just use post uri for key
2023-04-24 17:02:58 -05:00
Paul Frazee da8af38dcc
Android & visual fixes: color themes, repost icon, navigation, back handler, etc (#519)
* 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
2023-04-24 16:36:05 -05:00
Paul Frazee bbc2ab334d
Hotfix feed sizing (#510)
* Fix home feed sizing on web

* Bump api@0.2.8
2023-04-21 19:34:07 -05:00
Ollie Hsieh f0706dbe9f
Add alt text support and rework image layout (#503)
* 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>
2023-04-21 16:20:06 -05:00
Ansh 1472bd4f17
#420: add updateDataOptimistically utility to disallow like counter out of sync (#446)
* 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>
2023-04-19 15:58:24 -05:00
Paul Frazee 75fd653be3
Rework search suggestions for performance (#492) 2023-04-18 18:29:54 -05:00
Paul Frazee a79dcd3d38
Fix: sanitize URLs before placing them on the page (#488) 2023-04-15 09:24:03 -07:00
Paul Frazee d70182a996 Bump deps 2023-04-12 20:29:33 -07:00
John Fawcett f6769b283f
Mobile Web (#427)
* 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>
2023-04-12 18:27:55 -07:00
Paul Frazee 2fed6c4021
Add first round of labeling tools (#467)
* 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
2023-04-12 18:26:38 -07:00
Ansh a20d034ba5
Expo Updates (#426)
* install expo-updates

* configure expo-updates
2023-04-11 12:14:28 -07:00