+4
src/env/common.ts
+4
src/env/common.ts
···
67
67
*/
68
68
export const BLUESKY_PROXY_DID: Did =
69
69
process.env.EXPO_PUBLIC_BLUESKY_PROXY_DID || 'did:web:api.shatteredsky.net'
70
+
/**
71
+
* The DID of the PBLLC Bluesky appview to proxy to
72
+
*/
73
+
export const PBLLC_BLUESKY_PROXY_DID: Did = 'did:web:api.bsky.app'
70
74
71
75
/**
72
76
* The DID of the chat service to proxy to
+10
-1
src/lib/constants.ts
+10
-1
src/lib/constants.ts
···
2
2
import {type AppBskyActorDefs, BSKY_LABELER_DID} from '@atproto/api'
3
3
4
4
import {type ProxyHeaderValue} from '#/state/session/agent'
5
-
import {BLUESKY_PROXY_DID, CHAT_PROXY_DID} from '#/env'
5
+
import {BLUESKY_PROXY_DID, CHAT_PROXY_DID, PBLLC_BLUESKY_PROXY_DID} from '#/env'
6
6
7
7
export const LOCAL_DEV_SERVICE =
8
8
Platform.OS === 'android' ? 'http://10.0.2.2:2583' : 'http://localhost:2583'
···
206
206
// temp hack for e2e - esb
207
207
export const BLUESKY_PROXY_HEADER = {
208
208
value: `${BLUESKY_PROXY_DID}#bsky_appview`,
209
+
get() {
210
+
return this.value as ProxyHeaderValue
211
+
},
212
+
set(value: string) {
213
+
this.value = value
214
+
},
215
+
}
216
+
export const PBLLC_BLUESKY_PROXY_HEADER = {
217
+
value: `${PBLLC_BLUESKY_PROXY_DID}#bsky_appview`,
209
218
get() {
210
219
return this.value as ProxyHeaderValue
211
220
},
+5
src/state/queries/notifications/settings.ts
+5
src/state/queries/notifications/settings.ts
···
7
7
useQueryClient,
8
8
} from '@tanstack/react-query'
9
9
10
+
import {BLUESKY_PROXY_HEADER, PBLLC_BLUESKY_PROXY_HEADER} from '#/lib/constants'
10
11
import {logger} from '#/logger'
11
12
import {useAgent} from '#/state/session'
12
13
import * as Toast from '#/view/com/util/Toast'
···
22
23
return useQuery({
23
24
queryKey: RQKEY,
24
25
queryFn: async () => {
26
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
25
27
const response = await agent.app.bsky.notification.getPreferences()
28
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
26
29
return response.data.preferences
27
30
},
28
31
enabled,
···
36
39
mutationFn: async (
37
40
update: Partial<AppBskyNotificationDefs.Preferences>,
38
41
) => {
42
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
39
43
const response =
40
44
await agent.app.bsky.notification.putPreferencesV2(update)
45
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
41
46
return response.data.preferences
42
47
},
43
48
onMutate: update => {
+47
-1
src/state/queries/preferences/index.ts
+47
-1
src/state/queries/preferences/index.ts
···
6
6
} from '@atproto/api'
7
7
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
8
8
9
-
import {PROD_DEFAULT_FEED} from '#/lib/constants'
9
+
import {
10
+
BLUESKY_PROXY_HEADER,
11
+
PBLLC_BLUESKY_PROXY_HEADER,
12
+
PROD_DEFAULT_FEED,
13
+
} from '#/lib/constants'
10
14
import {replaceEqualDeep} from '#/lib/functions'
11
15
import {getAge} from '#/lib/strings/time'
12
16
import {logger} from '#/logger'
···
45
49
if (!agent.did) {
46
50
return DEFAULT_LOGGED_OUT_PREFERENCES
47
51
} else {
52
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
48
53
const res = await agent.getPreferences()
54
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
49
55
50
56
// save to local storage to ensure there are labels on initial requests
51
57
saveLabelers(
···
97
103
98
104
return useMutation({
99
105
mutationFn: async () => {
106
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
100
107
await agent.app.bsky.actor.putPreferences({preferences: []})
108
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
101
109
// triggers a refetch
102
110
await queryClient.invalidateQueries({
103
111
queryKey: preferencesQueryKey,
···
116
124
{label: string; visibility: LabelPreference; labelerDid: string | undefined}
117
125
>({
118
126
mutationFn: async ({label, visibility, labelerDid}) => {
127
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
119
128
await agent.setContentLabelPref(label, visibility, labelerDid)
129
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
120
130
logger.metric(
121
131
'moderation:changeLabelPreference',
122
132
{preference: visibility},
···
144
154
visibility: LabelPreference
145
155
labelerDid?: string
146
156
}) => {
157
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
147
158
await agent.setContentLabelPref(label, visibility, labelerDid)
159
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
148
160
// triggers a refetch
149
161
await queryClient.invalidateQueries({
150
162
queryKey: preferencesQueryKey,
···
159
171
160
172
return useMutation<void, unknown, {enabled: boolean}>({
161
173
mutationFn: async ({enabled}) => {
174
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
162
175
await agent.setAdultContentEnabled(enabled)
176
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
163
177
// triggers a refetch
164
178
await queryClient.invalidateQueries({
165
179
queryKey: preferencesQueryKey,
···
174
188
175
189
return useMutation<void, unknown, {birthDate: Date}>({
176
190
mutationFn: async ({birthDate}: {birthDate: Date}) => {
191
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
177
192
await agent.setPersonalDetails({birthDate: birthDate.toISOString()})
193
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
178
194
// triggers a refetch
179
195
await queryClient.invalidateQueries({
180
196
queryKey: preferencesQueryKey,
···
193
209
* special handling here, merged into `feedViewPrefs` above, since
194
210
* following was previously called `home`
195
211
*/
212
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
196
213
await agent.setFeedViewPrefs('home', prefs)
214
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
197
215
// triggers a refetch
198
216
await queryClient.invalidateQueries({
199
217
queryKey: preferencesQueryKey,
···
208
226
209
227
return useMutation<void, unknown, Partial<ThreadViewPreferences>>({
210
228
mutationFn: async prefs => {
229
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
211
230
await agent.setThreadViewPrefs(prefs)
231
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
212
232
// triggers a refetch
213
233
await queryClient.invalidateQueries({
214
234
queryKey: preferencesQueryKey,
···
223
243
224
244
return useMutation<void, unknown, AppBskyActorDefs.SavedFeed[]>({
225
245
mutationFn: async savedFeeds => {
246
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
226
247
await agent.overwriteSavedFeeds(savedFeeds)
248
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
227
249
// triggers a refetch
228
250
await queryClient.invalidateQueries({
229
251
queryKey: preferencesQueryKey,
···
242
264
Pick<AppBskyActorDefs.SavedFeed, 'type' | 'value' | 'pinned'>[]
243
265
>({
244
266
mutationFn: async savedFeeds => {
267
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
245
268
await agent.addSavedFeeds(savedFeeds)
269
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
246
270
// triggers a refetch
247
271
await queryClient.invalidateQueries({
248
272
queryKey: preferencesQueryKey,
···
257
281
258
282
return useMutation<void, unknown, Pick<AppBskyActorDefs.SavedFeed, 'id'>>({
259
283
mutationFn: async savedFeed => {
284
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
260
285
await agent.removeSavedFeeds([savedFeed.id])
286
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
261
287
// triggers a refetch
262
288
await queryClient.invalidateQueries({
263
289
queryKey: preferencesQueryKey,
···
278
304
forYouFeedConfig: AppBskyActorDefs.SavedFeed | undefined
279
305
discoverFeedConfig: AppBskyActorDefs.SavedFeed | undefined
280
306
}) => {
307
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
281
308
if (forYouFeedConfig) {
282
309
await agent.removeSavedFeeds([forYouFeedConfig.id])
283
310
}
···
297
324
},
298
325
])
299
326
}
327
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
300
328
// triggers a refetch
301
329
await queryClient.invalidateQueries({
302
330
queryKey: preferencesQueryKey,
···
311
339
312
340
return useMutation<void, unknown, AppBskyActorDefs.SavedFeed[]>({
313
341
mutationFn: async feeds => {
342
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
314
343
await agent.updateSavedFeeds(feeds)
344
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
315
345
316
346
// triggers a refetch
317
347
await queryClient.invalidateQueries({
···
327
357
328
358
return useMutation({
329
359
mutationFn: async (mutedWords: AppBskyActorDefs.MutedWord[]) => {
360
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
330
361
await agent.upsertMutedWords(mutedWords)
362
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
331
363
// triggers a refetch
332
364
await queryClient.invalidateQueries({
333
365
queryKey: preferencesQueryKey,
···
342
374
343
375
return useMutation({
344
376
mutationFn: async (mutedWord: AppBskyActorDefs.MutedWord) => {
377
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
345
378
await agent.updateMutedWord(mutedWord)
379
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
346
380
// triggers a refetch
347
381
await queryClient.invalidateQueries({
348
382
queryKey: preferencesQueryKey,
···
357
391
358
392
return useMutation({
359
393
mutationFn: async (mutedWord: AppBskyActorDefs.MutedWord) => {
394
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
360
395
await agent.removeMutedWord(mutedWord)
396
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
361
397
// triggers a refetch
362
398
await queryClient.invalidateQueries({
363
399
queryKey: preferencesQueryKey,
···
372
408
373
409
return useMutation({
374
410
mutationFn: async (mutedWords: AppBskyActorDefs.MutedWord[]) => {
411
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
375
412
await agent.removeMutedWords(mutedWords)
413
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
376
414
// triggers a refetch
377
415
await queryClient.invalidateQueries({
378
416
queryKey: preferencesQueryKey,
···
387
425
388
426
return useMutation({
389
427
mutationFn: async (nudges: string | string[]) => {
428
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
390
429
await agent.bskyAppQueueNudges(nudges)
430
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
391
431
// triggers a refetch
392
432
await queryClient.invalidateQueries({
393
433
queryKey: preferencesQueryKey,
···
402
442
403
443
return useMutation({
404
444
mutationFn: async (nudges: string | string[]) => {
445
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
405
446
await agent.bskyAppDismissNudges(nudges)
447
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
406
448
// triggers a refetch
407
449
await queryClient.invalidateQueries({
408
450
queryKey: preferencesQueryKey,
···
419
461
mutationFn: async (
420
462
guide: AppBskyActorDefs.BskyAppProgressGuide | undefined,
421
463
) => {
464
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
422
465
await agent.bskyAppSetActiveProgressGuide(guide)
466
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
423
467
// triggers a refetch
424
468
await queryClient.invalidateQueries({
425
469
queryKey: preferencesQueryKey,
···
434
478
435
479
return useMutation<void, unknown, AppBskyActorDefs.VerificationPrefs>({
436
480
mutationFn: async prefs => {
481
+
agent.configureProxy(PBLLC_BLUESKY_PROXY_HEADER.get())
437
482
await agent.setVerificationPrefs(prefs)
483
+
agent.configureProxy(BLUESKY_PROXY_HEADER.get())
438
484
if (prefs.hideBadges) {
439
485
logger.metric('verification:settings:hideBadges', {}, {statsig: true})
440
486
} else {