From 3700438b109c17013369f32cefd6a3c81f4ecb8c Mon Sep 17 00:00:00 2001 From: Nathan Knowler Date: Tue, 3 Mar 2026 05:59:26 -0600 Subject: [PATCH 1/3] fix(a11y): add instant search advisory to homepage search field (#1845) Co-authored-by: Alex Savelyev <91429106+alexdln@users.noreply.github.com> Co-authored-by: Vordgi Co-authored-by: Daniel Roe --- app/app.vue | 7 +++++ app/components/InstantSearch.vue | 54 ++++++++++++++++++++++++++++++++ app/pages/index.vue | 14 +++++++-- i18n/locales/en.json | 8 ++++- i18n/schema.json | 18 +++++++++++ test/nuxt/a11y.spec.ts | 9 ++++++ 6 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 app/components/InstantSearch.vue diff --git a/app/app.vue b/app/app.vue index 1f7e40b414..5916e3e328 100644 --- a/app/app.vue +++ b/app/app.vue @@ -48,10 +48,17 @@ if (import.meta.server) { } const keyboardShortcuts = useKeyboardShortcuts() +const { settings } = useSettings() onKeyDown( '/', e => { + if (e.ctrlKey) { + e.preventDefault() + settings.value.instantSearch = !settings.value.instantSearch + return + } + if (!keyboardShortcuts.value || isEditableElement(e.target)) return e.preventDefault() diff --git a/app/components/InstantSearch.vue b/app/components/InstantSearch.vue new file mode 100644 index 0000000000..ae721f8376 --- /dev/null +++ b/app/components/InstantSearch.vue @@ -0,0 +1,54 @@ + + + diff --git a/app/pages/index.vue b/app/pages/index.vue index 3bf21e21ef..1b12b60c3f 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -52,15 +52,20 @@ defineOgImageComponent('Default', { {{ $t('tagline') }}

-
+ -
+
@@ -82,6 +87,7 @@ defineOgImageComponent('Default', { no-correct size="large" class="w-full ps-8 pe-24" + aria-describedby="instant-search-advisory" @focus="isSearchFocused = true" @blur="isSearchFocused = false" /> @@ -98,6 +104,8 @@ defineOgImageComponent('Default', {
+ + diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 0d017ee561..4374ceff5b 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -65,7 +65,13 @@ "org": "org", "view_user_packages": "View packages by this user", "view_org_packages": "View packages by this organization" - } + }, + "instant_search": "Instant search", + "instant_search_on": "on", + "instant_search_off": "off", + "instant_search_turn_on": "turn on", + "instant_search_turn_off": "turn off", + "instant_search_advisory": "{label} {state} — {action}" }, "nav": { "main_navigation": "Main", diff --git a/i18n/schema.json b/i18n/schema.json index f1eb7e5b76..5842a37bca 100644 --- a/i18n/schema.json +++ b/i18n/schema.json @@ -201,6 +201,24 @@ } }, "additionalProperties": false + }, + "instant_search": { + "type": "string" + }, + "instant_search_on": { + "type": "string" + }, + "instant_search_off": { + "type": "string" + }, + "instant_search_turn_on": { + "type": "string" + }, + "instant_search_turn_off": { + "type": "string" + }, + "instant_search_advisory": { + "type": "string" } }, "additionalProperties": false diff --git a/test/nuxt/a11y.spec.ts b/test/nuxt/a11y.spec.ts index 4774a5ce64..1986138d40 100644 --- a/test/nuxt/a11y.spec.ts +++ b/test/nuxt/a11y.spec.ts @@ -156,6 +156,7 @@ import { HeaderAccountMenu, HeaderConnectorModal, HeaderSearchBox, + InstantSearch, InputBase, LicenseDisplay, LoadingSpinner, @@ -2657,6 +2658,14 @@ describe('component accessibility audits', () => { }) }) + describe('InstantSearch', () => { + it('should have no accessibility violations', async () => { + const component = await mountSuspended(InstantSearch) + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) + }) + describe('SearchProviderToggle', () => { it('should have no accessibility violations', async () => { const component = await mountSuspended(SearchProviderToggle) From a875f23fc89f67950ef7d04745c7e79aa3e0732f Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 3 Mar 2026 12:04:37 +0000 Subject: [PATCH 2/3] ci: add github-actions[bot] git identity --- .github/workflows/release-tag.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index af7ea9ef3e..7666e24377 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -77,6 +77,8 @@ jobs: env: VERSION: ${{ steps.version.outputs.next }} run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git tag -a "$VERSION" -m "Release $VERSION" git push origin "$VERSION" From 2ea6f11ec1e2acba012f2de1133d618155cbe60b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 3 Mar 2026 12:14:29 +0000 Subject: [PATCH 3/3] fix: allow author query for author profiles --- nuxt.config.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nuxt.config.ts b/nuxt.config.ts index 4aa911662f..4031a9828e 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -136,6 +136,14 @@ export default defineNuxtConfig({ // never cache '/api/auth/**': { isr: false, cache: false }, '/api/social/**': { isr: false, cache: false }, + '/api/atproto/bluesky-author-profiles': { + isr: { + expiration: 60 * 60 /* one hour */, + passQuery: true, + allowQuery: ['authors'], + }, + cache: { maxAge: 3600 }, + }, '/api/opensearch/suggestions': { isr: { expiration: 60 * 60 * 24 /* one day */,