Commit graph

281 commits

Author SHA1 Message Date
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
1ab8f31517
Fix user avatar and banner selector on web (#490) 2023-04-18 15:27:42 -05:00
Ollie Hsieh
c2a4ffc99f
Quote post legibility (#486) 2023-04-18 12:53:47 -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
91fadadb58
Fix web home feed sizing and related issues (close #432) (#475)
* Fix web home feed sizing (close #432)

* Fix lint

* Fix positioning of profile not found error

* Fix load latest on mobile

* Fix overflow issues on mobile web (visible in postthread)

* Fix bottom pad on mobile web

* Remove old comment
2023-04-15 10:15:30 -07:00
Paul Frazee
a79dcd3d38
Fix: sanitize URLs before placing them on the page (#488) 2023-04-15 09:24:03 -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
Paul Frazee
a683c9e15f
replace react-native-fast-image with expo-image (#452) 2023-04-11 12:12:34 -07:00
Ansh
14c8473210
[DRAFT] Android (#424)
* 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>
2023-04-09 18:02:44 -07:00
Paul Frazee
ab11f206d8
Stripe checkmark emojis from display names (close #396) (#419) 2023-04-07 11:09:25 -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
2f519bd66e
Add tos, community guidelines, and copyright policy (#410)
* Add tos, community guidelines, and copyright policy

* Fix lint
2023-04-06 22:53:58 -05:00
Paul Frazee
7c99df33ad
Fix to post overflow on web (close #395) (#407) 2023-04-06 17:12:48 -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
25cc5b997f
Rework the me.follows cache to reduce network load (#384) 2023-04-03 19:50:46 -05:00
Paul Frazee
59e6b308c6
Fix: don't let the toast take pointer events (close #374) (#380) 2023-04-03 16:00:00 -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
John Fawcett
9652d994dd Fix click targets for post controls (#332) (#363)
* Fix click targets for post controls (#332)

* Add padding to the right side of the post controls

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-04-03 12:32:35 -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
a8a747ebcb Fix bad reference (close 348) (#353) 2023-03-22 10:49:39 -05:00
Paul Frazee
2dc774788b Move the feed selector to the header (#352)
* Reorg pager components into their own folder

* Move the feed selector to the header

* Fix lint
2023-03-22 10:46:09 -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
08d513e8c1 Fix default-banner sizing & positioning (#336) 2023-03-21 13:03:25 -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
d8f4475696 Fix default banner sizing 2023-03-20 16:20:29 -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
7ff4e91363 Move the shell-ui model to the ui folder 2023-03-14 13:11:46 -05:00
Paul Frazee
acf0f80de2 Rework account creation and login views 2023-03-14 13:03:43 -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
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
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
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
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
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
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
d97e233518 Fixes to lineheight on web to counteract emoji issues 2023-02-24 11:40:43 -06:00
Paul Frazee
fa115c1cba Fix region sizing on web 2023-02-24 10:10:21 -06:00
Paul Frazee
154c34e915 Rework modals to support multiple active 2023-02-23 17:22:03 -06:00
Paul Frazee
4182edfd7e Implement image uploading in the web composer 2023-02-23 16:02:31 -06: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
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