Skip to content

Instantly share code, notes, and snippets.

View insin's full-sized avatar
⚠️
Cannot read property 'status' of undefined

Jonny Buchanan insin

⚠️
Cannot read property 'status' of undefined
View GitHub Profile

YouTube Audio Track Translations

{
  "runSettings": {
    "temperature": 0.5,
    "model": "models/gemini-2.5-pro-preview-05-06",
    "topP": 0.95,
    "topK": 64,
    "maxOutputTokens": 65536,
@insin
insin / temp.js
Created May 9, 2025 01:46
Get YouTube language codes (with language menu open)
Array.from(
document.querySelectorAll('#items.yt-multi-page-menu-section-renderer ytd-compact-link-renderer[compact-link-style="compact-link-style-type-selection-menu"]'),
el => el.data.serviceEndpoint.signalServiceEndpoint.actions[0].selectLanguageCommand.hl
)
@insin
insin / manifest.json
Last active April 30, 2025 17:14
Personal Hide YouTube Shorts Extension - load as an unpacked extension in Chrome or in about:debugging in Firefox - style rules extracted from https://soitis.dev/control-panel-for-youtube
{
"manifest_version": 3,
"name": "Hide YouTube Shorts",
"description": "Hides YouTube Shorts",
"version": "1.0",
"content_scripts": [
{
"matches": [
"https://www.youtube.com/*",
"https://m.youtube.com/*"
@insin
insin / getState.js
Last active May 1, 2025 03:30
getState() / Get Twitter React state
function getState() {
let $reactRoot = document.querySelector('#react-root')
let wrapped = $reactRoot.firstElementChild['wrappedJSObject'] || $reactRoot.firstElementChild
let reactPropsKey = Object.keys(wrapped).find(key => key.startsWith('__reactProps'))
if (reactPropsKey) {
let state = wrapped[reactPropsKey].children?.props?.children?.props?.store?.getState()
if (state) return state
warn('React state not found')
} else {
warn('React prop key not found')
🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵
🔵🟡🟡🟡🔵🔵🟡🔵🔵🔵🟡🟡🔵🟡🔵🟡🔵
🔵🟡🔵🔵🔵🟡🔵🟡🔵🟡🔵🔵🔵🟡🔵🟡🔵
🔵🟡🟡🟡🔵🟡🟡🟡🔵🔵🟡🔵🔵🔵🟡🔵🔵
🔵🟡🔵🔵🔵🟡🔵🟡🔵🔵🔵🟡🔵🔵🟡🔵🔵
🔵🟡🟡🟡🔵🟡🔵🟡🔵🟡🟡🔵🔵🔵🟡🔵🔵
🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵
@insin
insin / README.md
Last active May 15, 2024 14:58
An Astro <Tweet> component for hardcoding static Tweets

An Astro <Tweet> component for hardcoding static Tweets

Dependencies

Tailwind

Setup

  1. Add the following colours to your Tailwind config
let $segments = document.querySelector('.ytd-transcript-search-panel-renderer #segments-container')
let sections = []
let parts = []
for (let $el of $segments.children) {
if ($el.tagName == 'YTD-TRANSCRIPT-SECTION-HEADER-RENDERER') {
if (parts.length > 0) {
sections.push(parts.join(' '))
parts = []
}
@insin
insin / hide-youtube-shorts.css
Last active June 21, 2024 18:45
Hide YouTube Shorts - use with the Stylus extension: https://github.com/openstyles/stylus#stylus
/* Nav item */
a[title="Shorts"],
/* Video shelf in Home and Subscriptions */
ytd-rich-shelf-renderer[is-shorts],
/* Video shelf in Search */
ytd-reel-shelf-renderer {
display: none !important;
}
@supports selector(:has(*)) {
@insin
insin / console.js
Created August 2, 2023 16:50
Get currently-loaded user entities on twitter.com
entities = $('#react-root')._reactRootContainer._internalRoot?.current?.memoizedState?.element?.props?.children?.props?.store?.getState()?.entities?.users?.entities
users = {}
for (let user of Object.values(entities)) {
users[user.screen_name] = user
}
@insin
insin / userstyle-for-new-tweetdeck.css
Last active June 21, 2024 18:46
Userstyle for New TweetDeck - use with the Stylus extension: https://github.com/openstyles/stylus#stylus
/* Hide... */
/* Views on list tweets */
[data-testid="tweet"][tabindex="0"] div[id^=id__][role=group] > div:nth-child(4):nth-last-child(2),
/* Views on focused tweet */
[data-testid="tweet"][tabindex="-1"] div[dir] + div[aria-hidden="true"]:nth-child(2):nth-last-child(2),
[data-testid="tweet"][tabindex="-1"] div[dir] + div[aria-hidden="true"]:nth-child(2):nth-last-child(2) + div[dir]:last-child,
/* Bookmark button on focused tweet */
[data-testid="tweet"][tabindex="-1"] div[id^=id__][role=group] > div:nth-child(4):nth-last-child(2),
/* Share button on all tweets */
div[id^=id__][role=group] > div:nth-child(5):last-child,