{"componentChunkName":"component---src-templates-post-jsx","path":"/blog/polypane-16-workflow-improvements-scoped-styles-and-chromium-118/","result":{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nconst _frontmatter = {\n  \"title\": \"Polypane 16: workflow improvements, scoped styles and Chromium 118\",\n  \"cover\": \"/img/mail/icon.svg\",\n  \"date\": \"2023-10-30\",\n  \"type\": [\"announcement\"]\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n    components\n  } = _ref,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, `Polypane 16 ships a ton of improvements to common workflows, updates to the meta panel social media previews, support for @scope in the elements panel, an update to Chromium 118 and more.`), mdx(PolypaneIntro, {\n    mdxType: \"PolypaneIntro\"\n  }), mdx(\"h2\", {\n    \"id\": \"scope-support-in-the-elements-panel\"\n  }, `@scope support in the elements panel`), mdx(\"p\", null, `With Chromium 118 bringing support for scoped styles, the Elements panel now also shows them.`), mdx(\"p\", null, `When there's scoped styles, Polypane shows the scoping root and end (if available), and like our container query support you can hover over the scoping root to see the element highlighted and click to inspect the element.`), mdx(\"img\", {\n    src: scope,\n    alt: \"A CSS declaration with a scope. The start of the scope is darker and bold, while the end is struck through.\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `Scoped styles can define an end but that end doesn't actually have to be in the DOM. When that's the case, the selector is struck through in the elements panel.`), mdx(\"h2\", {\n    \"id\": \"prefers-reduced-transparency-emulation\"\n  }, `Prefers-reduced-transparency emulation`), mdx(\"p\", null, `You can now emulate `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `prefers-reduced-transparency`), ` in Polypane, along with the pre-existing 7 other media features.`), mdx(\"p\", null, `Prefers-reduced-transparency exists for people that have a hard time reading text on patterned background, and most operating systems have a \"reduce transparency\" accessibility option that this media query will match against.`), mdx(\"img\", {\n    src: reducedtransparency,\n    alt: \"The Media emulation popover with prefers-reduced-transparency active and highlighted\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `Learn more about it in our `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://polypane.app/blog/the-complete-guide-to-css-media-queries/#prefers-reduced-transparency-chromium-118-supported-behind-a-flag-in-firefox\"\n  }), `complete guide to CSS Media Queries`), `.`), mdx(\"h2\", {\n    \"id\": \"meta-panel-improvements\"\n  }, `Meta panel improvements`), mdx(\"p\", null, `The big update here is the new X (formerly Twitter) style.`), mdx(\"h3\", {\n    \"id\": \"new-x-style\"\n  }, `New X style`), mdx(\"p\", null, `X/Twitter removed almost everything in their preview apart from the twitter:image and the domain. That domain can overlap any text in the image, so `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://polypane.app/blog/where-to-put-text-so-it-doesnt-overlap-in-the-new-x-twitter-preview/\"\n  }), `make sure you put text where it doesn't get overlapped`), `.`), mdx(\"img\", {\n    src: xstyle,\n    alt: \"X preview of the Polypane site running on localhost.\",\n    className: \"imgshadow\"\n  }), mdx(\"h3\", {\n    \"id\": \"domain-overwriting\"\n  }, `Domain overwriting`), mdx(\"p\", null, `Our friend Charlie asked us if we could overwrite the domain in the social media previews. While you develop the domain is most likely going to be localhost, but what you actually want to see is what it will look like on your production domain.`), mdx(\"img\", {\n    src: overwriteDomain,\n    alt: \"X preview of the Polypane site running on localhost, but with the domain overwrite of polypane.app\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `So now you can overwrite the domain in the meta panel and have all social media previews update to that domain.`), mdx(\"h3\", {\n    \"id\": \"updated-mastodon-style\"\n  }, `Updated Mastodon style`), mdx(\"p\", null, `In Polypane 15 we mostly focused on the large image display (since that's usually what you're aiming for!) but we noticed that our small image display had some issues when there was no OG:image. Polypane 16 remedies that so even if you don't have a large image for your social media previews, everything should look as expected on Mastodon now.`), mdx(\"img\", {\n    src: mastodonstyle,\n    alt: \"Mastodon preview of this page running on localhost without an OG image.\",\n    className: \"imgshadow\"\n  }), mdx(\"h2\", {\n    \"id\": \"reveal-password-field-context-menu-option\"\n  }, `Reveal Password field context menu option`), mdx(\"p\", null, `Right-clicking a password field now shows a \"Reveal password\" option that changes the input to a regular text input, letting you see the password. Pretty handy when you need to know the password for whatever reason, and much faster than editing the attribute in the elements panel.`), mdx(\"p\", null, `When clicked, \"reveal password\" has a checkmark, click it again to revert the input back to a password field.`), mdx(\"img\", {\n    src: revealpassword,\n    alt: \"the Polypane dashboard with a focused password field. The context menu has 'reveal password' highlighted and it has a checkbox. The password field is readable and reads 'hunter2'.\",\n    className: \"imgshadow\"\n  }), mdx(\"h2\", {\n    \"id\": \"measure-text-now-counts-sentences-and-supports-more-languages\"\n  }, `Measure text now counts sentences and supports more languages.`), mdx(\"p\", null, `Thanks to the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://polypane.app/blog/using-the-intl-segmenter-api/\"\n  }), `INTL segmenter API`), `, the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/measure-text-length/\"\n  }), `measure text`), ` feature that counts characters and words when you right-click a selection now also supports sentences is many different languages, and does a better job of determining what is a word and what isn't.`), mdx(\"img\", {\n    src: measuresentences,\n    alt: \"Selected Japanese text with an open context menu that says there are 84 characters, 46 word and 3 sentences.\",\n    className: \"imgshadow\"\n  }), mdx(\"h2\", {\n    \"id\": \"accessibility-workflow-improvements\"\n  }, `Accessibility workflow improvements`), mdx(\"p\", null, `A big focus in Polypane is always to make it easier to find and fix accessibility issues. In this release we've made a few improvements to the accessibility workflow.`), mdx(\"h3\", {\n    \"id\": \"copyable-content\"\n  }, `Copyable content`), mdx(\"p\", null, `All content in `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://polypane.app/docs/elements-panel/#a11y\"\n  }), `the A11y tab in the elements panel`), ` is now copyable. You could get to all that information through other means, but now you can just copy it and paste it wherever you need it. Thanks to Eric for requesting this.`), mdx(\"h3\", {\n    \"id\": \"quickly-zoom-in-to-200-and-400\"\n  }, `Quickly zoom in to 200% and 400%`), mdx(\"p\", null, `Websites being able to zoom into 200% and 400% without breaking is required for WCAG criteria 1.4.4 Resize text and 1.4.10 Reflow, respectively. So zooming to those specific values is something many accessibility testers do a lot.`), mdx(\"p\", null, `To help with this, we've now added added them as option to the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/command-bar/\"\n  }), `command bar`), `, along with the pre-existing page zoom options. Thanks Ian for asking for this feature.`), mdx(\"img\", {\n    src: pagezoom,\n    alt: \"The Command Bar with a search of 'page zoom', and 'zoom page to 200%' highlighted.\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, `While we would love to support zooming in at different levels at different panes so you could check these zoom levels side-by-side in one go, unfortunately Chromium's page zoom works on an origin level. This means any open page on the same domain is updated when the zoom percentage changes.`)), mdx(\"h3\", {\n    \"id\": \"highlighted-aria-hidden\"\n  }, `Highlighted aria-hidden`), mdx(\"p\", null, `The aria-hidden attribute removes an element from the accessibility tree, but it's easy to miss that attribute being there (or higher up the DOM tree) and wasting time trying to find why the element doesn't have the accessible name you think it should have.`), mdx(\"img\", {\n    src: ariahidden,\n    alt: \"A list of links in the Elements Panel DOM tree. One has an 'aria-hidden' attribute that is visually highlighted.\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `To prevent you from wasting time there, we now highlight aria-hidden in the tree view in the elements panel. Thanks Scott for helping us come up with this!`), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, `Should we highlight more attributes? Let us know!`)), mdx(\"h3\", {\n    \"id\": \"export-cookies-for-polypane-cloud\"\n  }, `Export Cookies for `, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"/blog/announcing-polypane-cloud-accessibility-testing-for-entire-sites/\"\n  }), `Polypane Cloud`)), mdx(\"p\", null, `The storage panel now has an export button for the cookies, that copies them to the clipboard in a format supported by Polypane Cloud, Playwright and Puppeteer.`), mdx(\"img\", {\n    src: cookie3,\n    alt: \"The Export button above the list of cookies\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `If you need to test a website with, for example, a logged in state, or with cookies accepted, then you can configure that in Polypane, then export the cookies and use them in Polypane Cloud so it has the right levels of access.`), mdx(\"h2\", {\n    \"id\": \"updated-react-devtools\"\n  }, `Updated React DevTools`), mdx(\"p\", null, `Due to Electron not supporting some of the newer Chrome Extension APIs, we had to run an older version of the React DevTools. In The most recent Electron versions those newer APIs have become available, so we can now run the latest and greatest again.`), mdx(\"h2\", {\n    \"id\": \"notable-fixes\"\n  }, `Notable Fixes`), mdx(\"p\", null, `We always ship with a bunch of fixes, these are some of the more notable ones.`), mdx(\"h3\", {\n    \"id\": \"browse-panel-reloads\"\n  }, `Browse panel reloads`), mdx(\"p\", null, `When the fragment identifier changed (the part after a # in a URL), the browse panel incorrectly reloaded the entire page. In the case of 1Password and Figma that unfortunately led to issues with getting logged out, or continuously reloading the page. This is now fixed. A bunch of you reported this, thanks for that!`), mdx(\"h3\", {\n    \"id\": \"service-workers\"\n  }, `Service workers`), mdx(\"p\", null, `The work we did to support Cloudflare's Captcha in Polypane 15 unwittingly broke service workers for some websites. We had to revise the way we deal with Cloudflare's Captcha's (and luckily they also improved the support for Polypane on their side in the mean time!) to make sure that service workers still work. Thanks Sander for reporting this!`), mdx(\"h2\", {\n    \"id\": \"chromium-118\"\n  }, `Chromium 118`), mdx(\"p\", null, `Polypane now runs on Chromium 118.0.5993.89. This means we now ship support for scoped styles, prefers-reduced-transparency and the `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `<search>`), ` element.`), mdx(\"p\", null, `We've also enables new flags so you can try out upcoming features like the `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `scripting`), ` media query and the relative color syntax. View the full list here: `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/experimental-chromium-features/\"\n  }), `Experimental Chromium features`), `.`), mdx(\"h2\", {\n    \"id\": \"get-polypane-16\"\n  }, `Get Polypane 16`), mdx(\"p\", null, `Polypane is available for Windows, Mac and Linux (.deb or AppImage) in both 64 bit and ARM versions.`), mdx(\"p\", null, `Polypane automatically updates on Mac, Windows and on Linux when using the AppImage. Otherwise, go to\n`, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/download/\"\n  }), `the download page`), ` to download the latest version!`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Don't have Polypane yet? There is a 14 day trial available. `, mdx(\"a\", _extends({\n    parentName: \"strong\"\n  }, {\n    \"href\": \"https://dashboard.polypane.app/register\"\n  }), `Try it for free`), `.`), ` No credit card needed.`), mdx(\"h2\", {\n    \"id\": \"polypane-16-changelog\"\n  }, `Polypane 16 Changelog`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `New`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Elements panel: Scoped Styles support`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Toggle Password field context menu option`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Meta panel: X social media preview`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Meta panel: Overwrite domain in social media previews (Thanks Charlie!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Prefers-reduced-transparency emulation`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Command bar options to zoom to 200% and 400% (Thanks Ian!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Storage panel: Export cookies for Polypane Cloud, Playwright and Puppeteer`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Chromium 118`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Improved`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Measure text now also counts sentences, better language support`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: a11y tab content is now copyable (Thanks Eric!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: aria-hidden is now highlighted in the tree view (Thanks Scott!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: Support for new CSS properties like overlay and transition-behavior`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Meta panel: Improved Mastodon previews without og image.`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Tooltips: More resilient tooltip styling for sites using popovers`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browse panel: Also support installing extensions from new Chrome Web Store`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browse panel: now uses local version of favicons`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browse panel: added Phind search engine`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Debug tools: Contrast checker performance`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Quicker resizing of full layout web page when resizing the browser`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Updated screenshot tool`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Support the latest react devtools`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Better color-scheme: dark support`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Performance improvements across the app`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improves`), ` Storage panel: improve the UI of the buttons`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Fixes`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Lorem Ipsum browser extension installation failing`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Debug tools: Aria overlay not removing on removal`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Debug tools: Fix Dyslexia simulator`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Browse panel address bar menus overlapped icons by 1px`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Browse panel no longer reloads when the fragment identifier changes`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Browse panel now follows color-scheme of page`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Browse panel resetting search engines now works properly`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Elements panel: arrow number changing in attributes`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Elements panel: height of tree view was not correctly remembered`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Tooltip: Missing text for accessible names was cut off`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Tightened our Sentry configuration to send less data (Thanks Chris!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Fix issues with service workers (Thanks Sander!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Don't scroll to last pane on a hard reload (Thanks Peter!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Main menu now also closes when clicking into a pane (Windows only)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Share popup could fall behind browse and devtools panels`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Storage panel scrolled too far`)));\n}\n;\nMDXContent.isMDXComponent = true;","timeToRead":6,"tableOfContents":{"items":[{"url":"#scope-support-in-the-elements-panel","title":"@scope support in the elements panel"},{"url":"#prefers-reduced-transparency-emulation","title":"Prefers-reduced-transparency emulation"},{"url":"#meta-panel-improvements","title":"Meta panel improvements","items":[{"url":"#new-x-style","title":"New X style"},{"url":"#domain-overwriting","title":"Domain overwriting"},{"url":"#updated-mastodon-style","title":"Updated Mastodon style"}]},{"url":"#reveal-password-field-context-menu-option","title":"Reveal Password field context menu option"},{"url":"#measure-text-now-counts-sentences-and-supports-more-languages","title":"Measure text now counts sentences and supports more languages."},{"url":"#accessibility-workflow-improvements","title":"Accessibility workflow improvements","items":[{"url":"#copyable-content","title":"Copyable content"},{"url":"#quickly-zoom-in-to-200-and-400","title":"Quickly zoom in to 200% and 400%"},{"url":"#highlighted-aria-hidden","title":"Highlighted aria-hidden"},{"url":"#export-cookies-for-polypane-cloud","title":"Export Cookies for Polypane Cloud"}]},{"url":"#updated-react-devtools","title":"Updated React DevTools"},{"url":"#notable-fixes","title":"Notable Fixes","items":[{"url":"#browse-panel-reloads","title":"Browse panel reloads"},{"url":"#service-workers","title":"Service workers"}]},{"url":"#chromium-118","title":"Chromium 118"},{"url":"#get-polypane-16","title":"Get Polypane 16"},{"url":"#polypane-16-changelog","title":"Polypane 16 Changelog"}]},"excerpt":"Polypane 16 ships a ton of improvements to common workflows, updates to the meta panel social media previews, support for @scope in the elements panel, an…","frontmatter":{"title":"Polypane 16: workflow improvements, scoped styles and Chromium 118","cover":"/img/mail/icon.svg","date":"2023-10-30","updated":null},"fields":{"slug":"/blog/polypane-16-workflow-improvements-scoped-styles-and-chromium-118/","date":"2023-10-29T23:00:00.000Z","ogFileName":"polypane-16-workflow-improvements-scoped-styles-and-chromium-118"}}},"pageContext":{"slug":"/blog/polypane-16-workflow-improvements-scoped-styles-and-chromium-118/"}},"staticQueryHashes":["4164364741","425175329"]}