Commit Graph

326 Commits

Author SHA1 Message Date
KoalaDev 8fee98834c feat(chat): add encrypted invite contract 2026-07-15 06:58:22 +02:00
GitHub Action 477a814a79 chore(release): update versions to v2.6.1 [skip ci] 2026-07-15 03:57:56 +00:00
KoalaDev cb84709358 fix(popup): render lobby peer names as text, not markup
Peer usernames are remote-controlled and were interpolated into an
innerHTML string in updateLobbyUI. The server only truncates them to 30
chars, so a peer could inject markup into everyone else's popup: enough
to load a remote image (leaking viewer IPs) or spoof readiness badges.
Inline handlers were already blocked by the MV3 default CSP.

Build the peer items with the DOM API, matching the pattern the sibling
peer list already uses.

Add the two checks that would have caught this before upload:
- eslint no-unsanitized, which reproduces the AMO warning at lint time
- addons-linter on the built XPI in verify-release, with
  --warnings-as-errors since it exits 0 on warnings and AMO rejects them

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 05:57:38 +02:00
GitHub Action d4181b2eaf chore(release): update versions to v2.6.0 [skip ci] 2026-07-15 03:14:35 +00:00
KoalaDev 6f6aac9c18 docs: refresh project documentation 2026-07-15 04:45:45 +02:00
KoalaDev e4984b2d03 fix(website): complete self-hosting example 2026-07-15 04:37:51 +02:00
KoalaDev 18205f6573 docs(website): expand AI project profile 2026-07-15 04:29:20 +02:00
KoalaDev a4bbddf3a4 fix(website): address accessibility audit findings 2026-07-15 04:23:14 +02:00
KoalaDev b577f06988 fix(website): restore light mode step numbers 2026-07-15 03:48:22 +02:00
KoalaDev 61514b9b6f fix(website): generate sitemap only in build output 2026-07-15 03:30:22 +02:00
Timo 8b6a1412cc fix(build): replace regex HTML minifier 2026-07-14 16:30:13 +02:00
Timo 6e5a790707 fix(website): restore GitHub hero button outline 2026-07-14 16:11:50 +02:00
Timo 0f4b1d7217 docs(release): prepare v2.6.0 changelog and sitemap 2026-07-14 13:58:24 +02:00
Timo af0da75d38 style(website): landing motion, interaction & layout polish
Feedback round (calmer, less "template/AI"):
- Dial back animated background motion globally (sway/leaf-drift halved,
  fewer falling leaves, gentler godrays/fireflies/light-sweep).
- Fire leaf confetti on click of real controls only (was pointerdown
  everywhere, which showered mobile users on every scroll).
- Remove hover lift/scale from non-interactive cards, screenshots and
  mascots so they no longer read as clickable.
- Fix mobile nav menu colours in the light theme (was a hard-coded dark
  panel with low-contrast links).
- Calm how-it-works steps 1-2 (no button pulse/shine/cursor bob); step 3
  keeps its lively sync animation. Remove the now-static "copied" toast
  from step 1 since it only made sense mid-animation.

UX audit follow-ups:
- Unify vertical rhythm with one section-padding scale; vertically centre
  the hero so space is balanced instead of pooling under the CTAs.
- Split the mixed "Why KoalaSync?" grid into use-case scenarios and a
  labelled "Features" subsection, and move the #features nav anchor there.
- Demote the hero GitHub CTA to a quiet text link (Chrome > Firefox >
  GitHub hierarchy); scale down oversized section mascots and give them a
  shared soft shadow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 02:43:05 +02:00
Timo c175364f9a chore(website): refresh generated assets 2026-07-12 13:13:47 +02:00
Timo fdf20b6bf6 style(website): declutter background and polish stacked hero on small screens
- thin out bamboo/leaf/firefly decor in tiers (<=1440 / <=1024 / <=768px)
  so nothing moves behind the text column and copy stays readable
- center the single-column hero below 1024px (text, koala, CTAs, trust
  line) and let the odd CTA button span the full grid row
- remove the periodic wind gusts; keep the constant gentle bamboo sway
- reword the German demo CTA to "Live-Demo ansehen"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 10:59:00 +02:00
KoalaDev 3ce64b8c41 style(website): place footer-ram at top of footer and adjust vertical margins 2026-07-12 06:55:32 +02:00
KoalaDev 6f8bc40023 style(website): swap footer-ram above copyright and apply unified small disclaimer style 2026-07-12 06:53:21 +02:00
KoalaDev 6f203405f9 fix(website): restore missing footer-disclaimer class styling to landing-primary.css 2026-07-12 06:52:34 +02:00
KoalaDev 949075b267 style(website): optimize header scroll-shrink and clean up footer styles/hover effects 2026-07-12 06:50:37 +02:00
KoalaDev 4fb8e0f53a style(extension): apply UI/UX audit enhancements, consolidate footers, and style capsule badges 2026-07-12 06:38:26 +02:00
KoalaDev bd33ea4804 feat(extension): implement accordion mutual exclusion behavior for settings details categories 2026-07-12 06:31:24 +02:00
KoalaDev 9cd3fc1ee2 feat(extension): redesign settings tab into 4 collapsible accordion groups with chevron indicator and hover effects 2026-07-12 06:28:34 +02:00
KoalaDev 44f9a78bb0 perf(website): migrate forest parallax to native CSS scroll-driven animations, fix step contrast, and resolve forced reflows 2026-07-12 06:18:58 +02:00
KoalaDev e27319908d refactor(website): apply day/night sky palette variables to sync theater illustration and video canvas 2026-07-12 05:48:27 +02:00
KoalaDev af4ac943a9 Landing performance: flag font subset, responsive mascots, AVIF cache, HTML minify
- Flag font: ship a committed fontTools subset (43 KB, -45%) of
  TwemojiCountryFlags.woff2 with only the 15 flags the site uses, under a
  content-hashed name with a preload on every flag-bearing page. The build
  validates the subset against a manifest and fails when a new flag
  appears without regenerating (npm run subset-flags). JS subsetters
  (subset-font/harfbuzzjs) were rejected: their wasm builds silently drop
  the COLR/CPAL color tables, rendering all flags invisible.
- Responsive mascots: legal/join/404 pages served 434-500px sources for
  175-180px slots; the build now emits 180w/360w variants (AVIF 1x: ~7 KB
  vs ~22 KB) and the pages use srcset. Small logo spots (14-42px) now use
  the existing 64/128px variants instead of the 256px file.
- injectAvifPictures copies the img sizes attribute onto the AVIF
  <source>; without it Chrome mis-selects w-descriptor candidates and can
  drop the image entirely.
- AVIF conversion is cached by content hash (.avif-cache.json); the old
  mtime check never hit because copyDirSync refreshes mtimes, so every
  verify re-encoded all 26 files.
- HTML output is minified (comments + indentation, <pre> preserved,
  newlines kept for inline-script safety): index.html 121 KB -> 93 KB.
- unicode-range trimmed to U+1F1E6-1F1FF; tag-sequence flags fall through
  to the system emoji font.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 04:34:53 +02:00
KoalaDev 16cb138eeb Remove film birds; fix language pill highlight
Strip every bird from the demo mockups: both hero video tabs and both
step-3 player scenes lose the background flock (.film-birds) and the
foreground flapping bird (.film-hero-bird), plus all related CSS in
styles/demo.css and the dead style.legacy.css.

Language selector: the <select> was 30px narrower than its pill, so in
appearance:base-select the click/focus highlight covered only the inner
~110px ("half the box"). Move the padding from the container onto the
control so it fills the pill edge-to-edge; mirror the fix in the mobile
legal.css override.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 03:57:18 +02:00
KoalaDev 17c9da292c Fix Getting Started light theme 2026-07-12 03:37:07 +02:00
KoalaDev c7c124dac7 Improve animated film bird 2026-07-12 03:28:05 +02:00
KoalaDev 7614534818 Restore landing CSS cascade stability 2026-07-11 16:11:31 +02:00
KoalaDev 72d4f04526 Split landing CSS by render priority 2026-07-11 15:48:09 +02:00
KoalaDev 7fea11de0a Polish extension and landing page UI 2026-07-11 11:21:47 +02:00
KoalaDev fbef3d180c Give light theme proper green bamboo and a frosted language pill
- Bamboo layers get their own light-mode recipes (fresh greens, visible
  segment rings, sheen) instead of dark-theme gradients faded to 45%
- Language selector pill: frosted white glass, light dropdown/picker
  (was hard-coded dark glass in both themes)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 10:24:18 +02:00
KoalaDev fecaa8b54d Fix bamboo parallax direction: layers follow the scroll, not oppose it
Scrolling down now moves all bamboo layers up-screen with the content
(near fastest, far slowest) instead of pushing them down against it.
Vertical overscan flipped from top (-70%) to bottom (-40%) so the
upward drift never exposes a gap at the viewport bottom.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 10:20:38 +02:00
KoalaDev 8175f82f0b Polish demo film, bamboo forest, popup a11y, and step-1 toast
- Demo mockup video: drifting clouds, shooting star, moon craters, bird
  flock, valley mist band, floating lantern instead of bouncing ball,
  stronger cinematic vignette
- Player controls: play/pause glyph, duration, buffered range, volume,
  HD badge, fullscreen icon
- Bamboo background: two faint centre trunks, segment rings on far
  stalks, wider near stalks with extra leaf, smaller blurred layers
  (240% -> 200%) and reduced blur radii for cheaper compositing
- Step-1 illustration: invite toast floats fully below the popup card
- Extension popup: label/for associations for all settings controls
- Demo video select: drop invalid inline SVG inside <option>

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 10:10:37 +02:00
Timo 04df35bbe6 Enhance forest scene with mid bamboo layer, butterflies, click confetti, and demo scene polish 2026-07-11 06:08:12 +02:00
KoalaDev 21383b8b9c Polish animated forest background 2026-07-10 20:42:54 +02:00
KoalaDev 9cddac47ef Make forest parallax continuous and add scroll-depth journey
The drift clamp saturated after ~2600px, so nothing moved on long
pages. The vertical drift now maps scroll progress (0..1 over the full
document) onto the stalks' overscan, so the parallax runs end to end.

Turn the background into a descent through the forest: god-ray light
shafts and the canopy fade out while a dusk tint, thicker mist, the
terracotta horizon glow and the fireflies fade in as you scroll down.
Fireflies additionally wander organically (independent translate
property composing with their scale pulse), and on hover-capable
devices the bamboo layers tilt subtly toward the cursor. All layers
animate transform/opacity only, rAF-throttled, reduced-motion safe.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:42:23 +02:00
KoalaDev 1f1844e99b Fix bamboo stalk taper and align stray colors to palette
The stalks used border-radius:50%, which renders a tall ellipse whose
ends taper to points, and unbounded parallax drift pushed them off the
bottom of the viewport on long pages. Rounded caps + 20% overscan +
a viewport-relative drift clamp keep them full-height while scrolling.

Sweep the remaining off-palette colors into the nature palette:
content-script overlays (slate grays), amber warnings/badges/star
accents (now terracotta) in popup, background badge and website
illustrations, and the support-heart red (now --danger).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:28:50 +02:00
KoalaDev aa52d319e1 Redesign website and extension with koala nature theme
v3.0.0 "The Greens Update" palette: forest-green oklch color system
(accent green + terracotta secondary) replaces the indigo/slate scheme
across the landing page and the extension popup/options. The blob
background becomes an animated bamboo forest overlay (parallax stalks,
falling leaves, canopy, ground mist, fireflies, light sweep, grain)
with prefers-reduced-motion support. Layout, structure and copy are
unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:18:40 +02:00
KoalaDev 05246ac485 Fix light mode step text contrast 2026-07-09 17:25:20 +02:00
KoalaDev 6412a9e6ff Unify website section canvas 2026-07-09 17:07:23 +02:00
KoalaDev ee1c2947ce Fix join mobile navigation toggle 2026-07-09 14:47:29 +02:00
KoalaDev df8133fb5b Avoid persisting passive language visits 2026-07-09 14:40:44 +02:00
KoalaDev e25ae25bbb Respect system theme on website 2026-07-09 14:38:09 +02:00
KoalaDev 1d049e1745 perf(website): fix startup forced reflow and adjust AVIF compression quality to 65 2026-07-09 05:12:46 +02:00
KoalaDev 6aa42668e9 feat(website): add SRI to scripts & styles and optimize hero image preload 2026-07-09 05:06:35 +02:00
KoalaDev 71fdea78f3 feat(website): optimize rendering performance and improve structured metadata 2026-07-09 04:53:07 +02:00
Timo 5b7ee654e4 fix(website): keep hero demo hint readable 2026-07-08 20:22:20 +02:00
KoalaDev b4bf297a5b i18n(website): translate new alternatives pages in all languages and save translation script as workspace example 2026-07-08 17:26:41 +02:00