discovery-media-player 0.1.134 → 0.1.136

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 CHANGED
@@ -127,8 +127,8 @@ forking it. A fix lands once and reaches every instance on its next deploy.
127
127
  It reads `req.query` when the platform provides it (serverless, Express) and falls back to parsing
128
128
  `req.url` when it does not — so a bare `http.createServer` works too, without a shim.
129
129
 
130
- See [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for the boundary, and
131
- [`docs/API.md`](docs/API.md) for the surface an integrator implements.
130
+ See [`docs/ARCHITECTURE.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/ARCHITECTURE.md) for the boundary, and
131
+ [`docs/API.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/API.md) for the surface an integrator implements.
132
132
 
133
133
  ---
134
134
 
@@ -152,8 +152,8 @@ Minimum configuration:
152
152
  | `PLAYER_BRAND_NAME`, `PLAYER_LOADER_NAME` | your name in the tab title and the loader |
153
153
  | `PLAYER_SOURCE_URL` | where readers can obtain the source (AGPL, see below) |
154
154
 
155
- Full list: [`docs/CONFIGURATION.md`](docs/CONFIGURATION.md).
156
- Examples you can copy: [`examples/`](examples/).
155
+ Full list: [`docs/CONFIGURATION.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/CONFIGURATION.md).
156
+ Examples you can copy: [`examples/`](https://github.com/Juli1artha/discovery-media-player/tree/main/examples).
157
157
 
158
158
  ---
159
159
 
@@ -166,10 +166,10 @@ your private network.
166
166
 
167
167
  The project has been through repeated external audits. The reports are published in the
168
168
  repository, unedited, with their follow-up ledgers — findings, fixes, and what was rejected
169
- with its reason: see [`docs/`](docs/README.md). Fixes are traced version by version in the
170
- [CHANGELOG](CHANGELOG.md).
169
+ with its reason: see [`docs/`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/README.md). Fixes are traced version by version in the
170
+ [CHANGELOG](https://github.com/Juli1artha/discovery-media-player/blob/main/CHANGELOG.md).
171
171
 
172
- Found a hole? [`SECURITY.md`](SECURITY.md) — please do not open a public issue.
172
+ Found a hole? [`SECURITY.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/SECURITY.md) — please do not open a public issue.
173
173
 
174
174
  ---
175
175
 
@@ -185,7 +185,7 @@ Player* are trademarks of 3D Discovery: fork the code freely, but call your fork
185
185
  This is the usual arrangement in open source, and it protects you as much as us — nobody should
186
186
  be able to publish something under this name that we did not write.
187
187
 
188
- One exception, on purpose: **[`src/bridge.ts`](src/bridge.ts) is MIT**
188
+ One exception, on purpose: **[`src/bridge.ts`](https://github.com/Juli1artha/discovery-media-player/blob/main/src/bridge.ts) is MIT**
189
189
  ([`LICENSE-MIT`](LICENSE-MIT)). It is the message contract a host application imports to talk to
190
190
  the player. Putting it under the core licence would make integration itself a toll. We protect
191
191
  the player, not the people plugging into it.
@@ -194,10 +194,10 @@ the player, not the people plugging into it.
194
194
 
195
195
  ## Contributing
196
196
 
197
- [`CONTRIBUTING.md`](CONTRIBUTING.md) — how to run the tests, what the review looks for, and the
197
+ [`CONTRIBUTING.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/CONTRIBUTING.md) — how to run the tests, what the review looks for, and the
198
198
  one rule that matters: a behaviour worth keeping is worth a test that fails without it.
199
199
 
200
- Your first pull request asks you to sign the [CLA](CLA.md) — one reply, once, for good. You keep
200
+ Your first pull request asks you to sign the [CLA](https://github.com/Juli1artha/discovery-media-player/blob/main/CLA.md) — one reply, once, for good. You keep
201
201
  the copyright in your work; you grant a licence that may be sublicensed, so that the core can stay
202
202
  AGPL while a commercial licence remains possible for organisations that cannot live with the
203
203
  network clause. Better said before you write the patch than after.
@@ -6,7 +6,7 @@
6
6
  > `node_modules` paths by hand is a guess about our tree, and it broke twice in one day.
7
7
 
8
8
  What a host application may call, what it must implement, and what will not change without a
9
- version bump. If you are integrating the player, this page and [`API.md`](API.md) are the two you
9
+ version bump. If you are integrating the player, this page and [`API.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/API.md) are the two you
10
10
  need.
11
11
 
12
12
  ## Five rules
@@ -362,7 +362,7 @@ Four requirements, in order of what they cost when missed:
362
362
 
363
363
  ## The postMessage bridge
364
364
 
365
- Described once in [`src/bridge.ts`](../src/bridge.ts) and published as `discovery-media-player/bridge`
365
+ Described once in [`src/bridge.ts`](https://github.com/Juli1artha/discovery-media-player/blob/main/src/bridge.ts) and published as `discovery-media-player/bridge`
366
366
  — **compiled JavaScript with type declarations, under MIT** rather than the core's AGPL, so that
367
367
  importing it is not a toll. Import it rather than copying constants: a message name retyped by hand
368
368
  is a contract in two copies, and the day it changes only one of them knows.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discovery-media-player",
3
- "version": "0.1.134",
3
+ "version": "0.1.136",
4
4
  "description": "Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.",
5
5
  "keywords": [
6
6
  "pdf-viewer",
@@ -33,7 +33,6 @@
33
33
  "server",
34
34
  "supabase",
35
35
  "types",
36
- "README.md",
37
36
  "LICENSE",
38
37
  "LICENSE-MIT",
39
38
  "docs/HOST-CONTRACT.md",
@@ -82,6 +81,7 @@
82
81
  },
83
82
  "devDependencies": {
84
83
  "@eslint/js": "^10.0.1",
84
+ "@vitest/coverage-v8": "^4.1.11",
85
85
  "axe-core": "^4.13.0",
86
86
  "dockerfile-ast": "0.7.1",
87
87
  "esbuild": "^0.28.2",
package/docs/README.md DELETED
@@ -1,56 +0,0 @@
1
- # Documentation
2
-
3
- Three readers, one section each. Start with the one that matches what you are trying to do —
4
- no document assumes you have read the others.
5
-
6
- ## You are integrating the player into an application
7
-
8
- | Document | What it gives you |
9
- |---|---|
10
- | [`ARCHITECTURE.md`](ARCHITECTURE.md) | The one idea that holds the design: the core knows nothing about its host. Read this first. |
11
- | [`API.md`](API.md) | What a host can call, and what it must implement. |
12
- | [`HOST-CONTRACT.md`](HOST-CONTRACT.md) | The binding contract, with the dated journal of every boundary change. It ships **inside the package**: `require.resolve("discovery-media-player/contrat")`. |
13
-
14
- ## You are running an instance
15
-
16
- | Document | What it gives you |
17
- |---|---|
18
- | [`CONFIGURATION.md`](CONFIGURATION.md) | Every environment variable. An instance is described entirely by its environment — there is no configuration file, on purpose. |
19
- | [`MIGRATIONS.md`](MIGRATIONS.md) | What happens to a database **already in service** when the player expects a newer schema. (French.) |
20
- | [`VERIFYING-RELEASES.md`](VERIFYING-RELEASES.md) | how to check, yourself, that the package or image you pulled is the one this repository built — the commands, the expected output, and which signing identity to expect. |
21
- | [`RETENTION.md`](RETENTION.md) | The declared perimeter of data retention: every personal-data column has a written policy, and CI enforces that the list is complete. Also an export of the package: `require.resolve("discovery-media-player/retention")`. |
22
-
23
- ## You are contributing, or publishing a version
24
-
25
- | Document | What it gives you |
26
- |---|---|
27
- | [`../CONTRIBUTING.md`](../CONTRIBUTING.md) | how to run the benches, what review looks for, and the one rule: a behaviour worth keeping is worth a test that fails without it. |
28
- | [`../AGENTS.md`](../AGENTS.md) | the conventions that are not obvious from the file tree — which ones a guard enforces, and which ones only review does. |
29
- | [`RELEASING.md`](RELEASING.md) | the release train, freezing the candidate SHA, the read-only preflight to run **before** the tag, and what to do when a tag lands on the wrong commit. |
30
- | [`DEPENDENCIES.md`](DEPENDENCIES.md) | what the project depends on and why so little of it: the bar a new dependency has to clear, how updates arrive, the two upgrades deliberately held back, and the vulnerability thresholds a change has to clear to merge. |
31
- | [`SECURITY-PRACTICES.md`](SECURITY-PRACTICES.md) | the two standing policies: how secrets are handled (there are no long-lived ones, on purpose) and what happens when a security tool reports something. |
32
- | [`../MAINTAINERS.md`](../MAINTAINERS.md) | who can merge, who can publish, who reads a vulnerability report — and what one maintainer means for the answer. |
33
-
34
- ## You are evaluating the project
35
-
36
- The external audit trail is public, unedited, and kept in the state it was received —
37
- an audit rewritten after the fact is no longer a trace. Findings and their fixes are
38
- tracked version by version in the [CHANGELOG](../CHANGELOG.md).
39
-
40
- | Document | What it is |
41
- |---|---|
42
- | [`THREAT-MODEL.md`](THREAT-MODEL.md) | what an attacker would go after, what stands in the way, and — the part most threat models omit — what is deliberately left standing. |
43
- | [`AUDIT-2026-08-14-RAPPORT.md`](AUDIT-2026-08-14-RAPPORT.md) | First external audit, on `0.1.17`. Historical. (French.) |
44
- | [`AUDIT-2026-08-14-SUIVI.md`](AUDIT-2026-08-14-SUIVI.md) | The follow-up ledger: done, decided-but-not-done, and rejected-with-reason. Historical. (French.) |
45
- | [`AUDIT-2026-08-15-SECONDE-PASSE.md`](AUDIT-2026-08-15-SECONDE-PASSE.md) | Second pass, on `0.1.26` — including what the first follow-up had marked too optimistically. Historical. (French.) |
46
-
47
- ## Work in progress
48
-
49
- | Document | What it is |
50
- |---|---|
51
- | [`SPEC-MEMBRE-INJECTE.md`](SPEC-MEMBRE-INJECTE.md) | A specification sent to a host for agreement **before** the contract moves. Nothing in it is implemented. (French.) |
52
-
53
- Public entry points are in English. Documents that remain in French — audit traces, and the
54
- operational documents marked *(French)* above — are labelled explicitly, so nobody discovers
55
- the language after clicking. The reasoning behind the split is at the end of the
56
- [README](../README.md#contributing).