discovery-media-player 0.1.134 → 0.1.135
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 +10 -10
- package/docs/HOST-CONTRACT.md +2 -2
- package/package.json +1 -2
- package/docs/README.md +0 -56
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.
|
package/docs/HOST-CONTRACT.md
CHANGED
|
@@ -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`](
|
|
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.
|
|
3
|
+
"version": "0.1.135",
|
|
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",
|
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).
|