Commit Graph
4198 Commits
Author SHA1 Message Date
Jordan EldredgeandClaude Opus 4.6 d7b0cee444 Revert version bump — CI sets version from tag
Co-Authored-By: Claude Opus 4.6 <[email protected]>
v2.3.0
2026-06-15 20:15:47 -07:00
Jordan EldredgeandClaude Opus 4.6 8585e9616d Bump webamp to v2.3.0
Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-15 20:10:19 -07:00
Jordan EldredgeandClaude Opus 4.6 6a45429e39 Fix scroll offset in contained mode (renderInto)
centerWindows() was unconditionally adding window.scrollX/Y, which
incorrectly offset window positions when using renderInto with a scrolled
page. Move scroll offset responsibility to callers so each can decide:
- contained (renderInto): no scroll offset needed
- non-contained (renderWhenReady): add scroll offset to viewport coords
- body fallback (centerWindowsInView): add scroll offset only for body

Also make parentDomNode required in browserWindowSizeChanged,
ensureWindowsAreOnScreen, and centerWindowsInView since the serialized
state code (the only caller without a parentDomNode) was removed.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-15 20:07:00 -07:00
Jordan EldredgeandClaude Opus 4.6 f973319e3e Remove serialized state infrastructure
The serialized state feature (LOAD_SERIALIZED_STATE action, SerializedStateV1
types, getSerializedState/getSerlializedState functions) was unused external
API surface. Removing it simplifies the codebase and eliminates the only
caller of ensureWindowsAreOnScreen() without a parentDomNode argument.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-15 20:07:00 -07:00
Jordan EldredgeandClaude Sonnet 4.6 d99b8c6b3d Remove unused RichText import from bluesky.ts to fix CI lint failure (#1347)
The RichText import from @atproto/api was unused after refactoring the
Bluesky posting logic to use manual facets instead of RichText helpers.
This caused the ESLint no-unused-vars rule to fail in CI.

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
2026-06-15 19:09:44 -07:00
Jordan EldredgeandClaude Opus 4.6 a0c018ac0f Fix incorrect method name in renderInto docs example
The code example for renderInto was calling renderWhenReady instead.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-15 10:32:05 -07:00
Jordan Eldredge f7e163a2e4 Show how to use @next via unpkg 2026-06-07 15:08:31 -07:00
Jordan EldredgeandClaude Opus 4.6 4c9fdbf28b Clean up webamp build config
- Remove stale browserslist field (Babel was removed)
- Remove stale files exclusion for built/types/demo
- Fix rollup typescript plugin to not emit declarations (suppresses TS5069 warning)
- Clean up tsconfig.json: remove commented-out lines, replace jest types with vitest/globals, remove stale includes/excludes

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 14:58:17 -07:00
Jordan EldredgeandClaude Opus 4.6 b4d7daa0c2 Add zero runtime dependencies note to changelog
Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 14:43:12 -07:00
Jordan EldredgeandClaude Opus 4.6 c7a282c1fd Split demo site into its own package (#1351)
* Split demo site into its own package

Move the demo site from packages/webamp/demo/ into packages/webamp-demo/
as a standalone workspace package. This cleanly separates the library
(published to npm) from the demo site (deployed to webamp.org).

Key changes:
- Demo imports webamp source via relative paths (no aliases needed)
- Demo has its own package.json with demo-specific deps
- Simplified vite config (just nodePolyfills plugin)
- Removed vite branching from rollupPlugins.mjs (library-only now)
- Renamed build-library -> build in webamp package
- Updated turbo.json, CI, netlify config, and code-size workflow
- Removed demo-only deps from webamp package (sentry, butterchurn stays
  for the butterchurn bundle)
- Zero bundle size change for the library

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* Fix: add type-check dependency to webamp#build task

The webamp-docs package needs type declarations from webamp to
type-check. These are generated by tsc (type-check), which must run
before the build task.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* Add updated readme to webamp-demo package

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* Document the live reloading dev flow in both readmes

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* Fix code-size CI: use deploy script that exists on both branches

The compressed-size-action checks out master and runs the build script.
Master doesn't have a root "build" script, so revert to using "deploy"
which exists on both branches.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
2026-06-07 14:40:07 -07:00
Jordan EldredgeandClaude Opus 4.6 52c425df3b Move all runtime dependencies to devDependencies
All dependencies are bundled into the library output at build time,
so consumers don't need any of them installed. This gives users a
zero-dependency install.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 12:51:48 -07:00
Jordan EldredgeandClaude Opus 4.6 f95cea6564 Move @sentry/browser and redux-sentry-middleware to devDependencies
Both are only used in the demo site, not the library. Consumers
don't need them installed.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 12:47:08 -07:00
Jordan EldredgeandClaude Opus 4.6 3e70353b36 Remove @redux-devtools/extension dependency
Use the standard window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ runtime
check instead of importing the package. DevTools still work if the
browser extension is installed.

Also inline the defaultMemoize usage from reselect to fix Vite dev
server compatibility.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 12:44:41 -07:00
Jordan EldredgeandClaude Opus 4.6 e593cc12da Upgrade redux-thunk to v3 and tinyqueue to v3
Both now ship ESM. Updated imports to use named exports
(redux-thunk v3 dropped the default export).

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 12:36:18 -07:00
Jordan EldredgeandClaude Opus 4.6 e534b8e10c Remove unused devDependencies
Remove style-loader, url-loader (Webpack-era), canvas-mock,
react-test-renderer, glob, http-server, and @types/lodash-es.
None were imported anywhere in the codebase.

Replace http-server serve script with vite preview.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 12:23:52 -07:00
Jordan EldredgeandClaude Opus 4.6 a4895b26fd Migrate from Jest to Vitest (#1350)
- Replace Jest with Vitest for unit tests
- Remove integration tests (not used in CI, relied on puppeteer)
- Remove .babelrc (no longer needed — was only used for Jest transform)
- Remove jest-puppeteer, jest-image-snapshot, and related deps
- Replace jest.fn() with vi.fn() in test files
- Add vitest.config.ts with jsdom environment

All 224 unit tests pass. The postcss plugin test remains skipped
as before.

Co-authored-by: Claude Opus 4.6 <[email protected]>
2026-06-07 12:20:29 -07:00
Jordan EldredgeandClaude Opus 4.6 41d6ae0568 Remove Babel from library build pipeline
The rollup build already uses @rollup/plugin-typescript for type
stripping and JSX. Babel was running after it as a no-op for modern
targets. Now Babel is only used by Jest for ESM→CJS conversion.

Also removes @babel/preset-env since it's no longer needed.
Bundle size decreased by ~1.7KB.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:54:42 -07:00
Jordan EldredgeandClaude Opus 4.6 a901afcff9 Move milkdrop-preset-converter-aws to devDependencies
The demo site still imports it, so it needs to remain as a dev
dependency for the Vite build. Consumers don't need it since it's
not used in the library bundle.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:37:17 -07:00
Jordan EldredgeandClaude Opus 4.6 65a1cd4461 Remove unused milkdrop-preset-converter-aws dependency
Not imported anywhere in the source. It was pulling in babel-runtime@6
and core-js@2 as transitive dependencies for consumers.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:31:05 -07:00
Jordan EldredgeandClaude Opus 4.6 81420f4487 Remove useBuiltIns/corejs config from Babel
These options told preset-env to inject core-js polyfills, but with
modern browser targets nothing was being polyfilled. Removes the
transitive core-js dependency.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:21:18 -07:00
Jordan EldredgeandClaude Opus 4.6 20b60ce3e3 Update lockfile and remove @types/fscreen
The lockfile was out of sync after dependency changes, causing CI
to fail with --frozen-lockfile.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:11:08 -07:00
Jordan EldredgeandClaude Opus 4.6 4679f432c5 Replace fscreen with native Fullscreen API
The fscreen library was a vendor-prefix shim for the Fullscreen API.
All target browsers now support the unprefixed standard API natively.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:09:42 -07:00
Jordan EldredgeandClaude Opus 4.6 115fc88f52 Remove unused Babel proposal plugins
These plugins handled class properties, optional chaining, nullish
coalescing, object rest spread, and dynamic import syntax — all of
which are natively supported by our target browsers. Bundle size is
unchanged, confirming they were no-ops.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 11:04:09 -07:00
Jordan EldredgeandClaude Opus 4.6 622f945646 Move winamp-eqf to devDependencies
Same issue as ani-cursor: bundled at build time via rollup, so
consumers don't need it installed. The workspace:* protocol caused
install failures for users outside the workspace.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 10:55:19 -07:00
Jordan EldredgeandClaude Opus 4.6 42314430d1 Fix docs to reference webamp@next instead of @main
Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 10:51:47 -07:00
Jordan EldredgeandClaude Opus 4.6 9fcc48bd8d Move ani-cursor to devDependencies
It's bundled at build time via rollup, so consumers don't need it
at install time. Having it as a dependency with workspace:* caused
install failures for users since the workspace protocol isn't
resolved during npm publish.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-07 10:50:46 -07:00
Jordan EldredgeandClaude Sonnet 4.6 3a898b46d7 Remove unused RichText import from bluesky.ts to fix CI lint failure (#1346)
The RichText import from @atproto/api was unused after refactoring the
Bluesky posting logic to use manual facets instead of RichText helpers.
This caused the ESLint no-unused-vars rule to fail in CI.

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
2026-03-24 21:08:48 -07:00
Jordan Eldredge 247bda11ef Consolidate bluesky posts 2026-02-14 11:44:30 -08:00
Jordan Eldredge 2fe3235d51 Remove contained example and clarify position requirements 2026-01-01 15:44:11 -08:00
Jordan EldredgeandClaude 54dbe369d4 Fix TypeScript error in Webamp renderInto call (#1340)
Add non-null assertion operator to ref.current when calling webamp.renderInto()
to match the pattern used elsewhere in the component and resolve the CI type error:
"Argument of type 'HTMLDivElement | null' is not assignable to parameter of type 'HTMLElement'"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <[email protected]>
2026-01-01 15:19:31 -08:00
Jordan Eldredge bce845962f Enable Webamp for scroll UI 2025-12-31 15:18:45 -08:00
Jordan Eldredge 4b784b6eaf Start wiring up Webamp in scroller museum UI 2025-12-31 15:00:16 -08:00
Jordan Eldredge 52f12327fa Persist search query in URL 2025-12-31 15:00:16 -08:00
Jordan Eldredge 1d10f7a1f4 Don't wait as long to hint that you can scroll 2025-12-31 15:00:16 -08:00
Jordan Eldredge 99f06d3bfc Remove logging 2025-12-31 15:00:16 -08:00
Lorenzo StancoandJordan Eldredge 162025f8a0 Webamp optionally fully contained into a DOM element (#1338)
* Webamp optionally fully contained into a DOM element

* Fix spelling

* Reenable updating search index for uploads

* Replace contained flag on renderWhenReady with a new method. Add docs

---------

Co-authored-by: Jordan Eldredge <[email protected]>
2025-12-31 14:59:14 -08:00
Jordan Eldredge f600fb0344 lints 2025-12-30 04:46:47 +00:00
Jordan Eldredge 04c396ed1f Scroll search 2025-12-29 20:22:39 -08:00
Jordan Eldredge f74d7a6cdf Move search input 2025-12-29 17:38:14 -08:00
Jordan Eldredge 1fb930cd63 New pages for scroll 2025-12-29 17:29:11 -08:00
Jordan Eldredge 8d4ff41f42 Improve scroll UI 2025-12-29 17:03:29 -08:00
Jordan Eldredge e062a51a88 Improve scroll UI 2025-12-29 15:32:03 -08:00
Jordan Eldredge 0895f9191f Add explicit app routes 2025-12-29 15:17:06 -08:00
Jordan Eldredge 3b4e5b17c3 Remove blocklist of skins with viruses. These are now purged. 2025-12-29 13:15:46 -08:00
Jordan Eldredge 91618c9c6b Block downloading skin that seems to trigger security block 2025-12-29 11:52:11 -08:00
Jordan Eldredge 6c732f8e24 Add bulk download page 2025-12-29 11:35:45 -08:00
Jordan Eldredge d87cb6ffa3 Switch away from cached api 2025-12-26 19:20:30 +00:00
Jordan Eldredge 6997c852f9 Get uploads working again 2025-12-26 19:20:30 +00:00
Jordan Eldredge 61476591f8 Trusted publishing 2025-12-17 16:51:54 -08:00
Jordan Eldredge 33003a8f8f Patch butterchurn to use eel-wasm 98 to fix mod bug (#1334) 2025-12-15 22:21:26 -08:00