Add fullscreen firework emoji confetti and fix Linux URL paste.
All checks were successful
Trigger cinny-mobile / dispatch (push) Successful in 2s
All checks were successful
Trigger cinny-mobile / dispatch (push) Successful in 2s
Sparkle 🎆/🎇 from the jumbo emoji with a lightweight particle fountain that piles on the floor. Prefer text/plain over sticky clipboard images on Linux so address-bar URLs do not also attach a leftover bitmap.
This commit is contained in:
@@ -534,12 +534,20 @@ export const readClipboardImage = async (): Promise<File | null> => {
|
||||
try {
|
||||
const electron = (window as any).electron;
|
||||
if (electron?.clipboard?.readImage) {
|
||||
const dataUrl = await electron.clipboard.readImage();
|
||||
const result = await electron.clipboard.readImage();
|
||||
// IPC may return a data URL string or { success, data } depending on path.
|
||||
const dataUrl =
|
||||
typeof result === 'string'
|
||||
? result
|
||||
: result && typeof result === 'object' && typeof result.data === 'string'
|
||||
? result.data
|
||||
: null;
|
||||
if (!dataUrl) return null;
|
||||
|
||||
// Convert data URL to File
|
||||
const response = await fetch(dataUrl);
|
||||
const blob = await response.blob();
|
||||
if (blob.size < 32) return null;
|
||||
return new File([blob], 'clipboard-image.png', { type: 'image/png' });
|
||||
}
|
||||
} catch (err) {
|
||||
@@ -559,6 +567,7 @@ export const readClipboardImage = async (): Promise<File | null> => {
|
||||
// Convert data URL to File
|
||||
const response = await fetch(dataUrl);
|
||||
const blob = await response.blob();
|
||||
if (blob.size < 32) return null;
|
||||
return new File([blob], 'clipboard-image.png', { type: 'image/png' });
|
||||
} catch (err) {
|
||||
console.warn('Failed to read Tauri clipboard image:', err);
|
||||
|
||||
Reference in New Issue
Block a user