Skip to content

Commit c95f41c

Browse files
committed
2 parents f38169d + 818b0a8 commit c95f41c

File tree

10 files changed

+75
-20
lines changed

10 files changed

+75
-20
lines changed

src/components/DocsCalloutBytes.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ export function DocsCalloutBytes(props: React.HTMLProps<HTMLDivElement>) {
88
Subscribe to Bytes
99
</h6>
1010
<p className="text-xs md:text-xs">
11-
Your weekly dose of JavaScript news. Delivered every Monday to over
12-
100,000 devs, for free.
11+
Your weekly dose of JavaScript news. Delivered every Tuesday and
12+
Friday to over 200,000 devs, for free.
1313
</p>
1414
</div>
1515
<BytesForm />

src/components/DocsLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ export function DocsLayout({
789789
</a>
790790
</div>
791791
{activePartners
792-
.filter((d) => d.id !== 'ui-dev')
792+
.filter((d) => d.id !== 'fireship')
793793
.map((partner) => {
794794
// flexBasis as percentage based on score, flexGrow to fill remaining row space
795795
const widthPercent = Math.round(partner.score * 100)

src/components/Gam.tsx

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,71 @@ declare global {
3737

3838
export function GamOnPageChange() {
3939
if (typeof window === 'undefined' || !window.fusetag) return
40-
window.fusetag.que.push(function () {
41-
window.fusetag.pageInit()
42-
})
40+
try {
41+
window.fusetag.que.push(function () {
42+
try {
43+
window.fusetag.pageInit()
44+
} catch (error) {
45+
// Suppress cross-origin errors from Publift Fuse ad viewability measurement
46+
// These can occur on iOS Safari due to strict Same-Origin Policy enforcement
47+
console.debug('Error during fusetag.pageInit():', error)
48+
}
49+
})
50+
} catch (error) {
51+
// Suppress cross-origin errors from Publift Fuse ad viewability measurement
52+
console.debug('Error calling fusetag.que.push():', error)
53+
}
4354
}
4455

4556
export const GamScripts = () => (
4657
<>
58+
<script
59+
dangerouslySetInnerHTML={{
60+
__html: `
61+
// Add global error handler to suppress Publift Fuse cross-origin errors
62+
// These errors occur in iOS Safari due to strict Same-Origin Policy enforcement
63+
// when the ad viewability script tries to access parent window properties
64+
(function() {
65+
var originalErrorHandler = window.onerror;
66+
window.onerror = function(message, source, lineno, colno, error) {
67+
// Check if this is a Publift Fuse cross-origin error
68+
if (
69+
source && (
70+
source.includes('/media/native/') ||
71+
source.includes('fuse.js') ||
72+
source.includes('fuseplatform.net')
73+
) && (
74+
(message && typeof message === 'string' && (
75+
message.includes('contextWindow.parent') ||
76+
message.includes('null is not an object')
77+
)) ||
78+
(error && error.message && (
79+
error.message.includes('contextWindow.parent') ||
80+
error.message.includes('null is not an object')
81+
))
82+
)
83+
) {
84+
// Suppress the error - log to console in debug mode
85+
console.debug('Suppressed Publift Fuse cross-origin error:', message, source);
86+
return true; // Prevent default error handling
87+
}
88+
// Call original error handler for other errors
89+
if (originalErrorHandler) {
90+
return originalErrorHandler.apply(this, arguments);
91+
}
92+
return false;
93+
};
94+
})();
95+
`,
96+
}}
97+
/>
4798
<script
4899
async
49100
src="https://cdn.fuseplatform.net/publift/tags/2/4019/fuse.js"
101+
onError={(e) => {
102+
// Suppress script loading errors from Publift Fuse
103+
console.debug('Error loading fuse.js:', e)
104+
}}
50105
/>
51106
<script
52107
dangerouslySetInnerHTML={{

src/components/LogoQueryGG.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ export function LogoQueryGG(props: React.HTMLProps<HTMLDivElement>) {
213213
<path
214214
fill="#231f20"
215215
className="fill-gray-800 dark:fill-gray-100"
216-
d="M549.98 19.75h-61.25L549.98 81l61.25-61.25h-61.25zm10.55 13.09c1.26 0 2.38 1 2.39 2.23-.02 1.26-1.14 2.26-2.39 2.26-1.33 0-2.41-1-2.39-2.26-.02-1.23 1.07-2.23 2.39-2.23zm-5.33 9.11c0 4.47-3.57 6.88-9.06 6.88s-9.06-2.41-9.06-6.88V29.04h5.7v12.68c0 1.45 1.27 2.44 3.36 2.44s3.4-.99 3.4-2.44V29.04h5.66v12.91zm7.69-.33c-.2 2.63-1.23 5.1-1.88 6.52l-.28.67h-.82l-1.51.01h-1.6l.45-1.43c.44-1.5.98-3.68.98-5.78l-.02-1.21h4.67v1.21z"
216+
d="M550,18.47h-62.53l62.53,62.53,62.53-62.53h-62.53ZM554.77,55.22c.12-.59.3-1.17.35-1.76.04-.57-.06-1.14-.12-1.87-.75.87-1.28,1.61-1.98,2.24-.74.66-1.84.82-3.03.94.15-.47.3-.84.39-1.22.2-.78,0-1.5-.72-2.1-.7-.59-1.39-1.18-2.17-1.71-1.67-1.14-2.22-2.59-2.15-4.22,0-.18,0-.36-.1-.57-1.41,1.49-2.33,3.13-2.63,4.96-.31,1.92.6,3.55,2.37,5.15-.43-.1-.62-.13-.79-.19-5.22-1.85-7.34-6.07-4.95-10.21.96-1.67,2.27-3.24,3.58-4.77,2.36-2.77,3.57-5.79,3.9-9.05.01-.15.04-.29.07-.43.01-.06.07-.11.11-.17.08.02.18.02.23.05,3.52,2.95,6.45,6.17,7.97,10.03,1.14,2.89,1.12,5.71-.89,8.41-.09.12-.11.26-.18.41,1.86-.21,3.97-1.9,4.39-3.41.42-1.52.22-2.98-.43-4.43-.11-.23-.2-.47-.31-.72,1.89.38,4.15,4.26,4.05,6.91-.14,3.63-3.33,7.18-6.95,7.73Z"
217217
/>
218218
</svg>
219219
</div>

src/components/LogoQueryGGSmall.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export function LogoQueryGGSmall(props: React.HTMLProps<HTMLDivElement>) {
220220
<path
221221
fill="#231f20"
222222
className="fill-gray-800 dark:fill-gray-100"
223-
d="M128 .35h-21.97L128 22.32 149.97.35H128zm3.78 4.7c.45 0 .85.36.86.8 0 .45-.41.81-.86.81-.48 0-.87-.36-.86-.81 0-.44.38-.8.86-.8zm-1.91 3.27c0 1.6-1.28 2.47-3.25 2.47s-3.25-.86-3.25-2.47V3.68h2.04v4.55c0 .52.46.88 1.21.88s1.22-.36 1.22-.88V3.68h2.03v4.63zm2.76-.12c-.07.94-.44 1.83-.67 2.34l-.1.24h-1.4l.16-.51c.16-.54.35-1.32.35-2.07v-.43h1.67v.43z"
223+
d="M128,.35h-21.97l21.97,21.97L149.97.35h-21.97ZM129.68,13.27c.04-.21.11-.41.12-.62.01-.2-.02-.4-.04-.66-.27.3-.45.57-.7.79-.26.23-.65.29-1.07.33.05-.17.1-.3.14-.43.07-.27,0-.53-.25-.74-.25-.21-.49-.42-.76-.6-.59-.4-.78-.91-.75-1.48,0-.06,0-.13-.04-.2-.49.52-.82,1.1-.92,1.74-.11.68.21,1.25.83,1.81-.15-.04-.22-.04-.28-.07-1.83-.65-2.58-2.13-1.74-3.59.34-.59.8-1.14,1.26-1.68.83-.97,1.26-2.04,1.37-3.18,0-.05.01-.1.02-.15,0-.02.02-.04.04-.06.03,0,.06,0,.08.02,1.24,1.04,2.27,2.17,2.8,3.52.4,1.01.39,2.01-.31,2.96-.03.04-.04.09-.06.14.65-.08,1.4-.67,1.54-1.2.15-.53.08-1.05-.15-1.56-.04-.08-.07-.16-.11-.25.67.13,1.46,1.5,1.42,2.43-.05,1.28-1.17,2.52-2.44,2.72Z"
224224
/>
225225
</svg>
226226
</div>

src/images/bytes-fireship.png

6.48 KB
Loading

src/images/bytes-uidotdev.png

-6.88 KB
Binary file not shown.

src/routes/learn.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function LearnPage() {
7878
<div className="text-sm opacity-70 mt-2">
7979
Created by{' '}
8080
<span className="font-bold">Dominik Dorfmeister</span> and{' '}
81-
<span className="font-bold">ui.dev</span>
81+
<span className="font-bold">Fireship</span>
8282
</div>
8383
</div>
8484

src/utils/gh-sponsor-meta.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,9 @@
250250
"linkUrl": "https://tripwire.com/?utm_source=tanstack"
251251
},
252252
{
253-
"login": "uidotdev",
254-
"name": "ui.dev",
255-
"linkUrl": "https://ui.dev/react-query?from=tanstack"
253+
"login": "fireship-io",
254+
"name": "Fireship",
255+
"linkUrl": "https://fireship.dev/react-query?from=tanstack"
256256
},
257257
{
258258
"login": "perscharbel",

src/utils/partners.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import agGridDarkSvg from '~/images/ag-grid-dark.svg'
22
import agGridLightSvg from '~/images/ag-grid-light.svg'
33
import nozzleImage from '~/images/nozzle.png'
4-
import bytesUidotdevImage from '~/images/bytes-uidotdev.png'
4+
import bytesFireshipImage from '~/images/bytes-fireship.png'
55
import vercelLightSvg from '~/images/vercel-light.svg'
66
import vercelDarkSvg from '~/images/vercel-dark.svg'
77
import netlifyLightSvg from '~/images/netlify-light.svg'
@@ -443,19 +443,19 @@ const sentry = (() => {
443443
}
444444
})()
445445

446-
const uiDev = (() => {
446+
const fireship = (() => {
447447
const href = 'https://bytes.dev?utm_source-tanstack&utm_campaign=tanstack'
448448

449449
return {
450-
name: 'UI.dev',
451-
id: 'ui-dev',
450+
name: 'Fireship',
451+
id: 'fireship',
452452
libraries: [],
453453
status: 'active' as const,
454454
score: 0.014,
455455
href,
456456
tagline: 'Dev Education',
457457
image: {
458-
src: bytesUidotdevImage,
458+
src: bytesFireshipImage,
459459
},
460460
llmDescription:
461461
'Educational platform and Bytes.dev newsletter. Official learning resources and news partner for the TanStack ecosystem.',
@@ -472,14 +472,14 @@ const uiDev = (() => {
472472
className="text-blue-500 underline cursor-pointer p-0 m-0 bg-transparent border-none inline"
473473
onClick={() =>
474474
window.open(
475-
'https://ui.dev/?utm_source=tanstack&utm_campaign=tanstack',
475+
'https://fireship.dev/?utm_source=tanstack&utm_campaign=tanstack',
476476
'_blank',
477477
'noopener,noreferrer',
478478
)
479479
}
480480
tabIndex={0}
481481
>
482-
ui.dev
482+
Fireship
483483
</button>{' '}
484484
to <strong>provide best-in-class education</strong> about TanStack
485485
products. It doesn't stop at TanStack though, with their sister
@@ -842,7 +842,7 @@ export const partners: Partner[] = [
842842
prisma,
843843
strapi,
844844
unkey,
845-
uiDev,
845+
fireship,
846846
nozzle,
847847
vercel,
848848
speakeasy,

0 commit comments

Comments
 (0)