Skip to content

Commit 6c3a7ff

Browse files
Merge branch 'production' into marcio/pcx15594-mconn-self-serve
2 parents 6da3efa + dd83fff commit 6c3a7ff

File tree

210 files changed

+4008
-1401
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+4008
-1401
lines changed

package-lock.json

Lines changed: 91 additions & 105 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"devDependencies": {
2828
"@actions/core": "1.11.1",
2929
"@actions/github": "6.0.1",
30-
"@apidevtools/swagger-parser": "11.0.1",
30+
"@apidevtools/swagger-parser": "12.0.0",
3131
"@astrojs/check": "0.9.4",
3232
"@astrojs/react": "4.2.5",
3333
"@astrojs/rss": "4.0.11",
@@ -55,7 +55,7 @@
5555
"@types/react-dom": "19.0.4",
5656
"@typescript-eslint/parser": "8.34.1",
5757
"algoliasearch": "5.27.0",
58-
"astro": "5.9.3",
58+
"astro": "5.10.1",
5959
"astro-breadcrumbs": "3.3.1",
6060
"astro-icon": "1.1.5",
6161
"astro-live-code": "0.0.6",
@@ -98,7 +98,7 @@
9898
"react": "19.0.0",
9999
"react-dom": "19.0.0",
100100
"react-icons": "5.5.0",
101-
"react-instantsearch": "7.15.8",
101+
"react-instantsearch": "7.16.0",
102102
"react-markdown": "10.1.0",
103103
"react-select": "5.10.1",
104104
"redirects-in-workers": "0.0.7",
@@ -127,7 +127,7 @@
127127
"ts-blank-space": "0.6.1",
128128
"tsx": "4.20.3",
129129
"typescript": "5.8.3",
130-
"typescript-eslint": "8.34.0",
130+
"typescript-eslint": "8.35.0",
131131
"unified": "11.0.5",
132132
"unist-util-visit": "5.0.0",
133133
"vite-tsconfig-paths": "5.1.4",

public/__redirects

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,13 @@
246246
/bots/additional-configurations/javascript-detections/ /cloudflare-challenges/challenge-types/javascript-detections/ 301
247247

248248
#browser-rendering
249-
/browser-rendering/get-started/browser-rendering-with-do/ /browser-rendering/workers-binding-api/browser-rendering-with-do/ 301
250-
/browser-rendering/get-started/reuse-sessions/ /browser-rendering/workers-binding-api/reuse-sessions/ 301
251-
/browser-rendering/get-started/screenshots/ /browser-rendering/workers-binding-api/screenshots/ 301
249+
/browser-rendering/get-started/browser-rendering-with-DO/ /browser-rendering/workers-bindings/browser-rendering-with-do/ 301
250+
/browser-rendering/get-started/reuse-sessions/ /browser-rendering/workers-bindings/reuse-sessions/ 301
251+
/browser-rendering/get-started/screenshots/ /browser-rendering/workers-bindings/screenshots/ 301
252+
/browser-rendering/workers-binding-api/ /browser-rendering/workers-bindings/ 301
253+
/browser-rendering/workers-binding-api/screenshots/ /browser-rendering/workers-bindings/screenshots/ 301
254+
/browser-rendering/workers-binding-api/browser-rendering-with-do/ /browser-rendering/workers-bindings/browser-rendering-with-do/ 301
255+
/browser-rendering/workers-binding-api/reuse-sessions/ /browser-rendering/workers-bindings/reuse-sessions/ 301
252256

253257
# byoip
254258
/byoip/about/dynamic-advertisement/ /byoip/concepts/dynamic-advertisement/ 301
@@ -496,6 +500,9 @@
496500
/cloudflare-one/email-security/directories/manage-ms-directories/manage-groups-directory/ /cloudflare-one/email-security/directories/manage-integrated-directories/manage-groups-directory/ 301
497501
/cloudflare-one/email-security/directories/manage-ms-directories/manage-users-directory/ /cloudflare-one/email-security/directories/manage-integrated-directories/manage-users-directory/ 301
498502
/cloudflare-one/email-security/setup/partner-domain-tls/ /cloudflare-one/email-security/setup/pre-delivery-deployment/partner-domain-tls/ 301
503+
/cloudflare-one/email-security/setup/pre-delivery-deployment/prerequisites/office365-email-security-mx/ /cloudflare-one/email-security/setup/pre-delivery-deployment/prerequisites/microsoft365-email-security-mx/ 301
504+
/cloudflare-one/email-security/setup/post-delivery-deployment/api/office365-api/ /cloudflare-one/email-security/setup/post-delivery-deployment/api/m365-api/ 301
505+
/cloudflare-one/email-security/setup/post-delivery-deployment/bcc-journaling/journaling-setup/office365-journaling/ /cloudflare-one/email-security/setup/post-delivery-deployment/bcc-journaling/journaling-setup/m365-journaling/ 301
499506

500507
# firewall
501508
/firewall/api/cf-lists/ /waf/tools/lists/lists-api/ 301
@@ -2001,7 +2008,7 @@
20012008
/cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
20022009
/cloudflare-one/connections/connect-networks/deploy-tunnels/ /cloudflare-one/connections/connect-networks/get-started/ 301
20032010
/cloudflare-one/connections/connect-networks/monitor-tunnels/grafana/ /cloudflare-one/tutorials/grafana/ 301
2004-
/cloudflare-one/connections/connect-networks/use-cases/kubectl/ /cloudflare-one/tutorials/many-cfd-one-tunnel/ 301
2011+
/cloudflare-one/connections/connect-networks/use-cases/kubectl/ /cloudflare-one/connections/connect-networks/deployment-guides/kubernetes/ 301
20052012
/cloudflare-one/examples/ /cloudflare-one/api-terraform/ 301
20062013
/cloudflare-one/faq/tunnel/ /cloudflare-one/faq/cloudflare-tunnels-faq/ 301
20072014
/cloudflare-one/identity/devices/azure-ad/ /cloudflare-one/tutorials/azuread-conditional-access/ 301
@@ -2065,6 +2072,7 @@
20652072
/cloudflare-one/tutorials/credentials-only/ /cloudflare-one/connections/connect-networks/get-started/ 301
20662073
/cloudflare-one/tutorials/do-not-decrypt/ /cloudflare-one/policies/gateway/http-policies/common-policies/#skip-inspection-for-groups-of-applications 301
20672074
/cloudflare-one/tutorials/identity-dns/ /cloudflare-one/policies/gateway/dns-policies/common-policies/#restrict-access-to-specific-groups 301
2075+
/cloudflare-one/tutorials/many-cfd-one-tunnel/ /cloudflare-one/connections/connect-networks/deployment-guides/kubernetes/ 301
20682076
/cloudflare-one/tutorials/multi-origin/ /cloudflare-one/connections/connect-networks/get-started/ 301
20692077
/cloudflare-one/tutorials/review-gateway-block/ /cloudflare-one/analytics/logs/gateway-logs/ 301
20702078
/cloudflare-one/tutorials/require-swg/ /cloudflare-one/identity/devices/ 301
44.8 KB
Loading
178 KB
Loading
21.4 KB
Loading
23.7 KB
Loading

src/components/FieldCatalog.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ import { useEffect, useState, type ChangeEvent } from "react";
22
import FieldBadges from "./fields/FieldBadges";
33
import Markdown from "react-markdown";
44
import type { CollectionEntry } from "astro:content";
5+
import { setSearchParams } from "~/util/url";
56

67
type Fields = CollectionEntry<"fields">["data"]["entries"];
78

89
type Filters = {
910
search: string;
1011
categories: string[];
11-
keywords: string[];
1212
};
1313

1414
const FieldCatalog = ({ fields }: { fields: Fields }) => {
1515
const [filters, setFilters] = useState<Filters>({
1616
search: "",
1717
categories: [],
18-
keywords: [],
1918
});
2019

2120
const mapped = fields.sort((f1, f2) => {
@@ -58,7 +57,6 @@ const FieldCatalog = ({ fields }: { fields: Fields }) => {
5857
});
5958

6059
useEffect(() => {
61-
// On component load, check for deep-links to categories in the query param
6260
const params = new URLSearchParams(window.location.search);
6361
const categories = params.getAll("field-category");
6462
const searchTerm = params.get("search-term") ?? "";
@@ -72,6 +70,22 @@ const FieldCatalog = ({ fields }: { fields: Fields }) => {
7270
});
7371
}, []);
7472

73+
useEffect(() => {
74+
const params = new URLSearchParams();
75+
76+
if (filters.search) {
77+
params.set("search-term", filters.search);
78+
}
79+
80+
if (filters.categories.length > 0) {
81+
filters.categories.forEach((category) =>
82+
params.append("field-category", category),
83+
);
84+
}
85+
86+
setSearchParams(params);
87+
}, [filters]);
88+
7589
return (
7690
<div className="md:flex">
7791
<div className="mr-8 w-full md:w-1/4">

src/components/LearningPathCatalog.tsx

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { useState, type ChangeEvent } from "react";
1+
import { useEffect, useState, type ChangeEvent } from "react";
22
import Markdown from "react-markdown";
33
import type { CollectionEntry } from "astro:content";
44
import type { IconifyIconBuildResult } from "@iconify/utils";
5+
import { setSearchParams } from "~/util/url";
56

67
type LearningPaths = CollectionEntry<"learning-paths">["data"][];
78
type Icons = Record<string, IconifyIconBuildResult>;
@@ -23,6 +24,34 @@ const LearningPathCatalog = ({
2324
groups: [],
2425
});
2526

27+
useEffect(() => {
28+
const params = new URLSearchParams(window.location.search);
29+
const products = params.getAll("products");
30+
const groups = params.getAll("groups");
31+
32+
if (!products && !groups) return;
33+
34+
setFilters({
35+
...filters,
36+
products,
37+
groups,
38+
});
39+
}, []);
40+
41+
useEffect(() => {
42+
const params = new URLSearchParams();
43+
44+
if (filters.products.length > 0) {
45+
filters.products.forEach((product) => params.append("products", product));
46+
}
47+
48+
if (filters.groups.length > 0) {
49+
filters.groups.forEach((group) => params.append("groups", group));
50+
}
51+
52+
setSearchParams(params);
53+
}, [filters]);
54+
2655
const sorted = paths.sort((lp1, lp2) => {
2756
return lp1.priority < lp2.priority ? -1 : 1;
2857
});

src/components/ModelCatalog.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import ModelInfo from "./models/ModelInfo";
33
import ModelBadges from "./models/ModelBadges";
44
import { authorData } from "./models/data";
55
import type { WorkersAIModelsSchema } from "~/schemas";
6+
import { setSearchParams } from "~/util/url";
67

78
type Filters = {
89
search: string;
@@ -67,6 +68,30 @@ const ModelCatalog = ({ models }: { models: WorkersAIModelsSchema[] }) => {
6768
});
6869
}, []);
6970

71+
useEffect(() => {
72+
const params = new URLSearchParams();
73+
74+
if (filters.search) {
75+
params.set("search", filters.search);
76+
}
77+
78+
if (filters.authors.length > 0) {
79+
filters.authors.forEach((author) => params.append("authors", author));
80+
}
81+
82+
if (filters.tasks.length > 0) {
83+
filters.tasks.forEach((task) => params.append("tasks", task));
84+
}
85+
86+
if (filters.capabilities.length > 0) {
87+
filters.capabilities.forEach((capability) =>
88+
params.append("capabilities", capability),
89+
);
90+
}
91+
92+
setSearchParams(params);
93+
}, [filters]);
94+
7095
const mapped = sortedModels.map((model) => ({
7196
model: {
7297
...model,

0 commit comments

Comments
 (0)