+2
-2
README.md
+2
-2
README.md
···
4
4
5
5
Get the app itself:
6
6
7
-
- **Web: bsky.app**
7
+
- **Web: social.shatteredsky.net**
8
8
9
9
<a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/NekoDrone/catsky-social">
10
10
<img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png?raw=true"
···
48
48
- Stay away from PRs like...
49
49
- Changing "Post" to "Skeet."
50
50
- Refactoring the codebase, e.g., to replace React Query with Redux Toolkit or something.
51
-
- Adding entirely new features without prior discussion.
51
+
- Adding entirely new features without prior discussion.
52
52
53
53
Remember, we serve a wide community of users. Our day-to-day involves us constantly asking "which top priority is our top priority." If you submit well-written PRs that solve problems concisely, that's an awesome contribution. Otherwise, as much as we'd love to accept your ideas and contributions, we really don't have the bandwidth. That's what forking is for!
54
54
+2
-1
app.config.js
+2
-1
app.config.js
···
18
18
const IS_DEV = !IS_TESTFLIGHT || !IS_PRODUCTION
19
19
20
20
const ASSOCIATED_DOMAINS = [
21
+
'applinks:shatteredsky.net',
21
22
'applinks:bsky.app',
22
23
'applinks:staging.bsky.app',
23
24
'appclips:bsky.app',
···
159
160
data: [
160
161
{
161
162
scheme: 'https',
162
-
host: 'bsky.app',
163
+
host: 'social.shatteredsky.net',
163
164
},
164
165
IS_DEV && {
165
166
scheme: 'http',
+1
bskyembed/src/components/post.tsx
+1
bskyembed/src/components/post.tsx
···
158
158
className="text-blue-500 hover:underline"
159
159
disableTracking={
160
160
!segment.link.uri.startsWith('https://bsky.app') &&
161
+
!segment.link.uri.startsWith('https://social.shatteredsky.net') &&
161
162
!segment.link.uri.startsWith('https://go.bsky.app')
162
163
}>
163
164
{segment.text}
+2
-2
bskyembed/src/screens/landing.tsx
+2
-2
bskyembed/src/screens/landing.tsx
···
18
18
import {niceDate} from '../util/nice-date'
19
19
20
20
const DEFAULT_POST =
21
-
'https://bsky.app/profile/did:plc:vjug55kidv6sye7ykr5faxxn/post/3jzn6g7ixgq2y'
21
+
'https://social.shatteredsky.net/profile/did:plc:vjug55kidv6sye7ykr5faxxn/post/3jzn6g7ixgq2y'
22
22
const DEFAULT_URI =
23
23
'at://did:plc:vjug55kidv6sye7ykr5faxxn/app.bsky.feed.post/3jzn6g7ixgq2y'
24
24
···
59
59
} else {
60
60
try {
61
61
const urlp = new URL(uri)
62
-
if (!urlp.hostname.endsWith('bsky.app')) {
62
+
if (!urlp.hostname.endsWith('shatteredsky.net')) {
63
63
throw new Error('Invalid hostname')
64
64
}
65
65
const split = urlp.pathname.slice(1).split('/')
+2
-2
bskyembed/src/screens/post.tsx
+2
-2
bskyembed/src/screens/post.tsx
···
90
90
91
91
function ErrorMessage() {
92
92
return (
93
-
<Container href="https://bsky.app/">
93
+
<Container href="https://social.shatteredsky.net/">
94
94
<Link
95
-
href="https://bsky.app/"
95
+
href="https://social.shatteredsky.net/"
96
96
className="transition-transform hover:scale-110 absolute top-4 right-4">
97
97
<img src={logo} className="h-6" />
98
98
</Link>
+1
-1
bskylink/src/config.ts
+1
-1
bskylink/src/config.ts
···
74
74
version: env.version,
75
75
hostnames: env.hostnames,
76
76
hostnamesSet: new Set(env.hostnames),
77
-
appHostname: env.appHostname ?? 'bsky.app',
77
+
appHostname: env.appHostname ?? 'social.shatteredsky.net',
78
78
safelinkEnabled: env.safelinkEnabled ?? false,
79
79
safelinkPdsUrl: env.safelinkPdsUrl,
80
80
safelinkAgentIdentifier: env.safelinkAgentIdentifier,
+1
-1
bskylink/src/html/linkWarningContents.ts
+1
-1
bskylink/src/html/linkWarningContents.ts
···
38
38
</div>
39
39
<div class="button-group">
40
40
${continueButton}
41
-
<a class="button primary" href="https://bsky.app">${req.__('Return to Bluesky')}</a>
41
+
<a class="button primary" href="https://social.shatteredsky.net">${req.__('Return to Shattered Sky')}</a>
42
42
</div>
43
43
`
44
44
}
+1
-1
bskyweb/cmd/bskyweb/main.go
+1
-1
bskyweb/cmd/bskyweb/main.go
···
84
84
Name: "cors-allowed-origins",
85
85
Usage: "list of allowed origins for CORS requests",
86
86
Required: false,
87
-
Value: cli.NewStringSlice("https://bsky.app", "https://main.bsky.dev", "https://app.staging.bsky.dev"),
87
+
Value: cli.NewStringSlice("https://bsky.app", "https://main.bsky.dev", "https://app.staging.bsky.dev", "https://social.shatteredsky.net"),
88
88
EnvVars: []string{"CORS_ALLOWED_ORIGINS"},
89
89
},
90
90
&cli.StringFlag{
+7
-7
bskyweb/cmd/embedr/handlers.go
+7
-7
bskyweb/cmd/embedr/handlers.go
···
78
78
if err != nil {
79
79
return nil, err
80
80
}
81
-
if u.Hostname() != "bsky.app" {
82
-
return nil, fmt.Errorf("only bsky.app URLs currently supported")
81
+
if u.Hostname() != "social.shatteredsky.net" {
82
+
return nil, fmt.Errorf("only social.shatteredsky.net URLs currently supported")
83
83
}
84
84
pathParts := strings.Split(u.Path, "/") // NOTE: pathParts[0] will be empty string
85
85
if len(pathParts) != 5 || pathParts[1] != "profile" || pathParts[3] != "post" {
86
-
return nil, fmt.Errorf("only bsky.app post URLs currently supported")
86
+
return nil, fmt.Errorf("only social.shatteredsky.net post URLs currently supported")
87
87
}
88
88
atid, err := syntax.ParseAtIdentifier(pathParts[2])
89
89
if err != nil {
···
142
142
143
143
aturi, err := srv.parseBlueskyURL(c.Request().Context(), c.QueryParam("url"))
144
144
if err != nil {
145
-
return c.String(http.StatusBadRequest, fmt.Sprintf("Expected 'url' to be bsky.app URL or AT-URI: %v", err))
145
+
return c.String(http.StatusBadRequest, fmt.Sprintf("Expected 'url' to be social.shatteredsky.net URL or AT-URI: %v", err))
146
146
}
147
147
if aturi.Collection() != syntax.NSID("app.bsky.feed.post") {
148
148
return c.String(http.StatusNotImplemented, "Only posts (app.bsky.feed.post records) can be embedded currently")
···
169
169
Type: "rich",
170
170
Version: "1.0",
171
171
AuthorName: "@" + post.Author.Handle,
172
-
AuthorURL: fmt.Sprintf("https://bsky.app/profile/%s", post.Author.Handle),
173
-
ProviderName: "Bluesky Social",
174
-
ProviderURL: "https://bsky.app",
172
+
AuthorURL: fmt.Sprintf("https://social.shatteredsky.net/profile/%s", post.Author.Handle),
173
+
ProviderName: "Shattered Sky",
174
+
ProviderURL: "https://social.shatteredsky.net",
175
175
CacheAge: 86400,
176
176
Width: &width,
177
177
Height: nil,
+2
-2
bskyweb/cmd/embedr/snippet.go
+2
-2
bskyweb/cmd/embedr/snippet.go
···
64
64
PostText: post.Text,
65
65
PostAuthor: authorName,
66
66
PostIndexedAt: sortAt,
67
-
ProfileURL: template.URL(fmt.Sprintf("https://bsky.app/profile/%s?ref_src=embed", aturi.Authority())),
68
-
PostURL: template.URL(fmt.Sprintf("https://bsky.app/profile/%s/post/%s?ref_src=embed", aturi.Authority(), aturi.RecordKey())),
67
+
ProfileURL: template.URL(fmt.Sprintf("https://social.shatteredsky.net/profile/%s?ref_src=embed", aturi.Authority())),
68
+
PostURL: template.URL(fmt.Sprintf("https://social.shatteredsky.net/profile/%s/post/%s?ref_src=embed", aturi.Authority(), aturi.RecordKey())),
69
69
WidgetURL: template.URL("https://embed.bsky.app/static/embed.js"),
70
70
}
71
71
+1
-1
bskyweb/templates/post.html
+1
-1
bskyweb/templates/post.html
···
63
63
"author": {
64
64
"@type": "Person",
65
65
"name": "{{ postView.Author.DisplayName }}",
66
-
"url": "https://bsky.app/profile/{{ postView.Author.Handle }}"
66
+
"url": "https://social.shatteredsky.net/profile/{{ postView.Author.Handle }}"
67
67
},
68
68
{%- if postText %}
69
69
"text": "{{ postText }}",
+3
-3
modules/BlueskyClip/ViewController.swift
+3
-3
modules/BlueskyClip/ViewController.swift
···
34
34
webView.navigationDelegate = self
35
35
self.view.addSubview(webView)
36
36
self.webView = webView
37
-
self.webView?.load(URLRequest(url: URL(string: "https://bsky.app/?splash=true&clip=true")!))
37
+
self.webView?.load(URLRequest(url: URL(string: "https://social.shatteredsky.net/?splash=true&clip=true")!))
38
38
}
39
39
40
40
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
···
86
86
}
87
87
88
88
switch host {
89
-
case "bsky.app":
89
+
case "social.shatteredsky.net":
90
90
if url.pathComponents.count == 4,
91
91
url.pathComponents[1] == "start" || url.pathComponents[1] == "starter-pack" {
92
92
return true
···
109
109
self.webView?.load(URLRequest(url: url))
110
110
}
111
111
} else {
112
-
self.webView?.load(URLRequest(url: URL(string: "https://bsky.app/?splash=true&clip=true")!))
112
+
self.webView?.load(URLRequest(url: URL(string: "https://social.shatteredsky.net/?splash=true&clip=true")!))
113
113
}
114
114
}
115
115
+1
-1
modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts
+1
-1
modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts
+1
-1
src/lib/constants.ts
+1
-1
src/lib/constants.ts
···
14
14
export const HELP_DESK_URL = `https://github.com/NekoDrone/catsky-social/issues/new/choose`
15
15
export const EMBED_SERVICE = 'https://embed.bsky.app'
16
16
export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js`
17
-
export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download'
17
+
export const BSKY_DOWNLOAD_URL = 'https://social.shatteredsky.net/download'
18
18
export const STARTER_PACK_MAX_SIZE = 150
19
19
20
20
// HACK
+1
-1
src/lib/hooks/useIntentHandler.ts
+1
-1
src/lib/hooks/useIntentHandler.ts
···
34
34
React.useEffect(() => {
35
35
const handleIncomingURL = (url: string) => {
36
36
const referrerInfo = Referrer.getReferrerInfo()
37
-
if (referrerInfo && referrerInfo.hostname !== 'bsky.app') {
37
+
if (referrerInfo && referrerInfo.hostname !== 'social.shatteredsky.net') {
38
38
logger.metric('deepLink:referrerReceived', {
39
39
to: url,
40
40
referrer: referrerInfo?.referrer,
+2
-2
src/lib/routes/links.ts
+2
-2
src/lib/routes/links.ts
···
50
50
rkey?: string,
51
51
) {
52
52
if (typeof starterPackOrName === 'string') {
53
-
return `https://bsky.app/start/${starterPackOrName}/${rkey}`
53
+
return `https://social.shatteredsky.net/start/${starterPackOrName}/${rkey}`
54
54
} else {
55
55
const uriRkey = new AtUri(starterPackOrName.uri).rkey
56
-
return `https://bsky.app/start/${starterPackOrName.creator.handle}/${uriRkey}`
56
+
return `https://social.shatteredsky.net/start/${starterPackOrName.creator.handle}/${uriRkey}`
57
57
}
58
58
}
+2
-2
src/lib/strings/embed-player.ts
+2
-2
src/lib/strings/embed-player.ts
···
9
9
? // @ts-ignore only for web
10
10
window.location.host === 'localhost:8100'
11
11
? 'http://localhost:8100'
12
-
: 'https://bsky.app'
12
+
: 'https://social.shatteredsky.net'
13
13
: __DEV__ && !process.env.JEST_WORKER_ID
14
14
? 'http://localhost:8100'
15
-
: 'https://bsky.app'
15
+
: 'https://social.shatteredsky.net'
16
16
17
17
export const embedPlayerSources = [
18
18
'youtube',
+10
-3
src/lib/strings/url-helpers.ts
+10
-3
src/lib/strings/url-helpers.ts
···
7
7
import {startUriToStarterPackUri} from '#/lib/strings/starter-pack'
8
8
import {logger} from '#/logger'
9
9
10
-
export const BSKY_APP_HOST = 'https://bsky.app'
10
+
export const BSKY_APP_HOST = 'https://social.shatteredsky.net'
11
11
const BSKY_TRUSTED_HOSTS = [
12
+
'social\\.shatteredsky\\.net',
13
+
'shatteredsky\\.net',
12
14
'bsky\\.app',
13
15
'bsky\\.social',
14
16
'blueskyweb\\.xyz',
···
91
93
}
92
94
93
95
export function isBskyAppUrl(url: string): boolean {
94
-
return url.startsWith('https://bsky.app/')
96
+
return (
97
+
url.startsWith('https://bsky.app/') ||
98
+
url.startsWith('https://social.shatteredsky.net/')
99
+
)
95
100
}
96
101
97
102
export function isRelativeUrl(url: string): boolean {
···
100
105
101
106
export function isBskyRSSUrl(url: string): boolean {
102
107
return (
103
-
(url.startsWith('https://bsky.app/') || isRelativeUrl(url)) &&
108
+
(url.startsWith('https://bsky.app/') ||
109
+
url.startsWith('https://social.shatteredsky.net/') ||
110
+
isRelativeUrl(url)) &&
104
111
/\/rss\/?$/.test(url)
105
112
)
106
113
}
+4
-2
src/screens/Moderation/index.tsx
+4
-2
src/screens/Moderation/index.tsx
···
423
423
<Trans>
424
424
Adult content can only be enabled via the Web at{' '}
425
425
<InlineLinkText
426
-
label={_(msg`The Bluesky web application`)}
426
+
label={_(msg`The Shattered Sky web application`)}
427
427
to=""
428
428
onPress={evt => {
429
429
evt.preventDefault()
430
-
Linking.openURL('https://bsky.app/')
430
+
Linking.openURL(
431
+
'https://social.shatteredsky.net/',
432
+
)
431
433
return false
432
434
}}>
433
435
bsky.app