Commit graph

51 commits

Author SHA1 Message Date
Ansh
a8bbaa06c7
[APP-705] Metrics revamp pt2 (#896)
* export track function from analytics.tsx

* fix create account tracking

* fix tracking sign in

* add custom feed events

* fix type errors

* refactor create post event

* add profile follow & unfollow events

* refactor PostsFeedSliceModel into its own file

* refactor PostThreadItemModel into its own file

* reorganize code a lil bit

* refactor post-thread-item to use post-feed-item model under the hood

* add post events

* add post reply tracking

* track custom feed load more

* track list subscribe and unsubscribe
2023-06-27 10:11:05 -05:00
Logan Rosen
9b19a95e63
Bump @types/react to ^18 and adjust types (#889) 2023-06-22 12:40:32 -04:00
Eric Bailey
896aea9837 feat: add home feed preferences settings modal and tuners 2023-06-16 15:01:43 -05:00
Paul Frazee
e8843ded5b
Fix a bunch of type errors and add a type-check to the github workflows (#837)
* Add yarn type-check

* Rename to yarn typecheck

* Fix a collection of type errors

* Add typecheck to automated tests

* add `dist` to exluded folders tsconfig

---------

Co-authored-by: Ansh Nanda <anshnanda10@gmail.com>
2023-06-02 15:01:04 -05:00
Paul Frazee
3217c7ff32
More custom-feed behavior fixes [APP-678] (#831)
* Remove extraneous custom-feed health check

* Fixes to custom feed preference sync

* Fix lint

* Remove dead code (client-side suggested posts constructor)

* Enforce the feed-fetch limit in the client if the generator fails to observe the parameter

* Bump the number of items fetched in the multifeed per feed from 5 to 10

* Reset the currently active feed when the pinned feeds change

* Some fixes to icons

* Add a prompt to load latest to the multifeed

* Remove debug
2023-06-02 09:48:53 -05:00
Paul Frazee
e9c84a192b
Fixes to feed preference and state sync [APP-678] (#829)
* Remove extraneous custom-feed health check

* Fixes to custom feed preference sync

* Fix lint

* Fix to how preferences are synced to enable membership modifications
2023-06-01 14:46:13 -05:00
Josh Soref
c808721938
Spelling (#772)
* spelling: account

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: activated

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: additional

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: appropriate

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: bskyweb

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: description

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: display

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: highlighted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: locally-hosted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: notification

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: occurring

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: parenthetical

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: preexisting

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: prefetched

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: punctuation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: simplicity

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-05-30 14:46:43 -05:00
Ansh Nanda
bcedbbc8b3 error for custom feed when it is not valid or offlien 2023-05-25 19:01:37 -07:00
Ansh Nanda
4cd9a4493e add empty state for custom feed 2023-05-25 18:48:40 -07:00
Paul Frazee
257686f360 Add feeds tab 2023-05-25 20:02:37 -05:00
Paul Frazee
e89103915d Update load latest to show when there's new activity with an indicator 2023-05-25 01:30:48 -05:00
Ansh Nanda
64e303d911 optimistic updates for liking custom feeds 2023-05-22 16:35:37 -07:00
Paul Frazee
3c89dd40f9 Fix lint 2023-05-18 16:54:17 -05:00
Paul Frazee
84990c509e Drop the hard-coded what's hot algo 2023-05-18 15:12:18 -05:00
Paul Frazee
5537d19e55 Update saved feeds to use preferences 2023-05-18 14:39:04 -05:00
Paul Frazee
2fd3b4ca04 Clean up the custom-feed model 2023-05-17 14:55:04 -05:00
Paul Frazee
9c02fbb925 Unify the display name fallback behavior 2023-05-17 14:38:23 -05:00
Paul Frazee
b672006f7e Reorganize custom-feed state models and add the missing _reactKey attribute 2023-05-17 13:52:16 -05:00
Paul Frazee
7aa1d9010e Merge branch 'main' into custom-algos 2023-05-17 12:30:54 -05:00
Ansh Nanda
3501fda015 allow changing pinned feed order on web 2023-05-16 23:38:34 -07:00
Ansh Nanda
5397447ca7 fix unliking 2023-05-16 16:30:14 -07:00
Ansh Nanda
3f41d3db26 make sure state is being synced across components 2023-05-16 16:07:07 -07:00
Ansh Nanda
f2e39d8ad2 allow for pinning saved feeds 2023-05-16 15:50:52 -07:00
Ansh Nanda
8071ae313d like/unlike improvements WIP 2023-05-15 22:39:47 -07:00
Ansh Nanda
c4a666c221 new design for custom feed preview 2023-05-15 17:59:36 -07:00
Ansh Nanda
6249bb16ca remove tab bar underline animation 2023-05-15 12:31:27 -07:00
Ansh Nanda
d7e39bde12 saved feeds in tab bar 2023-05-15 11:00:54 -07:00
Ansh Nanda
5010861160 custom feed screen 2023-05-15 10:42:23 -07:00
Ansh Nanda
8948118d5c view all saved algos in settings 2023-05-13 12:25:06 -07:00
Ansh Nanda
047024a5ac create algo-item model and redefine data models 2023-05-13 11:59:08 -07:00
Ansh Nanda
760b5309e0 show algos by user on profile 2023-05-12 19:32:39 -07:00
Ansh Nanda
fa4af20764 remove unncessary code from actorFeedModel 2023-05-12 17:22:53 -07:00
Ansh Nanda
06ce42158e actor feeds model 2023-05-12 17:21:17 -07:00
Ansh Nanda
be6d48a57e bookmarked feeds model 2023-05-12 17:21:11 -07: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
Paul Frazee
6f1c4ec9a9
[APP-549] Language controls for Whats Hot (#563)
* Add a content-language preference control

* Update whats hot to only show the selected languages and to refresh on lang pref changes

* Fix lint

* Fix tests

* Add missing accessibility role
2023-05-02 23:06:55 -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
Paul Frazee
9b86cb5c36
Fix: dont request more than 25 posts at a time (close [APP-561]) (#534) 2023-04-25 20:47:37 -05:00
Paul Frazee
26cef73b5c
If adding the user's post when empty, just refresh (#530) 2023-04-24 20:07:58 -05:00
Paul Frazee
7a10762716
Rework how recently-created posts are added to the feed (repeat posts issue) (#527)
* Rework new-post behavior to just add the user's created post to the top

* Only add post to top when not a reply

* Fix: run update in action
2023-04-24 19:41:16 -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
5085861b9a
Feed fixes: repeat posts & nonreplies showing up in the wrong place (#516)
* Fix the repeat posts issue on the home feed

* Fix: replies no longer show up in the no-replies feed
2023-04-22 18:35:12 -05:00
Paul Frazee
22884b53ad
Thread muting [APP-29] (#500)
* Implement thread muting

* Apply filtering on background fetched notifs

* Implement thread-muting tests
2023-04-20 17:16:56 -05:00
Paul Frazee
04e0ebe8fc
Feed and notifs improvements (#498)
* Reduce frequency of the notifications sync

* Reduce frequency of home feed polling

* Ensure loading spinner is visible in notifications

* Render notifications loading spinner in the flatlist

* Fixes and performance improvements to notifications

* Render 30+ on notifications if at max

* Fix issue with repeating posts in home feed

* Dont check for unread notifs if we're already at max
2023-04-19 20:11:10 -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
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
Paul Frazee
b7648cfe73
Fix repost rendering (#405) 2023-04-06 16:28:45 -05:00
Paul Frazee
25cc5b997f
Rework the me.follows cache to reduce network load (#384) 2023-04-03 19:50:46 -05:00
Paul Frazee
b12cd53a4d
Improve "Load more" error handling in feeds (#379)
* Add explicit load-more error handling to posts feed

* Add explicit load-more error handling to notifications feed

* Properly set hasMore to false after an error
2023-04-03 15:57:17 -05:00