Commit graph

263 commits

Author SHA1 Message Date
Paul Frazee
0090371011
Paginate the PostThread to avoid rendering too many posts and crashing the app on large threads (#1432) 2023-09-11 17:41:00 -07:00
dan
8a93321fb1
Give explicit names to MobX observer components (#1413)
* Consider observer(...) as components

* Add display names to MobX observers

* Temporarily suppress nested components

* Suppress new false positives for react/prop-types
2023-09-07 17:36:08 -07:00
Paul Frazee
411c1581f6
Fix thread positioning on load (#1385)
* Fix minIndex for consistent positioning on thread view

* Enable maintainVisibleContentPosition on android now that it's supported
2023-09-05 13:40:38 -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
Eric Bailey
1c460c40f4
Make posts behave more like links (#1316)
* use cursor for post cards

* ignore type error

* handle meta keys on non native links

(cherry picked from commit daccafea0b7ab21af6572767e496d20f32ead353)

* remove cursor on non-post notifications, not quite right

* Simplify link handling

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-08-28 18:41:28 -07:00
Eric Bailey
c77fd588e9
wrap mutation in runInAction (#1305) 2023-08-28 11:55:56 -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
Eric Bailey
13c11801b9
fix thread double border (#1251) 2023-08-22 10:49:03 -07:00
Paul Frazee
2198aab8b2
Fix to post meta overflow in highlighted post (#1211)
* Fix to post meta overflow in highlighted post

* Give more space to desktop web
2023-08-17 18:59:25 -07:00
Eric Bailey
55ad56f689
default translate to device language (#1207) 2023-08-17 15:45:36 -07:00
Paul Frazee
6ccfb1375a
Fix tap target size of post dropdown menus (#1180) 2023-08-15 15:49:52 -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
Eric Bailey
c48ff1855c remove unused styles 2023-08-08 11:36:48 -05:00
Eric Bailey
8cb076f5fd fix thread spacing and reply lines 2023-08-08 11:34:48 -05:00
Eric Bailey
d53cbb91bb
fix post thread feedback regression (#1109) 2023-08-04 13:48:22 -07:00
Paul Frazee
f63ed57e3b
Fix repeated firing of scroll into view on large threads (#1108) 2023-08-04 13:48:07 -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
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
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
Ansh
3b8b562268
[APP-737] Accessible native dropdown menu (#988)
* fix comments

* add zeego package

* get basic native dropdown working

* add separator and icon components

* refined native dropdown component

* add android build properties to app.json

* move `PostDropdownBtn` to its own component

* fix selectors issue

* move `PostDropdownBtn` to its own component

* fix hitslop

* fix post dropdown hitslop

* fix android dropdown icons

* move `UserAvatar.tsx` to native dropdown

* use native dropdown in `ProfileHeader.tsx`

* use native dropdown in `PostThreadItem.tsx`

* use native dropdown in `UserBanner.tsx`

* use native dropdown in `CustomFeed.tsx`

* replace `testId` with `testID` (which is what is used everywhere)

* move `Settings.tsx` to use native dropdown

* create jest mocks for zeego

* create jest mock for `zeego/dropdown-menu`

* web styles for native dropdown

* remove example native dropdown

* adjust web styles

* fix propagation

* fix pressable in `Settings.tsx`

* animate dropdown on web

* add keyboard nav and hover styles

* add hitslop to constants

* add comments to NativeDropdown component

* temporarily removed android icons

* add testID to PostDropdownBtn

* add testID back to all NativeDropdown button implementations

* add postDropdownBtn testID

* add testID to dropdown items

* remove testID from dropdown menu item

* refactor home-screen tests for native dropdown

* refactor profile-screen tests for native dropdown

* refactor thread-muting tests for native dropdown

* refactor thread-screen tests for native dropdown

* fix dropdown color for post dropdown button

* remove icons from android dropdown menu

* fix `create-account.test.ts`

* fix `invite-codes.test.ts`
2023-07-28 16:00: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
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
Paul Frazee
6f69157269
Post UI updates (Profile Preview on mobile) (#990)
* Update postmeta to put the timestamp on the right side on mobile

* Drop the two-line PostMeta mode

* Add ProfilePreview modal

* Tune PostMeta to give the best behavior possible for a given platform

* Remove old showFollowBtn attributes

* Fix style issue

* Switch the follow button in the profile header to use the inverted color for consistency with the rest of the app

* Fix lint

* Fix darkmode

* Tune the profile preview footer

* Better analytics choice
2023-07-06 21:12:54 -05:00
Paul Frazee
bc55241c9a
[APP-724] Collection of accessibility fixes (#949)
* Fix: include alt text on the web lightbox image

* a11y: Dont read the 'ALT' label

* a11y: remove a wrapper behavior from posts

This appears to have been introduced with the goal of creating meta
actions on posts, but the behavior seems counter-productive. The
accessibility inspector was unable to access individual items within
the post and therefore most content was simply skipped.

There may be a way to support the post actions without losing the
ability to access the inner elements but I couldnt find it. -prf

* a11y: apply alt tags to image wrappers so they get read

* a11y: set Link accessibilityLabel to the title if none set

* a11y: skip the SANDBOX watermark

* a11y: improve post meta to not read UI and give a useful date

* ally: improve post controls

* a11y: add labels to lightbox images on mobile

* fix types
2023-07-03 15:57:53 -05:00
Paul Frazee
93689ad73d Fix: correctly handle the case where the user has no languages configured 2023-06-30 12:21:30 -05:00
Paul Frazee
010588ee7c
Fix thread muting (#932) 2023-06-30 11:38:22 -05:00
Paul Frazee
ed5a88d9d8
[APP-718] Improvements and fixes to language handling (#931)
* Add locale helpers for narrowing languages

* Add a translate link to posts in a different language

* Update language filtering to use narrowing when multiple declared

* Fix a few more RTL layout cases

* Fix types
2023-06-30 11:35:29 -05:00
Ansh
a8bbaa06c7
[APP-705] Metrics revamp pt2 (#896)
* export track function from analytics.tsx

* fix create account tracking

* fix tracking sign in

* add custom feed events

* fix type errors

* refactor create post event

* add profile follow & unfollow events

* refactor PostsFeedSliceModel into its own file

* refactor PostThreadItemModel into its own file

* reorganize code a lil bit

* refactor post-thread-item to use post-feed-item model under the hood

* add post events

* add post reply tracking

* track custom feed load more

* track list subscribe and unsubscribe
2023-06-27 10:11:05 -05:00
Logan Rosen
9b19a95e63
Bump @types/react to ^18 and adjust types (#889) 2023-06-22 12:40:32 -04:00
Paul Frazee
3663ee57f3
Add testnet warning (#880)
* Add testnet warning

* Add watermarks to posts

* Call the test environment the Sandbox
2023-06-14 20:00:16 -05:00
Samuel Newman
88212eb065
translate to primary language rather than just english (#814) 2023-06-01 10:50:18 -05:00
Ollie H
a9a661ab58
Add ability to reply, repost (without quote post), and like posts using VoiceOver (#765)
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-30 19:50:56 -05:00
Ollie H
deebe18aaa
Use non-pipe translation link (#740) 2023-05-30 18:54:47 -05:00
LW
50c1841a06
feat: Update HTML title on web #626 #599 (#655)
For any `Screen` that shows on desktop, `title` is "(1) ... - Bluesky"
where "(1)" is the unread notification count.

The titles are unlocalized and the string "Bluesky" is hardcoded,
following the pattern of the rest of the app.

Display names and post content are loaded into the title as effects.

Tested:
* all screens
* screen changes / component mounts/unmounts
* long posts with links and images
* display name set/unset
* spamming myself with notifications, clearing notifications
* /profile/did:... links
* lint (only my changed files), jest, e2e.

New utilities: `useUnreadCountLabel`, `bskyTitle`,
`combinedDisplayName`, `useSetTitle`.

resolves: #626 #599
2023-05-16 13:13:05 -05:00
Ollie H
628d877325
Use dropdown for web reposting and quote posting (#607)
* Use dropdown for web reposting and quote posting

* Remove collateral damage

* Tune the repost dropdown positioning

* Move postctrls into their own folder

* Factor out repost button into native/web build

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-15 15:18:39 -05:00
Paul Frazee
b756a27958
[APP-639] Improve nsfw handling & force hidden on iOS (#605)
* Identify adult content labels and handle them more specifically

* Change adult content defaults to more conservative settings

* Add an adultcontentenabled override that prohibits access on iOS

* Improve usability of the content hider

* Fix lint
2023-05-09 00:43:20 -05:00
Ollie H
84046f42d5
Format count and fix type warning (#600) 2023-05-08 16:02:19 -05:00
Ollie H
011baa78c1
a11y label cleanup (#576) 2023-05-04 00:53:49 -05:00
Paul Frazee
12a2144232
Remove some confusing horizontal lines in threads (#566) 2023-05-02 23:32:29 -05:00
Paul Frazee
2eb0d8c095
[APP-611] Add nice date to expanded post view (#567)
* Add nice date to expanded post view

* Fix styles
2023-05-02 23:29:16 -05:00
Ollie H
83959c595d
React Native accessibility (#539)
* React Native accessibility

* First round of changes

* Latest update

* Checkpoint

* Wrap up

* Lint

* Remove unhelpful image hints

* Fix navigation

* Fix rebase and lint

* Mitigate an known issue with the password entry in login

* Fix composer dismiss

* Remove focus on input elements for web

* Remove i and npm

* pls work

* Remove stray declaration

* Regenerate yarn.lock

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-05-01 20:38:47 -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
Paul Frazee
ae895155fd
Fix to error screen and postthread loading state (#540)
* Fix loading state on postthread

* Improve error screen rendering

* Dark mode exclamation in error screen

* Fix lint
2023-04-25 20:45:59 -05:00
Paul Frazee
c7600fe0c2
Web fixes (#517)
* Fix scroll behaviors on web

* Remove headers on web to avoid scroll overflow

* Fix follow button press in cards
2023-04-22 19:08:41 -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
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
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
ab11f206d8
Stripe checkmark emojis from display names (close #396) (#419) 2023-04-07 11:09:25 -05:00