diff --git a/README.md b/README.md index 18efe13d4..be4f49556 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,11 @@ alt="Get it on Obtainium" align="center" height="54" /> - Funner name (still love you tho bsky!) - Nicer colors (kinda like gruvbox? not really) -- We call them skeets (at least for English users) -- Attempts to ignore `!no-unauthenticated` labels +- Posts are called Skeets - Share links to bitchsky.app or bsky.app - Embed player works with [stream.place](https://stream.place/) links! +- Open skeets in PDSls and original pages from bridged posts +- Better defaults (alt text required 😉) - No push notifications (may be added later) - Kept as up-to-date as possible (sporadically unstable as a result) @@ -28,9 +29,9 @@ alt="Get it on Obtainium" align="center" height="54" /> These are all available as options in a sub-page of the app's settings. - Toggle go.bsky.app link proxying for analytics -- Toggle to see skeets in quotes through blocks and detachments (broken 💔) +- Toggle to see skeets in quotes through blocks and detachments - Toggle to trust your own preferred verifiers (and to operate as one yourself) -- Toggle to disable the default app labeler +- Toggle to disable the default app labeler(s) #### Tweaks @@ -41,6 +42,7 @@ These are all available as options in a sub-page of the app's settings. - Toggle to only show a single tab if only one feed is pinned - Toggle to prevent others from getting notified when you interact with their reskeets - Toggle similar account recommendations +- Toggle to make all user avatars square (like labelers) #### Metrics @@ -58,7 +60,7 @@ You can completely disable the visiblity of all metrics individually, including - Toggle to show feed context for debugging - Toggle to hide the 'show latest' button - Toggle to make reply button open thread from feeds -- More may be available in developer mode +- More may be available in developer mode? - (Accessible by holding the version in the About settings screen) ## Upcoming or wishful features @@ -82,28 +84,25 @@ You can completely disable the visiblity of all metrics individually, including - [ ] Automatic PDS detection like other social-app forks (fallback/email addresses to use bitchsky.social) - [ ] Like of or repost of repost icons in notifications - [ ] Change followed accounts [on onboarding](https://github.com/blacksky-algorithms/blacksky.community/commit/e36ee43efb4999f070860d7f70122e45b28c1e2b) -- [ ] Change ChatEmptyPill strings for English locale -- [ ] Pronouns+ from forks like [deer.aylac.top](https://github.com/ayla6/deer-social-test) +- [ ] Join date & switch accounts from composer from a fork like [deer.aylac.top](https://github.com/ayla6/deer-social-test) - [ ] Visual replies indicator like the [Firmament userstyle](https://bitchsky.app/profile/did:plc:jwhxcrf5uvl3vyw7nurecgt5/post/3m4rr3vzmak2a) (and likes?) - [ ] Additional translation service providers + setting (Deepl, Kagi) - [ ] Move Mutuals label to the follow button -- [ ] Change defaults (alt text nation, link non-bsky handles, autoplay OFF, hide similar account recommendations) +- [ ] Put DeerSettings into separate subpages +- [ ] After subpages for options, add [Outlinks page](https://bitchsky.app/profile/did:plc:q7suwaz53ztc4mbiqyygbn43/post/3m5zjhhshic2g) & + - [ ] ShareMenuItems.tsx, ShareMenuItems.web.tsx +- [ ] For profile meatball button, Open profile in PDSls & Open bridged OG fedi account page + - [ ] ProfileMenu.tsx - [ ] Bitchsky PDS and .social site (list good songs containing 'bitch' in their titles) -#### Bugs - -- [ ] Fix app crash on tapping profile header (./src/view/com/util/UserBanner.tsx) -- [ ] Fix regression causing zooming in to break on image lightboxes - ### Even more wishful or far off - [ ] Collapse labels past a customizable number (from the same labeler?) into a labeler clip "(+)" - [ ] Submit releases to the Google Play Store and iOS App Store -- [ ] Likes tab on profiles for other users -- [ ] Move from GitHub to Tangled? -- [ ] Experimental toggle between handle and DID in share links? -- [ ] New fun language/locale(s) like Minecraft +- [ ] Move from GitHub to Tangled (and Cloudflare Pages to wisp.place)? +- [ ] Toggle between handle and DID in share links - [ ] Move TOS and privacy policy to Jollywhoppers website? +- [ ] Ignore `!no-unauthenticated` labels - [ ] Rewrite ALF for M3 Expressive (with in-app color slider like red dwarf, for web?) ## Development Resources diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 64312286c..7ce11faa6 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -196,7 +196,7 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { name="ModerationInteractionSettings" getComponent={() => ModerationInteractionSettings} options={{ - title: title(msg`Post Interaction Settings`), + title: title(msg`Skeet Interaction Settings`), requireAuth: true, }} /> @@ -255,35 +255,35 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { name="ProfileSearch" getComponent={() => ProfileSearchScreen} options={({route}) => ({ - title: title(msg`Search @${route.params.name}'s posts`), + title: title(msg`Search @${route.params.name}'s skeets`), })} /> PostThreadScreen} options={({route}) => ({ - title: title(msg`Post by @${route.params.name}`), + title: title(msg`Skeet by @${route.params.name}`), })} /> PostLikedByScreen} options={({route}) => ({ - title: title(msg`Post by @${route.params.name}`), + title: title(msg`Skeet by @${route.params.name}`), })} /> PostRepostedByScreen} options={({route}) => ({ - title: title(msg`Post by @${route.params.name}`), + title: title(msg`Skeet by @${route.params.name}`), })} /> PostQuotesScreen} options={({route}) => ({ - title: title(msg`Post by @${route.params.name}`), + title: title(msg`Skeet by @${route.params.name}`), })} /> RepostNotificationSettingsScreen} options={{ - title: title(msg`Repost notifications`), + title: title(msg`Reskeet notifications`), requireAuth: true, }} /> @@ -482,7 +482,7 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { name="LikesOnRepostsNotificationSettings" getComponent={() => LikesOnRepostsNotificationSettingsScreen} options={{ - title: title(msg`Likes of your reposts notifications`), + title: title(msg`Likes of your reskeets notifications`), requireAuth: true, }} /> @@ -490,7 +490,7 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { name="RepostsOnRepostsNotificationSettings" getComponent={() => RepostsOnRepostsNotificationSettingsScreen} options={{ - title: title(msg`Reposts of your reposts notifications`), + title: title(msg`Reskeets of your reskeets notifications`), requireAuth: true, }} /> @@ -614,7 +614,7 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { name="Bookmarks" getComponent={() => BookmarksScreen} options={{ - title: title(msg`Saved Posts`), + title: title(msg`Saved Skeets`), requireAuth: true, }} /> diff --git a/src/components/Post/PostRepliedTo.tsx b/src/components/Post/PostRepliedTo.tsx index a1a2ed25a..f1cc9e8de 100644 --- a/src/components/Post/PostRepliedTo.tsx +++ b/src/components/Post/PostRepliedTo.tsx @@ -25,9 +25,9 @@ export function PostRepliedTo({ let label if (isParentBlocked) { - label = Replied to a blocked post + label = Replied to a blocked skeet } else if (isParentNotFound) { - label = Replied to a post + label = Replied to a skeet } else if (parentAuthor) { const did = typeof parentAuthor === 'string' ? parentAuthor : parentAuthor.did diff --git a/src/components/PostControls/BookmarkButton.tsx b/src/components/PostControls/BookmarkButton.tsx index f72951520..d95ec7006 100644 --- a/src/components/PostControls/BookmarkButton.tsx +++ b/src/components/PostControls/BookmarkButton.tsx @@ -56,7 +56,7 @@ export const BookmarkButton = memo(function BookmarkButton({ - Post saved + Skeet saved {!disableUndo && ( - Removed from saved posts + Removed from saved skeets {!disableUndo && ( diff --git a/src/components/PostControls/PostMenu/PostMenuItems.tsx b/src/components/PostControls/PostMenu/PostMenuItems.tsx index 53a485765..eb8bc8b09 100644 --- a/src/components/PostControls/PostMenu/PostMenuItems.tsx +++ b/src/components/PostControls/PostMenu/PostMenuItems.tsx @@ -189,7 +189,7 @@ let PostMenuItems = ({ const onDeletePost = () => { deletePostMutate({uri: postUri}).then( () => { - Toast.show(_(msg({message: 'Post deleted', context: 'toast'}))) + Toast.show(_(msg({message: 'Skeet deleted', context: 'toast'}))) const route = getCurrentRoute(navigation.getState()) if (route.name === 'PostThread') { @@ -209,7 +209,7 @@ let PostMenuItems = ({ }, e => { logger.error('Failed to delete post', {message: e}) - Toast.show(_(msg`Failed to delete post, please try again`), 'xmark') + Toast.show(_(msg`Failed to delete skeet, please try again`), 'xmark') }, ) } @@ -318,8 +318,8 @@ let PostMenuItems = ({ }) Toast.show( isDetach - ? _(msg`Quote post was successfully detached`) - : _(msg`Quote post was re-attached`), + ? _(msg`Quote skeet was successfully detached`) + : _(msg`Quote skeet was re-attached`), ) } catch (e: any) { Toast.show( @@ -581,16 +581,16 @@ let PostMenuItems = ({ testID="postDropdownCopyTextBtn" label={_(msg`Copy post text`)} onPress={onCopyPostText}> - {_(msg`Copy post text`)} + {_(msg`Copy skeet text`)} ) : ( - {_(msg`Sign in to view post`)} + {_(msg`Sign in to view skeet`)} )} @@ -673,13 +673,13 @@ let PostMenuItems = ({ label={ isReply ? _(msg`Hide reply for me`) - : _(msg`Hide post for me`) + : _(msg`Hide skeet for me`) } onPress={() => hidePromptControl.open()}> {isReply ? _(msg`Hide reply for me`) - : _(msg`Hide post for me`)} + : _(msg`Hide skeet for me`)} @@ -781,9 +781,9 @@ let PostMenuItems = ({ reportDialogControl.open()}> - {_(msg`Report post`)} + {_(msg`Report skeet`)} @@ -814,7 +814,7 @@ let PostMenuItems = ({ testID="postDropdownDeleteBtn" label={_(msg`Delete post`)} onPress={() => deletePromptControl.open()}> - {_(msg`Delete post`)} + {_(msg`Delete skeet`)} @@ -826,9 +826,9 @@ let PostMenuItems = ({