69bb722590
android: the artist page, redesigned — the editorial shape
KeelrLeek2026-09-18 17:29:17 -05:00
bb7f1f1b2d
android auto: the card says what the engine is doing, and a skip no longer leaves the old song playing
KeelrLeek2026-09-18 15:44:25 -05:00
9f7661afab
android auto: the car's queue works like the page's, and every row gets its cover
KeelrLeek2026-09-18 15:00:11 -05:00
5ddb6d4d59
tooling: gradle's temp dir on the work machine, and the walk's transient toast
KeelrLeek2026-09-18 12:35:55 -05:00
6f789687e4
android: keep a playlist offline
KeelrLeek2026-09-18 12:35:55 -05:00
17942fc04b
android auto: the car plays what is here, resumes, and is told the rest — soulseek dials back, and the storm is over
KeelrLeek2026-09-18 12:35:54 -05:00
8f46f9c663
android auto: a catalog row is handed to the app, not failed at
KeelrLeek2026-09-15 17:01:43 -05:00
54245a33b5
android auto: Recent means albums and playlists, and is never empty over a full library
KeelrLeek2026-09-15 15:08:21 -05:00
062e1845e0
android auto: one engine per process, actually — init was still spawning its own
KeelrLeek2026-09-15 14:47:40 -05:00
f59a2d773e
android auto: the position the engine is actually at, and search by voice
KeelrLeek2026-09-15 14:21:28 -05:00
4d75395411
android auto: the car's own controls, the covers, and four tabs with faces
KeelrLeek2026-09-15 13:30:54 -05:00
f50cf2018a
android auto: a tap in the car plays, with no Activity anywhere in the process
KeelrLeek2026-09-15 11:49:40 -05:00
3f56f274c5
android auto: the covers, and the grid a record is owed
KeelrLeek2026-09-15 11:11:35 -05:00
515b3da71f
android auto: the tree under the root — four tabs read cold out of library.db
KeelrLeek2026-09-15 10:05:39 -05:00
e1bf456743
android auto: the car can see the app, and the root it opens is empty
KeelrLeek2026-09-15 09:16:53 -05:00
3a8ccd4640
android: the lock-screen card, moved to media3 before anything is built on it
KeelrLeek2026-09-15 09:09:36 -05:00
a44b4422fd
android: the same SIGPIPE race, in the two focus checks it has not lost yet
KeelrLeek2026-09-15 07:48:09 -05:00
c36ec439ce
android: the icon gate answered fail / pass / fail to the same APK
KeelrLeek2026-09-15 07:43:54 -05:00
da4abeb8c9
android: the launcher's ground is the desktop's, not a flat colour under it
KeelrLeek2026-09-15 07:22:02 -05:00
afcd3cc7f3
android: the media mirror grows a queue window the card never shows
KeelrLeek2026-09-15 07:22:02 -05:00
d42645d2a0
android: the icon where it moves — the glyph, the lock screen and a splash that is not white
KeelrLeek2026-09-15 07:22:01 -05:00
4ebc38d5f3
android: the falcon on the launcher — a real adaptive icon, with the monochrome layer
KeelrLeek2026-09-15 07:22:00 -05:00
fbc6a0268b
android auto: the UI is four tabs and a colour, not a screen — the design, decided
KeelrLeek2026-09-15 07:04:14 -05:00
c1a2608bdd
android: three the audit found — bars translucent over nothing, and two insets the WebView does not report
KeelrLeek2026-09-14 15:31:31 -05:00
1f9b30c51f
android: the page ends at the clock — the bars go, the hero keeps the top edge
KeelrLeek2026-09-14 15:30:55 -05:00
cdb861fcbd
android: no bar arrives over the page — the tab pages lose their top banner
KeelrLeek2026-09-14 11:09:34 -05:00
07dad65ca5
android: the keep rules, and the release build that proves them
KeelrLeek2026-09-14 11:09:33 -05:00
9c3273e6af
android: the waits the walk could not see, and why they are off by default
KeelrLeek2026-09-14 10:11:53 -05:00
9f0601027c
android: the handoff — the pending rounds, the pipeline, and what is unverified
KeelrLeek2026-09-14 07:57:41 -05:00
867fd42972
android: turned over, for real — the walk rotates the phone, and puts it back
KeelrLeek2026-09-14 07:27:40 -05:00
33f32cb4c9
android: the long session — what the app is still holding after an hour
KeelrLeek2026-09-14 07:05:55 -05:00
9bfbcfc96c
android: the phone walk waits for the app, not just for the WebView
KeelrLeek2026-09-14 06:43:53 -05:00
0ce8c63cb6
android: what the device has actually been tested for — the map, and the steps it could close
KeelrLeek2026-09-14 05:20:02 -05:00
a8adce087f
android: the phone walk waits for the WebView instead of giving up on it
KeelrLeek2026-09-14 04:55:17 -05:00
537bfdd5af
android: the faces the walk had never seen — six failure states, read back in their own words
KeelrLeek2026-09-14 03:59:09 -05:00
f2cde4ec7c
android: the whole discography, on a page of its own
KeelrLeek2026-09-14 03:41:16 -05:00
1258b2b78d
android: the rows go where you put them — a real drag on the playlist and the queue
KeelrLeek2026-09-14 03:24:26 -05:00
defd8c5e6d
android: a playlist file, picked
KeelrLeek2026-09-14 02:55:56 -05:00
04c87e0db1
android: a playlist, out of the phone
KeelrLeek2026-09-14 02:38:44 -05:00
95c2bfeeba
android: the first run — a folder to keep music in, and an account to reach the network
KeelrLeek2026-09-14 02:21:37 -05:00
46cf6a98fe
android: the sweep — what thirty rounds left behind, and the byte that hid a file from grep
KeelrLeek2026-09-14 01:55:00 -05:00
01bab007f7
android: the boot chain goes out in one round, and a census that holds it there
KeelrLeek2026-09-14 01:38:15 -05:00
052e15302b
android: what the phone says when things go wrong
KeelrLeek2026-09-14 01:23:26 -05:00
44eda8dff5
android: the room can measure the song, and a cold artist page stops waiting on one call
KeelrLeek2026-09-14 00:58:14 -05:00
5738c2d7bf
android: the downloads say so in the shade
KeelrLeek2026-09-14 00:44:11 -05:00
4fc6e9c630
android: what a screen reader says — names, roles, and the sheets out of the tree when they are down
KeelrLeek2026-09-14 00:28:28 -05:00
9df162360e
android: the phone turned sideways — the player beside itself, the chrome cut down
KeelrLeek2026-09-14 00:14:23 -05:00
aff29aba5c
android: a streamed file copied into a folder, the listening port, the dev build's diagnostics
KeelrLeek2026-09-13 23:59:47 -05:00
1737c5e1b6
android: the catalog's numbers — Popular's own lane, a count per row, the artist's photo
KeelrLeek2026-09-13 23:46:07 -05:00
c737809325
android: a folder of audio files, and a paste of track links
KeelrLeek2026-09-13 23:32:00 -05:00
24c6857847
android: tap-to-sync, the per-track auto-sync switch, the vocal-reduced copy
KeelrLeek2026-09-13 23:04:49 -05:00
e693dfb868
android: your own Soulseek interests, and who the server says is like you
KeelrLeek2026-09-13 22:52:03 -05:00
7eae0ee945
android: a name of your own for anyone on the network
KeelrLeek2026-09-13 22:40:17 -05:00
f792d7955d
android: a peer in full — their card, their interests, and what they have that you don't
KeelrLeek2026-09-13 22:28:38 -05:00
694a29eb0d
android: downloads on Wi-Fi only
KeelrLeek2026-09-13 22:15:07 -05:00
3c8989dfa6
android: the hub's filters on the network results, pasted lyrics
KeelrLeek2026-09-13 22:03:57 -05:00
59be9f6c3e
android: the nav's badges — transfers in flight on You, unread chats on Community
KeelrLeek2026-09-13 21:52:53 -05:00
f8c3b90665
android: hours on the library's count line, By format, Jump back in on the empty search
KeelrLeek2026-09-13 21:31:16 -05:00
b50577fc81
android: a playlist's cover from a photo on the phone
KeelrLeek2026-09-13 21:20:11 -05:00
d95c3f48d1
android: the room list filtered by name, the rest on demand
KeelrLeek2026-09-13 21:07:11 -05:00
60303c8a95
android: reorder from the sheet — a playlist row up, down or to the top; a queue row up or down
KeelrLeek2026-09-13 20:55:50 -05:00
991d52d0cc
android: the library's file stats on the cards, the artist's own plays, the thumbnail prewarm
KeelrLeek2026-09-13 20:37:51 -05:00
26928b706d
android: the repair sheet, browse, every long-press sheet, You's last sections, the lyrics tools — and the walk's audio check made honest
KeelrLeek2026-09-13 19:56:20 -05:00
6e39dc43f3
android: playlists, the import doors, the share sheet, You → Sources — and three bugs the walks found
KeelrLeek2026-09-13 17:56:52 -05:00
bb828ff2dc
android: the phone, on the real core — the mockup shell, playback, the media card, the catalog, the resolver, Save, the dev flavour
KeelrLeek2026-09-13 09:29:47 -05:00
12fff9f6ad
setup, updater: the installer window was a dev build with nothing inside it, and latest never matched a prerelease
KeelrLeek2026-09-10 07:19:15 -05:00
f8508da081
setup: the installer is our own window — the alpha key is the gate, the release comes down with it and is verified before the silent install, and the in-app tour asks for the key too
KeelrLeek2026-09-09 18:00:02 -05:00
8093835482
release workflow: the version step is a block scalar, so its quotes reach bash whole
v1.8.0-alpha
KeelrLeek2026-09-09 16:20:13 -05:00
cd2391198e
first run, updates, installer: a setup tour stands in front of a fresh install, releases arrive through an in-app updater with stable and nightly channels behind a read-only token, and the branded installer builds again
KeelrLeek2026-09-09 16:16:19 -05:00
4ea1582afc
library: the toolbar is a solid card under dark glass, because a backdrop blur over the frost lets titles through
KeelrLeek2026-09-09 12:12:56 -05:00
aaacfc9ff5
holdings: a dash-led edition tail normalises like a bracketed one, so the catalogue's "Pinkerton - Deluxe Edition" finds the member who holds Pinkerton
KeelrLeek2026-09-09 12:12:55 -05:00
1c66602b89
who has: the sheet closes when the page scrolls under it, instead of floating beside a card that has moved
KeelrLeek2026-09-09 12:12:55 -05:00
67b7444f82
settings: each section heading carries the same icon as its index entry
KeelrLeek2026-09-08 16:28:18 -05:00
48ae01c753
settings: Appearance gets a real icon — "display" was a CSS property that had leaked into my list of icon names
KeelrLeek2026-09-08 16:16:40 -05:00
a0528c6d3f
settings: each index entry carries its section's icon, lit in the accent when it is the one on screen
KeelrLeek2026-09-08 15:45:42 -05:00
07ac3d3631
settings: the long lists use the app's own chooser — the sort menu's popover under a pill — instead of native selects the webview draws with the OS's text
KeelrLeek2026-09-08 15:43:13 -05:00
7e291cfccc
settings: one long page of section cards behind a sticky index, segments and switches for the choices, and the Networks card moved in from Community
KeelrLeek2026-09-08 15:39:19 -05:00
6c44f3e2ab
community: a chat thread stretches with the pane too — no inner width cap remains
KeelrLeek2026-09-08 14:53:05 -05:00
f006c1cd5c
community: the page fills the pane edge to edge instead of sitting in a centred 1520px column
KeelrLeek2026-09-08 12:55:10 -05:00
b8e6fb7396
who has this: a gap card says who holds it, the sheet and the open album name them, a Space grows a Holdings tab, and Get it is the hub's own grab or a wait for their presence
KeelrLeek2026-09-08 12:10:49 -05:00
a98c750908
holdings: a member of a Space publishes what they hold as room-salted album keys, sealed to the room, so "who has this" is answered while they are offline
KeelrLeek2026-09-08 12:10:49 -05:00
08ca09586a
community: Discover ranks the shelves it already has into one, and every card still says where it came from
KeelrLeek2026-09-08 09:48:07 -05:00
8285b97cbe
shared playlists: a follow with news says so through a toast, and a follower's rows keep the owner's catalog ids
KeelrLeek2026-09-08 09:48:06 -05:00
594a33a302
freenet node: the update exit is watched from a thread for as long as the check takes, not for two seconds inside the start call
KeelrLeek2026-09-06 08:17:55 -05:00
f67a0a30b4
shared playlists: importing a share follows it, so the owner's next revision reads as "2 new tracks since you imported"
KeelrLeek2026-09-06 08:16:45 -05:00
df06f849e0
spaces: a room carries what its members are playing, sealed in the window its chat already uses
KeelrLeek2026-09-04 12:20:27 -05:00
4ca9ab043b
shared playlists: a deleted playlist takes its share with it, so the next one does not go out wearing its name
KeelrLeek2026-09-04 11:06:34 -05:00
0ff65fd9b5
community: the board counts your pending proposals under the key you wear there
KeelrLeek2026-09-04 09:56:39 -05:00
06baa5a805
spaces: leaving a room says so, so an owner stops publishing a seat nobody sits in
KeelrLeek2026-09-04 09:56:39 -05:00
d6102101af
spaces: a rotated key goes to the person behind the room key, and the epoch it belongs to is found by number
KeelrLeek2026-09-03 16:01:40 -05:00
7b7f48ebc6
community: declare what you like on soulseek, so the similar-users shelf finally has something to rank on
KeelrLeek2026-09-03 15:05:23 -05:00
8093adc89e
a room-key proposal signs the hash the verifier checks, and the ping's pill shortens a raw id
KeelrLeek2026-09-03 13:52:04 -05:00
6f7452c803
a second instance on one machine: its own data, its own peer port, and a join that says itself again when it was never seated
KeelrLeek2026-09-03 13:39:06 -05:00
67e52697b2
spaces: a member wears a key minted for that room alone, so a roster stops naming personas
KeelrLeek2026-09-03 13:06:32 -05:00
b3c121fa94
community: the inbox check belongs to the app, not to the page that happened to be open
KeelrLeek2026-09-03 12:38:57 -05:00