DeArrow
Metadata
Section titled “Metadata”| Repo | https://github.com/firefox-extensions-declarative/DeArrow-declarative |
| Extension ID | deArrow@ajay.app |
Building
Section titled “Building”Run npm install and then npm run build:firefox.
To create the XPI, run:
npx web-ext build -s dist -a web-ext-artifactsThe XPI will be located in web-ext-artifacts/.
Keybind
Section titled “Keybind”Keyboard shortcut.
Key name.
Type: string | null
Keyboard code.
Type: string | null
Whether Ctrl is required.
Type: boolean | null
Whether Alt is required.
Type: boolean | null
Whether Shift is required.
Type: boolean | null
TitleFormatting
Section titled “TitleFormatting”Title formatting mode.
Type: -1 | 0 | 1 | 2 | 3 | 4
-1: disable0: capitalize words1: title case2: sentence case3: lower case4: first letter uppercase
ThumbnailCacheOption
Section titled “ThumbnailCacheOption”How thumbnail cache/server rendering is used.
Type: 0 | 1 | 2
0: disable1: all pages except watch2: all pages
ThumbnailFallbackOption
Section titled “ThumbnailFallbackOption”Fallback thumbnail source when no custom thumbnail exists.
Type: 0 | 1 | 2 | 3
0: random time1: blank2: original3: auto-generated
ThumbnailFallbackAutogeneratedOption
Section titled “ThumbnailFallbackAutogeneratedOption”Which YouTube auto-generated thumbnail to prefer.
Type: 0 | 1 | 2
0: start1: middle2: end
CustomConfiguration
Section titled “CustomConfiguration”Per-channel override profile.
Human-readable profile name.
Type: string
replaceTitles
Section titled “replaceTitles”Override title replacement behavior.
Type: boolean | null
replaceThumbnails
Section titled “replaceThumbnails”Override thumbnail replacement behavior.
Type: boolean | null
defaultToCustom
Section titled “defaultToCustom”Override default custom/original display behavior.
Type: boolean | null
useCrowdsourcedTitles
Section titled “useCrowdsourcedTitles”Override whether crowdsourced titles are used.
Type: boolean | null
titleFormatting
Section titled “titleFormatting”Override title formatting mode.
Type: TitleFormatting | null
shouldCleanEmojis
Section titled “shouldCleanEmojis”Override emoji cleanup behavior.
Type: boolean | null
thumbnailFallback
Section titled “thumbnailFallback”Override thumbnail fallback mode.
Type: ThumbnailFallbackOption | null
thumbnailFallbackAutogenerated
Section titled “thumbnailFallbackAutogenerated”Override auto-generated thumbnail preference.
Type: ThumbnailFallbackAutogeneratedOption | null
Options
Section titled “Options”allowExpirements
Section titled “allowExpirements”Enable experimental features.
Type: boolean
Default: true
Note: key name is misspelled upstream and must stay allowExpirements.
showDonationLink
Section titled “showDonationLink”Show donation link.
Type: boolean
Default: true
showUpsells
Section titled “showUpsells”Show upsell UI.
Type: boolean
Default: true
actAsVip
Section titled “actAsVip”When vip is true, submit actions without using VIP powers.
Type: boolean
Default: true
darkMode
Section titled “darkMode”Use dark mode in extension UI.
Type: boolean
Default: true
invidiousInstances
Section titled “invidiousInstances”List of Invidious instances.
Type: Array<string>
Default: []
keepUnsubmitted
Section titled “keepUnsubmitted”Keep unsubmitted title/thumbnail edits locally.
Type: boolean
Default: true
keepUnsubmittedInPrivate
Section titled “keepUnsubmittedInPrivate”Keep unsubmitted edits in private windows.
Type: boolean
Default: false
thumbnailSaturationLevel
Section titled “thumbnailSaturationLevel”Thumbnail saturation percentage.
Type: number
Default: 100
titleFormatting
Section titled “titleFormatting”Formatting mode for titles.
Type: TitleFormatting
Default: 1 for English UI, -1 otherwise
formatCustomTitles
Section titled “formatCustomTitles”Apply formatting to custom titles.
Type: boolean
Default: true
formatOriginalTitles
Section titled “formatOriginalTitles”Apply formatting to original titles used as fallback.
Type: boolean
Default: true
shouldCleanEmojis
Section titled “shouldCleanEmojis”Remove decorative/fancy emoji-style text where supported.
Type: boolean
Default: true
onlyTitleCaseInEnglish
Section titled “onlyTitleCaseInEnglish”Restrict title case formatting to English.
Type: boolean
Default: false
serverAddress
Section titled “serverAddress”DeArrow/SponsorBlock API server.
Type: string
Default: value from repo config.json
thumbnailServerAddress
Section titled “thumbnailServerAddress”Thumbnail cache/render server.
Type: string
Default: value from repo config.json
fetchTimeout
Section titled “fetchTimeout”Network fetch timeout in milliseconds.
Type: number
Default: 7000
startLocalRenderTimeout
Section titled “startLocalRenderTimeout”Delay before local thumbnail rendering starts, in milliseconds.
Type: number
Default: 2000
renderTimeout
Section titled “renderTimeout”Maximum local thumbnail render time in milliseconds.
Type: number
Default: 25000
thumbnailCacheUse
Section titled “thumbnailCacheUse”How thumbnail cache/server rendering is used.
Type: ThumbnailCacheOption
Default: 2
showGuidelineHelp
Section titled “showGuidelineHelp”Show guideline/help UI.
Type: boolean
Default: true
showInfoAboutRandomThumbnails
Section titled “showInfoAboutRandomThumbnails”Show onboarding/help UI for random thumbnail fallback behavior.
Type: boolean
Default: false
thumbnailFallback
Section titled “thumbnailFallback”Fallback thumbnail source.
Type: ThumbnailFallbackOption
Default: 0
thumbnailFallbackAutogenerated
Section titled “thumbnailFallbackAutogenerated”Preferred auto-generated thumbnail slot.
Type: ThumbnailFallbackAutogeneratedOption
Default: 0
showLiveCover
Section titled “showLiveCover”Show live cover thumbnails when appropriate.
Type: boolean
Default: true
extensionEnabled
Section titled “extensionEnabled”Master enable/disable switch.
Type: boolean
Default: true
defaultToCustom
Section titled “defaultToCustom”Show custom branding by default.
Type: boolean
Default: true
alwaysShowShowOriginalButton
Section titled “alwaysShowShowOriginalButton”Always show the show-original toggle when branding UI is available.
Type: boolean
Default: false
showOriginalOnHover
Section titled “showOriginalOnHover”Show original branding on hover.
Type: boolean
Default: false
showOriginalOnHoverOfVideo
Section titled “showOriginalOnHoverOfVideo”Show original branding when hovering the video area.
Type: boolean
Default: false
showCustomOnHoverIfCasual
Section titled “showCustomOnHoverIfCasual”In casual mode, show custom branding on hover.
Type: boolean
Default: false
replaceTitles
Section titled “replaceTitles”Enable title replacement.
Type: boolean
Default: true
replaceThumbnails
Section titled “replaceThumbnails”Enable thumbnail replacement.
Type: boolean
Default: true
useCrowdsourcedTitles
Section titled “useCrowdsourcedTitles”Prefer crowdsourced titles when available.
Type: boolean
Default: true
titleMaxLines
Section titled “titleMaxLines”Maximum displayed title lines.
Type: number
Default: 3
casualMode
Section titled “casualMode”Enable casual mode.
Type: boolean
Default: false
casualModeSettings
Section titled “casualModeSettings”Minimum vote threshold per casual category.
Type: Record<string, number>
Default: { funny: 1, creative: 1, clever: 1, descriptive: 1, other: 1 }
showOriginalThumbWhenCasual
Section titled “showOriginalThumbWhenCasual”In casual mode, prefer original thumbnails when applicable.
Type: boolean
Default: false
onlyShowCasualIconForCustom
Section titled “onlyShowCasualIconForCustom”Show casual icon only for custom branding.
Type: boolean
Default: false
formatCasualTitles
Section titled “formatCasualTitles”Apply title formatting to casual titles.
Type: boolean
Default: true
showInfoAboutCasualMode
Section titled “showInfoAboutCasualMode”Show onboarding/help UI for casual mode.
Type: boolean
Default: true
channelOverrides
Section titled “channelOverrides”Map of channel IDs to configuration IDs.
Type: Record<string, string>
Default: {}
customConfigurations
Section titled “customConfigurations”Map of configuration IDs to per-channel override profiles.
Type: Record<string, CustomConfiguration>
Default: {}
showIconForFormattedTitles
Section titled “showIconForFormattedTitles”Show indicator for formatted titles.
Type: boolean
Default: true
countReplacements
Section titled “countReplacements”Count replaced titles/thumbnails in stats.
Type: boolean
Default: true
ignoreAbThumbnails
Section titled “ignoreAbThumbnails”Ignore A/B tested thumbnails where detected.
Type: boolean
Default: true
ignoreTranslatedTitles
Section titled “ignoreTranslatedTitles”Ignore translated titles where detected.
Type: boolean
Default: false
hideDetailsWhileFetching
Section titled “hideDetailsWhileFetching”Hide branding details while fetching data.
Type: boolean
Default: true
openMenuKey
Section titled “openMenuKey”Open DeArrow menu keybind.
Type: Keybind
Default: { key: "d", shift: true }
enableExtensionKey
Section titled “enableExtensionKey”Toggle extension enabled/disabled keybind.
Type: Keybind
Default: { key: "e", ctrl: true, shift: true, alt: true }