Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
617 commits
Select commit Hold shift + click to select a range
183b287
wip: dasl sync
icidasset Feb 24, 2026
c76c13c
wip: dasl sync
icidasset Feb 24, 2026
b2e108d
feat: finish dasl-sync transformer
icidasset Feb 24, 2026
f960b50
fix: a bunch of things
icidasset Feb 25, 2026
1188361
fix: infinite loop dasl-sync
icidasset Feb 25, 2026
773f072
fix: typo dasl-sync
icidasset Feb 25, 2026
37d65ae
refactor: dasl sync
icidasset Feb 25, 2026
4c37287
fix: freezes
icidasset Feb 25, 2026
266eab0
fix: couple more issues with dasl sync
icidasset Feb 25, 2026
c8bb2a9
refactor: eager signals by default
icidasset Feb 26, 2026
834b2e8
fix: demo button
icidasset Feb 26, 2026
e82ed48
fix: favourites matching multiple tracks inconsistency
icidasset Feb 26, 2026
283afc4
feat: import maps facets/themes loader page
icidasset Feb 26, 2026
e5bb3e3
fix: adjust v3 playlist import to new playlist item definition
icidasset Feb 26, 2026
ec509e4
feat: process tracks button input configurator
icidasset Feb 26, 2026
405be03
feat: add search input to auto-queue facet
icidasset Feb 26, 2026
df69f06
fix: searching should use the AND operator, not OR.
icidasset Feb 26, 2026
b025f02
feat: some additional fields for the `criterion` definition
icidasset Feb 26, 2026
e00db3e
feat: add media session orchestrator
icidasset Feb 26, 2026
575fbb7
fix: atproto handle error management
icidasset Feb 26, 2026
eb97e5a
wip: passkey encryption
icidasset Feb 27, 2026
97e39d6
wip: passkey transformer
icidasset Feb 27, 2026
7f82c51
feat: finish up passkey transformer and remove broadcast transformer
icidasset Feb 27, 2026
614124c
fix: dasl sync loop
icidasset Feb 27, 2026
50c0b75
fix: sync issues
icidasset Feb 28, 2026
d42f0a0
chore: 🧹
icidasset Feb 28, 2026
8a5a3cd
fix: atproto sync behaviour, only exec on leader
icidasset Feb 28, 2026
fe8c0cb
fix: atproto rate limits
icidasset Feb 28, 2026
8c2344f
fix: improve atproto retry logic
icidasset Feb 28, 2026
c278f15
fix: atproto rate limit header
icidasset Feb 28, 2026
54a47ce
chore: remove atproto retry logic
icidasset Mar 1, 2026
f97e27b
feat: support large sets of atproto records
icidasset Mar 1, 2026
902294c
fix: track bundle atproto deletes should still use normal batch size
icidasset Mar 1, 2026
9686095
chore: playlistItemBundle
icidasset Mar 1, 2026
ae2a312
chore: 🧹 definitions
icidasset Mar 1, 2026
bc0e630
chore: clean up index page
icidasset Mar 1, 2026
ed6ba99
chore: https+json input plan
icidasset Mar 1, 2026
e008111
fix: forgot to add playlistItemBundle to oauth scope
icidasset Mar 1, 2026
257bac9
feat: add local input
icidasset Mar 1, 2026
c8528ca
fix: local individual files showing up twice
icidasset Mar 2, 2026
e1bb058
fix: import map firefox
icidasset Mar 2, 2026
acf8292
chore: rename facet file extensions to .html
icidasset Mar 2, 2026
8ae187a
chore: 🧹
icidasset Mar 2, 2026
d1f3e78
feat: externalise facet scripts so we can type check them, but inline…
icidasset Mar 2, 2026
659a976
fix: smol css fix auto-queue
icidasset Mar 2, 2026
8fdfd7c
fix: wait for output configurator to be defined
icidasset Mar 2, 2026
987c843
chore: setup webawesome and reorg some vendor stuff
icidasset Mar 2, 2026
8a2af85
chore: adjust paths
icidasset Mar 2, 2026
57cebaf
fix: some vendor issues
icidasset Mar 2, 2026
9d7eebd
fix: feature detection for local file input
icidasset Mar 3, 2026
b5b7c1f
feat: split-view facet
icidasset Mar 3, 2026
e7c5348
chore: artwork contr height 100% instead of dvh
icidasset Mar 3, 2026
364b7c5
chore: add artwork controller to container by default
icidasset Mar 3, 2026
85c9007
fix: don't wanna do split-view infinite loop
icidasset Mar 3, 2026
23a9a59
chore: some minor split-view facet tweaks
icidasset Mar 3, 2026
9e86bf4
feat: generate standalone split-view facets
icidasset Mar 3, 2026
23b24ef
feat: make generated split-view remember divider positions
icidasset Mar 4, 2026
30d3b06
fix: some css color issues
icidasset Mar 4, 2026
502f4d9
feat: offline orchestrator with service worker that makes everything …
icidasset Mar 4, 2026
f5600f9
feat: data export/import tool
icidasset Mar 4, 2026
51c0bd6
chore: make offline service worker also handle server outages
icidasset Mar 4, 2026
8557365
feat: sorting
icidasset Mar 4, 2026
933cb69
chore: 🧹
icidasset Mar 4, 2026
34d4ea7
fix: scope storage name double slash
icidasset Mar 4, 2026
549f1ec
feat: preload next queue item after 30 seconds
icidasset Mar 4, 2026
d7e1d97
feat: allow playlist items to be ephemeral too
icidasset Mar 4, 2026
64ce5b9
chore: add export/import facet to split-view list
icidasset Mar 5, 2026
63785cd
chore: facets reorg
icidasset Mar 5, 2026
a3316e6
fix: lets try a different service worker scope
icidasset Mar 5, 2026
f40e850
feat: more scopes
icidasset Mar 5, 2026
7e2e7a3
fix: remaining facet paths
icidasset Mar 5, 2026
d65cfc7
feat: better browser sorting + direction
icidasset Mar 5, 2026
d736fae
chore: sort by created at in descending order by default
icidasset Mar 5, 2026
67a7a73
chore: ability to revert to default sort
icidasset Mar 5, 2026
0954bf1
chore: no need for cryptographic cache id
icidasset Mar 5, 2026
b72d7a8
chore: improve artwork storage & lookup, store by cid
icidasset Mar 5, 2026
64d6a55
chore: clean up some small todos
icidasset Mar 5, 2026
21c7508
feat: add support to audio engine for streaming
icidasset Mar 5, 2026
8f69993
feat: icecast input
icidasset Mar 5, 2026
43eb8b3
fix: ability to play streams
icidasset Mar 6, 2026
314304e
chore: copy improvements home page
icidasset Mar 6, 2026
d638c34
chore: readme update
icidasset Mar 6, 2026
d703f6a
feat: sort direction button auto-queue facet
icidasset Mar 6, 2026
89d4cb7
feat: path-collections orchestrator
icidasset Mar 6, 2026
587fa73
fix: refiner should restore ephemeral items
icidasset Mar 6, 2026
a52fc6a
wip: improved facets page
icidasset Mar 6, 2026
31a5280
wip: new facets pages
icidasset Mar 7, 2026
efd48bb
wip: facets grid
icidasset Mar 7, 2026
ea281c0
feat: view transitions
icidasset Mar 7, 2026
89b9158
feat: facets concept section
icidasset Mar 7, 2026
672ff04
wip: new your-facets-collection page
icidasset Mar 7, 2026
43ae70c
chore: store esbuild chunks in subdir
icidasset Mar 8, 2026
d275425
fix: service worker and precalculate cids
icidasset Mar 8, 2026
d1f1a66
chore: disable view transition
icidasset Mar 8, 2026
591e888
feat: facets grid toggle button to add/remove from collection
icidasset Mar 8, 2026
20bf125
feat(facets): improved your-collection view
icidasset Mar 8, 2026
4bce5d5
feat(facets): featured page
icidasset Mar 8, 2026
10e3748
feat(facets): builder
icidasset Mar 8, 2026
4763475
fix: nav url typo
icidasset Mar 8, 2026
21432a0
feat: proper view transitions
icidasset Mar 9, 2026
329ea36
chore: nvm about view transitions, it's not good enough yet
icidasset Mar 9, 2026
dd46767
feat: partial page rendering for facets pages
icidasset Mar 9, 2026
5c54c31
fix: facets header overflow
icidasset Mar 9, 2026
fb3777a
fix: use relative path for facets ppr
icidasset Mar 9, 2026
4fc2f47
feat: home page links + version upgrade on all pages
icidasset Mar 10, 2026
2cba45f
chore: rename playlists -> playlist items import/export
icidasset Mar 10, 2026
936c6fc
fix: title cases
icidasset Mar 10, 2026
5c12944
fix: divider height
icidasset Mar 10, 2026
d454cee
fix: audio play state issue
icidasset Mar 10, 2026
b9254e7
fix: artwork controller flash while loading
icidasset Mar 10, 2026
fac9c05
feat: add facet from uri
icidasset Mar 10, 2026
5a507e9
chore: better empty state facets collection
icidasset Mar 10, 2026
29f8e8e
feat: refactor output element types to eliminate impossible states
icidasset Mar 10, 2026
3bf383c
test: more queue tests + fix browser test runner
icidasset Mar 10, 2026
c93231c
feat: scrobbling
icidasset Mar 11, 2026
f225b8d
feat: last.fm scrobbling
icidasset Mar 11, 2026
5519340
chore: update dependencies + node-modules polyfill tweaks + remove mu…
icidasset Mar 12, 2026
0f8f777
chore: only load temporal polyfill when needed + use lighter alternative
icidasset Mar 12, 2026
00070be
chore: reduce node polyfills as much as possible
icidasset Mar 12, 2026
541a793
chore: dynamic imports for foundation
icidasset Mar 12, 2026
5aa1e71
chore: more browser loading optimisations
icidasset Mar 12, 2026
4c5d0ba
chore: fix temporal type
icidasset Mar 12, 2026
bbebf00
fix: unregister process when ready
icidasset Mar 12, 2026
de4d39c
fix: scrobble selector attribute name + update element index
icidasset Mar 12, 2026
910dd8e
fix: output loading issue
icidasset Mar 12, 2026
849464f
chore: some last.fm facet improvements
icidasset Mar 12, 2026
b447789
feat: facet kinds + load facet preludes
icidasset Mar 12, 2026
e372ea2
feat: scrobble feature facet + copy facet descriptions
icidasset Mar 12, 2026
9b1e487
feat: various facets improvements
icidasset Mar 13, 2026
fca292e
fix: don't mark facet with custom code as active
icidasset Mar 13, 2026
970468b
feat: initial facets collection
icidasset Mar 13, 2026
e00f574
chore: _data facets as json + determine defaults
icidasset Mar 13, 2026
ad5eb82
feat: output bundle prelude facet
icidasset Mar 14, 2026
c00b2f1
refactor: output configuration
icidasset Mar 14, 2026
a0e9d65
chore: prelude loading for facet pages
icidasset Mar 15, 2026
5282f19
feat: try not to mention themes or facets, make it an implementation …
icidasset Mar 15, 2026
b7b257c
chore: more homepage updates
icidasset Mar 15, 2026
eabb70e
refactor: simplify architecture
icidasset Mar 16, 2026
d7baef7
fix: loader issue
icidasset Mar 17, 2026
251c1fc
chore: move foundation.js file
icidasset Mar 17, 2026
975de5c
chore: full .inline.js paths
icidasset Mar 17, 2026
03d4ea1
chore: winamp facet theme
icidasset Mar 17, 2026
944aef0
chore: throttle processing facet by 10 minutes
icidasset Mar 17, 2026
8f9225b
feat: input bundle prelude facet
icidasset Mar 17, 2026
2437d2e
fix: various atproto things
icidasset Mar 18, 2026
4338533
fix: importmap loading issue
icidasset Mar 18, 2026
88daa98
feat: atproto, listen to firehose for changes
icidasset Mar 18, 2026
b44b117
fix: layout issue
icidasset Mar 18, 2026
e76ecd0
fix: default base for dashboard
icidasset Mar 18, 2026
a4f713d
chore: hide nav items that were pushed to the next line
icidasset Mar 18, 2026
3718312
chore: remove all things themes from outputs
icidasset Mar 18, 2026
a87b463
fix: some build issues
icidasset Mar 18, 2026
c29e7d0
fix: incorrect base path
icidasset Mar 18, 2026
eaac1b5
chore: 🧹
icidasset Mar 19, 2026
f377c1c
feat: track caching
icidasset Mar 19, 2026
bc1919f
chore: various css architecture improvements, phosphor icons, webawes…
icidasset Mar 19, 2026
68f92c8
chore: facet doc titles
icidasset Mar 20, 2026
6dfb5c1
chore: 🧹
icidasset Mar 20, 2026
68b24f2
feat: various dashboard improvements
icidasset Mar 20, 2026
7fd0429
chore: more dashboard improvements
icidasset Mar 20, 2026
0c85bb1
feat: s3 connect facet
icidasset Mar 20, 2026
eb80868
feat: generic connect template
icidasset Mar 20, 2026
4f37b03
feat: atproto connect facet + various improvements to s3
icidasset Mar 20, 2026
e55d811
fix: atproto tracks.put
icidasset Mar 20, 2026
e4e43d1
chore: copy passkey functionality to atproto connector
icidasset Mar 21, 2026
e4f0b17
chore: css clean up 🧹
icidasset Mar 21, 2026
d28c4bd
feat: connect / opensubsonic
icidasset Mar 21, 2026
3377ccd
feat: add remaining connect facets
icidasset Mar 21, 2026
6ff6f38
feat: show where your userdata is coming from on the dashboard
icidasset Mar 21, 2026
d787dff
fix: typo
icidasset Mar 22, 2026
b61ff9b
chore: mobile tweaks
icidasset Mar 22, 2026
c3f42cc
feat: connect facet
icidasset Mar 22, 2026
e589e1e
chore: improve the process-tracks prelude
icidasset Mar 22, 2026
c4db0c9
feat: separate process-tracks interface
icidasset Mar 22, 2026
f3a24cc
chore: more processing improvements
icidasset Mar 23, 2026
01253e0
fix: connect facet loader href path
icidasset Mar 23, 2026
118cf66
chore: 🧹
icidasset Mar 23, 2026
3387200
chore: remove winamp config ui
icidasset Mar 23, 2026
acb296c
chore: fade in most facets + improve loading anim
icidasset Mar 23, 2026
e8f19de
fix: artwork progress bar flash
icidasset Mar 23, 2026
06290b3
chore: remove last.fm from foundation, make it part of scrobble prelude
icidasset Mar 23, 2026
c89bf7d
fix: last.fm facet
icidasset Mar 23, 2026
3ef7dd8
chore: webamp and scrobble stuff
icidasset Mar 24, 2026
8c2775c
fix: webamp milkdrop
icidasset Mar 24, 2026
1f74b4f
chore: save webamp ui state
icidasset Mar 24, 2026
29f5437
chore: improve repeat audio
icidasset Mar 24, 2026
dcb8fde
chore: support link
icidasset Mar 24, 2026
87b6ba7
chore: homepage links
icidasset Mar 24, 2026
b473bb9
chore: back to accent color for homepage
icidasset Mar 24, 2026
7b0716e
chore: improve browser support
icidasset Mar 24, 2026
a99f688
fix: double custom element defining
icidasset Mar 24, 2026
6e71245
chore: process-tracks facet should not check for leadership, this hap…
icidasset Mar 25, 2026
a3183c8
chore: default volume 0.75
icidasset Mar 25, 2026
d2c15b0
chore: process-tracks facet ui max-width
icidasset Mar 25, 2026
50ca651
chore: winamp theme improvements
icidasset Mar 25, 2026
fab8984
chore: make it easier to differentiate features from interfaces
icidasset Mar 25, 2026
ad5e6cc
chore: dashboard/guide/build improvements
icidasset Mar 26, 2026
ad64375
chore: more dashboard and guide improvements
icidasset Mar 26, 2026
a0c8817
chore: build loading animation
icidasset Mar 26, 2026
fd2c5cd
chore: add automatic-queue to the default set of facets
icidasset Mar 26, 2026
43eb734
chore: state names
icidasset Mar 26, 2026
4d86d29
chore: `foundation.setup` function to set doc title and fade out loader
icidasset Mar 26, 2026
e6fe5cc
fix: split-view facets list
icidasset Mar 26, 2026
bc90eca
feat: implement custom version of classic winamp, reuse webamp's css …
icidasset Mar 26, 2026
6bc9ff4
wip: more winamp theme work
icidasset Mar 27, 2026
056d1f5
feat: finish up new winamp theme
icidasset Mar 27, 2026
f8c0327
feat: improve load-uri dialog a little bit
icidasset Mar 27, 2026
aec3040
chore: update facet list
icidasset Mar 27, 2026
1a4cfd6
chore: queue improvements
icidasset Mar 27, 2026
4e1498d
chore: minor page tweaks
icidasset Mar 27, 2026
bc7fcb1
fix: tests
icidasset Mar 28, 2026
358230f
fix: dasl sync
icidasset Mar 28, 2026
012ac9e
fix: dasl-sync offline save issue
icidasset Mar 28, 2026
ec8b096
chore: add some default interfaces
icidasset Mar 28, 2026
3a559e4
chore: styling
icidasset Mar 28, 2026
4e3ab7d
chore: dashboard nav loading anim
icidasset Mar 28, 2026
58f43af
fix: dasl offline read issue
icidasset Mar 28, 2026
bc07451
chore: expose atproto putRecords method
icidasset Mar 28, 2026
4cd6fc4
chore: fix typescript errors
icidasset Mar 28, 2026
a87960c
fix: another attempt to fix offline dasl reads
icidasset Mar 28, 2026
0274b04
chore: meta tags clean up
icidasset Mar 28, 2026
db46c56
chore: TODOs cleanup
icidasset Mar 28, 2026
2d9bcc6
chore: engine components tests
icidasset Mar 28, 2026
af5b1cc
chore: processor components tests
icidasset Mar 28, 2026
5b95ded
chore: configurator components tests
icidasset Mar 28, 2026
ccc574e
chore: input components tests
icidasset Mar 28, 2026
9417e11
chore: output components tests
icidasset Mar 28, 2026
aff951d
chore: transformer components tests
icidasset Mar 28, 2026
51d7484
chore: passkey test update
icidasset Mar 28, 2026
c53cd8a
feat: improve guide
icidasset Mar 28, 2026
a8605e2
chore: supplement components tests
icidasset Mar 29, 2026
f0d3516
chore: orchestrator components tests
icidasset Mar 29, 2026
31c9b39
chore: more audio tests
icidasset Mar 29, 2026
634bf20
feat: make artwork extendable
icidasset Mar 29, 2026
2f4f581
feat: make metadata lookup extendable
icidasset Mar 29, 2026
3127fdd
chore: remove processors all together, integrate search into scoped-t…
icidasset Mar 29, 2026
2060cdd
chore: some scoped-tracks tests re search
icidasset Mar 29, 2026
54406ce
feat: extract preload behaviour into a prelude facet
icidasset Mar 29, 2026
4a85418
feat: add `artwork` action to input components
icidasset Mar 29, 2026
d09361e
feat: add artwork/input component
icidasset Mar 29, 2026
7f8fe2a
feat: use new artwork/input component in bundle
icidasset Mar 29, 2026
aa100cb
feat: implement opensubsonic artwork action
icidasset Mar 29, 2026
b58f42b
chore: artwork improvements
icidasset Mar 29, 2026
c29c68a
feat: controller orchestrator
icidasset Mar 29, 2026
29c6ddf
feat: local file upload for ephemeral tracks
icidasset Mar 30, 2026
787aec2
fix: atproto oauth callback
icidasset Mar 30, 2026
4baa8a8
chore: improve bundle types
icidasset Mar 30, 2026
86912c1
chore: improve facet loading
icidasset Mar 30, 2026
51ef4cb
chore: more tests
icidasset Mar 30, 2026
78fd151
fix: tests
icidasset Mar 30, 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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ATPROTO_CLIENT_ID=https://cimd-service.fly.dev/clients/bafyreidf2esqfai4xh2osfrq6oekkkvburcjvomebn4age7hks7teb77fi
# 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.

14 changes: 7 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.DS_Store
.gren
.zed
app
fission.yaml*
elm-stuff
AGENTS.md
node_modules
/.deploy*

/.claude
/_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