Skip to content

Commit 7f232ab

Browse files
authored
fix(profile): remove deprecated AT Protocol event source toggle (#369)
The "Use AT Protocol as event source" toggle is now obsolete. All public events are automatically published to AT Protocol when the user has an AT Protocol identity. Removes: - The Bluesky settings q-card from profile page - useBlueskyConnection composable (no longer used) - Related tests for the removed UI The API-side preferences.bluesky.connected is retained for backwards compatibility with the legacy Bluesky import feature.
1 parent e39485c commit 7f232ab

3 files changed

Lines changed: 0 additions & 139 deletions

File tree

src/components/dashboard/DashboardProfileForm.vue

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -135,28 +135,6 @@
135135
</q-card-section>
136136
</q-card>
137137

138-
<!-- AT Protocol event source toggle - only shown for Bluesky users -->
139-
<q-card class="q-mb-md" data-cy="profile-bluesky" v-if="isBlueskyUser">
140-
<q-card-section>
141-
<div class="text-h6 q-mb-md">
142-
<q-icon name="sym_r_cloud" class="q-mr-sm" />
143-
AT Protocol Event Source
144-
</div>
145-
<div class="q-gutter-y-md">
146-
<!-- Display error message if there are Bluesky connection issues -->
147-
<div v-if="blueskyErrorMessage" class="text-negative q-mb-md">
148-
<q-icon name="sym_r_error" size="sm" class="q-mr-xs" />
149-
{{ blueskyErrorMessage }}
150-
</div>
151-
152-
<q-toggle
153-
v-model="form.preferences.bluesky.connected"
154-
label="Use AT Protocol as event source"
155-
@update:model-value="onBlueskyConnectionToggle"
156-
/>
157-
</div>
158-
</q-card-section>
159-
</q-card>
160138
</q-form>
161139

162140
<!-- AT Protocol Identity section - shown for users with identity OR non-Bluesky users who can create one -->
@@ -309,7 +287,6 @@ import { FileEntity, SubCategoryEntity, AuthProvidersEnum } from '../../types'
309287
import { useNotification } from '../../composables/useNotification'
310288
import UploadComponent from '../../components/common/UploadComponent.vue'
311289
import { subcategoriesApi } from '../../api/subcategories'
312-
import { useBlueskyConnection } from '../../composables/useBlueskyConnection'
313290
import { Profile } from '../../types/user'
314291
import { getImageSrc } from '../../utils/imageUtils'
315292
import CalendarConnectionsComponent from '../calendar/CalendarConnectionsComponent.vue'
@@ -720,25 +697,6 @@ const openChangeEmailDialog = () => {
720697
})
721698
}
722699
723-
const { toggleConnection } = useBlueskyConnection()
724-
const blueskyErrorMessage = ref<string | null>(null)
725-
726-
const onBlueskyConnectionToggle = async (enabled: boolean) => {
727-
const success = await toggleConnection(enabled)
728-
if (!success) {
729-
// Reset the toggle to the previous state if the operation failed
730-
form.value.preferences.bluesky.connected = !enabled
731-
} else {
732-
form.value.preferences.bluesky.connected = enabled
733-
if (enabled) {
734-
form.value.preferences.bluesky.connectedAt = new Date()
735-
form.value.preferences.bluesky.disconnectedAt = null
736-
} else {
737-
form.value.preferences.bluesky.disconnectedAt = new Date()
738-
}
739-
}
740-
}
741-
742700
const onDeleteAccount = () => {
743701
Dialog.create({
744702
title: 'Confirm Account Deletion',

src/components/dashboard/__tests__/DashboardProfileForm.vitest.spec.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,6 @@ vi.mock('../../../api/atproto', () => ({
4747
}
4848
}))
4949

50-
vi.mock('../../../composables/useBlueskyConnection', () => ({
51-
useBlueskyConnection: () => ({
52-
toggleConnection: vi.fn().mockResolvedValue(true)
53-
})
54-
}))
55-
5650
vi.mock('../../../composables/useNotification', () => ({
5751
useNotification: () => ({
5852
error: vi.fn(),
@@ -210,28 +204,6 @@ describe('DashboardProfileForm', () => {
210204
})
211205
})
212206

213-
describe('Bluesky settings section', () => {
214-
it('should show Bluesky settings for Bluesky users', async () => {
215-
const wrapper = await mountComponent({
216-
provider: AuthProvidersEnum.bluesky,
217-
atprotoIdentity: createMockAtprotoIdentity()
218-
})
219-
220-
const blueskySection = wrapper.find('[data-cy="profile-bluesky"]')
221-
expect(blueskySection.exists()).toBe(true)
222-
})
223-
224-
it('should NOT show Bluesky settings for email users', async () => {
225-
const wrapper = await mountComponent({
226-
provider: AuthProvidersEnum.email,
227-
atprotoIdentity: null
228-
})
229-
230-
const blueskySection = wrapper.find('[data-cy="profile-bluesky"]')
231-
expect(blueskySection.exists()).toBe(false)
232-
})
233-
})
234-
235207
describe('Take ownership flow auto-redirect', () => {
236208
it('should auto-redirect to OAuth after password reset completes', async () => {
237209
// This test verifies that onResetPdsPassword calls onLinkIdentity after success

src/composables/useBlueskyConnection.ts

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)