Commit graph

290 commits

Author SHA1 Message Date
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
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
bd80db619b
Pre-web image changes refactor (#560)
* Pre-web image changes refactor

* Remove unneeded async behavior
2023-05-02 16:27:00 -05:00
Ollie H
dbb3c5c155
Image alt text view modal (#551)
* Image alt text view modal

* Minor style tweaks

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-01 13:59:17 -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
7a2c21026d
Load previous state in alt text modal (#546) 2023-04-27 09:51:47 -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
f33a355a1a
[APP-562] Persist 'copied' state of invite codes (#535)
* Persist 'copied' state of invite codes (close APP-562)

* Dont show copied message if invite used
2023-04-25 20:47:07 -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
df1791bde2
Update hardcoded suggested actors (#524)
* Update the hardcoded suggested follows

* Update the suggested actors to just use hardcoded list since there's now the foaf system
2023-04-24 18:49:11 -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
renahlee
57c87ba7cf Update client staging URL 2023-04-24 10:55:35 -07: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
d35f7c1f1a
Android fixes (#515)
* Fix profile screen performance on android and remove dead code

* Correctly handle android hardware back btn

* Fix EditProfile modal for android

* Fix lint
2023-04-22 17:14:20 -05:00
Paul Frazee
2b96279103
Fix link opening (#512) 2023-04-21 20:28:19 -05:00
Ansh
38eb299011
[APP-522] Create & revoke App Passwords within settings (#505)
* create and delete app passwords

* add randomly generated name

* Tweak copy and layout of app passwords

* Improve app passwords on desktop web

* Rearrange settings

* Change app-passwords route and add to backend

* Fix link

* Fix some more desktop web

* Remove log

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-04-21 18:55:29 -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
Paul Frazee
0f5735b616
Fix profile link 404s on session change & handle change [APP 523] (#507)
* Use DID to link to the user profile to gracefully handle... handle changes

* Reset nav state on active profile change
2023-04-21 12:21:38 -05:00
Paul Frazee
e02c926c8a
Improvements to notifications screen [APP-520] (#501)
* Refresh or sync notifications when the tab is navigated to

* Fix to bad textnode render

* Speed up initial session load

* Fix lint

* Restore updateSessionState() on session resumption
2023-04-20 17:36:25 -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
b40287e4be
[APP 513] Label tuning (#496)
* Label updates: break out sexual into 3 categories; tune defaults; improve descriptions

* Fix misapplication of warning in notifications
2023-04-19 14:27:54 -05:00
Paul Frazee
75fd653be3
Rework search suggestions for performance (#492) 2023-04-18 18:29:54 -05:00
Ollie Hsieh
2509290fdd
Split image cropping into secondary step (#473)
* Split image cropping into secondary step

* Use ImageModel and GalleryModel

* Add fix for pasting image URLs

* Move models to state folder

* Fix things that broke after rebase

* Latest -- has image display bug

* Remove contentFit

* Fix iOS display in gallery

* Tuneup the api signatures and implement compress/resize on web

* Fix await

* Lint fix and remove unused function

* Fix android image pathing

* Fix external embed x button on android

* Remove min-height from composer (no longer useful and was mispositioning the composer on android)

* Fix e2e picker

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-04-17 15:41:44 -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
Paul Frazee
e27cd0098f Fix: correctly track when profile state was last updated 2023-04-07 11:10:03 -05:00
Paul Frazee
4b98992257
Update AtUri import to use official package with fix for usernames that start with numbers (close #414) (#418) 2023-04-07 10:30:58 -05:00
Paul Frazee
b84533090d Small fix: run in action 2023-04-07 08:59:32 -05:00
Paul Frazee
b7648cfe73
Fix repost rendering (#405) 2023-04-06 16:28:45 -05:00
Paul Frazee
ea04c2bd33
Add user invite codes (#393)
* 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
2023-04-05 18:56:02 -05:00
Paul Frazee
8e28d3c6be
Analytics fixes (closes #386) (#387)
* Only send analytics events when the user is logged in

* Only send analytics events when the user is logged in (web)

* Add analytics identify() call
2023-04-05 11:15:22 -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
Paul Frazee
2045c615a8
Reorganize state models for clarity (#378) 2023-04-03 15:21:17 -05:00
Paul Frazee
cc7b2a246e Lex refactor fixes (#368)
* 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
2023-04-02 14:20:19 -05:00
Paul Frazee
a3334a01a2 Lex refactor (#362)
* 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
2023-03-31 13:17:26 -05:00
Paul Frazee
f6f1fe2558 Feed updates (Closes #344) (#356)
* Rework feed polling to correctly detect when new content is available (close #344)

* Tweak how the tuner works for consistency

* Improve the feed-update behavior after posting

* Load latest notifications when opening the tab
2023-03-22 15:46:49 -05:00
Paul Frazee
449f9243f3 Filter content by your device's configured languages (#354) 2023-03-22 13:23:12 -05:00
Paul Frazee
4f814207bc Merge the suggested actors model with the general suggestion system (#343) 2023-03-21 19:18:15 -05:00
Paul Frazee
a7e3ce2585 Add fulltext search for posts and profiles (closes #340) (#342)
* Refactor mobile search screen

* Remove 'staleness' fetch trigger on search

* Implement a temporary fulltext search solution

* Add missing key from profile search result

* A few UI & UX improvements to the search suggestions

* Update web search suggestions

* Implement search in web build
2023-03-21 17:58:50 -05:00
Paul Frazee
48e18662f6 Fix bug in checking for latest 2023-03-21 13:51:27 -05:00
Paul Frazee
eab855ffff A few fixes to ensure threads show up as often as possible 2023-03-21 13:47:17 -05:00
Paul Frazee
1e34e62259 Elide long threads in the feed (close #333) 2023-03-21 13:36:27 -05:00
Paul Frazee
858d4c8c88 Introduce an image sizes cache to improve feed layouts (close #213) (#335)
* Introduce an image sizes cache to improve feed layouts (close #213)

* Clear out resolved promises from the image cache
2023-03-21 12:59:10 -05:00
Paul Frazee
91b360fd19 Fix: poll for unread notifications globally (close #303) (#330) 2023-03-20 16:18:42 -05:00
Paul Frazee
1de724b24b Add custom feeds selector, rework search, simplify onboarding (#325)
* Get home screen's swipable pager working with the drawer

* Add tab bar to pager

* Implement popular & following views on home screen

* Visual tune-up

* Move the feed selector to the footer

* Fix to 'new posts' poll

* Add the view header as a feed item

* Use the native driver on the tabbar indicator to improve perf

* Reduce home polling to the currently active page; also reuse some code

* Add soft reset on tap selected in tab bar

* Remove explicit 'onboarding' flow

* Choose good stuff based on service

* Add foaf-based follow discovery

* Fall back to who to follow

* Fix backgrounds

* Switch to the off-spec goodstuff route

* 1.8

* Fix for dev & staging

* Swap the tab bar items and rename suggested to what's hot

* Go to whats-hot by default if you have no follows

* Implement pager and tabbar for desktop web

* Pin deps to make expo happy

* Add language filtering to goodstuff
2023-03-19 18:53:57 -05:00
Paul Frazee
c50a20d214 Refactor feed manipulation and rendering to be more robust (#297) 2023-03-16 15:54:06 -05:00