Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
c1aa086
feat: transfer experimental v4
icidasset Aug 10, 2025
ff17726
chore: different theme color for pico
icidasset Sep 3, 2025
82e0616
chore: enable mediasession on webamp
icidasset Sep 3, 2025
aa544e6
chore: clean up the index page a bit
icidasset Sep 3, 2025
e2be7a0
chore: add .netlify dir to gitignore
icidasset Sep 3, 2025
98f1d19
feat: fork spellcaster to use alien-signals for performance/stability
icidasset Sep 6, 2025
de797f7
fix: cross-origin improvements
icidasset Sep 6, 2025
702296c
chore: explain cross-origin usage
icidasset Sep 6, 2025
fc15fcd
chore: add note about output applets
icidasset Sep 6, 2025
8f0a49b
fix: store chosen output
icidasset Sep 6, 2025
72a00f0
chore: cross-origin work
icidasset Sep 7, 2025
c41db0e
feat: initial work for blur browser + bunch of fixes
icidasset Sep 15, 2025
96db675
chore: blur-search custom el
icidasset Sep 22, 2025
bba0409
feat: setup enhance.dev
icidasset Oct 11, 2025
d435afb
feat: setup lume
icidasset Oct 11, 2025
234a8d9
feat: move old styles to lume except for picocss
icidasset Oct 12, 2025
d361075
chore: simplify element
icidasset Oct 12, 2025
0baed12
feat: improve diffuse element
icidasset Oct 12, 2025
2dc5211
feat: audio engine
icidasset Oct 12, 2025
cb67fe9
chore: reorganise
icidasset Oct 14, 2025
c2279b2
fix: better handling of removal of playing audio
icidasset Oct 14, 2025
b48caaf
feat: initial setup for workers
icidasset Oct 15, 2025
31b4ae7
feat: queue
icidasset Oct 16, 2025
0f62dff
feat: deep diff signals
icidasset Oct 17, 2025
97f7816
feat: shared worker
icidasset Oct 17, 2025
9e0340b
feat: index page
icidasset Oct 18, 2025
ee4e24b
feat: shared queue if enabled
icidasset Oct 18, 2025
af6749a
feat: copy types to output
icidasset Oct 18, 2025
ec9fd62
chore: build system improvements
icidasset Oct 19, 2025
638a95c
feat: leader election for audio
icidasset Oct 20, 2025
cf326eb
feat: BroadcastableDiffuseElement
icidasset Oct 21, 2025
9cdea8e
chore: minor prep for blur theme
icidasset Oct 21, 2025
013bbe6
chore: remove unused deps
icidasset Oct 21, 2025
4659b20
feat: add metadata processor
icidasset Oct 22, 2025
a9a25fa
chore: 🧹
icidasset Oct 22, 2025
3c1dcf9
feat: artwork processor
icidasset Oct 22, 2025
9e775e1
chore: rework signals
icidasset Oct 22, 2025
4486007
feat: improved workflow for working with custom elements already loca…
icidasset Oct 22, 2025
30e3c5e
chore: 🧹
icidasset Oct 22, 2025
9f2fccd
feat: search processor
icidasset Oct 23, 2025
85545cb
chore: 🧹
icidasset Oct 23, 2025
ac2062a
feat: opensubsonic input
icidasset Oct 23, 2025
107521b
fix: issue with custom signals fn
icidasset Oct 24, 2025
c9ddbc8
feat: indexed-db output
icidasset Oct 24, 2025
fc78bd3
chore: 🧹
icidasset Oct 24, 2025
ce1a93a
wip: process-tracks orchestrator
icidasset Oct 24, 2025
b84e681
feat: process tracks
icidasset Oct 24, 2025
5d82eca
refactor: orchestrators
icidasset Oct 24, 2025
ef04a2c
feat: queue-tracks orchestrator
icidasset Oct 24, 2025
4ed07dd
feat: queue-audio orchestrator
icidasset Oct 24, 2025
f391e24
feat: search-tracks orchestrator
icidasset Oct 24, 2025
855c36a
feat: webamp
icidasset Oct 26, 2025
86e6950
chore: 🧹
icidasset Oct 26, 2025
6d32d2f
chore: 🧹
icidasset Oct 26, 2025
943c5c1
feat: allow search processor to be shared
icidasset Oct 26, 2025
d4d463c
feat: windows 98!
icidasset Oct 27, 2025
87e6493
feat: proper window management in webamp theme
icidasset Oct 28, 2025
d9628e7
feat: webamp collection browser
icidasset Oct 29, 2025
d4887b4
feat: play from browser
icidasset Oct 29, 2025
d928a27
chore: update index page
icidasset Oct 31, 2025
265c4a3
feat: s3 input
icidasset Oct 31, 2025
8b24bd4
feat: input configurator worker
icidasset Oct 31, 2025
de47a00
chore: clean up remaining old code
icidasset Oct 31, 2025
fff0ba5
chore: reorganise
icidasset Nov 1, 2025
66aa111
feat: put more info in track tags + webamp theme improvements
icidasset Nov 1, 2025
bd71e38
chore: fix deno.lock
icidasset Nov 4, 2025
3fa1a87
chore: try to explain schemas + transformers
icidasset Nov 4, 2025
65a9e6d
chore: introduce transformers + add descriptions to elements on index…
icidasset Nov 6, 2025
93b1dee
chore: favicons
icidasset Nov 6, 2025
1b168ee
chore: add more todos/info to index page
icidasset Nov 7, 2025
4871b42
feat: tracks lexicon + generate types
icidasset Nov 8, 2025
27e9a7f
fix: track types
icidasset Nov 9, 2025
dd42627
feat: json string output transformer
icidasset Nov 11, 2025
d1e5141
chore: remove patreon from funding github config
icidasset Nov 11, 2025
571894d
feat: process tracks in a worker (#448)
icidasset Nov 13, 2025
0a376b8
feat: various queue improvements
icidasset Nov 14, 2025
e52765e
chore: theme descriptions
icidasset Nov 15, 2025
6ea87e7
fix: esbuild node polyfills
icidasset Nov 15, 2025
ac32c32
chore: remove netlify stuff + set alpha version
icidasset Nov 16, 2025
bfa3e77
feat: relative urls pls
icidasset Nov 16, 2025
5ed94d9
chore: update build instructions
icidasset Nov 16, 2025
5fa3702
feat: add stream support to ResolvedUri type
icidasset Nov 18, 2025
eca85f3
feat: fill action for queue
icidasset Nov 18, 2025
d3b6d91
feat: clear none-existing items from queue when pool changes
icidasset Nov 18, 2025
1576cab
feat: keep track placeholder for empty sources
icidasset Nov 22, 2025
e3c1eb5
feat: audio volume
icidasset Nov 22, 2025
b56aaea
feat: ephemeral tracks + output refiner transformer
icidasset Nov 22, 2025
373fdc7
feat: s3 element
icidasset Nov 23, 2025
fdfe72d
chore: reorg types
icidasset Nov 23, 2025
33bc348
fix: type issues
icidasset Nov 23, 2025
d96d0af
feat: reimplement rpc
icidasset Nov 26, 2025
f55e56b
chore: no dom interactions in constructors (transformers)
icidasset Nov 26, 2025
40c54be
chore: copy updates
icidasset Nov 27, 2025
820b6a1
feat: delay creation of rpc and consequently worker for custom elements
icidasset Nov 27, 2025
16ec571
chore: no interactions with elements in constructors
icidasset Nov 27, 2025
c9aea0e
chore: create new workers for processing
icidasset Nov 27, 2025
dfe79bb
chore: refactoring + cleanup : worker tunnel
icidasset Nov 27, 2025
008d552
chore: refactor
icidasset Nov 27, 2025
7208e60
chore: all work must be performed in workers
icidasset Nov 27, 2025
2dacf30
chore: refactor worker tunnels
icidasset Nov 28, 2025
e37179f
feat: input configurator
icidasset Nov 28, 2025
79a6f72
chore: improve index page
icidasset Nov 28, 2025
85b7838
feat: initial work for artwork-controller
icidasset Nov 29, 2025
d667358
chore: rearrange styles
icidasset Nov 29, 2025
6235859
chore: phosphor icons
icidasset Nov 29, 2025
bf3fa40
chore: index page tweaks + copy
icidasset Nov 29, 2025
c1b2fbc
feat: default constituents config
icidasset Nov 30, 2025
6d98596
refactor: worker connections with dependencies
icidasset Dec 2, 2025
70e93d5
refactor: use this.workerProxy() everywhere
icidasset Dec 2, 2025
b7d719d
feat: artwork controller time status & progress bar
icidasset Dec 6, 2025
ad66ae5
fix: audio rendering, phosphor icons, etc.
icidasset Dec 7, 2025
613abdc
feat: artwork controller volume + fade in artwork
icidasset Dec 7, 2025
2d6a579
fix: perf issue with artwork signal
icidasset Dec 7, 2025
c4a632a
chore: remove log
icidasset Dec 7, 2025
74dd21a
fix: adjust audio volume effect
icidasset Dec 8, 2025
ce7566e
fix: reset audio hasEnded
icidasset Dec 8, 2025
3df84db
fix: do not import base css
icidasset Dec 9, 2025
9341c99
feat: force new worker for some input consumers
icidasset Dec 12, 2025
2eecea4
feat: artwork controller improvements
icidasset Dec 12, 2025
97d13de
chore: artwork controller improvements
icidasset Dec 13, 2025
5591b30
fix: improve artwork transition
icidasset Dec 13, 2025
658050f
chore: improve artwork transition
icidasset Dec 13, 2025
bdfcce3
chore: artwork controller css improvements
icidasset Dec 13, 2025
1bf8226
fix: add missing $hasEnded action
icidasset Dec 13, 2025
3f0c795
refactor: isPlaying + hasEnded audio signals
icidasset Dec 14, 2025
de03e4c
refactor: isPlaying
icidasset Dec 14, 2025
5a8a355
feat: broadcasted audio
icidasset Dec 15, 2025
18062c9
fix: sync audio item broadcasting lock with parent engine
icidasset Dec 15, 2025
46f233c
fix: couple audio engine improvements + broadcasting
icidasset Dec 15, 2025
cc02be3
chore: couple css improvements
icidasset Dec 19, 2025
b92cbe9
wip: output configurator
icidasset Dec 20, 2025
abff4b7
feat: output configurator
icidasset Dec 21, 2025
d081459
chore: remove logs
icidasset Dec 21, 2025
88d022f
feat: default output
icidasset Dec 21, 2025
483ebdc
feat: output configurator
icidasset Dec 22, 2025
a63a972
fix: focus
icidasset Dec 22, 2025
0e87705
feat: use output configurator in constituents
icidasset Dec 23, 2025
6cea156
fix: idb whenConnected
icidasset Dec 23, 2025
478fe7c
chore: optimise css & js
icidasset Dec 25, 2025
b47a216
chore: build optimisation, publish prep
icidasset Dec 25, 2025
825acd3
feat: index page updates
icidasset Dec 25, 2025
684e63b
chore: _site -> dist
icidasset Dec 26, 2025
c93a71d
chore: index page updates
icidasset Dec 26, 2025
d7e7bf4
feat: output orchestrator
icidasset Dec 26, 2025
b138aef
feat: input orchestrator
icidasset Dec 26, 2025
ad8169a
chore: index page copy
icidasset Dec 26, 2025
fd6380b
feat: basic search processor integration for webamp browser
icidasset Dec 26, 2025
2bf181d
chore: webamp theme refactor
icidasset Dec 26, 2025
1757751
feat: webamp browser constituent
icidasset Dec 28, 2025
3124b8f
feat: improve search
icidasset Dec 29, 2025
4aac70c
fix: add missing undefined check
icidasset Dec 29, 2025
977b6b6
feat: webamp add shuffled batch
icidasset Dec 29, 2025
27010fc
chore: don't exclude items with no duration for now
icidasset Dec 29, 2025
86570b4
feat: add demo
icidasset Dec 30, 2025
65437ad
chore: simplify webamp setup
icidasset Dec 30, 2025
cb7db49
fix: opensubsonic path check
icidasset Dec 30, 2025
48319e6
chore: improve demo feedback
icidasset Dec 31, 2025
5d962f3
fix: auto buffer first webamp playlist item
icidasset Dec 31, 2025
bbfaee6
chore: add minor note to index page
icidasset Dec 31, 2025
2eb940f
fix: base path webamp + loading indicator browser
icidasset Dec 31, 2025
d61bcb9
chore: prefix style href
icidasset Dec 31, 2025
d8c81f2
chore: try import meta resolve approach
icidasset Dec 31, 2025
59a24ad
fix: maybe it's this one?
icidasset Dec 31, 2025
17230b5
fix: couple small fixes for usage in Peek
icidasset Jan 9, 2026
c5513d7
feat: repeat-shuffle orchestrator
icidasset Jan 11, 2026
c5590a1
chore: add AGENTS.md
icidasset Jan 11, 2026
f2fee6b
feat: base for webamp input configurator element
icidasset Jan 11, 2026
14ead75
chore: some minor css improvements
icidasset Jan 11, 2026
32333df
chore: add forms to webamp input configurator
icidasset Jan 12, 2026
7aa2b20
feat: webamp input configurator source creation
icidasset Jan 13, 2026
6a1b5a4
chore: disable automatic track processing in dev
icidasset Jan 14, 2026
bd6c14f
fix: don't log artwork errors
icidasset Jan 14, 2026
1ce2ad4
chore: some webamp input configurator improvements + refactoring
icidasset Jan 14, 2026
0aaa6ee
feat: take control section on index page
icidasset Jan 16, 2026
e3f2683
refactor: sources + webamp input configurator
icidasset Jan 17, 2026
52341b7
feat: implement detach functions
icidasset Jan 18, 2026
7e65dbb
fix: search supply issue
icidasset Jan 18, 2026
f1e1c76
refactor: constituents
icidasset Jan 18, 2026
2bcfbb6
fix: audio broadcasting issue - sync items on start
icidasset Jan 18, 2026
625cc46
chore: remove console.log
icidasset Jan 18, 2026
b664d71
chore: index page content updates
icidasset Jan 18, 2026
3e87641
feat: broadcast output indexed-db put + make demo on index page a con…
icidasset Jan 19, 2026
d113f21
fix: unset queue.now if it got deleted
icidasset Jan 19, 2026
8c2b8f1
feat: index page content & style updates
icidasset Jan 20, 2026
99133f4
chore: apply dither style to page h2 headers
icidasset Jan 20, 2026
93b8665
fix: couple index page issues
icidasset Jan 20, 2026
cec5121
chore: add DESIGN doc
icidasset Jan 22, 2026
abf2c4c
chore: docs
icidasset Jan 23, 2026
de703ed
chore: publish prep
icidasset Jan 23, 2026
a137b91
fix: output manager types
icidasset Jan 23, 2026
081b73b
chore: use jsr pkg name
icidasset Jan 23, 2026
165d741
chore: limit what we publish on jsr
icidasset Jan 23, 2026
a0547e8
chore: bump @atcute/lexicons
icidasset Jan 23, 2026
9909392
chore: add input config window to webamp theme
icidasset Jan 23, 2026
a173db4
feat: output configurator, always save to default and use it as fallback
icidasset Jan 23, 2026
a078dee
feat: json bytes transformer
icidasset Jan 23, 2026
5670172
feat: automerge transformer
icidasset Jan 24, 2026
4da8c7b
test: components/engine/queue
icidasset Jan 25, 2026
c217ee2
test: queue engine uses shared worker
icidasset Jan 25, 2026
c7e7a10
fix: default state output configurator
icidasset Jan 26, 2026
225f8ea
fix: more loading issues
icidasset Jan 26, 2026
818806a
refactor: search + queue supply
icidasset Jan 26, 2026
a49b7bc
fix: still allow webamp to load local files
icidasset Jan 26, 2026
85c4777
chore: couple minor index page adjustments
icidasset Jan 26, 2026
a97645c
test: search processor
icidasset Jan 26, 2026
685b614
feat: initial work for constituents loader
icidasset Jan 27, 2026
cb4c4cb
docs: add contributing.md & update readme
icidasset Jan 28, 2026
d7a2a90
feat: output managers should be lazy
icidasset Jan 28, 2026
2a86b64
feat: repeat & shuffle buttons for artwork controller
icidasset Jan 29, 2026
c0338fd
fix: don't make opensubsonic servers download the whole audio file
icidasset Jan 29, 2026
8d36447
fix: improve webamp playlist behaviour
icidasset Jan 29, 2026
574bd7c
feat: add a little link on index page that points at external chronic…
icidasset Jan 29, 2026
b3ffdb0
feat: upgrade to latest link
icidasset Jan 30, 2026
c2ba18e
fix: improve index page responsivity
icidasset Jan 30, 2026
c2d2c5c
feat: loading animation for version detector
icidasset Jan 30, 2026
00a775f
fix: loading animation fade out
icidasset Jan 30, 2026
8949626
chore: various constituents loader work + align definitions
icidasset Feb 3, 2026
01a5959
fix: output types
icidasset Feb 3, 2026
e023d22
feat: output constituents
icidasset Feb 3, 2026
38b2d64
fix: rearrange constituent defaults
icidasset Feb 3, 2026
ffd8818
refactor: constituents foundation
icidasset Feb 3, 2026
ba8d7d5
chore: more constituent clean up
icidasset Feb 3, 2026
57cfd13
feat: initial working constituent loader
icidasset Feb 4, 2026
b2073cc
feat: add code editor to loader
icidasset Feb 5, 2026
a8ad8ba
chore: more examples
icidasset Feb 5, 2026
6301db8
feat: favourite definition
icidasset Feb 5, 2026
9662994
feat: playlist definition
icidasset Feb 5, 2026
6473131
refactor: favourites can just be a playlist
icidasset Feb 5, 2026
3c766b5
refactor: foundation + some orchestrators
icidasset Feb 6, 2026
2d16e35
chore: update index page
icidasset Feb 6, 2026
8512c9e
chore: add favourites todo
icidasset Feb 6, 2026
150b1dc
fix: typos
icidasset Feb 6, 2026
13c6a4a
fix: constituent loader examples
icidasset Feb 6, 2026
e629e4a
feat: add url to constituent definition + theme definition
icidasset Feb 7, 2026
9ec339c
chore: clear some todos
icidasset Feb 7, 2026
6d40245
fix: add missing playlist properties to definition
icidasset Feb 7, 2026
509e23b
feat: scoped-tracks orchestrator
icidasset Feb 8, 2026
cf9d7de
fix: markdown typo
icidasset Feb 8, 2026
217b5e8
fix: type errors
icidasset Feb 9, 2026
3fc59a9
fix: process sources after adding a source
icidasset Feb 9, 2026
2d2cc31
feat: constituents custom group
icidasset Feb 9, 2026
45d5b92
chore: improve index page
icidasset Feb 10, 2026
5e34d98
refactor: constituents presentation + loader
icidasset Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DISABLE_AUTOMATIC_TRACKS_PROCESSING=t
44 changes: 0 additions & 44 deletions .eslintrc.yaml

This file was deleted.

1 change: 0 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
github: icidasset
ko_fi: icidasset
patreon: diffuse
134 changes: 0 additions & 134 deletions .github/workflows/build.yml

This file was deleted.

11 changes: 4 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
.DS_Store
.gren
.zed
app
fission.yaml*
elm-stuff
node_modules
/.deploy*
/_site
/_vendor
/dist
/src/Library/Css/Classes.elm
/src/definitions/types/
/vendor
41 changes: 41 additions & 0 deletions .zed/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"lsp": {
"deno": {
"settings": {
"deno": {
"enable": true
}
}
},
"json-language-server": {
"settings": {
"json": {
"schemas": [
{
"fileMatch": ["deno.json"],
"url": "https://raw.githubusercontent.com/denoland/deno/refs/heads/main/cli/schemas/config-file.v1.json"
},
{
"fileMatch": ["package.json"],
"url": "http://json.schemastore.org/package"
}
]
}
}
}
},
"languages": {
"JavaScript": {
"language_servers": ["deno", "!typescript-language-server", "!vtsls", "!eslint"],
"formatter": "language_server"
},
"TypeScript": {
"language_servers": ["deno", "!typescript-language-server", "!vtsls", "!eslint"],
"formatter": "language_server"
},
"TSX": {
"language_servers": ["deno", "!typescript-language-server", "!vtsls", "!eslint"],
"formatter": "language_server"
}
}
}
7 changes: 7 additions & 0 deletions .zed/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[
{
"label": "deno test",
"command": "deno test -A --filter '/^$ZED_CUSTOM_DENO_TEST_NAME$/' '$ZED_FILE'",
"tags": ["js-test"]
}
]
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## 4.0.0

**Rewrite from scratch.**


## 3.5.0

- **Improve audio playback, processing and error handling**.
Expand Down
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Welcome 👋

Thanks for considering to contribute! To get started, take a look at the following items:

- **`README.md`**: Also in the root of this project, along side this file, for some general context and build instructions.
- **Explainer web page**: Important context, explains all non-technical aspects. You can either check out the [last deployed version](https://elements.diffuse.sh/latest/), or build the version located in this repo (`deno run build` → `dist/index.html`, or alternatively: `deno run serve` and open `http://localhost:3000`)
- **Architecture docs**: Another important piece, talks about code and file/directory organisation. Located in `docs/`.
Loading