Posts
Media
Videos
Pinned
Progress on chrome extension manifest v3 support in Electron. Dark Reader is fully working now.
Using atproto to alias user IDs because I _really_ don't want to manage user registrations
handle → did → PDS → com.getmetastream.actor.profile → id
Shortened, samuelmaddock.com → <long-user-id> without modifying DNS or storing the mapping on my own servers
pdsls.dev/at://did:plc...
Old tweet of mine is basically describing atproto. Thanks
Also, "x.com" is revisionist history, I did not write that.
is it just me or is the emoji list page wildly slow?
unicode.org/emoji/charts...
Sometimes I need to reverse engineer websites for
My starting point is logging Object.keys(globalThis). Since JS objects retain the order that keys are set, the end of this list are the global variables set by the website.
Helps with finding any initialized video players.
Found some lesser known links for folks deploying desktop apps on stores. Useful as "check for updates" actions.
Open the Mac App Store and check for updates
macappstore://showUpdatesPage?scan=true
🪟 Open the Microsoft Store and go to updates page
ms-windows-store://downloadsandupdates
til archive.org just has entire anime series available for viewing right in your browser
archive.org/details/seri...
This was actually illegal in chrome extensions some years ago, not sure when that changed.
So often learn about these limited runs too late so I was glad I could go watch it.
made it simple to add native messaging support for extensions. Now iCloud Passwords can talk to my browser
An error occurred while loading the video. Please try again.
PR is ready to go github.com/electron/ele...
I'm completely new to vulkan layers and came across your vkroots project. If I installed a layer on SteamOS, would it be able to overlay games? Or do I have a deep misunderstanding here?
Rolling out Chrome's IWAs (Isolated Web Apps) for Windows/Mac/Linux "isn't in the short-to-medium term plans". A bit disappointing that this feature won't be available widely for a long time.
I'm guessing this is to reduce the risk of malicious apps?
groups.google.com/a/chromium.o...
Chromium devs are so quick to review small code changes, even from external contributors.
I need to know how they managed that.
I wrote my first lines of Rust code submitting a fix to 's symbolicator service: github.com/getsentry/sy...
Thankfully, they've done a great job setting up and documenting their codebase which made it very straightforward 🦀
chrome extension in using electron-chrome-extensions.
To make this work, a new v8 scripting context is added to service workers in Electron to allow preload scripts to provide extension APIs.
Many hours were required to find this one line fix. I'm glad I don't need to write multi-threaded code often in my day-to-day...
Do delegates feel natural in JavaScript?
class Installer {
constructor(delegate) {
this.delegate = delegate
}
install() {
if (this.delegate) {
const event = new Event()
this.delegate?.beforeInstall(event)
if (event.defaultPrevented) return
}
}
}
or should this always be handled by EventEmitter instead?
class Installer extends EventEmitter {
install() {
const event = new Event()
this.emit('before-install', event)
if (event.defaultPrevented) return
}
}
had to complete a minigame to finish upgrading chromium in electron today
me: how hard could it be to add symlink support for unzipping files?
the source code:
looking into what's going on in an abandoned side project to find out all of my analytics are broken 🥲
more people who like Japanese food need to know about sukiyaki
"A new edition of Raising the Bar is coming back into print in 2025, expanded to include the Half-Life 2 Episodes"
downloading a chrome extension from the chrome web store in an electron browser ✨
Web store chrome extensions are .crx archives which are zips with extra metadata. That metadata contains a protobuf-encoded public key which is then hashed and set in the extension's manifest.json.
This is what's used to generate a stable extension ID and what's missing from many other downloaders.
I was a little surprised that the implementation of chrome.scripting.executeJavaScript was simple string concatenation.
the stars on the bluesky launch screen look like dust during daytime
optimistic about bluesky since it's made by some of the beaker browser folks
End of feed