Skip to content

Releases: knzeng-e/dotify

1.2.0

Choose a tag to compare

@knzeng-e knzeng-e released this 16 Jul 19:48
3ee1870

What's Changed

  • design: Constellation phase C - micro-moments by @knzeng-e in #66
  • design: Constellation phase B - The Sky of rooms by @knzeng-e in #65
  • design: Constellation direction + phase A prototype (The Stage) by @knzeng-e in #64
  • feat: generate frontend ABI bindings from Hardhat artifacts (ticket 09) by @knzeng-e in #63
  • feat(web): room social layer - broadcast reactions + in-room chat by @knzeng-e in #67
  • design(web): Living Interface - the room replaces the dashboard by @knzeng-e in #71
  • feat: production preview assets for server-keyed protected tracks (ticket 18) by @knzeng-e in #70
  • feat(web): room collaborative request queue with host veto by @knzeng-e in #68
  • fix(web): room stream propagation and track-switch sync by @knzeng-e in #72
  • feat(web): remember a room pseudonym per wallet (identity Layer 1) by @knzeng-e in #73
  • docs(design): Dotify v2 - access model, chunked streaming, Polkadot App stack by @knzeng-e in #75
  • feat(api,web): access model v2 P2 - sign once, listen freely by @knzeng-e in #78
  • feat(web,api): access model v2 P1b - free mode UI, preview machinery deleted by @knzeng-e in #77
  • feat(contracts,api): access model v2 P1a - Free mode, artist mode changes, free keys by @knzeng-e in #76
  • chore: update deploys by @knzeng-e in #79
  • fix(web): remember guest names for room link joins by @knzeng-e in #74
  • feat(web): improve room track switching and guest joins by @knzeng-e in #80
  • fix: reduce smart runtime deployment weight by @knzeng-e in #83
  • Add Dotify audio v2 chunked streaming by @knzeng-e in #82
  • feat: harden production readiness and rebuild Dotify UX by @knzeng-e in #92
  • docs: align roadmap with Product SDK by @knzeng-e in #93
  • ci: guard optional GitHub Pages deploys by @knzeng-e in #94
  • ci: separate pages workflow concurrency by @knzeng-e in #95

Full Changelog: v1.1.0...1.2.0

v1.1.0 - production spine + frontend architecture

Choose a tag to compare

@knzeng-e knzeng-e released this 03 Jul 14:02
a02c352

Pre-release checkpoint. This captures the production-spine and frontend-architecture work landed since v1.0.0 (226 commits). It is not production-ready: client-side protection is demo-grade, proof-of-personhood is mocked, and public rooms rely on hosted Socket.IO signaling. See the security notes below.

Production spine (Sprint 0)

  • Backend key service (services/api): Fastify service for health, uploads, nonces, and wallet-signed content-key delivery.
  • Server-side Pinata/IPFS uploads, moving the JWT off the browser bundle.
  • Wallet-signed content-key requests for both individual playback and host playback: the backend verifies the signature, rejects nonce replay, resolves the artist runtime, and checks access before releasing a per-track key.
  • Hosted signaling and one-link rooms: Socket.IO room discovery + SDP/ICE exchange, join-by-link with no wallet or signature, and host-based room access (only the host must satisfy the track policy; guests receive only the ephemeral WebRTC stream, never keys or source files).

Stabilization and tests (Sprint 1)

  • Deterministic Playwright end-to-end coverage for the three critical flows: classic paid unlock, artist publish, and room join / host-access playback (10 specs).
  • Vitest unit coverage for the extracted pure domain modules.

Frontend architecture (ticket 08)

  • Pure, tested feature modules under web/src/features/*: access policy, room state, catalog track model, player playback status, wallet network, uploads, runtime access encoding, artist-studio release form.
  • A React context/provider stack under web/src/app/providers/: UI feedback, wallet identity, navigation, release form, catalog, session, artist studio, and playback, each failing closed outside its provider.
  • Shell split: ListenerShell and ArtistShell own their render trees and consume context directly; the heaviest views (PlayerView, ArtistConsole, ArtistOnboarding) read context instead of large prop lists.
  • shared/ tree (ui, config, utils, types) and app routing/navigation modules.
  • Net effect: App.tsx went from ~990 lines to a 69-line shell switch that owns no feature hooks and no business state.

Living Light design

  • Album-aura engine, presence avatars, persistent player dock, one-link room-create sheet, immersive room presence, connected-wallet identity card, and artist studio parity.

Fixes

  • Browser-compatible Asset Hub RPC for catalog reads.
  • Cleared npm audit vulnerabilities in the web workspace.

Security notes (unchanged from the project posture)

  • Client-side content protection is best-effort and demo-grade; it does not claim absolute DRM and does not prevent recording of an authorized WebRTC stream.
  • Proof of Personhood (human-free access) is mocked via a dev-only admin call; real Individuality integration is not yet wired.
  • Public rooms depend on hosted Socket.IO signaling (a centralized coordination point).
  • Production content-key delivery relies on a backend-held master secret.

Canonical contract addresses are in deployments.json (Paseo Asset Hub, chainId 420420417).

v1.0.0

Choose a tag to compare

@knzeng-e knzeng-e released this 24 Apr 09:57

What's Changed

New Contributors

Full Changelog: v0.0.1...v1.0.0.0

v0.0.1

v0.0.1 Pre-release
Pre-release

Choose a tag to compare

@knzeng-e knzeng-e released this 24 Apr 04:12

Full Changelog: https://github.com/knzeng-e/dotify/commits/v0.0.1

Dotify Initial prototype release-candidate

Release commit: 00d479f
Included history: a75f02d -> 00d479f
Date: April 23, 2026

This pre-release delivers the first end-to-end Dotify prototype: a decentralized shared-listening web app, an EVM rights registry contract, deployment tooling, and the first live contract deployment on Paseo AssetHub.

Dotify combines real-time music sessions with artist-managed rights metadata and onchain registration. Hosts can open listening rooms and stream audio to listeners over WebRTC, while artists can prepare track metadata, attach rights assets, publish a compact manifest to Bulletin Chain, and register rights through the EVM contract layer.

Highlights

Web application

  • Introduced the first Dotify frontend built with React + Vite
  • Added artist-grouped music discovery and playback surfaces
  • Added room discovery, room creation, and manual room-code joining
  • Added Socket.IO signaling for WebRTC session setup
  • Added real-time audio sharing between host and listeners
  • Added Artist Studio workflows for:
    • audio upload
    • cover image upload
    • artist contract PDF upload
    • rights metadata entry
    • access mode selection
    • Bulletin Chain manifest publication
    • contract registration

Onchain rights layer

  • Introduced the MusicRightsRegistry EVM contract
  • Added NFT-backed track registration tied to audio content hashes
  • Added support for track metadata and rights references:
    • audio asset reference
    • cover image reference
    • artist contract PDF reference
    • Bulletin JSON manifest reference
  • Added royalty recipient configuration and basis-point splits
  • Added access modes for:
    • Human free
    • Classic
  • Added Proof of Personhood-style gating for Human free tracks
  • Added native-token payment handling and royalty distribution for Classic tracks

Tooling and deployment

  • Added Hardhat-based EVM contract workspace and test coverage
  • Added deployment scripts and deployment tracking via deployments.json
  • Added contract-specific documentation under contracts/README.md
  • Patched Hardhat + viem deployment flow to handle the target testnet chain correctly
  • Wired the frontend to use the deployed contract address by default

Deployed contract

  • MusicRightsRegistry: 0x17623c6df0e9cb06bf64364588ebb057b0ea43c6
  • Network: Paseo AssetHub (EVM)

Why this release matters

This is the first pre-release where Dotify exists as a working vertical slice rather than separate ideas or isolated modules. The web app, realtime listening flow, rights-management model, and EVM deployment path are now connected in one prototype.

Current scope

This pre-release is a prototype foundation. It establishes:

  • real-time shared listening
  • artist-managed rights metadata
  • Bulletin manifest publication
  • EVM registration and royalty logic
  • a live deployed contract target for integration
  • pre setup for IPFS publication