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 @@
+
+
+
+
+
+
+
+
+ {{ $t('search.instant_search') }}
+
+
+ {{ $t('search.instant_search_on') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('search.instant_search') }}
+
+
+ {{ $t('search.instant_search_off') }}
+
+
+
+
+
+
+
+
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') }}
-
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 */,