Bluesky app fork with some witchin' additions 💫

Fix skeet composer throbber and

update license credit and README (add to TODO, Bugs, and the rest)

+27 -14
+3 -1
LICENSE
··· 1 - Copyright 2025 Aviva Ruben 2 3 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4
··· 1 + MIT License 2 + 3 + Copyright (c) 2025 Jollywhoppers 4 5 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6
+23 -12
README.md
··· 1 # Bitchsky Social App 🧙 2 3 - Hey, bitches! This is the codebase for the Bitchsky app, based on [social.daniela.lol](https://github.com/kittibytess/deer-social) based on [deer.social](https://github.com/a-viv-a/deer-social). 4 5 Get the app itself: 6 ··· 21 - Share links to bitchsky.app or bsky.app 22 - Embed player works with [stream.place](https://stream.place/) links! 23 - No push notifications (may be added later) 24 - - Kept super up-to-date (rarely unstable as a result) 25 26 ### Experiments 27 ··· 63 64 ## Upcoming or wishful features 65 66 - - OpenGraph support for sharing profiles & skeets 67 - Selecting a custom AppView 68 - Seeing past blocks in threads (the nuclear block for reply chains) 69 - Configure the location used to determine regional labelers ··· 75 - [ ] ./src/alf/themes.ts (improve contrast, esp. of links) 76 - [ ] ./src/lib/styles.ts (change likes color, remove gradient from new skeet button) 77 - [ ] ./src/style.css (change links color) 78 - [ ] Setup App Linking for Android (.well-known w/ app package fingerprint) 79 - [ ] Automatic PDS detection like other social-app forks 80 - [ ] Like of or repost of repost icons from blacksky ··· 82 - [ ] Change ChatEmptyPill things for English locale 83 - [ ] stuff from forks like [deer.aylac.top](https://github.com/ayla6/deer-social-test) for pronouns+ 84 - [ ] Visual replies indicator like the [Firmament userstyle](https://bitchsky.app/profile/did:plc:jwhxcrf5uvl3vyw7nurecgt5/post/3m4rr3vzmak2a) 85 - [ ] Bitchsky PDS and .social site 86 87 ### Even more wishful or far off 88 ··· 103 The Authenticated Transfer Protocol ("AT Protocol" or "atproto") is a decentralized social media protocol. You don't *need* to understand AT Protocol to work with this application, but it can help. 104 You may wish to reference [resources linked in social-app](https://github.com/bluesky-social/social-app#development-resources). However, please don't harass the Bluesky team with issues or questions pertaining to Bitchsky. 105 106 - Bitchsky is a fork of the official client, social-app. It encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`. 107 108 ## Contributions 109 110 > Bitchsky is a community fork, and we'd love to merge your PR! 111 112 - As a rule of thumb, the best features for Bitchsky are those that offer a strong positives that have a disproportionately positive impact on the user experience compared to the maintenance overhead. Unlike some open source projects, since Bitchsky is a soft fork, any features (patches) we add on top of upstream social-app need to be maintained. For example, a change to the way skeets are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this feature to be compatible or drop it from the client. 113 114 - For this reason, bias towards features that change a relatively small amount of code that is present upstream. 115 116 Without an overriding motivation, opinionated features should exist behind a toggle that is not enabled by default. This allows Bitchsky to cater to as many users as possible. 117 118 - **Guidelines:** 119 120 - Check for existing issues before filing a new one please. 121 - Open an issue and give some time for discussion before submitting a PR. 122 - - This isn't strictly necessary, but I'd love to give my thoughts and scope out your willingness to maintain the feature before you write it. 123 - Stay away from PRs like... 124 - - Changing "Post" to "Skeet." 🧌 125 - - Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something. 126 - Include a new toggle and preference for your feature. 127 128 If we don't merge your PR for whatever reason, you are welcome to fork and/or self-host: 129 130 ## Forking guidelines 131 132 - Just like social-app, you have our blessing 🪄✨ to fork this application! However, it's very important to be clear to users when you're giving them a fork. 133 134 Please be sure to: 135 ··· 153 154 ## P.S. 155 156 - We ❤️ you and all of the ways you support us. Thank you for making Bluesky & Bitchsky so great!
··· 1 # Bitchsky Social App 🧙 2 3 + Hey, bitches! This is the codebase for the Bitchsky app, based on [social.daniela.lol](https://github.com/kittibytess/deer-social) and code from prior [Bluesky](https://github.com/bluesky-social/social-app) forks. 4 5 Get the app itself: 6 ··· 21 - Share links to bitchsky.app or bsky.app 22 - Embed player works with [stream.place](https://stream.place/) links! 23 - No push notifications (may be added later) 24 + - Kept super up-to-date (sporadically unstable as a result) 25 26 ### Experiments 27 ··· 63 64 ## Upcoming or wishful features 65 66 + - Better OpenGraph support for sharing profiles & skeets (including videos) 67 - Selecting a custom AppView 68 - Seeing past blocks in threads (the nuclear block for reply chains) 69 - Configure the location used to determine regional labelers ··· 75 - [ ] ./src/alf/themes.ts (improve contrast, esp. of links) 76 - [ ] ./src/lib/styles.ts (change likes color, remove gradient from new skeet button) 77 - [ ] ./src/style.css (change links color) 78 + - [ ] ./assets/app-icons/ (change new bksy logos to fit Bitchsky -remove from social embed!) 79 - [ ] Setup App Linking for Android (.well-known w/ app package fingerprint) 80 - [ ] Automatic PDS detection like other social-app forks 81 - [ ] Like of or repost of repost icons from blacksky ··· 83 - [ ] Change ChatEmptyPill things for English locale 84 - [ ] stuff from forks like [deer.aylac.top](https://github.com/ayla6/deer-social-test) for pronouns+ 85 - [ ] Visual replies indicator like the [Firmament userstyle](https://bitchsky.app/profile/did:plc:jwhxcrf5uvl3vyw7nurecgt5/post/3m4rr3vzmak2a) 86 + - [ ] Additional translation service providers + setting (Deepl, Kagi) 87 + - [ ] Collapse labels past the 1st (or 2nd,...; customizable) from the same labeler into a labeler clip of the same style "(+)" 88 + - [ ] Move Mutuals label to the follow button 89 + - [ ] New fun language(s) 90 - [ ] Bitchsky PDS and .social site 91 + 92 + #### Bugs 93 + 94 + - [ ] Fix app crash on tapping profile header (./src/view/com/util/UserBanner.tsx) 95 + - [ ] Fix inability to zoom in on image lightboxes 96 + - [ ] Fix chat input overlapping with chat messages (going upwards) 97 98 ### Even more wishful or far off 99 ··· 114 The Authenticated Transfer Protocol ("AT Protocol" or "atproto") is a decentralized social media protocol. You don't *need* to understand AT Protocol to work with this application, but it can help. 115 You may wish to reference [resources linked in social-app](https://github.com/bluesky-social/social-app#development-resources). However, please don't harass the Bluesky team with issues or questions pertaining to Bitchsky. 116 117 + Bitchsky is a fork of the official Bluesky client, social-app. It encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`. 118 119 ## Contributions 120 121 > Bitchsky is a community fork, and we'd love to merge your PR! 122 123 + As a rule of thumb, the best features for Bitchsky are those that have a disproportionately positive impact on the user experience compared to the maintenance overhead. Unlike some open source projects, since Bitchsky is a soft fork, any features (patches) we add on top of upstream social-app need to be maintained. For example, a change to the way skeets are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this feature to be compatible or drop it from the client. 124 125 + For this reason, only features that require changing only a small amount of code from upstream should be considered. 126 127 Without an overriding motivation, opinionated features should exist behind a toggle that is not enabled by default. This allows Bitchsky to cater to as many users as possible. 128 129 + ### Guidelines 130 131 - Check for existing issues before filing a new one please. 132 - Open an issue and give some time for discussion before submitting a PR. 133 + - This isn't strictly necessary, but the lead developers would love to give their thoughts and scope out your willingness to maintain the feature before you write it. 134 - Stay away from PRs like... 135 + - Changing "Quote" to "Bitch." 136 + - Refactoring the codebase, e.g., to replace React Query with Redux Toolkit, etc. 137 - Include a new toggle and preference for your feature. 138 139 If we don't merge your PR for whatever reason, you are welcome to fork and/or self-host: 140 141 ## Forking guidelines 142 143 + Just like social-app, you have our blessing 🪄✨ to fork this application! However, it's very important to make it clear to users when you're giving them a fork. 144 145 Please be sure to: 146 ··· 164 165 ## P.S. 166 167 + We ❤️ you and all of the ways you support us. Thank you for making Bluesky & Bitchsky so great! ^.^
+1 -1
src/view/com/composer/Composer.tsx
··· 1064 <> 1065 <Text style={pal.textLight}>{publishingStage}</Text> 1066 <View style={styles.postBtn}> 1067 - <ActivityIndicator /> 1068 </View> 1069 </> 1070 ) : (
··· 1064 <> 1065 <Text style={pal.textLight}>{publishingStage}</Text> 1066 <View style={styles.postBtn}> 1067 + <ActivityIndicator color={t.palette.primary_500} /> 1068 </View> 1069 </> 1070 ) : (