Commit graph

278 commits

Author SHA1 Message Date
Paul Frazee
8584009bae
Move home feed and thread preferences to server (#1507)
* Move home feed and thread preferences to server

* Fix thread usage of prefs

* Remove log

* Bump @atproto/api@0.6.16

* Improve type usage
2023-09-21 21:00:32 -07:00
Eric Bailey
8a5f9cd43d
Language settings updates, new primary language setting (#1471)
* move content languages to screen

* add dropdown library, style primary lang select

* update settings button

* show selected langauges in button

* use primary language in translator link

* update copy

* lint
2023-09-21 11:33:19 -07:00
Eric Bailey
e837a499f3
add suggested follows metrics (#1503) 2023-09-20 19:48:03 -07:00
Paul Frazee
5a945c2024
Prefilter the mergefeed to ensure a better mix of following and custom feeds (#1498)
* Prefilter the mergefeed to ensure a better mix of following and custom feeds

* Test suite improvements & tests for the mergefeed (#1499)

* Disable invite codes test for now

* Update test sim to latest iphone

* Introduce TestCtrls driver

* Add mergefeed tests
2023-09-20 19:47:56 -07:00
Eric Bailey
6df1bcad31
add suggested follow section to profile header (#1481)
* add suggested follow section to profile header

* fix button overflow

* don't even render on preview

* fix useFollowDid and FollowButton race condition

* add section header, close button, active state

* lighten icon
2023-09-20 19:16:11 -07:00
Paul Frazee
da8499c881
Add thread sort settings (#1475)
* Add thread sorting preferences

* UI tweaks

* Tweak settings

* Tune the copy
2023-09-19 12:24:58 -07:00
Foysal Ahamed
3c4899b3c4
🐛 Handle middle mouse click on feed list items (#1469)
* 🐛 Handle middle mouse click on feed list items

* ♻️ Refactor the event listener and turn it into a dedicated hook for web

* 🧹 Cleanup unnecessary Link changes

* Fix import

* Create native version of useAuxClick

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-09-18 14:34:12 -07:00
Paul Frazee
ea885339cf
Feed UI update working branch [WIP] (#1420)
* Feeds navigation on right side of desktop (#1403)

* Remove home feed header on desktop

* Add feeds to right sidebar

* Add simple non-moving header to desktop

* Improve loading state of custom feed header

* Remove log

Co-authored-by: Eric Bailey <git@esb.lol>

* Remove dead comment

---------

Co-authored-by: Eric Bailey <git@esb.lol>

* Redesign feeds tab (#1439)

* consolidate saved feeds and discover into one screen

* Add hoverStyle behavior to <Link>

* More UI work on SavedFeeds

* Replace satellite icon with a hashtag

* Tune My Feeds mobile ui

* Handle no results in my feeds

* Remove old DiscoverFeeds screen

* Remove multifeed

* Remove DiscoverFeeds from router

* Improve loading placeholders

* Small fixes

* Fix types

* Fix overflow issue on firefox

* Add icons prompting to open feeds

---------

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

* Merge feed prototype [WIP] (#1398)

* POC WIP for the mergefeed

* Add feed API wrapper and move mergefeed into it

* Show feed source in mergefeed

* Add lodash.random dep

* Improve mergefeed sampling and reliability

* Tune source ui element

* Improve mergefeed edge condition handling

* Remove in-place update of feeds for performance

* Fix link on native

* Fix bad ref

* Improve variety in mergefeed sampling

* Fix types

* Fix rebase error

* Add missing source field (got dropped in merge)

* Update find more link

* Simplify the right hand feeds nav

* Bring back load latest button on desktop & unify impl

* Add 'From' to source

* Add simple headers to desktop home & notifications

* Fix thread view jumping around horizontally

* Add unread indicators to desktop headers

* Add home feed preference for enabling the mergefeed

* Add a preference for showing replies among followed users only (#1448)

* Add a preference for showing replies among followed users only

* Simplify the reply filter UI

* Fix typo

* Simplified custom feed header

* Add soft reset to custom feed screen

* Drop all the in-post translate links except when expanded (#1455)

* Update mobile feed settings links to match desktop

* Fixes to feeds screen loading states

* Bolder active state of feeds tab on mobile web

* Fix dark mode issue

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Ansh <anshnanda10@gmail.com>
2023-09-18 11:44:29 -07:00
Paul Frazee
0672451ddc
Sanitize BIDI characters from display names (#1462) 2023-09-15 14:05:45 -07:00
Eric Bailey
8593f41f36
don't thread a self-repost of a self-reply (#1450)
* don't thread a self-repost of a self-reply

* typo
2023-09-15 09:34:12 -07:00
Ansh
188d4893f9
add React Query and hook up to existing functionality (#1358)
* add React Query and hook up to existing functionality

* wire in remote data, add error message

* remove hard-coded feeds

* oops fix logic

* add loading state

* fix loading on mobile

---------

Co-authored-by: Eric Bailey <git@esb.lol>
2023-09-15 09:32:44 -07:00
Eric Bailey
0e8d564555 link out to more context 2023-09-15 11:00:06 -05:00
Eric Bailey
01870883d6 clean up into hook 2023-09-14 18:15:17 -05:00
Eric Bailey
9a86f0dae4 simplify logic 2023-09-14 13:23:20 -05:00
Eric Bailey
a88ac217c2 fix theme switching on web without refresh 2023-09-14 12:55:47 -05:00
Ansh
4977a5d2a3
Fix 651 Make followers and following button into a <Link> (#1429)
* make followers and following button into a Link

* make buttons into `<a>` tags
2023-09-12 13:47:55 -07:00
Eric Bailey
21371081c6
fix theme flashing (#1417)
* fix theme flashing

* remove memo

* use AppState listener
2023-09-11 14:39:31 -07:00
Ansh
bcd63e710c
Lytic analytics migration (#1428)
* add new api event proxy

* add new apiHost for analytics web
2023-09-11 11:41:27 -07:00
Ansh
01775e5bff
add new api event proxy (#1400) 2023-09-11 22:36:49 +05:30
Bossett
775aa87540
Update time.ts to handle very small or negative time differences (#1390)
* Update time.ts to handle very small or negative time differences

Right now, posts can appear to be from the future with a negative time difference (i.e. -3s appears). This change defines 'NOW' as less than 5 seconds old, and returns 'now' in that case.

It's not clear how localisation is handled - this may need translation.

* Add test for 'now' in time/ago(...)

Add tests for ago() for right now (i.e. 'now') and 10s ago to ensure the seconds case is still tested
2023-09-08 08:57:22 -07:00
Eric Bailey
e3e91816d1
Upgrade to Expo 49 (#1331)
* update to expo 49

* update expo-camera to fix console erorrs

* run doctor again

* fix ts errors

* patch @sentry/react-native

Getting `cannot read property 'ignoreLogs' of undefined` in this file.
Ironically, this may be a cyclical imports problem. LogBox isn't enabled
in production, so this patch should only affect dev/test.

* fix type error

* reinstall newer reanimated

* pin expo-dev-client to fix reanimated dev-build issue

* fix type errors, fix bad conflict res

* Fix to notifications badge z-index on desktop

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-09-05 12:23:22 -07:00
Paul Frazee
764c7cd569
Updates to use dynamic/responsive styles on web (#1351)
* Move most responsive queries to the hook

* Fix invalid CSS value

* Fixes to tablet render of post thread

* Fix overflow issues on web

* Fix search header on tablet

* Fix QP margin in web composer

* Fix: only apply double gutter once to flatlist (close #1368)

* Fix styles on discover feeds header

* Fix double discover links in multifeed
2023-09-05 10:42:19 -07:00
Paul Frazee
419ac2d0df
Improved mute alerting (#1355)
* Use a simpler mute alert when viewing a post by a muted user

* Dont mute self-QPs when we're overriding a mute

* Fix types
2023-09-01 12:30:02 -07:00
Ansh
4ac82536c9
Fix 1304 refresh notifications when a notif is clicked or received (#1339)
* refresh notifications when a notif is clicked

* make notification syncing smarter

* allow enabled appview proxy on mobile

* put back syncqueue code
2023-08-30 18:04:33 -07:00
Paul Frazee
f9cab178b9 Merge branch 'ansh/app-812-add-custom-feed-discovery-to-onboarding' into main 2023-08-30 16:18:21 -07:00
Ansh
9446c67880
Move PreferencesHomeFeed to a screen instead of a modal (#1335)
* move `PreferencesHomeFeed` to a screen instead of a modal

* add web route for home feed preferences

* upgrade `@miblanchard/react-native-slider` to fix lint

* fix web route naming

* fix desktop web styling

* add `react-native-slider` mock
2023-08-30 15:21:12 -07:00
Paul Frazee
a29f10aefe
Moderation settings fixes (#1336)
* Default isAdultContentEnabled to false on all devices.

The original intent of setting the default based on the device was
to make the maximally-permissive choice. It turns out this was a
mistake as it created sync issues between devices; users would be
confused by the lack of congruity between them. We have to go with
false by default to ensure sync is retained.

* Update preferences model to use new sdk api

* Delete dead code

* Dont show the iOS adult content warning in content filtering settings if adult content is enabled

* Bump @atproto/api@0.6.8

* Codebase style consistency
2023-08-30 15:19:19 -07:00
Paul Frazee
8ed6e72ea4 More fixes to mobile onboard 2023-08-30 15:15:10 -07:00
Paul Frazee
5e765bf1cb Rework web onboarding 2023-08-29 22:56:13 -07:00
Paul Frazee
5d9534ca72 Move onboarding to the withAuthRequired HOC 2023-08-29 20:20:51 -07:00
Eric Bailey
5710140a73 handle stuck state with granular android permissions 2023-08-29 17:09:38 -05:00
Ansh Nanda
bf37913701 fix onboarding on web 2023-08-29 12:16:26 -07:00
Ansh Nanda
742440c22d add more tracking 2023-08-28 18:55:40 -07:00
Paul Frazee
5ee754e6f9
Improvements to feed assembly to avoid possible state issues (#1318)
* Avoid potential dropped posts due to pruning when checking for latest

* Add a sanity check to ensure dup react keys never occur (close #1315)
2023-08-28 17:54:59 -07:00
Ansh Nanda
3f1b313fa4 add custom feed discovery to onboarding 2023-08-28 15:41:02 -07:00
Ansh Nanda
edfd326069 move onboarding to screens 2023-08-28 13:37:44 -07:00
Paul Frazee
c6f321862b
Add analytics event for when the app is opened from a notification (#1270)
* Add analytics event for when the app is opened from a notification

* Tweak notification ID
2023-08-24 16:07:16 -07:00
Paul Frazee
c1c02f480b
A couple quick notifications fixes (#1262)
* Create separate .easignore to ensure google-services.json goes to eas

* Set the notifications serviceDid according to the session host

* Fix types
2023-08-23 17:10:00 -07:00
Ansh
8ab5eb6583
[APP-786] Native notifications (#1095)
* move `notifee.ts` to notifications folder

* install expo notifications

* add UIBackgroundMode `remote-notifications` to app.json

* fix notifee import in Debug.tsx

* add `google-services.json`

* add `development-device` class to eas.json

* Add `notifications.ts` for native notification handling

* send push token to server

* update `@atproto/api`

* fix putting notif token to server

* fix how push token is uploaded

* fix lint

* enable debug appview proxy header on all platforms

* setup `notifications.ts` to work with app view notifs

* clean up notification handler

* add comments

* update packages to correct versions

* remove notifee

* clean up code a lil

* rename push token endpoint

* remove unnecessary comments

* fix comments

* Remove old background scheduler

* Fixes to push notifications API use

* Bump @atproto/api@0.6.6

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-23 16:28:51 -07:00
Paul Frazee
fcea27ea0b
Fix: include link-meta abort signal for timeout (close #1214) (#1240) 2023-08-22 16:36:36 -07:00
Ansh
88357d5c82
add profiles sampling to sentry (#1237) 2023-08-21 16:49:59 -07:00
Eric Bailey
4cc2695d84
allow handles to start with a number (#1231)
* allow handles to start with a number

* don't allow leading hyphen
2023-08-21 13:37:57 -07:00
Paul Frazee
819340dd3c
Shorten links in composer to reduce char usage (#1188)
* Modify toShortUrl() to always include the full domain

* Shorten links in the composer to save on characters

* Apply some limits to the link card suggester
2023-08-16 10:22:50 -07:00
Paul Frazee
79a6819769
Tune up the link card to look nicer, show more info, and layout horizontally on web to user space more nicely (#1190) 2023-08-16 10:02:41 -07:00
Paul Frazee
884e5c9294
Fix to "Load new posts" showing sometimes when there's nothing new to show (#1191)
* Fix to feed item react key value (hopefully)

* Fix false-firing of load more (close #1028)
2023-08-16 10:00:22 -07:00
Ansh
77178844fd
[APP-798] add key to ProfileCardPills render method (#1158)
* add key to `ProfileCardPills` render method

* More reliable key generation

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-15 11:32:57 -07:00
Paul Frazee
e5b7a894a3
More useful block-state information in embeds (#1150)
* More useful block-state information in embeds

* Tune copy
2023-08-10 16:25:11 -07:00
Paul Frazee
03d152675e
Add self-labeling controls (#1141)
* Add self-label modal

* Use the shield-exclamation icon consistently on post moderation

* Wire up self-labeling

* Bump @atproto/api@0.6.0

* Bump @atproto/dev-env@^0.2.3

* Add e2e test for self-labeling

* Fix types
2023-08-09 17:34:16 -07:00
Paul Frazee
bbe9861eef
Add alerts to embeds (#1138)
* Add alerts to embeds

* Add images to the mock data

* Fix types
2023-08-08 15:54:36 -07:00
Paul Frazee
3c29a1be4d
Fix to react-key uniqueness in feeds (#1136) 2023-08-08 11:34:19 -07:00