github jordibrouwer/nextdash v1.19.8

5 hours ago

Dashboard

  • new — the page filter stays at the top on a phone. Shift+F narrows the page you are on, and a phone has no Shift+F, so the phone layout keeps the filter bar above the bookmarks from the first paint. It does not take focus, so the keyboard stays down until you tap it; the × and Escape empty it rather than close it, and the × only shows while there is something to clear. Full width, 44px tall and 16px text, so iOS does not zoom in on focus. Leaving the phone layout drops an empty bar and keeps one that is still filtering (DashboardGridFilter.syncPinned, grid-filter-bar--pinned, dashboard-grid-filter-mobile.spec.js).

Widgets

  • new — Jellyfin: now playing. A second Jellyfin tile shows who is watching what right now and how far along they are; it refreshes every 10 seconds by default.
  • new — Emby widgets. Emby (what was added lately, with the real posters) and Emby — now playing, read through the same client as Jellyfin: Emby is where Jellyfin came from, so only its paths differ.
  • new — Plex widgets. Plex (what was added lately) and Plex — now playing, read through Tautulli: its API key only reads, where Plex's own token opens the whole account. Pictures come through the server, so the key never sits in a page.
  • fix — media tiles refresh on every beat, without the loading line. A media tile showed Loading… between readings and, kept a TTL from its answer, refreshed only every other beat; it now redraws in place each time.

Tags

  • new — self-hosted apps are recognised by name. A Sonarr at 192.168.1.20:8989 or sonarr.home.lan sits at an address no catalogue can list, so 217 self-hosted and local apps are now known by what they are called: the host's first label, a whole word in the bookmark's name or the page title, and on a private address the app's default port. Each gets #self-hosted and one tag for what it does (#media-server, #usenet, #smart-home, #networking, #monitoring, #nas and so on). An everyday word (Flood, Element) or a generic label (cloud, chat) only counts on the home network, and a port two apps share with different tags counts for nothing. One row and one refusal per app; the chip says Recognised as Sonarr. The list is internal/app/tag_apps.json, served with the catalogue (tag-suggestions.js, tag_catalogue.go, tag-apps.spec.js).
  • new — seven subjects: ai, nas, files, downloads, productivity, reading and 3d-printing, with 98 sites between them. torrent and usenet now sit under downloads, rss and read-later under reading, the notes and task subjects under productivity. They live in scripts/tag-catalogue/subjects.json, written in by apply.cjs.
  • new — 40 more sites for subjects that missed them: the cloud consoles and app platforms under cloud, the language registries and container registries under package-manager, and the guides and lists self-hosters read under self-hosted.
  • new — the broad subjects split into finer ones. The nineteen biggest subjects held most of the catalogue's 56,000 sites, so a tag said little. Their sites now move, by what Wikidata says each one is, to 58 finer subjects under them: airports and airlines under flights, newspaper, online-news and news-agency under news, municipality and police under government, game-studios and video-games under games, car-brands, tv-series, college, medical-school, the big football leagues and many more. 16,288 sites moved; schools, museums, casinos and restaurants that sat under charities or hotels went where they belong. Whoever already tags the broad subject keeps being offered it. split-facts.cjs shows what a subject is made of, split.cjs asks Wikidata per class and writes manual/splits.json, and splits.json says which class goes where.
  • new — tech, internet, science and social. New subjects tech, tech-news, hardware, smartphones, internet, infosec-news and science-news, with some 140 sites. The well-known tech sites had been filed under online news, magazines or, in one case, fan fiction. The big social networks are under social. android, ios, macos, linux, windows and electronics now sit under tech.
  • new — a section of a site can have its own subject. The catalogue can name a host plus its first path segment, so youtube.com/@veritasium is science while YouTube itself is video. 65 tech, homelab and science channels are in, each checked to exist; a bookmark on a channel is not also offered the site's subject (tag-suggestions.js, tag_catalogue.go).
  • new — dev and tech in depth. 65 developer subjects with their official sites: languages (typescript, kotlin, elixir, zig …), frameworks (react, vue, svelte, django, rails, laravel …), databases (postgres, mysql, sqlite, redis …), clouds and ops tools (aws, azure, gcp, cloudflare, terraform, ansible, nix), editors (vim, vscode, jetbrains), game engines (unity, godot, unreal), and cybersecurity with ctf and osint. 16 tech subjects, among them electronics-diy, arduino, esp32, mechanical-keyboards, audio-gear, semiconductors, apple, google, linux-distros, open-source, homelab and mobile-apps. 85 GitHub organisations as sections (github.com/rust-lang is rust, github.com/home-assistant smart-home).
  • new — 4,200 well-known tech sites from Wikidata. import-classes.cjs takes every item of 86 classes — software and technology companies, open-source and free software, programming languages, libraries and frameworks, Linux distributions, browsers, editors and IDEs, database systems, mobile apps, game studios, messengers, chip makers, telecom operators and more (classes.json) — that has an official website and enough Wikipedia articles to be well known, and files it under its subject. It leaves alone what the handwork decides (and the subdomains under it), sites already under two subjects, and domains many different products share. It writes manual/classes.json.
  • new — tech companies by industry, and more tech news. Most big tech companies are on Wikidata only as a company with an industry, so the import also takes items by industry (P452): software, IT, internet, computer hardware, electronics, semiconductors, telecom, video games, computer security and AI. 1,350 more sites, bringing the import to 5,560. By hand: some 75 of the best-known tech companies, phone makers and network brands under tech, and 45 more tech news sites in English, Dutch, German, French and Spanish under tech-news, sections such as nu.nl/tech and reuters.com/technology among them.
  • new — sites from curated lists and self-hosted directories. harvest-awesome.cjs reads awesome-sysadmin, awesome-devops, awesome-privacy, awesome-docker, Awesome-Linux-Software, awesome-mac and the engineering-blogs feed list (awesome.json maps each section heading to a subject), plus awesome-selfhosted-data, whose projects with 100 stars or more get self-hosted. Self-hosted apps listed by selfh.st, selfhostedworld.com, selfhostlist.org and learnwithhasan.com (50 stars or more) went in the same way. Only a link's host is used. A list's broad default is dropped where it was too mixed: the Linux and Mac lists name Linux and Mac only for window managers, desktop environments, menu-bar tools and the like, not for cross-platform apps; a company engineering blog is filed as its /blog section, not as the company. About 2,900 sites; samples judged after each pass, the last at 92% right of the sites that could be judged.
  • new — 15 subjects: dev-blogs, fediverse, no-code, erp, mcp, pastebin, url-shortener, iptv, inventory, server-management, forms, ebooks-server, distributed-systems, formal-methods and osdev, with their best-known sites. Apps that had a vague second tag get the specific one: NocoDB is no-code, not database; Shlink url-shortener, not internet.
  • new — sites from GitHub topics, app stores, DEV.to and Lobsters. harvest-github-topics.cjs reads the homepages of popular repos under 162 topics; a topic counts only for what a project is (monitoring, self-hosted, ai), not what it is built with (vue, mysql, aws), and a host whose repos spread over many topics gets none. harvest-app-indexes.cjs reads F-Droid, Flathub and Homebrew: android and desktop-apps with the store's category, never macos, since most casks are cross-platform. harvest-devto.cjs files developer blogs that cross-post to DEV.to as dev-blogs plus their main topic, and harvest-lobsters.cjs files sites by the tags of the Lobsters stories that link them, with Hacker News popularity (harvest-hn.cjs) lowering the bar from three stories to two. Some 11,000 sites, the catalogue now near 79,000; samples judged per source at 85–95% right. Placeholder domains such as example.com are never filed.
  • new — 425 more self-hosted apps. Some 1,500 apps in the selfhostedworld.com directory list no homepage; their detail pages do, so those are read too. Each is filed as self-hosted plus the subject of its first category only, since the later ones are loose (an IRC client also lists video calls).
  • new — sports by sport, kept short: ice-hockey, rugby, cricket, motorsport, martial-arts and athletics; federations and leagues of the sports the catalogue knew go to those.
  • fix — 15 more misfiled sites, among them the best-known assistant sites filed under geopolitics, language and parenting; they now sit under ai alone.
  • fix — Find tags offers what it finds, and shows which bookmarks it means. A round put its tags on straight away and said only "N bookmarks got a tag"; which ones was nowhere to be seen. It now leaves an offer on each row — the dashed chip, click to add, × to turn down — and the list it ran from keeps to the rows with one: With a tag suggestion in the Bookmarks view's views and the tag view's rail, removable like any filter. Add what it finds straight away still does the old thing, now off unless switched on; the choice is one per browser for every view (TagSuggestLive.applyNow, cleanup filter offered).
  • new — Find tags in the inbox. The inbox's ⋯ menu runs the round for its links, and a With a tag suggestion filter keeps the list to the ones it found a tag for; run from the Tag suggestions tab, the toast's Show opens it there (showSuggested, filter suggested).
  • new — what you turned down, from where you turned it down. The refusals were only at the foot of Config → Bookmarks → Tag suggestions, folded shut. The Bookmarks view, the tag view and the inbox now say N turned down beside their offers, and it opens that list with Turned down open, each refusal with Offer again; in the tab itself, the line N turned down, never offered again at the top now takes you down to it. Past ten refusals the list has a field to find one by site or tag, which holds through the redraw after each one (TagSuggestLive.openRefused, TagOfferRow.refusedLink).
  • fix — the arrows walk the tag cloud in reading order. They jumped to whichever tag sat nearest in the arrow's direction, so where you landed depended on how the word sizes broke the rows. Now every arrow steps through the cloud like a list on the dashboard: Down and Right to the next tag, Up and Left to the one before, wrapping at either end.
  • fix — the best-known sites checked one by one. The 8,000 best-known sites the catalogue had filed itself (by the Tranco ranking) were each checked against their subjects, and 1,743 were wrong: Google Forms under video games, NIST under radio, Hyatt under gambling. They now carry the right subject, or none when the catalogue has no fitting one.
  • fix — three rules that filed whole groups wrongly. A TV channel's site is no longer a tv-series because its shows link to it (350 sites), and a university's site no longer a business school, medical school or research institute because its faculties share it (331 sites). A software company's site is no longer desktop-apps (293 sites), and Wikidata's mobile app class is no longer used, since nearly every service has an app (152 sites).
  • fix — Add what it finds straight away is a setting. Find tags kept the answer in the browser, so another browser or device answered it again. It is now kept with the other settings on the server, or in the browser for whoever keeps settings per device, and stays off unless switched on; an answer of on given before carries over (tagSearchApplyNow).
  • new — the tag view of every bookmark (#tags). Shift+T with no row in hand opens the tag view with no tag picked: every bookmark from every page, N without tags in the header, a Without tags filter at the top of the rail and the tags in use under it, one click from their own view (Back returns here). With a row in hand Shift+T still opens its Tags popover.
  • fix — every tag suggestion in a row can be seen. The line over the list counted 23 suggestions while a narrow Tags column hid most of their chips. The suggestion now comes first and the row's own tags fold into +n around it. A row with more than one suggestion shows +N beside its chip, which opens all of them, each to add or turn down; +n for the row's own tags opens the list of them. The same in the Bookmarks view, the inbox and the tag view (TagOfferRow), where the tag view's rows used to show up to three chips without fitting them.
  • fix — Find tags in the tag view offers the same choices as in the Bookmarks view: Bookmarks without tags (N) of the rows shown, the rows shown, and reading their pages, with Add what it finds straight away in the same words.
  • new — the cheat sheet lists Shift+T. The keyboard cheat sheet, the printed sheet (nextDash-cheatsheet.pdf) and its generator now name Shift+T with no bookmark focused (tag view of every bookmark), alongside Shift+K for the dashboard tour and a for the suggested tags in the tag view.
  • new — 1,688 more self-hosted apps known by name, and a home address is #self-hosted. On a bookmark at home (a private IP, .lan, a Tailscale name) the app list now also knows the long tail: every project in awesome-selfhosted and every self-hosted site the catalogue holds (phpMyAdmin, Tracearr, LazyLibrarian, Houndarr), by host label or by a word in the bookmark's name, so adguard-1 on an IP is AdGuard Home. A public domain where two or more of your apps live (jellyfin.example.cc, radarr.example.cc) counts as home too. Whatever else sits at a home address gets one row offering #self-hosted (on your home network). On the public web none of these new names count.
  • new — 2,298 well-known sites the catalogue lacked. Of the 10,000 best-known sites (by the Tranco ranking), some 5,700 were in no subject, among them mail.ru, qq.com, sharepoint.com and azure.com. Each was filed under one or two subjects, or left out when it is not a site anyone bookmarks: CDNs, trackers, DNS and API hosts, link shorteners.
  • new — an adult subject, with 8,915 sites. 396 adult sites from the 10,000 best-known (video and cam sites, creator platforms, adult comics, escort listings) were checked one by one; the rest of the Tranco top million is filed by name alone (porn, xxx, hentai, a cam brand), with the few ordinary words those hide in fenced off. Aliases nsfw, porn, xxx. They were left out or offered as anime, manga or streaming before.

Settings

  • fix — "Keep settings on this device only" keeps them on this device. Every save still sent the whole copy to the server, so a theme or toggle set on the phone turned up in every other browser. In that mode only the settings that stay server-wide (alerts, backups, containers, saved searches and the like) go to the server now; the rest stays in this browser (saveSettings sends GLOBAL_SERVER_SETTING_KEYS only).

Docs

  • docs — Help, tips and the manual follow the tag work, in six languages: Help → Tags explains where suggestions come from and the +n/+N lists, Help → Keyboard and the tag view tip name Shift + T with nothing selected, Help → Widget kinds counts forty-two kinds with Emby, Plex and the now-playing tiles, and MANUAL §10.4 describes how tag suggestions work. The tag view of every bookmark, the row popovers and On your home network get their own strings in every language.
  • docs — translations of the tag suggestion strings, which still showed their English text in nl, de, fr, zh and es: the With a tag suggestion filters, the Tag suggestions group, the inbox note and Find tags hint, the 1 bookmark has a tag suggestion lines, Show, N turned down with its hint, and the search field for what you turned down — 13 keys.
  • docs — the manual and the README follow the release: Shift + T and the tag view of every bookmark in §7.1 and §10.2, Emby, Plex and the now playing tiles in §15 and the README (forty-two kinds), and the page filter on a phone in §22.
  • docs — Config → Overview gains six items for v1.19.5 to v1.19.8 (the media widgets, the tag view and the tag view of every bookmark, Home Assistant, Appearance in three groups, and now playing for Jellyfin, Emby and Plex), in all six languages.
  • docs — static/data/whats-new/v1.19.8.json and its index entry, with four highlights and their pictures under static/data/whats-new/media/ (tests/fixtures/whats-new-media/v1.19.8.js); whats-new-stub.js moves DASHBOARD_RELEASE to v1.19.8 and NEXTDASH_WHATS_NEW_DATA_VERSION to whats-new-v338, and tests/whats-new-hidden-release.spec.js names v1.19.8 as the release that leads.
  • docs — the Unraid template (templates/nextdash.xml) lists the v1.19.6 and v1.19.7 changes, the same as the copy Community Applications reads.

Don't miss a new nextdash release

NewReleases is sending notifications on new releases.