Commit graph

469 commits

Author SHA1 Message Date
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
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
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
Ansh Nanda
8f0f3be8fb start onboarding only for new account creations 2023-08-28 18:53:58 -07:00
Ansh Nanda
bcef7400db simplify onboarding model function naming 2023-08-28 18:47:56 -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
a231fdf64e track onboarding steps 2023-08-28 17:51:26 -07:00
Ansh Nanda
b2dd4ea0f5 fix onboarding stuck on welcome 2023-08-28 15:50:51 -07:00
Ansh Nanda
3f1b313fa4 add custom feed discovery to onboarding 2023-08-28 15:41:02 -07:00
Ansh Nanda
c4cf288296 remove logs 2023-08-28 13:39:24 -07:00
Ansh Nanda
edfd326069 move onboarding to screens 2023-08-28 13:37:44 -07:00
Ansh Nanda
08fe7fb084 create onboarding model 2023-08-25 14:36:10 -07:00
Eric Bailey
4654a9a45e
defer loading of feeds until visible (#1271)
* defer loading of feeds until visible

* Fix: use existing hasLoaded

* Fix: dont query for latest during initial load

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-24 16:26:29 -07:00
Ansh
7410bcd888
setup isAuthenticatedUser in profileUiModel inside an action (#1272) 2023-08-24 16:13:42 -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
Eric Bailey
b6317d4ce7
Improve handling of unselecting languanges in composer language menu (#1093)
* allow toggling off/on multiple from main composer lang menu

* fix dropdown styles for long labels

* udpate model to use new string field

* update language UI

* save langs to history on submit

* remove edit

* clean up use new fields

* default to deviceLocales

* fix default valu

* feedback

* use radio icon
2023-08-23 13:40:15 -07:00
Eric Bailey
473a9fc73e fix bad reference on native 2023-08-23 14:31:08 -05:00
Paul Frazee
54706a0437
Fix: update posts rendered in notifs on refresh (close #1196) (#1243) 2023-08-22 16:36:49 -07:00
Eric Bailey
2b13dc0f3a
Add likes tab (#1227)
* add likes tab

(cherry picked from commit 6c5ffd964ca0b185ddfc37088d82712a006a1163)

* only show Likes tab to authenticated user

(cherry picked from commit ecc1254411d760158b6d7a4c5f05d940db872dfc)

* Bump @atproto/api@0.6.5

* fix types

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-22 12:30:51 -07:00
Eric Bailey
548ec6c82d
add title attr to text text links (#1228)
* add title attr to text text links

* Revert "add title attr to text text links"

This reverts commit c028cd184efd3b2788d8f46134eecf521e5d7b07.

* use css tooltips

* add to expanded post state

* handle theming

* add to bskyweb
2023-08-22 11:04:17 -07:00
Ansh
16b265a861
[APP-834] Allow @ing someone in post directly from profile (#1241)
* setup `initMention` for mobile

* setup creating post with profile tagged on web
2023-08-22 11:01:00 -07:00
Eric Bailey
09a445d804
do not thread author media filtered feed (#1253) 2023-08-22 10:46:49 -07:00
Paul Frazee
43d1f002f5
Dont suggest users that are muted or blocked (close #1185) (#1209) 2023-08-17 17:44:48 -07:00
Paul Frazee
5e63d3164b
A set of composer fixes (#1187)
* Don't insert a newline on cmd+entrl (close #1173)

* Don't linkify selected text on url-paste (close #1149)

* Disable the adult content controls if there is no media on the post (close #1169)
2023-08-16 10:46:52 -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
Eric Bailey
0576caae36
use greater of indexedAt or machine clock (#1182)
* use greater of indexedAt or machine clock

* correct mobx usage
2023-08-15 15:18:35 -07:00
Foysal Ahamed
abbc6543f4
Repurpose report post modal and re-use for list reporting (#1070)
*  Repupose report post modal and re-use for list reporting

*  Allow reporting a feed generator

*  ♻️ Refactor report modal into one shared component for reporting different collections

*  Adjust report option selector in tests

*  Add test for list reporting

* ♻️  Refactor reason options and add options for list and feedgen

* 🧹 Cleanup remaining todo

* Fix to mutelist react keys

* Fix regression from rebase

* Improve customfeed mobile header

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-15 14:32:06 -07:00
Paul Frazee
a5762c2d7d
Clear caches on session change (#1179) 2023-08-15 12:55:51 -07:00
Paul Frazee
f4891a47a1
Fix to feeds view in profiles (#1171)
* Fix load of feeds tab

* Add e2e test for profile feeds
2023-08-15 09:59:49 -07:00
Eric Bailey
a3af2a2b85
use user.handle response from getProfile, not getSession (#1165) 2023-08-15 09:59:34 -07:00
Ansh
4d953f0504
Fixes #1124: Trim alt text before saving (#1159)
* trim alt text before setting

* Drop `trim` from helpers.ts
2023-08-14 11:41:44 -05:00
Eric Bailey
cc3fcb1645
Adds profile media tab (#1137)
* add media tab

* fix loading state

* cleanup

* update naming

* upgrade api package

* fix load state

* add scroll view to tabs

* fix overflow on mobile web
2023-08-10 10:50:37 -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
3c29a1be4d
Fix to react-key uniqueness in feeds (#1136) 2023-08-08 11:34:19 -07:00
Eric Bailey
8cb076f5fd fix thread spacing and reply lines 2023-08-08 11:34:48 -05:00
Paul Frazee
89fc975a15
Perf: switch to stable react keys (#1113) 2023-08-05 11:29:55 -07:00
Paul Frazee
d9cf37aecf
Collection of small UI fixes & improvements (#1104)
* Fix black bar appearing in link card images

* Include QPs in posts cache

* Fix like color for feed likes in notifications

* Fix post embed spacing
2023-08-04 12:14:21 -07:00
Paul Frazee
c4459ec4e8
Simplify the after-post logic to avoid a UI bug (#1105) 2023-08-04 09:26:09 -07:00
Paul Frazee
b154d3ea21
Labeling & moderation updates [DRAFT] (#1057)
* First pass moving to the new labeling sdk (it compiles)

* Correct behaviors around interpreting label moderation

* Improve moderation state rendering

* Improve hiders and alerts

* Improve handling of mutes

* Improve profile warnings

* Add profile blurring to profile header

* Add blocks to test cases

* Render labels on profile cards, do not filter

* Filter profiles from suggestions using moderation

* Apply profile blurring to ProfileCard

* Handle blocked and deleted quote posts

* Temporarily translate content filtering settings to new labels

* Fix types

* Tune ContentHider & PostHider click targets

* Put a warning on profilecard label pills

* Fix screenhider learnmore link on mobile

* Enforce no-override on user avatar

* Dont enumerate profile blur-media labels in alerts

* Fixes to muted posts (esp quotes of muted users)

* Fixes to account/profile warnings

* Bump @atproto/api@0.5.0

* Bump @atproto/api@0.5.1

* Fix tests

* 1.43

* Remove log

* Bump @atproto/api@0.5.2
2023-08-03 22:08:30 -07:00
Paul Frazee
96280d5f1a
Improve the profile preview with "swipe up to view" and local cache optimization (#1096)
* Update the ProfilePreview to use a swipe-up to navigate

* Use the profile cache to optimize load performance

* Hack to align the header in the profile preview against the screen view

* Fix profiles cache logic to ensure cache is used

* Fix dark mode on profile preview
2023-08-03 10:25:17 -07:00
Paul Frazee
a63f97aef2
Use a post and handle-resolution cache to enable quick postthread loading (#1097)
* Use a post and handle-resolution cache to enable quick postthread loading

* Fix positioning of thread when loaded from cache and give more visual cues

* Include parent posts in cache

* Include notifications in cache
2023-08-03 09:44:43 -07:00
Foysal Ahamed
eec300d772
List cleanup on remove (#1069)
* 💄 Hide Add to List option on own profile

*  Remove Lists tab when last list is removed

*  Add listener to list delete on profile screen

*  Only show save changes in list modal when changes are made
2023-07-28 11:04:27 -05:00
Ansh
38d78e16bf
Search custom feeds (#1031)
* paginate custom feeds

* basic search

* update `@atproto/api`

* use search from the API

* debounce search for 200ms
2023-07-28 10:29:37 -05:00
Paul Frazee
49356700c3
[APP-782] Support invalid handles correctly (#1049)
* Update profile link construction to support handle.invalid

* Update list links  to support using handles

* Use did for isMe check to ensure invalid handles dont distort the check

* Shift the red (error) colors away from the pink spectrum

* Add ThemedText helper component

* Add sanitizedHandle() helper to render invalid handles well

* Fix regression: only show avatar in PostMeta when needed

* Restore the color of likes

* Remove users with invalid handles from default autosuggests
2023-07-27 10:50:12 -05:00
Ansh
bb99a234e1
[APP-720] Paginate custom feeds (#1030)
* paginate custom feeds

* Fix loading state bug

* DRY code up
2023-07-21 17:39:06 -05:00
Ansh
30ac9259c7
[APP-775] Add Welcome screen after account creation (#1038)
* add comments to step 1-3

* add onboarding screen

* add analytics for onboarding tracking

* fix useEffect

* change text

* change icon size

* put onboarding into bottom sheet modal instead of react navigation

* wip

* Simplify the type validation

* Fix: only trigger onboarding modal when account creation succeeds

* Add the 'session-ready' event which fires when the new session is stable

* Use the 'session-ready' event to trigger the onboarding modal

* update copy

* update copy

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-07-19 23:50:42 -07:00
Eric Bailey
302490cb31
wrap interval in runInAction (#1037) 2023-07-19 14:24:35 -05:00
Eric Bailey
0ae52e91ce
#984 Updating indexedAt timestamps (#1024)
* add TimeElapsed util component, integrate into PostThreadItem

* integrate into posts

* use consistent naming

* use mobx and single interval for TimeElapsed
2023-07-19 12:16:57 -05:00