Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bundle-brand-icons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tonconnect/ui': patch
---

Ship Telegram and TON brand icons as bundled data URIs instead of loading them from raw.githubusercontent.com, so they render without external requests and under a strict CSP
11 changes: 9 additions & 2 deletions packages/ui/src/app/env/IMG.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
/**
* Brand images are shipped inside the bundle as data URIs, so they load without
* external requests and keep working under a strict Content Security Policy.
*
* To regenerate after changing a source asset:
* `base64 -i assets/<file>.png` and prepend `data:image/png;base64,`.
*/
export const IMG = {
TON: 'https://raw.githubusercontent.com/ton-connect/sdk/main/assets/ton-icon-48.png',
TG: 'https://raw.githubusercontent.com/ton-connect/sdk/main/assets/tg.png',
TON: 'data:image/png;base64,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',
TG: 'data:image/png;base64,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',
WALLET_CONNECT:
'https://raw.githubusercontent.com/ton-connect/sdk/main/assets/walletconnect-icon-288.png'
};
20 changes: 20 additions & 0 deletions packages/ui/tests/app/env/img.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { describe, it, expect } from 'vitest';
import { IMG } from 'src/app/env/IMG';

describe('IMG brand assets', () => {
it('ships TON and TG icons as bundled data URIs (CSP-safe, no external host)', () => {
expect(IMG.TON).toMatch(/^data:image\/png;base64,/);
expect(IMG.TG).toMatch(/^data:image\/png;base64,/);
});

it('data URIs decode to valid PNGs', () => {
for (const uri of [IMG.TON, IMG.TG]) {
const base64 = uri.split(',')[1]!;
const bytes = Buffer.from(base64, 'base64');
// PNG signature
expect(bytes.subarray(0, 8)).toEqual(
Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])
);
}
});
});