Commit Graph

836 Commits (2eb0d8c095b70b7ec39b7a1acbd126457dea9322)

Author SHA1 Message Date
Paul Frazee 308b1e8beb Remove explicit 'onboarding' flow 2023-03-17 15:18:46 -05:00
Paul Frazee b711a49df9 Add soft reset on tap selected in tab bar 2023-03-17 15:17:28 -05:00
Paul Frazee 201c21df6d Reduce home polling to the currently active page; also reuse some code 2023-03-17 15:14:17 -05:00
Paul Frazee 93b334cce4 Use the native driver on the tabbar indicator to improve perf 2023-03-17 15:02:43 -05:00
Paul Frazee 4a16b179e2 Add the view header as a feed item 2023-03-17 14:53:58 -05:00
Paul Frazee 44fcdca06a Fix to 'new posts' poll 2023-03-17 14:41:04 -05:00
Paul Frazee c3ed0dc44c Move the feed selector to the footer 2023-03-17 14:03:16 -05:00
Paul Frazee 244b06c19d Visual tune-up 2023-03-16 22:02:44 -05:00
Paul Frazee 71209bb3ac Implement popular & following views on home screen 2023-03-16 21:47:11 -05:00
Paul Frazee ad9da82612 Add tab bar to pager 2023-03-16 19:54:32 -05:00
Paul Frazee f01d43f9e8 Get home screen's swipable pager working with the drawer 2023-03-16 19:09:19 -05:00
Paul Frazee c50a20d214 Refactor feed manipulation and rendering to be more robust (#297) 2023-03-16 15:54:06 -05:00
Paul Frazee 93df983692 Disable the drawer and reset the nav when the user logs out or switches accounts 2023-03-16 11:41:59 -05:00
Paul Frazee 64c8689a29 Update team handles and fetch more data in discovery 2023-03-15 17:29:38 -05:00
Paul Frazee 4f20a17b6e Tune up notification badge rendering 2023-03-15 16:39:45 -05:00
Paul Frazee 474b4b7840 Optimize and refactor profile rendering a bit 2023-03-15 15:46:39 -05:00
Paul Frazee 8a279b8d2c Temporarily disable swipe gesture on profiles 2023-03-15 15:34:57 -05:00
Paul Frazee 3c05a08482 Logout bug hunt (#294)
* Stop storing the log on disk

* Add more info to the session logging

* Only clear session tokens from storage when they've expired

* Retry session resumption a few times if it's a network issue

* Improvements to the 'connecting' screen
2023-03-15 15:05:13 -05:00
Paul Frazee 94741cdded Temporary hackfix for desktop search 2023-03-14 17:35:58 -05:00
Paul Frazee 8d2e649b4d Create build step for the web server (#289)
* Create build step for the web server

* Update bskyweb routes and 404 behavior
2023-03-14 17:30:15 -05:00
Paul Frazee 528e14fe90 Handle logged out mobile web better 2023-03-14 14:59:37 -05:00
Paul Frazee 41f4385db9 Fix multiline input in composer 2023-03-14 14:38:02 -05:00
Paul Frazee 5bbb980250 Fix mentions in web 2023-03-14 14:36:31 -05:00
Paul Frazee b4e5179c9c A couple small fixes 2023-03-14 13:34:05 -05:00
Paul Frazee 617d93fb48 Add waitlist signup 2023-03-14 13:30:20 -05:00
Paul Frazee b838c786e0 Delete dead code 2023-03-14 13:14:56 -05:00
Paul Frazee 1b7292e1db Fix lint, tsc; delete dead code 2023-03-14 13:13:46 -05:00
Paul Frazee c73d1e80b1 Remove dead code 2023-03-14 13:12:42 -05:00
Paul Frazee 4eb9eb006c Fix redundant filename 2023-03-14 13:12:13 -05:00
Paul Frazee 7ff4e91363 Move the shell-ui model to the ui folder 2023-03-14 13:11:46 -05:00
Paul Frazee cf30c66c33 Move the profile-ui model to the new ui folder 2023-03-14 13:11:04 -05:00
Paul Frazee acf0f80de2 Rework account creation and login views 2023-03-14 13:03:43 -05:00
Paul Frazee d55780f5c3 Tune the logged out web view 2023-03-14 08:37:34 -05:00
Paul Frazee 774fb83719 Rework logged out state to preserve routing and work for web 2023-03-13 23:30:12 -05:00
Paul Frazee b5c64a03b6 Notification count fixes 2023-03-13 21:46:16 -05:00
Paul Frazee 6533d7dd08 Add /support and /support/privacy 2023-03-13 20:34:01 -05:00
Paul Frazee 56cf890deb Move to expo and react-navigation (#288)
* WIP - adding expo

* WIP - adding expo 2

* Fix tsc

* Finish adding expo

* Disable the 'require cycle' warning

* Tweak plist

* Modify some dependency versions to make expo happy

* Fix icon fill

* Get Web compiling for expo

* 1.7

* Switch to react-navigation in expo2 (#287)

* WIP Switch to react-navigation

* WIP Switch to react-navigation 2

* WIP Switch to react-navigation 3

* Convert all screens to react navigation

* Update BottomBar for react navigation

* Update mobile menu to be react-native drawer

* Fixes to drawer and bottombar

* Factor out some helpers

* Replace the navigation model with react-navigation

* Restructure the shell folder and fix the header positioning

* Restore the error boundary

* Fix tsc

* Implement not-found page

* Remove react-native-gesture-handler (no longer used)

* Handle notifee card presses

* Handle all navigations from the state layer

* Fix drawer behaviors

* Fix two linking issues

* Switch to our react-native-progress fork to fix an svg rendering issue

* Get Web working with react-navigation

* Refactor routes and navigation for a bit more clarity

* Remove dead code

* Rework Web shell to left/right nav to make this easier

* Fix ViewHeader for desktop web

* Hide profileheader back btn on desktop web

* Move the compose button to the left nav

* Implement reply prompt in threads for desktop web

* Composer refactors

* Factor out all platform-specific text input behaviors from the composer

* Small fix

* Update the web build to use tiptap for the composer

* Tune up the mention autocomplete dropdown

* Simplify the default avatar and banner

* Fixes to link cards in web composer

* Fix dropdowns on web

* Tweak load latest on desktop

* Add web beta message and feedback link

* Fix up links in desktop web
2023-03-13 16:01:43 -05:00
Paul Frazee 503e03d91e No longer a beta 2023-03-08 13:03:59 -06:00
Paul Frazee ff20981288 Fix lint 2023-03-07 17:18:49 -06:00
Paul Frazee 181121b451 Another set of UI updates (FAB returns, a few others) (#281)
* Bring back the FAB and move compose out of the footer

* Increase the touch target sizes of the header back btns (close #279)

* Trigger 'load more' sooner (close #280)
2023-03-07 17:17:44 -06:00
Paul Frazee e74f94bc72 Big batch of UI updates (#276)
* Replace react-native-root-toast with a custom toast that fits the visual style

* Tune dark mode colors

* Tune colors a bit more

* Move the reply prompt to a fixed position in the footer

* Fully hide muted posts but give a control to show anyway (close #270)

* Improve thread rendering (better clarity on reply lines)

* Add follower/following counts to side menu

* Fix issues with display name overflows
2023-03-07 15:52:24 -06:00
Paul Frazee 2f3fc4fe4e Handle-change modal with custom domain support (#273)
* Dont append the server's domain name when a custom domain is used

* Update the settings look & feel and add a tool to remove accounts from the switcher

* Try not rendering the bottomsheet when no modal is active.

There are cases where the bottomsheet decides to show itself when
it's not supposed to. It seems obvious to do what this change is
doing -- just dont render bottomsheet if no modal is active -- but
previously we experienced issues with that approach. This time it
seems to be working, so we're gonna yolo try it.

* Implement a handle-change modal with support for custom domains (closes #65)
2023-03-06 21:37:48 -06:00
Paul Frazee 20de7782ba Fix typo 2023-03-06 15:46:44 -06:00
Paul Frazee bb6bd905c2 Fix: fetch follows before everything else to avoid rendering follow buttons wrongly 2023-03-06 15:40:52 -06:00
Paul Frazee e069bde75c Tune the menu's dark mode bg color 2023-03-06 15:39:58 -06:00
Paul Frazee 6980bb0827 Fix the darkmode icon in the menu 2023-03-06 15:38:52 -06:00
Paul Frazee 36791e68b3 Onboarding tweaks (#272)
* Small fix to side menu rendering

* Change onboarding to use an explicit 'is onboarding' mode to more clearly control the flow

* Add a progress bar to the welcome banner

* Dont show the 'unfollow button' on posts in weird times (close #271)

* Improve the empty state of the feed

* Only suggest recent posts
2023-03-06 15:34:22 -06:00
Paul Frazee 74c30c60b8 Show replies in the main feed if they have 2 or more upvotes (#269) 2023-03-06 14:49:42 -06:00
Paul Frazee f84a379376 Factor out the bottom bar and layer it under the side menu (close #243) (#268) 2023-03-06 11:59:06 -06:00
Paul Frazee eeac64cc88 Look & feel updates: replace the "FAB" with a footer menu item, update the side menu (#263)
* Remove old tab controls from the mobile shell

* Add 'compose' and 'profile' to the footer; remove the FAB

* Fix lint

* Tune the footer icons

* Tune the 'current' state of footer icons

* Add 2xl text styles

* Tune the footer icons a bit more

* Fix lint

* More footer tuning
2023-03-06 10:54:56 -06:00
Paul Frazee c7560ae2f7 Add an x button to the search to clear the input 2023-03-03 14:38:59 -08:00
Paul Frazee 8e22ce8e2a Turn links to posts into quote posts (#262)
* Turn links to posts into quote posts

* Fix lint
2023-03-03 16:30:33 -06:00
arcalinea d74ff9c219 New user constants (#260)
* update users

* update

* With constructed intro feed, only grab 20 random suggested users to avoid perf issues

* Don't 'check for latest' in the feed with the suggestions feed

* Show/hide the welcome banner on account change (close #257)

---------

Co-authored-by: Jay Graber <arcalinea@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-03-03 15:37:17 -06:00
Paul Frazee 69d6774277 Move the translate item to the top of the menu 2023-03-03 13:19:00 -08:00
Paul Frazee a9920d9630 Add translate link to post menu (#261)
* Add a google translate menu item to posts

* Fix: make sure the dropdown menu is always visible (when low on the screen)
2023-03-03 15:13:31 -06:00
Paul Frazee c2bfa111ac Remove replies from the home feed (#259)
* Remove replies from the home feed (close #252)

* Increase the 'load more' threshhold
2023-03-03 14:43:18 -06:00
Paul Frazee b1fa1b633f Fix dark mode ellipsis on posts 2023-03-03 12:05:38 -08:00
Paul Frazee fd9d6327b4 Edit profile fixes (#258)
* Fix: only clear banner or avi when requested in edit profile

* Set the default snap points to 90% to ensure the modal never fails to raise
2023-03-03 14:02:40 -06:00
Ansh e592e59f4e 72-delete-avatar-and-cover (#255)
* allow to delete profile pic

* allow for removing banner
2023-03-02 18:53:18 -06:00
Ansh aeb04a2ed0 make authorAvatar optional prop (#254) 2023-03-02 18:51:13 -06:00
Paul Frazee 403c187cf5 Minor improvements to web autocomplete in composer 2023-03-02 16:43:19 -08:00
Ansh 75174a6c37 73-post-embeds (#253)
* update api to 0.1.3

* add repost modal with reposting functionality

* add quote post UI

* allow creation and view of quote posts

* Validate the post record before rendering a quote post

* Use createdAt in quote posts for now

* add web modal support

* Tune the quote post rendering

* Make did and declarationCid optional in postmeta

* Make did and declarationCid optional in postmeta

* dont allow image or link preview if quote post

* Handle no-text quote posts

* Tune the repost modal

* Tweak composer post text

* Fix lint

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-03-02 18:09:48 -06:00
Paul Frazee f539659ac8 Quick fixes to dark mode character counter colors 2023-03-02 13:59:44 -08:00
Paul Frazee ea4ec26683 Increase network timeouts (closes #248) (#249)
* Increase network timeouts (close #248)

* Fix: on post error only update the ext link card if it's in use
2023-03-02 13:31:16 -06:00
Paul Frazee 06e09facfe Trim whitespace from the invite code (close #245) (#247) 2023-03-02 12:42:52 -06:00
Ansh bd9386d81c New onboarding (#241)
* delete old onboarding files and code

* add custom FollowButton component to Post, FeedItem, & ProfileCard

* move building suggested feed into helper lib

* show suggested posts/feed if follower list is empty

* Update tsconfig.json

* add pagination to getting new onboarding

* remove unnecessary console log

* fix naming, add better null check for combinedCursor

* In locally-combined feeds, correctly produce an undefined cursor when out of data

* Minor refactors of the suggested posts lib functions

* Show 'follow button' style of post meta in certain conditions only

* Only show follow btn in posts on the main feed and the discovery feed

* Add a welcome notice to the home feed

* Tune the timing of when the welcome banner shows or hides

* Make the follow button an observer (closes #244)

* Update postmeta to keep the follow btn after press until next render

* A couple of fixes that ensure consistent welcome screen

* Fix lint

* Rework the welcome banner

* Fix cache invalidation of follows model on user switch

* Show welcome banner while loading

* Update the home onboarding feed to get top posts from hardcode recommends

* Drop unused helper function

* Update happy path tests

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-03-02 12:21:33 -06:00
Paul Frazee 9b46b2e6a9 A couple various fixes (#242)
* Fix: set the status bar color for dark mode when logging in

* Add some logging

* Improve read/unread tracking behaviors in notifications
2023-03-01 16:54:50 -06:00
Paul Frazee df712a89d3 Fixes to dark mode (#238) 2023-03-01 10:35:56 -06:00
Paul Frazee d054b1baf8 Fix tests for march 1st 2023-03-01 08:35:25 -08:00
Paul Frazee dc7b5a34e7 Add a temporary lexicon refactor guard (#235)
* Add a temporary lexicon refactor guard

* Fix test

* Fix tsconfig formatting
2023-02-28 11:57:49 -06:00
Paul Frazee fcd8c7b037 Remove leftover log 2023-02-28 09:08:36 -08:00
Paul Frazee dcfc13f8d0 Add analytics identify() call with hashed email 2023-02-28 09:03:44 -08:00
Paul Frazee d375a45859 Fix analytics in native build 2023-02-27 11:08:01 -06:00
Paul Frazee f7d2a8935c Better fix to native modals 2023-02-27 10:59:19 -06:00
Paul Frazee be121da134 Fix to native modals 2023-02-27 10:54:44 -06:00
Paul Frazee 0bbdaa9ea4 Fix import 2023-02-27 10:47:39 -06:00
Paul Frazee dc6cdeae60 Fix lint 2023-02-27 10:45:59 -06:00
Paul Frazee 55a8a8fa4c Sync browser navigation with app 2023-02-24 17:47:53 -06:00
Paul Frazee dcd396153c Clean up desktop web header search 2023-02-24 12:25:02 -06:00
Paul Frazee 70e74efe69 Hold off on customizing web feed rendering for now 2023-02-24 11:51:35 -06:00
Paul Frazee 9bda3b72d0 Simplify the desktop search screen 2023-02-24 11:49:25 -06:00
Paul Frazee d97e233518 Fixes to lineheight on web to counteract emoji issues 2023-02-24 11:40:43 -06:00
Paul Frazee 80bd3398d7 Remove the desktop right column for now 2023-02-24 11:29:27 -06:00
Paul Frazee fa115c1cba Fix region sizing on web 2023-02-24 10:10:21 -06:00
Paul Frazee 3e19728618 Replace some old modal models that got missed 2023-02-24 10:07:01 -06:00
Michael Staub 693cbb9f18 Merge branch 'rnw' of github.com:bluesky-social/social-app into rnw 2023-02-23 16:34:25 -08:00
Michael Staub e11f360376 feat: implement DesktopSearch component 2023-02-23 16:32:46 -08:00
Paul Frazee bbd0b03a46 Update modal com name 2023-02-23 17:29:34 -06:00
Paul Frazee 154c34e915 Rework modals to support multiple active 2023-02-23 17:22:03 -06:00
Paul Frazee b4f2a6979a Add setImmediate polyfill to web, fixing dropdown items 2023-02-23 16:42:52 -06:00
Paul Frazee 4182edfd7e Implement image uploading in the web composer 2023-02-23 16:02:31 -06:00
Michael Staub f709c50809 fix: browser history 2023-02-23 13:52:12 -08:00
Paul Frazee 0f293ecf95 Show a 'not available for mobile web' screen (temporary) 2023-02-23 12:39:10 -06:00
Paul Frazee a014b4e6cb Tweak approach to the viewheader 2023-02-23 12:26:25 -06:00
Paul Frazee ac655a0cf4 Web: go lighter for now, ditch the composer prompt in feed 2023-02-23 10:48:50 -06:00
Paul Frazee 86652c071a Missed in last commit 2023-02-23 10:25:24 -06:00
Paul Frazee 5f92180058 Move all of the web left-nav shell into the header 2023-02-23 10:19:21 -06:00
Paul Frazee 9bf48ed595 Change web shell to use permanent header 2023-02-23 09:38:02 -06:00
Paul Frazee e828f380e7 Update web header and search 2023-02-23 01:07:20 -06:00
Paul Frazee c5f28376c8 Rework web shell ui 2023-02-22 23:37:14 -06:00
Paul Frazee 9bfffadd88 Fix temporary web useAnalytics hook 2023-02-22 21:23:22 -06:00
Paul Frazee 2db7ad8ef3 Fix ref forwarding in web 2023-02-22 21:21:17 -06:00
Paul Frazee f28334739b Merge main into the Web PR (#230)
* Update to RN 71.1.0 (#100)

* Update to RN 71

* Adds missing lint plugin

* Add missing native changes

* Bump @atproto/api@0.0.7 (#112)

* Image not loading on swipe (#114)

* Adds prefetching to images

* Adds image prefetch

* bugfix for images not showing on swipe

* Fixes prefetch bug

* Update src/view/com/util/PostEmbeds.tsx

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* Fixes to session management (#117)

* Update session-management to solve incorrectly dropped sessions

* Reset the nav on account switch

* Reset the feed on me.load()

* Update tests to reflect new account-switching behavior

* Increase max image resolutions and sizes (#118)

* Slightly increase the hitslop for post controls

* Fix character counter color in dark mode

* Update login to use new session.create api, which enables email login (close #93) (#119)

* Replaces the alert with dropdown for profile image and banner (#123)

* replaces the alert with dropdown for profile image and banner

* lint

* Fix to ordering of images in the embed grid (#121)

* Add explicit link-embed controls to the composer (#120)

* Add explicit link-embed controls

* Update the target rez/size of link embed thumbs

* Remove the alert before publishing without a link card

* [Draft] Fixes image failing on reupload issue (#128)

* Fixes image failing on reupload issue

* Use tmp folder instead of documents

* lint

* Image performance improvements (#126)

* Switch out most images for FastImage

* Add image loading placeholders

* Fix tests

* Collection of fixes to list rendering (#127)

* Fix bug that caused endless spinners in profile feeds

* Bundle fetches of suggested actors into one update

* Fixes to suggested follow rendering

* Fix missing replacement of flex:1 to height:100

* Fixes to navigation swipes (#129)

* Nav swipe: increase the distance traveled in response to gesture movement.

This causes swipes to feel faster and more responsive.

* Fix: fully clamp the swipe against the edge

* Improve the performance of swipes by skipping the interaction manager

* Adds dark mode to the edit screen (#130)

* Adds dark mode to edit screen

* lint

* lint

* lint

* Reduce render cost of post controls and improve perceived responsiveness (#132)

* Move post control animations into conditional render and increase perceived responsiveness

* Remove log

* Adds dark mode to the dropdown (#131)

* Adds dark mode to the bottom sheet

* Make background button lighter (like before)

* lint

* Fix bug in lightbox rendering (#133)

* Fix layout in onboarding to not overflow the footer

* Configure feed FlatList (removeClippedSubviews=true) to improve scroll performance (#136)

* Disable like/repost animations to see if theyre causing #135 (#137)

* Composer: mention tagging now works in middle of text (close #105) (#139)

* Implement account deletion (#141)

* Fix photo & camera permission management (#140)

* Check photo & camera perms and alert the user if not available (close #64)

- Adds perms checks with a prompt to update settings if needed
- Moves initial access of photos in the composer so that the initial prompt
  occurs at an intuitive time.

* Add react-native-permissions test mock

* Fix issue causing multiple access requests

* Use longer var names

* Update podfile.lock

* Lint fix

* Move photo perm request in composer to the gallery btn instead of when the carousel is opened

* Adds more tracking all around the app (#142)

* Adds more tracking all around the app

* more events

* lint

* using better analytics naming

* missed file

* more fixes

* Calculate image aspect ratio on load (#146)

* Calculate image aspect ratio on load

* Move aspect ratio bounds to constants

* Adds detox testing and instructions (#147)

* Adds detox testing and instructions

* lint

* lint

* Error cleanup (close #79) (#148)

* Avoid surfacing errors to the user when it's not critical

* Remove now-unused GetAssertionsView

* Apply cleanError() consistently

* Give a better error message for Upstream Failures (http status 502)

* Hide errors in notifications because they're not useful

* More e2e tests (create account) (#150)

* Adds respots under the 'post' tab under profile (#158)

* Adds dark mode to delete account screen (#159)

* 87 dark mode edit profile (#162)

* Adds dark mode to delete account screen

* Adds one more missed darkmode

* more fixes

* Remove fallback gradient on external links without thumbs (#164)

* Remove fallback gradient on external links without thumbs

* Remove fallback gradient on external links without thumbs in the composer preview

* Fix refresh behavior around a series of models (repost, graph, vote) (#163)

* Fix refresh behavior around a series of models (repost, graph, vote)

* Fix cursor behavior in reposted-by view

* Fixes issue where retrying on image upload fails (#166)

* Fixes issue where retrying on image upload fails

* Lint, longer test time

* Longer waitfor time in tests

* even longer timeout

* longer timeout

* missed file

* Update src/view/com/composer/ComposePost.tsx

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* Update src/view/com/composer/ComposePost.tsx

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* 154 cached image profile (#167)

* Fixes issue where retrying on image upload fails

* Lint, longer test time

* Longer waitfor time in tests

* even longer timeout

* longer timeout

* missed file

* Fixes image cache error on second try for profile screen

* lint

* lint

* lint

* Refactor session management to use a new "Agent" API (#165)

* Add the atp-agent implementation (temporarily in this repo)

* Rewrite all session & API management to use the new atp-agent

* Update tests for the atp-agent refactor

* Refactor management of session-related state. Includes:
- More careful management of when state is cleared or fetched
- Debug logging to help trace future issues
- Clearer APIs overall

* Bubble session-expiration events to the user and display a toast to explain

* Switch to the new @atproto/api@0.1.0

* Minor aesthetic cleanup in SessionModel

* Wire up ReportAccount and ReportPost (#168)

* Fixes embeds for youtube channels (#169)

* Bump app ios version to 1.1 (needed after app store submission)

* Fix potential issues with promise guards when an error occurs (#170)

* Refactor models to use bundleAsync and lock regions (#171)

* Fix to an edge case with feed re-ordering for threads (#172)

* 151 fix youtube channel embed (#173)

* Fixes embeds for youtube channels

* Tests for youtube extract meta

* lint

* Add 'doesnt use non-exempt encryption' to ios config

* Rework the search UI and add  (#174)

* Add search tab and move icon to footer

* Remove subtitles from view header

* Remove unused code

* Clean up UI of search screen

* Search: give better user feedback to UI state and add a cancel button

* Add WhoToFollow section to search

* Add a temporary SuggestedPosts solution using the patented 'bsky team algo'

* Trigger reload of suggested content in search on open

* Wait five min between reloading discovery content

* Reduce weight of solid search icon in footer

* Fix lint

* Fix tests

* 151 feat youtube embed iframe (#176)

* youtube embed iframe temp commit

* Fixes styling and code cleanup

* lint

* Now clicking between the pause and settings button doesn't trigger the parent

* use modest branding (less yt logos)

* Stop playing the video once there's a navigation event

* Make sure the iframe is unmounted on any navigation event

* fixes tests

* lint

* Add scroll-to-top for all screens (#177)

* Adds hardcoded suggested list (#178)

* Adds hardcoded suggested list

* Update suggested-actors-view to support page sizes smaller than the hardcoded list

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* more robust centering of the play button (#181)

Co-authored-by: Aryan Goharzad <arrygoo@gmail.com>

* Bundle of UI modifications (#175)

* Adjust visual balance of SuggestedPosts and WhoToFollow

* Fix bug in the discovery load trigger

* Adjust search header aesthetic and have it scroll away

* More visual balance tweaks on the search page

* Even more visual balance tweaks on the search page

* Hide the footer on scroll in search

* Ditch the composer prompt buttons in the home feed

* Center the view header title

* Hide header on scroll on the home feed

* Fix e2e tests

* Fix home feed positioning (closes #189) (#195)

* Fix home feed positioning for floating header

* Fix positioning of errors in home feed

* Fix lint

* Don't show new-content notification for reposts (close #179) (#197)

* Show the splash screen during session resumption (close #186) (#199)

* Fix to suggested follows: chunk the hardcoded fetches to 25 at a time (close #196) (#198)

* UI updates to the floating action button (#201)

* Update FAB to use a plus icon and not drop shadow

* Update FAB positioning to be more consistent in different shell modes

* Animate the FAB's repositioning

* Remove the 'loading' placeholder from images as it degraded feed perf (#202)

* Remove the 'loading' placeholder from images as it degraded feed perf

* Remove references

* Fix RN bug that causes home feed not to load more; also fix home feed load view. (#208)

RN has a bug where rendering a flatlist with an empty array appears to break its
virtual list windowing behaviors. See https://stackoverflow.com/a/67873596

* Only give the loading spinner on the home feed during PTR (#207)

(cherry picked from commit b7a5da12fdfacef74873b5cf6d75f20d259bde0e)

* Implement our own lifecycle tracking to ensure it never fires while the app is backgrounded (close #193) (#211)

* Push notification fixes (#210)

* Fix to when screen analytics events are firing

* Fix: dont trigger update state when backgrounded

* Small fix to notifee API usage

* Fix: properly load notification info for push card

* Add feedback link to main menu (close #191) (#212)

* Add "follows you" information and sync follow state between views (#215)

* Bump @atproto/api@0.1.2 and update API usage

* Add 'follows you' pill to profile header (close #110)

* Add 'follows you' to followers and follows (close #103)

* Update reposted-by and liked-by views to use the same components as followers and following

* Create a local follows cache MyFollowsModel to keep views in sync (close #205)

* Add incremental hydration to the MyFollows model

* Fix tests

* Update deps

* Fix lint

* Fix to paginated fetches

* Fix reference

* Fix potential state-desync issue

* Fixes to notifications (#216)

* Improve push-notification for follows

* Refresh notifications on screen open (close #214)

* Avoid showing loader more than needed in post threads

* Refactor notification polling to handle view-state more effectively

* Delete a bunch of tests taht werent adding value

* Remove the accounts integration test; we'll use the e2e test instead

* Load latest in notifications when the screen is open rather than full refresh

* Randomize hard-coded suggested follows (#226)

* Ensure follows are loaded before filtering hardcoded suggestions

* Randomize hard-coded suggested profiles (close #219)

* Sanitizes posts on publish and render (#217)

* Sanatizes posts on publish and render

* lint

* lint and added sanitize to thread view as well

* adjusts indices based on replaced text

* Woops, fixes a bug

* bugfix + cleanup

* comment

* lint

* move sanitize text to later in the flow

* undo changes to compose post

* Add RichText library building upon the sanitizePost library method

* Add lodash.clonedeep dep

* Switch to RichText processing on record load & render

* Fix lint

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

* A group of notifications fixes (#227)

* Fix: don't group together notifications that can't visually be grouped (close #221)

* Mark all notifications read on PTR

* Small optimization: useCallback and useMemo in posts feed

* Add loading spinner to footer of notifications (close #222)

* Fix to scrolling to posts within a thread (#228)

* Fix: render the entire thread at start so that scrollToIndex works always (close #270)

* Visual fixes to thread 'load more'

* A few small perf improvements to thread rendering

* Fix lint

* 1.2

* Remove unused logger lib

* Remove state-mock

* Type fixes

* Reorganize the folder structure for lib and switch to typescript path aliases

* Move build-flags into lib

* Move to the state path alias

* Add view path alias

* Fix lint

* iOS build fixes

* Wrap analytics in native/web splitter and re-enable in all view code

* Add web version of react-native-webview

* Add web split for version number

* Fix BlurView import for web

* Add web split for fastimage

* Create web split for permissions lib

* Fix for web high priority images

---------

Co-authored-by: Aryan Goharzad <arrygoo@gmail.com>
2023-02-22 14:23:57 -06:00
Paul Frazee 7916b26aad Break out the web/native image picking code and make some progress on the web version 2023-01-27 15:51:24 -06:00
Paul Frazee 0673129b20 Fix import paths 2023-01-27 00:19:58 -06:00
Paul Frazee 99360f7bd9 Implement basic web composer 2023-01-27 00:16:07 -06:00
Paul Frazee 5961c26800 Update 'load latest' btn for web 2023-01-26 23:24:37 -06:00
Paul Frazee e6b63e3f53 Update compose prompts for web 2023-01-26 23:04:38 -06:00
Paul Frazee cd96c94d3a Add the user profile to the left nav 2023-01-26 22:40:39 -06:00
Paul Frazee 4b33cdb7ec Implement modals for web 2023-01-26 22:25:38 -06:00
Paul Frazee 24559599f3 Implement web toast 2023-01-26 22:08:10 -06:00
Paul Frazee 20eaac6acd Add lightbox for web 2023-01-26 21:54:47 -06:00
Paul Frazee 883d5749ed Update login/create-account and onboard for web 2023-01-26 21:03:50 -06:00
Paul Frazee df57c69f06 Update layouts on a bunch of views 2023-01-26 20:33:47 -06:00
Paul Frazee 9659625e8e Fix background in web scroll elements and update settings screen for web 2023-01-26 20:16:37 -06:00
Paul Frazee f7e3b1451e Add web version of the header 2023-01-26 20:04:11 -06:00
Paul Frazee a3df8840ea Fix repost icon on web 2023-01-26 19:50:04 -06:00
Paul Frazee f51ad28025 Add right column of web shell and tweak left column 2023-01-26 19:49:16 -06:00
Paul Frazee c24d0254bc Add left column of web shell 2023-01-26 19:06:46 -06:00
Paul Frazee 20ccb03427 Fix to blurviews 2023-01-26 18:15:43 -06:00
Paul Frazee d04a6d7539 Add web layout components 2023-01-26 17:55:15 -06:00
Paul Frazee 57d876a530 Fix: move imports and constants for the api-polyfill over from their old location 2023-01-26 17:38:25 -06:00
Paul Frazee a3d2db9645 Get MVP of web app running 2023-01-26 12:53:46 -06:00
Paul Frazee 751dfb20fd Add web polyfills 2023-01-26 12:36:27 -06:00
Paul Frazee d6ec627c8c Update web build and web-specific components; RNW now builds 2023-01-26 12:12:27 -06:00
Paul Frazee 7e3f6f0306 Fix all type errors 2023-01-26 11:25:52 -06:00
Paul Frazee 32be661d87 Brand tuning: switch from "blueprint B" to "cloud imagery" (#96)
* Switch app icon to bluesky image

* Update splash screen to clouds

* Update login screen to use branding

* Lighten the shadows in the brand imagery
2023-01-25 19:01:16 -06:00
Paul Frazee 67e9b3596d Fix: dont dedup reposts that are in threads, as that can cause rendering issues (close #71) 2023-01-25 17:57:53 -06:00
Paul Frazee e08a46f0c6 Add a sanity check to avoid bad references, close #77 2023-01-25 17:49:22 -06:00
Paul Frazee 1090783f91 Fix pagination and rendering of suggested follows (#95) 2023-01-25 17:46:14 -06:00
Aryan Goharzad eb33c3fa81 Saves image on long press (#83)
* Saves image on long press

* Adds save on long press

* Forking lightbox

* move to wrapper only to the bottom sheet to reduce impact of this change

* lint

* lint

* lint

* Use official `share` API

* Clean up cache after download

* comment

* comment

* Reduce swipe close velocity

* Updates per feedback

* lint

* bugfix

* Adds delayed press-in for TouchableOpacity
2023-01-25 17:25:34 -06:00
Aryan Goharzad adf328b50c Adds darkmode support for "Liked by" screen (#94)
* Adds darkmode support for "Liked by" screen

* changes based on feedback

* variable naming
2023-01-25 16:54:22 -06:00
Paul Frazee 5f18931915 Push notification & session management cleanup (#92)
* Add some temporary logging to help suss out the session drop issue

* Fix to session resumption: copy session tokens during a resumeSession attempt

* Factor out notifee display into a lib and add to storybook

* Tune the bg notifications fetch to only get what is needed

* Fix: run account update inside a mobx action

* Remove debugging logs for sessions

* Fixes to bg notifications fetch
2023-01-25 11:31:09 -06:00
Paul Frazee 869f6c4e0e Initial pass at push notifications + some fixes to the session management (#91)
* Fix: test the session during resume to ensure it's valid

* Don't delete sessions for now

* Add notifee and request notif permissions on first login

* Set unread notifications badge on app icon

* Trigger a notifee card on new notifications

* Experimental: use react-native-background-fetch to check for notifications

* Add missing mocks

* Fix to resumeSession()
2023-01-24 19:32:24 -06:00
Paul Frazee 21f5f4de15 Add basic analytics (#89)
* Add basic analytics

* Fix: add mock for analytics
2023-01-24 13:58:35 -06:00
Paul Frazee f36c956536 Resolve all remaining lint issues (#88)
* Rework 'navIdx' variables from number arrays to strings to avoid equality-check failures in react hooks

* Resolve all remaining lint issues

* Fix tests

* Use node v18 in gh action test
2023-01-24 13:00:11 -06:00
Aryan Goharzad 3a90114f3a more prettier and lint cleanup (#82)
* more prettier and lint cleanup

* Fixes more lint issues

* lint

* ignore more files

* remove todos

* lint
2023-01-24 11:03:18 -06:00
Paul Frazee 9027882fb4 Account switcher (#85)
* Update the account-create and signin views to use the design system.

Also:
- Add borderDark to the theme
- Start to an account selector in the signin flow

* Dark mode fixes in signin ui

* Track multiple active accounts and provide account-switching UI

* Add test tooling for an in-memory pds

* Add complete integration tests for login and the account switcher
2023-01-24 09:06:27 -06:00
Aryan Goharzad 439305b57e Removes white space from around images (#81)
* Removes white space from around images

* Add a subtle border
2023-01-23 20:17:37 -06:00
Aryan Goharzad 06e41167d0 Lints some errors and warnings (#76) 2023-01-20 13:43:28 -06:00
Aryan Goharzad 2fce1637b4 Fixes embed links for twitter and tiktok (#74) 2023-01-20 12:54:30 -06:00
Paul Frazee d4b9ef3b0a Only use cursors supplied by the server (ref #59) 2023-01-20 10:39:00 -06:00
Paul Frazee c4cca8cf6c Sanity check selector swipes 2023-01-20 10:15:59 -06:00
Paul Frazee 56747263df More layout fixes in notifications 2023-01-20 08:40:41 -06:00
Paul Frazee db4109a5ea Spacing fix of expanded notifications 2023-01-20 08:36:15 -06:00
Paul Frazee c2e7dd8f48 Fix font color of expanded notifs 2023-01-20 08:35:35 -06:00
Paul Frazee 620d5bb102 Fix text color in composer 2023-01-19 20:08:43 -06:00
Paul Frazee 142b5dfc1b Fix a case where the 'aborted' error message was getting through 2023-01-19 17:55:00 -06:00
Paul Frazee ddcc719192 Fix: taps on images in the composer now register even when input is focused 2023-01-19 17:46:45 -06:00
Paul Frazee 41f76a68e3 Fix: new post doesnt open images selector 2023-01-19 17:37:24 -06:00
Paul Frazee 570b76a71d Add the ability to paste images into the composer (#56) 2023-01-19 17:36:49 -06:00
Paul Frazee 15589d216f Fix error logs 2023-01-19 17:05:36 -06:00
Paul Frazee 6dcf9f8d5b Fixes to likes list 2023-01-19 16:54:30 -06:00
Paul Frazee a24b29d64b Fixes to reposted-by list 2023-01-19 16:50:16 -06:00
Paul Frazee c11bfc7541 Fixes to follows listing 2023-01-19 16:39:40 -06:00
Paul Frazee aec0f1c3ba Fixes to the followers list view 2023-01-19 16:38:12 -06:00
Paul Frazee 80f58cf9f3 Fix: ensure all views can scroll to the bottom 2023-01-19 15:21:06 -06:00
Paul Frazee 2972fd8372 Update load latest to match sizing and aesthetic better 2023-01-19 15:10:15 -06:00
Paul Frazee 8d7566f200 Visual tweaks to post prompts 2023-01-19 14:28:11 -06:00
Paul Frazee 39e996ed8e Fix weird bar at top of composer in dark mode 2023-01-19 14:17:15 -06:00
Paul Frazee 43ef1756c1 Fix bad ref 2023-01-19 14:17:00 -06:00
Paul Frazee 3f95f98ef9 Change post prompt to a set of buttons (#55) 2023-01-19 14:08:53 -06:00
Aryan Goharzad f10a8308d9 Fixes youtube embed issues (#50)
* fixes youtube embed

* move extractMetaHtml test to its own file

* tests cleanup

* Add fallback for youtube meta data

* lint

* Check for youtube in the url domain

* use hostname instead of full url to check for link domain

* checks only for domain
2023-01-19 12:53:11 -06:00
Paul Frazee 9230d52ff5 Improve link meta fetching for bsky links (#54)
* Add share dropdown item to profiles

* Temporary improvement for links to content on the network

* Enlarge text slightly on embed cards
2023-01-19 12:30:28 -06:00
Paul Frazee f969e746f7 Clean up the settings page 2023-01-19 11:49:53 -06:00
Paul Frazee 1c5c2622bf Improve the 'expand avis' animation in the notifications 2023-01-19 11:41:24 -06:00
Paul Frazee d2db9baacc Fix missing key in list 2023-01-19 11:35:37 -06:00
Paul Frazee 74ab6530d4 Add the ability to expand/collapse users in notifications 2023-01-19 11:34:07 -06:00
Paul Frazee 1ed82b6c59 Tune the empty state visuals 2023-01-19 10:50:21 -06:00
Paul Frazee f47751ad42 Tweak compose prompt spacing 2023-01-19 10:40:55 -06:00
Paul Frazee 2798250489 Post layout tweaks (#53)
* Increase left margin on feed and embiggen avis

* Decrease feed margins a bit

* Tweak post bottom margin

* Update loading placeholder to match feed

* Update 'view full thread' positioning

* Update postthread to match feed layout

* Update notifications and individual post to match new layout

* Add missing aborted check
2023-01-19 10:35:57 -06:00
Paul Frazee 6588961d2e Update composer to preview external link cards (#52)
* Fetch external link metadata during compose so the user can preview and remove the embed

* Add missing mocks

* Update tests to match recent changes
2023-01-18 18:14:46 -06:00
Paul Frazee 27ee550d15 Enlarge avatars in the notifications 2023-01-18 17:06:17 -06:00
Paul Frazee bda32c1ceb Remove log 2023-01-18 16:52:00 -06:00
Paul Frazee ebc2033d18 Handle post deletions by removing from active views (close #37) 2023-01-18 16:45:48 -06:00
Paul Frazee ace0e6bfd9 Fix image compression (close #41) 2023-01-18 14:54:55 -06:00
Paul Frazee 1898d5dbaa Keep the composer image selector open after choosing an image 2023-01-18 14:47:59 -06:00
Paul Frazee d0364c09ad Hackfix around 'images too large' issue 2023-01-18 14:47:42 -06:00
Paul Frazee bf03167ca6 Update compose prompt for isual balance and to include image button 2023-01-18 13:57:53 -06:00
Paul Frazee 9d6c4698a1 Lighten the button gradients a bit 2023-01-18 13:30:50 -06:00
Paul Frazee c97045a21a Fix to text consistency in composer 2023-01-18 13:22:34 -06:00
Paul Frazee 726ff6bb01 Focus the text input on tap during the composer 2023-01-18 13:21:23 -06:00
Paul Frazee 302acaccb6 Remove all links from post meta to ensure taps are more consistent 2023-01-18 13:10:08 -06:00
Paul Frazee 6a01e0529b Prettier profile headers (no standard header) 2023-01-18 12:56:53 -06:00
Paul Frazee 990c824648 Move the grays from a red undertone to blue 2023-01-18 12:40:51 -06:00
Paul Frazee a51354e6e6 Update gradients to use a more consistent blue theme 2023-01-18 12:32:48 -06:00
Paul Frazee 77580ab6a4 Rework all typography 2023-01-18 11:15:40 -06:00
Paul Frazee df4acbd683 Merge branch 'improved-lightbox' into main 2023-01-17 21:18:25 -06:00
Paul Frazee 7328e80825 Fix an issue that caused the shelf menu to show up at random 2023-01-17 21:01:52 -06:00
Paul Frazee 80e035cede Remove leftover code 2023-01-17 20:47:43 -06:00
Paul Frazee 065d7ef629 Improve lightbox... and update to React Native 0.71.0 (#49)
* Switch to a better lightbox implementation (close #42)

* Upgrade to react-native 0.71.0

* Update (or remove low-value) tests
2023-01-17 20:40:02 -06:00
Paul Frazee a13f9bf091 Upgrade to react-native 0.71.0 2023-01-17 20:21:11 -06:00
Paul Frazee b449ab842f Switch to a better lightbox implementation (close #42) 2023-01-17 19:34:12 -06:00
Paul Frazee 61682d5846 Add images to the post in the right order 2023-01-17 18:35:48 -06:00
Paul Frazee bccc8a64d0 Give a more sensible default crop in the post image picker (related #39) 2023-01-17 18:35:37 -06:00
Paul Frazee fb334b1b3f Add profile menuitem to main menu (close #47) 2023-01-17 16:55:43 -06:00
Paul Frazee 5da45cd8cd Fix to extraneous home feed polling 2023-01-17 16:49:11 -06:00
Paul Frazee 41337f6d17 Visual improvements to post embeds for external links 2023-01-17 16:42:32 -06:00
Paul Frazee 90ac2fe1fc Group together notifications more aggressively 2023-01-17 16:25:10 -06:00
Paul Frazee 5a5835f561 Fix left-alignment on notifications 2023-01-17 16:22:34 -06:00