silver-music-notifier 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -11
- package/dist/cli/index.js +613 -174
- package/dist/cli/index.js.map +1 -1
- package/dist/web/assets/index-MSzNdpYK.css +1 -0
- package/dist/web/assets/index-NqandB-X.js +11 -0
- package/dist/web/favicon.svg +1 -0
- package/dist/web/index.html +3 -2
- package/package.json +11 -8
- package/dist/web/assets/index-DPovoyOV.css +0 -1
- package/dist/web/assets/index-xYrc5ayg.js +0 -124
package/README.md
CHANGED
|
@@ -10,9 +10,25 @@ local web UI (built with [silver-ui](https://silver-ui.com)).
|
|
|
10
10
|
npm install -g silver-music-notifier
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
Requires Node.js 22.12.0 or newer.
|
|
14
|
+
|
|
13
15
|
This requires a working build toolchain for `better-sqlite3` (the native SQLite
|
|
14
16
|
driver), which is built automatically on install.
|
|
15
17
|
|
|
18
|
+
## MusicBrainz contact (required)
|
|
19
|
+
|
|
20
|
+
MusicBrainz requires every API client to identify a contact (an email or URL) in
|
|
21
|
+
its User-Agent, and throttles or blocks requests without one. The first time you
|
|
22
|
+
run a command that hits the API (`add` or `refresh`), the CLI **prompts you for a
|
|
23
|
+
contact** and saves it. You can also set it ahead of time:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
silver-music-notifier config set musicbrainz.contact you@example.com
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
or in the web UI's **Settings** view. In a non-interactive context (no TTY), the
|
|
30
|
+
command errors with this guidance instead of prompting.
|
|
31
|
+
|
|
16
32
|
## Usage
|
|
17
33
|
|
|
18
34
|
### Web UI
|
|
@@ -27,7 +43,8 @@ The UI has three views:
|
|
|
27
43
|
- **Releases** — a feed of every known release-group, newest first, with a
|
|
28
44
|
**Refresh** button and a "New" badge on releases discovered in the last refresh.
|
|
29
45
|
- **Artists** — search MusicBrainz and add/remove the artists you follow.
|
|
30
|
-
- **Settings** —
|
|
46
|
+
- **Settings** — set the MusicBrainz contact (required), choose notification
|
|
47
|
+
methods, and configure SMTP for email.
|
|
31
48
|
|
|
32
49
|
### CLI
|
|
33
50
|
|
|
@@ -40,15 +57,14 @@ silver-music-notifier remove "Radiohead" # stop tracking (by name or MBID)
|
|
|
40
57
|
silver-music-notifier refresh # fetch releases + notify on new ones
|
|
41
58
|
silver-music-notifier releases --new --limit 20
|
|
42
59
|
silver-music-notifier config get # show settings
|
|
43
|
-
silver-music-notifier config set notify.
|
|
60
|
+
silver-music-notifier config set notify.email true
|
|
44
61
|
```
|
|
45
62
|
|
|
46
63
|
## Notifications
|
|
47
64
|
|
|
48
|
-
When `refresh` finds releases it has never seen before, it can notify you
|
|
65
|
+
When `refresh` finds releases it has never seen before, it can notify you two ways:
|
|
49
66
|
|
|
50
67
|
- **In-page badges** — "New" badges in the web UI (always available).
|
|
51
|
-
- **Desktop** — a system notification (enabled by default).
|
|
52
68
|
- **Email** — an HTML summary, sent once SMTP is configured and the email toggle
|
|
53
69
|
is on. Configure it in the **Settings** view or via `config set smtp.*`.
|
|
54
70
|
|
|
@@ -57,19 +73,27 @@ When `refresh` finds releases it has never seen before, it can notify you three
|
|
|
57
73
|
|
|
58
74
|
## Data & configuration
|
|
59
75
|
|
|
60
|
-
State lives in a single SQLite file in your per-user data directory
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
State lives in a single SQLite file (`data.db`) in your per-user data directory:
|
|
77
|
+
|
|
78
|
+
- **Linux:** `$XDG_DATA_HOME/silver-music-notifier` (usually `~/.local/share/silver-music-notifier`)
|
|
79
|
+
- **macOS:** `~/Library/Application Support/silver-music-notifier`
|
|
80
|
+
- **Windows:** `%LOCALAPPDATA%\silver-music-notifier\Data`
|
|
81
|
+
|
|
82
|
+
Override the location with the `SILVER_MUSIC_NOTIFIER_DATA_DIR` environment
|
|
83
|
+
variable.
|
|
63
84
|
|
|
64
85
|
> **Note:** SMTP credentials (including the password) are stored in plaintext in
|
|
65
86
|
> that local SQLite file. This is a single-user local tool; treat the data
|
|
66
87
|
> directory accordingly.
|
|
67
88
|
|
|
68
|
-
|
|
89
|
+
Notification methods (in-page / email) and the MusicBrainz contact are
|
|
90
|
+
configured in the web UI's **Settings** view or via `silver-music-notifier
|
|
91
|
+
config set …` — not through environment variables.
|
|
92
|
+
|
|
93
|
+
The only environment variable is:
|
|
69
94
|
|
|
70
|
-
- `
|
|
71
|
-
|
|
72
|
-
- `SMN_MB_CONTACT` — fallback MusicBrainz contact for the API User-Agent.
|
|
95
|
+
- `SILVER_MUSIC_NOTIFIER_DATA_DIR` — override the data directory (must be an env
|
|
96
|
+
var, since all other settings are stored inside it).
|
|
73
97
|
|
|
74
98
|
## Development
|
|
75
99
|
|