diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index da3b067c..c5dc71f9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -76,5 +76,10 @@ jobs:
- name: Run linter
run: ${{ steps.pm.outputs.runner }} lint
+ - name: Run unit tests
+ run: ${{ steps.pm.outputs.runner }} test
+
- name: Build Next.js
run: ${{ steps.pm.outputs.runner }} build
+ env:
+ FOOMATIC_SKIP_SIMILARITY: "1"
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 52019076..0af45c8f 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -4,6 +4,10 @@ on:
push:
branches: [master]
+ # Weekly rebuild so recommendations pick up upstream foomatic-db changes.
+ schedule:
+ - cron: "0 2 * * 1"
+
workflow_dispatch:
permissions:
diff --git a/app/foomatic/printers/page.tsx b/app/foomatic/printers/page.tsx
index 180ea524..83db8b8a 100644
--- a/app/foomatic/printers/page.tsx
+++ b/app/foomatic/printers/page.tsx
@@ -261,18 +261,17 @@ export default function HomePage() {
if (selectedColorCapability !== "all") {
result = result.filter((printer) => {
- const type = printer.type?.toLowerCase() || ""
- const model = typeof printer.model === "string" ? printer.model.toLowerCase() : ""
+ const color = printer.color
if (selectedColorCapability === "color") {
- return type.includes("color") || model.includes("color")
+ return color === true
}
if (selectedColorCapability === "monochrome") {
- return type.includes("mono") || type.includes("dot-matrix") || model.includes("mono")
+ return color === false
}
- return true
+ return color === "unknown" || color === undefined
})
}
diff --git a/app/layout.tsx b/app/layout.tsx
index 1162ec9a..cb00f2b1 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -4,6 +4,7 @@ import "./globals.css";
import Navbar from "@/components/navbar";
import Footer from "@/components/footer";
import TopLoader from "@/components/top-loader";
+import AssistantLauncher from "@/components/assistant/AssistantLauncher";
import { ThemeProvider } from "@/components/theme-provider";
import { siteConfig } from "@/config/site.config";
import { getSiteUrl } from "@/lib/site";
@@ -45,6 +46,7 @@ export default function RootLayout({
{children}
+