Commit Graph

  • 759a7536b9 fix(history): an overlay opened while a back() is in flight waits to push its entry peter 2026-10-14 19:43:51 +02:00
  • b2d34e6e6c feat(files): API tokens — a machine reaches the library folder by folder peter 2026-10-14 18:40:23 +02:00
  • c335d54929 release: 0.106.0 (feature/e39-files) v0.106.0 peter 2026-10-13 03:34:56 +02:00
  • 7188ad7d71 chore(release): 0.106.0 — the Files library peter 2026-10-13 03:24:14 +02:00
  • ebbae6794c fix(files): review round 3, the page — a search waits for the server, the viewer keeps its file, a drop ends the drag peter 2026-10-13 03:15:59 +02:00
  • c9baf68b16 fix(files): review round 3, the server — a fetched locked re-read, a finish that follows its file, an eviction that counts again peter 2026-10-13 03:15:59 +02:00
  • 5bb101e493 fix(files): review round 2, the page — the viewer's Escape, the dialog's drop, the capped list's honesty peter 2026-10-13 02:32:50 +02:00
  • 54a6bbf07f fix(files): review round 2, the server — locks the GC and folders read under, the mount check, the old mount name peter 2026-10-13 02:32:49 +02:00
  • 8b2260c9a8 fix(files): review round 1, the page — honest states, the keyboard, the tray's words peter 2026-10-13 00:14:09 +02:00
  • 815083bcc4 fix(files): review round 1, the server — the tray's window, the GC's locks, a file's origin, the upgrade path peter 2026-10-13 00:14:09 +02:00
  • 96509fe356 fix(files): a file is added when it is done, not when it was asked for peter 2026-10-12 22:19:37 +02:00
  • 132fb56428 fix(downloads): a site the downloader no longer understands says so, and offers a retry peter 2026-10-12 20:54:47 +02:00
  • f6bce23a94 fix(files): the Storage tab drops its user picker — every user already has a row and a menu peter 2026-10-12 20:06:30 +02:00
  • fb8fb980e5 feat(files): a file that is not media opens in a viewer — an image, a PDF, text as text peter 2026-10-12 15:28:31 +02:00
  • 6707550513 fix(files): a steady list header, every user on the Storage tab, the name gets the row's room peter 2026-10-11 20:33:48 +02:00
  • 078194731b feat(files): the Downloads page goes — the tray, a Storage tab and a Downloads settings tab take its place peter 2026-10-11 19:37:13 +02:00
  • 1c4f0042d2 feat(files): download from anywhere — a link box, a pasted link, the palette; the running downloads in a tray peter 2026-10-11 16:56:13 +02:00
  • d22c64f4dd feat(files): folders managed in place, a grid per folder, drop to upload, open on one file peter 2026-10-11 15:59:12 +02:00
  • 85aa917b38 feat(files): the Files page — the library in one aligned list, its folders in a rail peter 2026-10-11 05:34:25 +02:00
  • 1a1665b8ec feat(files): the Files library API — folders, moving and keeping files, upload into a folder, the file's hash peter 2026-10-11 04:42:55 +02:00
  • bf99444ded feat(files): every file sits in a library folder, and keeps its own expiry peter 2026-10-11 03:30:34 +02:00
  • 07e0990ecf design(files): the one-library round in the lab — aligned list columns, the tray, the done notice peter 2026-10-11 02:59:51 +02:00
  • e2ed2bf874 merge: chore/e2e-retry-connect into E39 (rides the next release) peter 2026-10-11 02:30:16 +02:00
  • b9eb8458b3 test(e2e): a localhost connect the machine dropped is tried again on the test side peter 2026-10-11 00:45:13 +02:00
  • 891507dc75 release: 0.105.0 (feature/e38-ad-hoc-clips) v0.105.0 peter 2026-10-10 23:38:13 +02:00
  • e6894ac0fc release: 0.105.0 — ad-hoc clips peter 2026-10-10 23:13:22 +02:00
  • 663a7e8012 fix(player): the Plex player's fills hold on its chrome: an amber head on a white played part peter 2026-10-10 22:56:09 +02:00
  • 93192dadd8 fix(player): a chosen tab's underline and an open or pressed icon read the scope's chosen colour peter 2026-10-10 22:26:22 +02:00
  • 5b48018e92 fix(downloads): a produced file is held to the space left by its real size peter 2026-10-10 22:10:56 +02:00
  • 8312c6d592 fix(player): what is chosen on the player chrome is marked amber, not written in the accent peter 2026-10-10 21:56:47 +02:00
  • e1d325b942 fix(downloads): a download larger than the space left says so, not "processing failed" peter 2026-10-10 21:56:47 +02:00
  • 977ba244fa fix(clip): a time's error line sits in the flow, the remove button off the cut, and every player surface rings amber peter 2026-10-10 21:29:55 +02:00
  • 89d18b46a6 fix(downloads): a converted upload too big says so, and a suspended owner's waiting rebuild is not "preparing" peter 2026-10-10 21:29:55 +02:00
  • c27cfdcb9c fix(clip): typed times belong to their value, and every mark on the player chrome can be seen peter 2026-10-10 20:28:52 +02:00
  • a867145bcb fix(downloads): a suspended user's queued jobs wait, and a clip too big for the space left says so peter 2026-10-10 20:28:52 +02:00
  • 4d4eea2c54 fix(clip): marks on the player chrome keep their amber in a light theme, and a removed cut hands the focus on peter 2026-10-10 15:57:02 +02:00
  • c489b60c8b fix(clip): clip mode keeps its range, its focus and its keys through the player's own moves peter 2026-10-10 15:35:21 +02:00
  • b4bf71ea64 fix(clip): a clip is held to its owner's storage cap, and its limits and failures say the server's truth peter 2026-10-10 15:35:12 +02:00
  • 72df11f2c0 fix(ui): a small crop frame takes smaller handles, so it can still be grabbed to move peter 2026-10-10 13:54:04 +02:00
  • 0a16bc40ae fix(ui): a crop frame grabbed with the pointer takes the focus, so the arrows go on from there peter 2026-10-10 13:38:49 +02:00
  • 520b0afb90 feat(clip): crop a clip to a frame drawn on the picture, and give the clip panel the room it needs peter 2026-10-10 12:52:59 +02:00
  • e301632765 fix(clip): a clip refusal speaks the user's language, and a choice in the clip form no longer sends it peter 2026-10-10 12:52:12 +02:00
  • 50157cc2fd feat(player): clip mode - mark a range of what is playing and cut it into a download peter 2026-10-10 03:58:27 +02:00
  • f221c1962a fix(downloads): a YouTube clip goes with the user's own cookie and is diagnosed like a download peter 2026-10-10 03:58:27 +02:00
  • d466ae915b fix(downloads): a YouTube clip outside the catalog takes its title from the fetch peter 2026-10-10 02:43:13 +02:00
  • 14598ec320 feat(downloads): ad-hoc clips cut straight from a YouTube video or a Plex item peter 2026-10-10 02:31:38 +02:00
  • b16cf7668c fix(downloads): YouTube downloads reach their profile's height again peter 2026-10-10 02:08:43 +02:00
  • 3438aeb695 fix(player): the player's own focus grabs leave a tabbed-to control alone peter 2026-10-10 01:14:31 +02:00
  • c003a48244 release: 0.104.0 (improvement/adhoc-batch-oct) v0.104.0 peter 2026-10-10 00:24:27 +02:00
  • 8a2334e198 release: 0.104.0 notes and version peter 2026-10-10 00:15:23 +02:00
  • 1f010328df fix(plex): plain text survives a decimal reference too long to parse peter 2026-10-10 00:03:08 +02:00
  • 77638f7a0b fix(player): a link that opens the cut text is scrolled back into view peter 2026-10-09 23:46:40 +02:00
  • 2cff4ad954 fix(feed): an override yields only to a refetch that set out after its write was answered peter 2026-10-09 23:46:39 +02:00
  • 8776586ca3 fix(plex): a matched episode and a collection member offer Details in their menu peter 2026-10-09 23:46:39 +02:00
  • 92a17aba83 fix(plex): a reshuffle survives a refresh landing mid-deal; the ↻ spins for a deal only peter 2026-10-09 23:46:39 +02:00
  • fc53bc03bc fix(plex): the rails' Restart comes from the one rollup; plain text decodes whole entity names only peter 2026-10-09 23:46:39 +02:00
  • 6df257d7df fix(plex): Restart only where an episode has a resume point; the Surprise draw is re-read, not redrawn peter 2026-10-09 22:01:28 +02:00
  • 5572499b56 fix(player): the shut panel keeps the dialog's name; Tab onto a cut link opens the text peter 2026-10-09 22:01:27 +02:00
  • 76738f8ea9 fix(plex): plain text decodes only well-formed character references peter 2026-10-09 22:01:27 +02:00
  • 568bf93510 fix(feed): an optimistic write outlives only the server answers older than it peter 2026-10-09 22:01:27 +02:00
  • 942154cf49 fix(plex): a Surprise draw stays put until its reshuffle peter 2026-10-09 01:29:12 +02:00
  • 3eb87e7108 feat(plex): every show card plays the episode it would put on peter 2026-10-09 01:22:00 +02:00
  • 851b97b09d fix(ui): a card's hover chrome answers keyboard focus, not any focus peter 2026-10-09 00:44:46 +02:00
  • ee94d1949a fix(feed): a video marked watched in the player stays out of an Unwatched view peter 2026-10-09 00:44:46 +02:00
  • 4f076b5d45 feat(feed): a card's menu filters the feed by its channel, and back peter 2026-10-09 00:44:46 +02:00
  • ece74a42ab feat(player): a roomier YouTube player, its panel shut on demand peter 2026-10-09 00:27:29 +02:00
  • 600d5c39da feat(ui): a button over a picture answers the pointer with an accent ring peter 2026-10-09 00:27:28 +02:00
  • 4c7f73af9d feat(plex): a title opens its page, the picture plays; an episode links up peter 2026-10-09 00:06:18 +02:00
  • 5f42ff61c8 feat(plex): a Surprise reshuffle deals the previous draw last peter 2026-10-09 00:06:11 +02:00
  • 6dd82ef5e2 fix(plex): summaries and taglines are stored as plain text peter 2026-10-09 00:06:02 +02:00
  • 75f4efde98 release: 0.103.0 (bug/yt-fullscreen-button) v0.103.0 peter 2026-10-08 22:50:52 +02:00
  • c0059a0c4b release: 0.103.0 notes within the item length cap peter 2026-10-08 22:36:15 +02:00
  • a29cadf03e release: 0.103.0 notes and version peter 2026-10-08 22:30:56 +02:00
  • 83886494ce fix(ui): a membership menu re-homes focus a frame later, once its new rows are on the list peter 2026-10-08 22:16:47 +02:00
  • 4eaa55385f fix(plex): a collection kept after a failed refresh holds its seed title peter 2026-10-08 22:12:43 +02:00
  • 7541b1b016 fix(ui): membership menus keep their lines beside the list and focus in the panel peter 2026-10-08 22:12:43 +02:00
  • 24ad17fc7d test: hold the show collection's type, an unknown title's 404 and Brave's fullscreen stand-in peter 2026-10-08 21:18:48 +02:00
  • 48bd038c5f fix(plex): a collection created on Plex keeps its editable row when the refresh read fails peter 2026-10-08 21:18:48 +02:00
  • 0fce732497 fix(plex): a playlist row's menu adds its title to a collection too peter 2026-10-08 21:18:48 +02:00
  • 7e94da72b9 fix(ui): one membership menu for playlists, collections and tags peter 2026-10-08 21:18:48 +02:00
  • fadb4f17a9 fix(plex): subtitles draw only the player's own track, lifted in the player's own pixels peter 2026-10-08 21:18:48 +02:00
  • 57a81c5643 fix(plex): subtitles survive hls.js and a remounted track peter 2026-10-08 19:35:47 +02:00
  • dae0b80f6a feat(plex): add a movie or show to a collection from its card menu peter 2026-10-08 03:09:55 +02:00
  • 75093458c9 feat(plex): subtitles rise above the control bar while it shows peter 2026-10-08 02:59:13 +02:00
  • 5db6dc8ee6 docs(design): log the touch header search peter 2026-10-08 02:52:39 +02:00
  • 45a9ceae25 fix(ui): the header search has room on a tablet peter 2026-10-08 02:52:32 +02:00
  • 5249c41edc fix(player): a fullscreen button the browser cannot honour is not shown peter 2026-10-08 02:50:51 +02:00
  • c3664826fe fix(ui): a caption never opens under a finger peter 2026-10-08 02:45:48 +02:00
  • c9b8fe15a3 fix(ui): a scroller with no edge to fade carries no mask peter 2026-10-08 02:43:58 +02:00
  • 1044eaf8a9 fix(plex): the player holds the page still and covers it whole; the row drops the countdown peter 2026-10-08 02:42:31 +02:00
  • ca949d22de fix(player): the channel line wraps instead of squeezing the meta into a column peter 2026-10-08 02:25:58 +02:00
  • 20178f0ec4 release: 0.102.0 (improvement/e37-player) v0.102.0 peter 2026-10-08 01:58:01 +02:00
  • 49a9319f84 fix(player): the click layer clears only the fullscreen button's column, not a full-width band peter 2026-10-08 01:42:39 +02:00
  • 70d56ab939 fix(player): YouTube's fullscreen button stays clickable on a short player peter 2026-10-08 01:36:36 +02:00
  • 3865689c26 chore(release): 0.102.0 peter 2026-10-08 01:33:39 +02:00
  • c32429ba69 fix(plex): an episode with no number is named by its title on every card peter 2026-10-08 01:16:30 +02:00
  • a504550196 docs: the superseded fallback answers its own session; who uses beacon() peter 2026-10-08 01:16:30 +02:00
  • 5095047c81 test(player): pin the stop URL's ids, the beacon's settle, the kept point's edges peter 2026-10-08 01:16:30 +02:00
  • 4e70f168b1 fix(player): a layer that opens by itself takes no history entry peter 2026-10-08 01:16:30 +02:00
  • 7f17f488ab fix(nav): a sub-view step closes the overlays standing over it first peter 2026-10-08 01:16:30 +02:00