···16161717- Funner name (still love you tho bsky!)
1818- Nicer colors (kinda like gruvbox? not really)
1919-- We call them skeets (at least for English users)
2020-- Attempts to ignore `!no-unauthenticated` labels
1919+- Posts are called Skeets
2120- Share links to bitchsky.app or bsky.app
2221- Embed player works with [stream.place](https://stream.place/) links!
2222+- Open skeets in PDSls and original pages from bridged posts
2323+- Better defaults (alt text required 😉)
2324- No push notifications (may be added later)
2425- Kept as up-to-date as possible (sporadically unstable as a result)
2526···2829These are all available as options in a sub-page of the app's settings.
29303031- Toggle go.bsky.app link proxying for analytics
3131-- Toggle to see skeets in quotes through blocks and detachments (broken 💔)
3232+- Toggle to see skeets in quotes through blocks and detachments
3233- Toggle to trust your own preferred verifiers (and to operate as one yourself)
3333-- Toggle to disable the default app labeler
3434+- Toggle to disable the default app labeler(s)
34353536#### Tweaks
3637···4142- Toggle to only show a single tab if only one feed is pinned
4243- Toggle to prevent others from getting notified when you interact with their reskeets
4344- Toggle similar account recommendations
4545+- Toggle to make all user avatars square (like labelers)
44464547#### Metrics
4648···5860- Toggle to show feed context for debugging
5961- Toggle to hide the 'show latest' button
6062- Toggle to make reply button open thread from feeds
6161-- More may be available in developer mode
6363+- More may be available in developer mode?
6264 - (Accessible by holding the version in the About settings screen)
63656466## Upcoming or wishful features
···8284- [ ] Automatic PDS detection like other social-app forks (fallback/email addresses to use bitchsky.social)
8385- [ ] Like of or repost of repost icons in notifications
8486- [ ] Change followed accounts [on onboarding](https://github.com/blacksky-algorithms/blacksky.community/commit/e36ee43efb4999f070860d7f70122e45b28c1e2b)
8585-- [ ] Change ChatEmptyPill strings for English locale
8686-- [ ] Pronouns+ from forks like [deer.aylac.top](https://github.com/ayla6/deer-social-test)
8787+- [ ] Join date & switch accounts from composer from a fork like [deer.aylac.top](https://github.com/ayla6/deer-social-test)
8788- [ ] Visual replies indicator like the [Firmament userstyle](https://bitchsky.app/profile/did:plc:jwhxcrf5uvl3vyw7nurecgt5/post/3m4rr3vzmak2a) (and likes?)
8889- [ ] Additional translation service providers + setting (Deepl, Kagi)
8990- [ ] Move Mutuals label to the follow button
9090-- [ ] Change defaults (alt text nation, link non-bsky handles, autoplay OFF, hide similar account recommendations)
9191+- [ ] Put DeerSettings into separate subpages
9292+- [ ] After subpages for options, add [Outlinks page](https://bitchsky.app/profile/did:plc:q7suwaz53ztc4mbiqyygbn43/post/3m5zjhhshic2g) &
9393+ - [ ] ShareMenuItems.tsx, ShareMenuItems.web.tsx
9494+- [ ] For profile meatball button, Open profile in PDSls & Open bridged OG fedi account page
9595+ - [ ] ProfileMenu.tsx
9196- [ ] Bitchsky PDS and .social site (list good songs containing 'bitch' in their titles)
92979393-#### Bugs
9494-9595-- [ ] Fix app crash on tapping profile header (./src/view/com/util/UserBanner.tsx)
9696-- [ ] Fix regression causing zooming in to break on image lightboxes
9797-9898### Even more wishful or far off
9999100100- [ ] Collapse labels past a customizable number (from the same labeler?) into a labeler clip "(+)"
101101- [ ] Submit releases to the Google Play Store and iOS App Store
102102-- [ ] Likes tab on profiles for other users
103103-- [ ] Move from GitHub to Tangled?
104104-- [ ] Experimental toggle between handle and DID in share links?
105105-- [ ] New fun language/locale(s) like Minecraft
102102+- [ ] Move from GitHub to Tangled (and Cloudflare Pages to wisp.place)?
103103+- [ ] Toggle between handle and DID in share links
106104- [ ] Move TOS and privacy policy to Jollywhoppers website?
105105+- [ ] Ignore `!no-unauthenticated` labels
107106- [ ] Rewrite ALF for M3 Expressive (with in-app color slider like red dwarf, for web?)
108107109108## Development Resources
···221221 style={web({maxWidth: 400})}>
222222 <View style={[a.gap_sm]}>
223223 <Text style={[a.font_semi_bold, a.text_xl, a.pb_sm]}>
224224- <Trans>Who can interact with this post?</Trans>
224224+ <Trans>Who can interact with this skeet?</Trans>
225225 </Text>
226226 <Rules
227227 post={post}
···270270 ]}>
271271 {settings.length === 0 ? (
272272 <Trans>
273273- This post has an unknown type of threadgate on it. Your app may be
273273+ This skeet has an unknown type of threadgate on it. Your app may be
274274 out of date.
275275 </Trans>
276276 ) : settings[0].type === 'everybody' ? (
277277- <Trans>Everybody can reply to this post.</Trans>
277277+ <Trans>Everybody can reply to this skeet.</Trans>
278278 ) : settings[0].type === 'nobody' ? (
279279- <Trans>Replies to this post are disabled.</Trans>
279279+ <Trans>Replies to this skeet are disabled.</Trans>
280280 ) : (
281281 <Trans>
282282 Only{' '}
···298298 a.flex_wrap,
299299 t.atoms.text_contrast_medium,
300300 ]}>
301301- <Trans>No one but the author can quote this post.</Trans>
301301+ <Trans>No one but the author can quote this skeet.</Trans>
302302 </Text>
303303 )}
304304 </>
···5454 const wrappedOnPress = requireEmailVerification(onPress, {
5555 instructions: [
5656 <Trans key="message">
5757- Before you can get notifications for {name}'s posts, you must first
5757+ Before you can get notifications for {name}'s skeets, you must first
5858 verify your email.
5959 </Trans>,
6060 ],
···7979 size="small"
8080 color="secondary"
8181 shape="round"
8282- label={_(msg`Get notified when ${name} posts`)}
8282+ label={_(msg`Get notified when ${name} skeets`)}
8383 onPress={wrappedOnPress}>
8484 <ButtonIcon icon={Icon} size="md" />
8585 </Button>
8686 </Tooltip.Target>
8787 <Tooltip.TextBubble>
8888 <Text>
8989- <Trans>Get notified about new posts</Trans>
8989+ <Trans>Get notified about new skeets</Trans>
9090 </Text>
9191 </Tooltip.TextBubble>
9292 </Tooltip.Outer>
···105105 <View style={[a.gap_lg]}>
106106 <View style={[a.gap_sm]}>
107107 <Text style={[a.text_2xl, a.font_bold]}>
108108- <Trans>Embed post</Trans>
108108+ <Trans>Embed skeet</Trans>
109109 </Text>
110110 <Text
111111 style={[a.text_md, t.atoms.text_contrast_medium, a.leading_normal]}>
112112 <Trans>
113113- Embed this post in your website. Simply copy the following snippet
113113+ Embed this skeet in your website. Simply copy the following snippet
114114 and paste it into the HTML code of your website.
115115 </Trans>
116116 </Text>
+4-4
src/components/dialogs/MutedWords.tsx
···118118 </Text>
119119 <Text style={[a.pb_lg, a.leading_snug, t.atoms.text_contrast_medium]}>
120120 <Trans>
121121- Posts can be muted based on their text, their tags, or both. We
122122- recommend avoiding common words that appear in many posts, since it
123123- can result in no posts being shown.
121121+ Skeets can be muted based on their text, their tags, or both. We
122122+ recommend avoiding common words that appear in many skeets, since it
123123+ can result in no skeets being shown.
124124 </Trans>
125125 </Text>
126126···260260261261 <View style={[a.flex_row, a.align_center, a.gap_sm, a.flex_wrap]}>
262262 <Toggle.Item
263263- label={_(msg`Mute this word in post text and tags`)}
263263+ label={_(msg`Mute this word in skeet text and tags`)}
264264 name="content"
265265 style={[a.flex_1]}>
266266 <TargetToggle>
···106106 description = _(msg`You have muted this account.`)
107107 }
108108 } else if (modcause.type === 'mute-word') {
109109- name = _(msg`Post Hidden by Muted Word`)
110110- description = _(msg`You've chosen to hide a word or tag within this post.`)
109109+ name = _(msg`Skeet Hidden by Muted Word`)
110110+ description = _(msg`You've chosen to hide a word or tag within this skeet.`)
111111 } else if (modcause.type === 'hidden') {
112112- name = _(msg`Post Hidden by You`)
113113- description = _(msg`You have hidden this post.`)
112112+ name = _(msg`Skeet Hidden by You`)
113113+ description = _(msg`You have hidden this skeet.`)
114114 } else if (modcause.type === 'reply-hidden') {
115115 const isYou = currentAccount?.did === modcause.source.did
116116 name = isYou
+2-2
src/components/moderation/ReportDialog/copy.ts
···1616 }
1717 case 'post': {
1818 return {
1919- title: _(msg`Report this post`),
2020- subtitle: _(msg`Why should this post be reviewed?`),
1919+ title: _(msg`Report this skeet`),
2020+ subtitle: _(msg`Why should this skeet be reviewed?`),
2121 }
2222 }
2323 case 'list': {
+1-1
src/lib/api/index.ts
···183183 })
184184 if (isNetworkError(e)) {
185185 throw new Error(
186186- t`Post failed to upload. Please check your Internet connection and try again.`,
186186+ t`Skeet failed to upload. Please check your Internet connection and try again.`,
187187 )
188188 } else {
189189 throw e
+3-3
src/lib/hooks/useNotificationHandler.ts
···130130 Notifications.setNotificationChannelAsync(
131131 'repost' satisfies NotificationReason,
132132 {
133133- name: _(msg`Reposts`),
133133+ name: _(msg`Reskeets`),
134134 importance: Notifications.AndroidImportance.HIGH,
135135 },
136136 )
···165165 Notifications.setNotificationChannelAsync(
166166 'like-via-repost' satisfies NotificationReason,
167167 {
168168- name: _(msg`Likes of your reposts`),
168168+ name: _(msg`Likes of your reskeets`),
169169 importance: Notifications.AndroidImportance.HIGH,
170170 },
171171 )
172172 Notifications.setNotificationChannelAsync(
173173 'repost-via-repost' satisfies NotificationReason,
174174 {
175175- name: _(msg`Reposts of your reposts`),
175175+ name: _(msg`Reskeets of your reskeets`),
176176 importance: Notifications.AndroidImportance.HIGH,
177177 },
178178 )
···104104 if (cause.type === 'mute-word') {
105105 return {
106106 icon: EyeSlash,
107107- name: _(msg`Post Hidden by Muted Word`),
107107+ name: _(msg`Skeet Hidden by Muted Word`),
108108 description: _(
109109- msg`You've chosen to hide a word or tag within this post.`,
109109+ msg`You've chosen to hide a word or tag within this skeet.`,
110110 ),
111111 }
112112 }
113113 if (cause.type === 'hidden') {
114114 return {
115115 icon: EyeSlash,
116116- name: _(msg`Post Hidden by You`),
117117- description: _(msg`You have hidden this post`),
116116+ name: _(msg`Skeet Hidden by You`),
117117+ description: _(msg`You have hidden this skeet.`),
118118 }
119119 }
120120 if (cause.type === 'reply-hidden') {
+1-1
src/locale/locales/en/messages.po
···1051910519#: src/view/com/auth/SplashScreen.web.tsx:103
1052010520#: src/view/com/composer/Composer.tsx:855
1052110521msgid "What's up?"
1052210522-msgstr "Skeet yo shit! 🗣️"
1052210522+msgstr ""
10523105231052410524#: src/components/dialogs/nuxs/InitialVerificationAnnouncement.tsx:146
1052510525msgid "When you tap on a check, you’ll see which organizations have granted verification."
+4-4
src/screens/Bookmarks/index.tsx
···5252 <Layout.Header.BackButton />
5353 <Layout.Header.Content>
5454 <Layout.Header.TitleText>
5555- <Trans>Saved Posts</Trans>
5555+ <Trans>Saved Skeets</Trans>
5656 </Layout.Header.TitleText>
5757 </Layout.Header.Content>
5858 <Layout.Header.Slot />
···204204 const remove = async () => {
205205 try {
206206 await bookmark({action: 'delete', uri: post.uri})
207207- toast.show(_(msg`Removed from saved posts`), {
207207+ toast.show(_(msg`Removed from saved skeets`), {
208208 type: 'info',
209209 })
210210 } catch (e: any) {
···242242 a.italic,
243243 t.atoms.text_contrast_medium,
244244 ]}>
245245- <Trans>This post was deleted by its author</Trans>
245245+ <Trans>This skeet was deleted by its author</Trans>
246246 </Text>
247247 </View>
248248 <Button
249249- label={_(msg`Remove from saved posts`)}
249249+ label={_(msg`Remove from saved skeets`)}
250250 size="tiny"
251251 color="secondary"
252252 onPress={remove}>
+1-1
src/screens/Moderation/index.tsx
···238238 t.atoms.bg_contrast_25,
239239 ]}>
240240 <Link
241241- label={_(msg`View your default post interaction settings`)}
241241+ label={_(msg`View your default skeet interaction settings`)}
242242 testID="interactionSettingsBtn"
243243 to="/moderation/interaction-settings">
244244 {state => (
···3131 <Layout.Header.BackButton />
3232 <Layout.Header.Content>
3333 <Layout.Header.TitleText>
3434- <Trans>Post Interaction Settings</Trans>
3434+ <Trans>Skeet Interaction Settings</Trans>
3535 </Layout.Header.TitleText>
3636 </Layout.Header.Content>
3737 <Layout.Header.Slot />
···4141 <Admonition type="tip">
4242 <Trans>
4343 The following settings will be used as your defaults when creating
4444- new posts. You can edit these for a specific post from the
4444+ new skeets. You can edit these for a specific skeet from the
4545 composer.
4646 </Trans>
4747 </Admonition>
···2323 const cleanError = useCleanError()
24242525 const {title, message} = useMemo(() => {
2626- let title = _(msg`Error loading post`)
2626+ let title = _(msg`Error loading skeet`)
2727 let message = _(msg`Something went wrong. Please try again in a moment.`)
28282929 const {raw, clean} = cleanError(error)
30303131 if (error.message.startsWith('Post not found')) {
3232- title = _(msg`Post not found`)
3232+ title = _(msg`Skeet not found`)
3333 message = clean || raw || message
3434 }
3535
···109109 control={subscribeMutePromptControl}
110110 title={_(msg`Mute these accounts?`)}
111111 description={_(
112112- msg`Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them.`,
112112+ msg`Muting is private. Muted accounts can interact with you, but you will not see their skeets or receive notifications from them.`,
113113 )}
114114 onConfirm={onSubscribeMute}
115115 confirmButtonCta={_(msg`Mute list`)}
···989989 return (
990990 <LoadMoreRetryBtn
991991 label={_(
992992- msg`There was an issue fetching posts. Tap here to try again.`,
992992+ msg`There was an issue fetching skeets. Tap here to try again.`,
993993 )}
994994 onPress={fetchNextPageFeedPreviews}
995995 />
+2-2
src/screens/Search/Shell.tsx
···351351 onSubmitEditing={onSubmit}
352352 placeholder={
353353 inputPlaceholder ??
354354- _(msg`Search for posts, users, or feeds`)
354354+ _(msg`Search for skeets, users, or feeds`)
355355 }
356356 hitSlop={{...HITSLOP_20, top: 0}}
357357 />
···523523 style={t.atoms.text_contrast_medium as StyleProp<ViewStyle>}
524524 />
525525 <Text style={[t.atoms.text_contrast_medium, a.text_md]}>
526526- <Trans>Find posts, users, and feeds on Bluesky</Trans>
526526+ <Trans>Find skeets, users, and feeds on Witchsky</Trans>
527527 </Text>
528528 </View>
529529 </View>
···5555 </SettingsList.ItemText>
5656 <Toggle.Item
5757 name="require_alt_text"
5858- label={_(msg`Require alt text before posting`)}
5858+ label={_(msg`Require alt text before skeeting`)}
5959 value={requireAltTextEnabled ?? false}
6060 onChange={value => setRequireAltTextEnabled(value)}
6161 style={[a.w_full]}>
6262 <Toggle.LabelText style={[a.flex_1]}>
6363- <Trans>Require alt text before posting</Trans>
6363+ <Trans>Require alt text before skeeting</Trans>
6464 </Toggle.LabelText>
6565 <Toggle.Platform />
6666 </Toggle.Item>
+2-2
src/screens/Settings/ActivityPrivacySettings.tsx
···4949 <ItemTextWithSubtitle
5050 bold
5151 titleText={
5252- <Trans>Allow others to be notified of your posts</Trans>
5252+ <Trans>Allow others to be notified of your skeets</Trans>
5353 }
5454 subtitleText={
5555 <Trans>
5656 This feature allows users to receive notifications for your
5757- new posts and replies. Who do you want to enable this for?
5757+ new skeets and replies. Who do you want to enable this for?
5858 </Trans>
5959 }
6060 />
···4040 bold
4141 titleText={<Trans>Likes</Trans>}
4242 subtitleText={
4343- <Trans>Get notifications when people like your posts.</Trans>
4343+ <Trans>Get notifications when people like your skeets.</Trans>
4444 }
4545 />
4646 </SettingsList.Item>
···3838 <SettingsList.ItemIcon icon={LikeRepostIcon} />
3939 <ItemTextWithSubtitle
4040 bold
4141- titleText={<Trans>Likes of your reposts</Trans>}
4141+ titleText={<Trans>Likes of your reskeets</Trans>}
4242 subtitleText={
4343 <Trans>
4444- Get notifications when people like posts that you've reposted.
4444+ Get notifications when people like skeets that you've reskeeted.
4545 </Trans>
4646 }
4747 />
···4040 bold
4141 titleText={<Trans>Quotes</Trans>}
4242 subtitleText={
4343- <Trans>Get notifications when people quote your posts.</Trans>
4343+ <Trans>Get notifications when people quote your skeets.</Trans>
4444 }
4545 />
4646 </SettingsList.Item>
···4141 titleText={<Trans>Replies</Trans>}
4242 subtitleText={
4343 <Trans>
4444- Get notifications when people reply to your posts.
4444+ Get notifications when people reply to your skeets.
4545 </Trans>
4646 }
4747 />
···3838 <SettingsList.ItemIcon icon={RepostRepostIcon} />
3939 <ItemTextWithSubtitle
4040 bold
4141- titleText={<Trans>Reposts of your reposts</Trans>}
4141+ titleText={<Trans>Reskeets of your reskeets</Trans>}
4242 subtitleText={
4343 <Trans>
4444- Get notifications when people repost posts that you've
4545- reposted.
4444+ Get notifications when people reskeet skeets that you've
4545+ reskeeted.
4646 </Trans>
4747 }
4848 />
···8181 </SettingsList.LinkItem>
8282 <SettingsList.LinkItem
8383 label={_(
8484- msg`Settings for allowing others to be notified of your posts`,
8484+ msg`Settings for allowing others to be notified of your skeets`,
8585 )}
8686 to={{screen: 'ActivityPrivacySettings'}}
8787 contentContainerStyle={[a.align_start]}>
8888 <SettingsList.ItemIcon icon={BellRingingIcon} />
8989 <ItemTextWithSubtitle
9090 titleText={
9191- <Trans>Allow others to be notified of your posts</Trans>
9191+ <Trans>Allow others to be notified of your skeets</Trans>
9292 }
9393 subtitleText={
9494 <NotificationDeclaration
+2-2
src/screens/Settings/ThreadPreferences.tsx
···4545 </SettingsList.ItemText>
4646 <View style={[a.w_full, a.gap_md]}>
4747 <Text style={[a.flex_1, t.atoms.text_contrast_medium]}>
4848- <Trans>Sort replies to the same post by:</Trans>
4848+ <Trans>Sort replies to the same skeet by:</Trans>
4949 </Text>
5050 <Toggle.Group
5151 label={_(msg`Sort replies by`)}
···9595 }
9696 style={[a.w_full, a.gap_md]}>
9797 <Toggle.LabelText style={[a.flex_1]}>
9898- <Trans>Show post replies in a threaded tree view</Trans>
9898+ <Trans>Show skeet replies in a threaded tree view</Trans>
9999 </Toggle.LabelText>
100100 <Toggle.Platform />
101101 </Toggle.Item>
···507507 let err = cleanError(e.message)
508508 if (err.includes('not locate record')) {
509509 err = _(
510510- msg`We're sorry! The post you are replying to has been deleted.`,
510510+ msg`We're sorry! The skeet you are replying to has been deleted.`,
511511 )
512512 } else if (e instanceof EmbeddingDisabledError) {
513513- err = _(msg`This post's author has disabled quote posts.`)
513513+ err = _(msg`This skeet's author has disabled quote skeets.`)
514514 }
515515 setError(err)
516516 setIsPublishing(false)
···570570 <Toast.Icon />
571571 <Toast.Text>
572572 {thread.posts.length > 1
573573- ? _(msg`Your posts were sent`)
573573+ ? _(msg`Your skeets were sent`)
574574 : replyTo
575575 ? _(msg`Your reply was sent`)
576576- : _(msg`Your post was sent`)}
576576+ : _(msg`Your skeet was sent`)}
577577 </Toast.Text>
578578 {postUri && (
579579 <Toast.Action
580580- label={_(msg`View post`)}
580580+ label={_(msg`View skeet`)}
581581 onPress={() => {
582582 const {host: name, rkey} = new AtUri(postUri)
583583 navigation.navigate('PostThread', {name, rkey})
584584 }}>
585585- <Trans context="Action to view the post the user just created">
585585+ <Trans context="Action to view the skeet the user just created">
586586 View
587587 </Trans>
588588 </Toast.Action>
···851851 const selectTextInputPlaceholder = isReply
852852 ? isFirstPost
853853 ? _(msg`Write your reply`)
854854- : _(msg`Add another post`)
855855- : _(msg`What's up?`)
854854+ : _(msg`Add another skeet`)
855855+ : _(msg`Anything but skeet`)
856856 const discardPromptControl = Prompt.usePromptControl()
857857858858 const dispatchPost = useCallback(
···964964 {canRemovePost && isActive && (
965965 <>
966966 <Button
967967- label={_(msg`Delete post`)}
967967+ label={_(msg`Delete skeet`)}
968968 size="small"
969969 color="secondary"
970970 variant="ghost"
···989989 </Button>
990990 <Prompt.Basic
991991 control={discardPromptControl}
992992- title={_(msg`Discard post?`)}
993993- description={_(msg`Are you sure you'd like to discard this post?`)}
992992+ title={_(msg`Discard skeet?`)}
993993+ description={_(msg`Are you sure you'd like to discard this skeet?`)}
994994 onConfirm={() => {
995995 dispatch({
996996 type: 'remove_post',
···11151115 {isReply ? (
11161116 <Trans context="action">Reply</Trans>
11171117 ) : isThread ? (
11181118- <Trans context="action">Post All</Trans>
11181118+ <Trans context="action">Skeet All</Trans>
11191119 ) : (
11201120- <Trans context="action">Post</Trans>
11201120+ <Trans context="action">Skeet</Trans>
11211121 )}
11221122 </ButtonText>
11231123 </Button>
+1-1
src/view/com/composer/labels/LabelsBtn.tsx
···109109 <Text style={[t.atoms.text_contrast_medium, a.leading_snug]}>
110110 <Trans>
111111 Please add any content warning labels that are applicable for the
112112- media you are posting.
112112+ media you are skeeting.
113113 </Trans>
114114 </Text>
115115 </View>
···181181 a.text_xl,
182182 a.mb_sm,
183183 ]}>
184184- <Trans>Choose Post Languages</Trans>
184184+ <Trans>Choose Skeet Languages</Trans>
185185 </Text>
186186 <Text
187187 nativeID="dialog-description"
···191191 a.text_md,
192192 a.mb_lg,
193193 ]}>
194194- <Trans>Select up to 3 languages used in this post</Trans>
194194+ <Trans>Select up to 3 languages used in this skeet</Trans>
195195 </Text>
196196 </View>
197197
···117117 label={
118118 <RNText>
119119 <Trans>
120120- The post you're replying to was marked as being written in{' '}
120120+ The skeet you're replying to was marked as being written in{' '}
121121 {suggestedLanguageName} by its author. Would you like to reply in{' '}
122122 <Text style={[a.font_bold]}>{suggestedLanguageName}</Text>?
123123 </Trans>
···309309 other={`${formattedAuthorsCount} others`}
310310 />
311311 </Text>{' '}
312312- liked your post
312312+ liked your skeet
313313 </Trans>
314314 ) : (
315315- <Trans>{firstAuthorLink} liked your post</Trans>
315315+ <Trans>{firstAuthorLink} liked your skeet</Trans>
316316 )
317317 } else if (item.type === 'repost') {
318318 a11yLabel = hasMultipleAuthors
···333333 other={`${formattedAuthorsCount} others`}
334334 />
335335 </Text>{' '}
336336- reposted your post
336336+ reskeeted your skeet
337337 </Trans>
338338 ) : (
339339- <Trans>{firstAuthorLink} reposted your post</Trans>
339339+ <Trans>{firstAuthorLink} reskeeted your skeet</Trans>
340340 )
341341 icon = <RepostIcon size="xl" style={{color: t.palette.positive_500}} />
342342 } else if (item.type === 'follow') {
···497497 other={`${formattedAuthorsCount} others`}
498498 />
499499 </Text>{' '}
500500- liked your repost
500500+ liked your reskeet
501501 </Trans>
502502 ) : (
503503- <Trans>{firstAuthorLink} liked your repost</Trans>
503503+ <Trans>{firstAuthorLink} liked your reskeet</Trans>
504504 )
505505 } else if (item.type === 'repost-via-repost') {
506506 a11yLabel = hasMultipleAuthors
···521521 other={`${formattedAuthorsCount} others`}
522522 />
523523 </Text>{' '}
524524- reposted your repost
524524+ reskeeted your reskeet
525525 </Trans>
526526 ) : (
527527- <Trans>{firstAuthorLink} reposted your repost</Trans>
527527+ <Trans>{firstAuthorLink} reskeeted your reskeet</Trans>
528528 )
529529 icon = <RepostIcon size="xl" style={{color: t.palette.positive_500}} />
530530 } else if (item.type === 'subscribed-post') {
···541541 )
542542 : _(
543543 msg`New ${plural(postsCount, {
544544- one: 'post',
545545- other: 'posts',
544544+ one: 'skeet',
545545+ other: 'skeets',
546546 })} from ${firstAuthorName}`,
547547 )
548548 notificationContent = hasMultipleAuthors ? (
549549 <Trans>
550550- New posts from {firstAuthorLink} and{' '}
550550+ New skeets from {firstAuthorLink} and{' '}
551551 <Text style={[a.text_md, a.font_semi_bold, a.leading_snug]}>
552552 <Plural
553553 value={additionalAuthorsCount}
···558558 </Trans>
559559 ) : (
560560 <Trans>
561561- New <Plural value={postsCount} one="post" other="posts" /> from{' '}
561561+ New <Plural value={postsCount} one="skeet" other="skeets" /> from{' '}
562562 {firstAuthorLink}
563563 </Trans>
564564 )
+2-2
src/view/com/post-thread/PostRepostedBy.tsx
···8787 isLoading={isLoadingUri || isLoadingRepostedBy}
8888 isError={isError}
8989 emptyType="results"
9090- emptyTitle={_(msg`No reposts yet`)}
9090+ emptyTitle={_(msg`No reskeets yet`)}
9191 emptyMessage={_(
9292- msg`Nobody has reposted this yet. Maybe you should be the first!`,
9292+ msg`Nobody has reskeeted this yet. Maybe you should be the first!`,
9393 )}
9494 errorMessage={cleanError(resolveError || error)}
9595 sideBorders={false}
+1-1
src/view/com/posts/DiscoverFallbackHeader.tsx
···2727 <View style={{flex: 1}}>
2828 <Text type="md" style={pal.text}>
2929 <Trans>
3030- We ran out of posts from your follows. Here's the latest from{' '}
3030+ We ran out of skeets from your follows. Here's the latest from{' '}
3131 <TextLink
3232 type="md-medium"
3333 href="/profile/bsky.app/feed/whats-hot"
+1-1
src/view/com/posts/PostFeed.tsx
···795795 return (
796796 <LoadMoreRetryBtn
797797 label={_(
798798- msg`There was an issue fetching posts. Tap here to try again.`,
798798+ msg`There was an issue fetching skeets. Tap here to try again.`,
799799 )}
800800 onPress={onPressRetryLoadMore}
801801 />
···200200 ]}>
201201 <Text style={[a.text_center, a.text_sm, t.atoms.text_contrast_high]}>
202202 <Trans>
203203- Muted accounts have their posts removed from your feed and from your
203203+ Muted accounts have their skeets removed from your feed and from your
204204 notifications. Mutes are completely private.
205205 </Trans>
206206 </Text>