Improvements v0.0.5 #6
Loading…
Reference in a new issue
No description provided.
Delete branch "improvements-v0.0.5"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Improvements v0.0.5
Lighthouse perf/a11y pass, accordion/tabs refactor, installable PWA, and docs.
Performance
width/height.index.htmlintosrc/libs/thirdParty.js, injected afterwindow.loadwith arequestIdleCallbackfallback.Accessibility
<html lang="en">and<main>wrappingrouter-view.TabView/TabPanelnow exposerole="tablist", unique IDs, rovingtabindex, and arrow / Home / End keyboard navigation with focus management.RangeViewexposes<label for>plusaria-labelon each handle.aria-labelon QR, Social Card, and Shortener inputs.Architecture
AccordionTooltip.vuefromAccordionView.item.keyslugs so favorites reordering does not misroute state.ResizeObserversetup with lazy attach-on-open / detach-on-close.RangeViewuses Vue 3.5useId()for stable input IDs.Security
Content-Security-Policyinui/nginx.conf(self + Google Fonts / Tag Manager allowlist,frame-ancestors 'none',form-action 'self',base-uri 'self').nginx.confaddsReferrer-Policyand correctContent-Typefor the Web App Manifest.PWA
vite-plugin-pwawith generated service worker: precaches the SPA shell and all lazy tool chunks.NetworkOnlyfor/api/*(GET queued in background sync, POST fails visibly),CacheFirstfor Google Fonts.navigateFallbackto/index.htmlfor SPA routes;/api/and/sitemap.xmlstay on the network.registerType: 'prompt'plus ausePwaUpdatecomposable and a reload banner inApp.vue.manifest.webmanifestwith 192 / 512 / maskable icons andapple-touch-icon.Documentation
docs/RULES.mdmodeled afterhagalaz/tilens.public/llms.txtwith concrete API method / body examples for each tool.README.mdandui/README.md: implemented tools moved out of "Planned"; current project structure.Versions
ui/package.json,api/pyproject.toml, andMenuBar.vuealigned to0.0.5.Add vite-plugin-pwa with generateSW: - Precache SPA shell, all lazy tool chunks, fonts, and icons. - Runtime cache: NetworkOnly for /api/* (GET queued in background sync, POST fails visibly), CacheFirst for Google Fonts. - navigateFallback serves /index.html for SPA routes; /api/ and /sitemap.xml stay on the network. - registerType 'prompt' surfaces a 'new version ready' banner with Reload action via usePwaUpdate composable. Manifest and icons: - public/manifest.webmanifest with name, theme/background colors, 192/512/maskable icons. - public/pwa-{192,512,maskable-512}x512.png and apple-touch-icon.png generated from logo.webp. nginx: - Serve /sw.js with no-store and Service-Worker-Allowed: /. - Serve /manifest.webmanifest with application/manifest+json and short cache. - Add /api/* origin to connect-src for Google Analytics beacons. - Add worker-src 'self' and Referrer-Policy. Docs: - Add PWA rules to docs/RULES.md: SW scope, runtime cache policy, update UX, manifest icon set.